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.ndarray L, amelyre A = 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 float tí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. Az eigenvalues egy N hosszúságú egydimenziós tömb; az eigenvectors egy N-szer-N mé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.ndarray tí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, list vagy range.

  • 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 egyetlen float értéket ad vissza. Egyébként a norma az adott tengely mentén redukálódik, és egy numpy.ndarray kerül visszaadásra.

Visszatérési érték:

vagy egy Python float (ha az axis értéke None, vagy ha az x egy ndarray-tól eltérő iterálható objektum), vagy egy numpy.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 a Q alakja (M, M), a R alakja pedig (M, N). 'reduced' módban a Q és a R rendre az első min(M, N) oszlopra, illetve sorra van levágva.

Visszatérési érték:

egy (Q, R) 2-es elemű tuple numpy.ndarray objektumokból, amelyekre m == Q @ R, ahol a Q ortonormált és a R felső háromszögmátrix.

Kivétel:

A felbontás egymást követő Givens-rotációkkal van megvalósítva.