numpy.linalg — Rutine linearne algebre

Podmodul numpy.linalg pruža mali izbor rutina linearne algebre koje rade na objektima numpy.ndarray. Funkcije koje rade na matricama zahtijevaju dvodimenzionalna polja; prosljeđivanje polja drukčije dimenzionalnosti podiže ValueError. Kompleksni dtypeovi nisu podržani u ovom podmodulu.

Funkcije

numpy.linalg.cholesky(A: ndarray) ndarray

Izračunava Choleskyjevu dekompoziciju pozitivno definitne, simetrične kvadratne matrice.

Parametri:

A – pozitivno definitna, simetrična, dvodimenzionalna kvadratna matrica.

Vraća:

donje-trokutasti numpy.ndarray L takav da je A = L @ L.T.

Podiže:

ValueError – ako A nije kvadratna, nije simetrična ili nije pozitivno definitna.

numpy.linalg.det(m: ndarray) float

Izračunava determinantu kvadratne matrice.

Parametri:

m – dvodimenzionalna kvadratna matrica.

Vraća:

determinantu od m kao Python float. Povratna vrijednost je uvijek float, čak i kada je ulaz cjelobrojno polje.

Podiže:

ValueError – ako m nije kvadratna.

Izračun se izvodi Gaussovom eliminacijom s djelomičnim pivotiranjem.

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

Izračunava svojstvene vrijednosti i svojstvene vektore realne simetrične kvadratne matrice.

Parametri:

m – dvodimenzionalna, realna, simetrična kvadratna matrica.

Vraća:

2-torku (eigenvalues, eigenvectors). eigenvalues je jednodimenzionalno polje duljine N; eigenvectors je polje veličine N-puta-N čiji su stupci odgovarajući svojstveni vektori.

Podiže:

ValueError – ako m nije kvadratna, nije simetrična ili ako Jacobijeva iteracija rotacija ne uspije konvergirati.

numpy.linalg.inv(m: ndarray) ndarray

Izračunava inverz kvadratne matrice.

Parametri:

m – dvodimenzionalna kvadratna matrica.

Vraća:

inverz od m kao float numpy.ndarray.

Podiže:

ValueError – ako m nije kvadratna ili je singularna.

Inverzija se izvodi Gauss-Jordanovom eliminacijom.

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

Izračunava 2-normu vektora ili matrice.

Parametri:
  • xnumpy.ndarray, tuple, list ili range.

  • axis – neobavezna os duž koje se računa norma. Ako je None (zadano), norma se uzima nad sravnjenim ulazom i vraća se jedan float. U suprotnom se norma reducira duž te osi i vraća se numpy.ndarray.

Vraća:

ili Python float (kada je axis None ili kada je x iterabilna struktura koja nije ndarray) ili numpy.ndarray s uklonjenom tom osi.

2-norma se računa kao sqrt(sum(x*x)) koristeći numerički stabilnu tekuću srednju vrijednost, pa operacija ne zahtijeva dodatnu pohranu proporcionalnu veličini ulaza.

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

Faktorizira matricu kao umnožak ortonormalne matrice i gornje-trokutaste matrice.

Parametri:
  • m – dvodimenzionalna matrica oblika (M, N).

  • mode – ili 'reduced' (zadano) ili 'complete'. U načinu 'complete', Q ima oblik (M, M), a R ima oblik (M, N). U načinu 'reduced', Q i R su skraćeni na vodećih min(M, N) stupaca odnosno redaka.

Vraća:

2-torku (Q, R) objekata numpy.ndarray takvih da je m == Q @ R, pri čemu je Q ortonormalna, a R gornje-trokutasta.

Podiže:

Dekompozicija je implementirana putem uzastopnih Givensovih rotacija.