numpy.linalg — Lineáris algebrai rutinok¶
A numpy.linalg almodul kisszámú lineáris algebrai rutint biztosít, amelyek numpy.ndarray objektumokon működnek. A mátrixokon dolgozó függvények kétdimenziós tömböket igényelnek; eltérő dimenziójú tömbök átadása ValueError hibát vált ki. A komplex dtype-okat ez az almodul nem támogatja.
Függvények¶
- numpy.linalg.cholesky(A: ndarray) ndarray¶
Kiszámítja egy pozitív definit, szimmetrikus négyzetes mátrix Cholesky-felbontását.
- Paraméterek:
A – egy pozitív definit, szimmetrikus, kétdimenziós négyzetes mátrix.
- Visszatérési érték:
egy alsó háromszögmátrix
numpy.ndarrayL, amelyreA = L @ L.T.- Kivétel:
ValueError – ha az A nem négyzetes, nem szimmetrikus, vagy nem pozitív definit.
- numpy.linalg.det(m: ndarray) float¶
Kiszámítja egy négyzetes mátrix determinánsát.
- Paraméterek:
m – egy kétdimenziós négyzetes mátrix.
- Visszatérési érték:
az m determinánsa Python
floattípusként. A visszatérési érték mindig float, akkor is, ha a bemenet egész értékű tömb.- Kivétel:
ValueError – ha az m nem négyzetes.
A számítás részleges főelemkiválasztással végzett Gauss-eliminációval történik.
- numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]¶
Kiszámítja egy valós szimmetrikus négyzetes mátrix sajátértékeit és sajátvektorait.
- Paraméterek:
m – egy kétdimenziós, valós, szimmetrikus négyzetes mátrix.
- Visszatérési érték:
egy
(eigenvalues, eigenvectors)2-es elemű tuple. AzeigenvaluesegyNhosszúságú egydimenziós tömb; azeigenvectorsegyN-szer-Nméretű tömb, amelynek oszlopai a megfelelő sajátvektorok.- Kivétel:
ValueError – ha az m nem négyzetes, nem szimmetrikus, vagy ha a Jacobi-rotációs iteráció nem konvergál.
- numpy.linalg.inv(m: ndarray) ndarray¶
Kiszámítja egy négyzetes mátrix inverzét.
- Paraméterek:
m – egy kétdimenziós négyzetes mátrix.
- Visszatérési érték:
az m inverze float
numpy.ndarraytípusként.- Kivétel:
ValueError – ha az m nem négyzetes vagy szinguláris.
Az invertálás Gauss-Jordan-eliminációval történik.
- numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray¶
Kiszámítja egy vektor vagy mátrix 2-normáját.
- Paraméterek:
x – egy
numpy.ndarray,tuple,listvagyrange.axis – opcionális tengely, amely mentén a normát számítja. Ha
None(az alapértelmezett), a norma a kilapított bemenetre vonatkozik, és egyetlenfloatértéket ad vissza. Egyébként a norma az adott tengely mentén redukálódik, és egynumpy.ndarraykerül visszaadásra.
- Visszatérési érték:
vagy egy Python
float(ha az axis értékeNone, vagy ha az x egy ndarray-tól eltérő iterálható objektum), vagy egynumpy.ndarray, amelyből az adott tengely el lett távolítva.
A 2-normát
sqrt(sum(x*x))formában számítja egy numerikusan stabil futó átlag segítségével, így a művelet nem igényel a bemenet méretével arányos további tárhelyet.
- numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]¶
Egy mátrixot egy ortonormált mátrix és egy felső háromszögmátrix szorzataként bont fel.
- Paraméterek:
m – egy
(M, N)alakú kétdimenziós mátrix.mode – vagy
'reduced'(alapértelmezett), vagy'complete'.'complete'módban aQalakja(M, M), aRalakja pedig(M, N).'reduced'módban aQés aRrendre az elsőmin(M, N)oszlopra, illetve sorra van levágva.
- Visszatérési érték:
egy
(Q, R)2-es elemű tuplenumpy.ndarrayobjektumokból, amelyekrem == Q @ R, ahol aQortonormált és aRfelső háromszögmátrix.- Kivétel:
TypeError – ha az m nem
numpy.ndarray.ValueError – ha az m nem kétdimenziós, vagy a mode nem az elfogadott értékek egyike.
A felbontás egymást követő Givens-rotációkkal van megvalósítva.