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.ndarrayLsiten, 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).eigenvalueson yksiulotteinen taulukko, jonka pituus onN;eigenvectorsonN-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:
x –
numpy.ndarray,tuple,listtairange.axis – valinnainen akseli, jonka suunnassa normi lasketaan. Jos
None(oletus), normi otetaan litistetystä syötteestä ja palautetaan yksittäinenfloat. Muutoin normi redusoidaan kyseisen akselin suunnassa ja palautetaannumpy.ndarray.
- Palauttaa:
joko Pythonin
float(kun axis onNonetai kun x on jokin muu iteroitava kuin ndarray) tainumpy.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'matriisinQmuoto on(M, M)ja matriisinRmuoto on(M, N). Tilassa'reduced'QjaRtypistetään vastaavasti ensimmäisiinmin(M, N)sarakkeeseen ja riviin.
- Palauttaa:
2-monikko
(Q, R), jonka muodostavatnumpy.ndarray-oliot siten, ettäm == Q @ R, missäQon ortonormaali jaRyläkolmiomatriisi.- Nostaa:
TypeError – jos m ei ole
numpy.ndarray.ValueError – jos m ei ole kaksiulotteinen tai mode ei ole jokin hyväksytyistä arvoista.
Hajotelma on toteutettu peräkkäisten Givens-kiertojen avulla.