numpy.linalg — Lineaarialgebran rutiinit

Alimoduuli numpy.linalg tarjoaa pienen valikoiman lineaarialgebran rutiineja, jotka toimivat numpy.ndarray -olioilla. Matriiseilla toimivat funktiot vaativat kaksiulotteisia taulukoita; muunlaisten ulottuvuuksien taulukoiden välittäminen nostaa ValueError. Tämä alimoduuli ei tue kompleksisia dtype-tyyppejä.

Funktiot

numpy.linalg.cholesky(A: ndarray) ndarray

Laskee positiivisesti definiitin, symmetrisen neliömatriisin Cholesky-hajotelman.

Parametrit:

A – positiivisesti definiitti, symmetrinen, kaksiulotteinen neliömatriisi.

Palauttaa:

alakolmiomatriisi numpy.ndarray L siten, että A = L @ L.T.

Nostaa:

ValueError – jos A ei ole neliömäinen, ei ole symmetrinen tai ei ole positiivisesti definiitti.

numpy.linalg.det(m: ndarray) float

Laskee neliömatriisin determinantin.

Parametrit:

m – kaksiulotteinen neliömatriisi.

Palauttaa:

matriisin m determinantti Pythonin float-tyyppinä. Paluuarvo on aina liukuluku, vaikka syöte olisi kokonaislukutaulukko.

Nostaa:

ValueError – jos m ei ole neliömäinen.

Laskenta suoritetaan Gaussin eliminoinnilla osittaistuennalla.

numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]

Laskee reaalisen symmetrisen neliömatriisin ominaisarvot ja ominaisvektorit.

Parametrit:

m – kaksiulotteinen, reaalinen, symmetrinen neliömatriisi.

Palauttaa:

2-monikko (eigenvalues, eigenvectors). eigenvalues on yksiulotteinen taulukko, jonka pituus on N; eigenvectors on N-kertaa-N -taulukko, jonka sarakkeet ovat vastaavat ominaisvektorit.

Nostaa:

ValueError – jos m ei ole neliömäinen, ei ole symmetrinen, tai jos Jacobi-kiertoiteraatio ei suppene.

numpy.linalg.inv(m: ndarray) ndarray

Laskee neliömatriisin käänteismatriisin.

Parametrit:

m – kaksiulotteinen neliömatriisi.

Palauttaa:

matriisin m käänteismatriisi liukuluku-tyyppisenä numpy.ndarray -oliona.

Nostaa:

ValueError – jos m ei ole neliömäinen tai on singulaarinen.

Käänteismatriisi lasketaan Gauss-Jordan-eliminoinnilla.

numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray

Laskee vektorin tai matriisin 2-normin.

Parametrit:
  • xnumpy.ndarray, tuple, list tai range.

  • axis – valinnainen akseli, jonka suunnassa normi lasketaan. Jos None (oletus), normi otetaan litistetystä syötteestä ja palautetaan yksittäinen float. Muutoin normi redusoidaan kyseisen akselin suunnassa ja palautetaan numpy.ndarray.

Palauttaa:

joko Pythonin float (kun axis on None tai kun x on jokin muu iteroitava kuin ndarray) tai numpy.ndarray, josta kyseinen akseli on poistettu.

2-normi lasketaan kaavalla sqrt(sum(x*x)) käyttäen numeerisesti vakaata liukuvaa keskiarvoa, joten operaatio ei vaadi ylimääräistä, syötteen kokoon verrannollista muistia.

numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]

Hajottaa matriisin ortonormaalin matriisin ja yläkolmiomatriisin tuloksi.

Parametrit:
  • m – kaksiulotteinen matriisi, jonka muoto on (M, N).

  • mode – joko 'reduced' (oletus) tai 'complete'. Tilassa 'complete' matriisin Q muoto on (M, M) ja matriisin R muoto on (M, N). Tilassa 'reduced' Q ja R typistetään vastaavasti ensimmäisiin min(M, N) sarakkeeseen ja riviin.

Palauttaa:

2-monikko (Q, R), jonka muodostavat numpy.ndarray -oliot siten, että m == Q @ R, missä Q on ortonormaali ja R yläkolmiomatriisi.

Nostaa:

Hajotelma on toteutettu peräkkäisten Givens-kiertojen avulla.