numpy.linalg — Rutine de algebră liniară

Submodulul numpy.linalg oferă o mică selecție de rutine de algebră liniară care operează pe obiecte numpy.ndarray. Funcțiile care operează pe matrice necesită tablouri bidimensionale; transmiterea de tablouri cu o dimensionalitate diferită ridică o excepție ValueError. Tipurile de date complexe nu sunt suportate de acest submodul.

Funcții

numpy.linalg.cholesky(A: ndarray) ndarray

Calculează descompunerea Cholesky a unei matrice pătratice simetrice, pozitiv definite.

Parametrii:

A – o matrice pătratică bidimensională, simetrică, pozitiv definită.

Întoarce:

o matrice numpy.ndarray inferior triunghiulară L astfel încât A = L @ L.T.

Generează:

ValueError – dacă A nu este pătratică, nu este simetrică sau nu este pozitiv definită.

numpy.linalg.det(m: ndarray) float

Calculează determinantul unei matrice pătratice.

Parametrii:

m – o matrice pătratică bidimensională.

Întoarce:

determinantul lui m ca float Python. Valoarea returnată este întotdeauna un float, chiar și atunci când intrarea este un tablou de numere întregi.

Generează:

ValueError – dacă m nu este pătratică.

Calculul este efectuat prin eliminare gaussiană cu pivotare parțială.

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

Calculează valorile proprii și vectorii proprii ai unei matrice pătratice reale simetrice.

Parametrii:

m – o matrice pătratică bidimensională, reală, simetrică.

Întoarce:

un 2-tuplu (eigenvalues, eigenvectors). eigenvalues este un tablou unidimensional de lungime N; eigenvectors este un tablou N-pe-N ale cărui coloane sunt vectorii proprii corespunzători.

Generează:

ValueError – dacă m nu este pătratică, nu este simetrică sau dacă iterația de rotație Jacobi nu reușește să convergă.

numpy.linalg.inv(m: ndarray) ndarray

Calculează inversa unei matrice pătratice.

Parametrii:

m – o matrice pătratică bidimensională.

Întoarce:

inversa lui m ca numpy.ndarray de tip float.

Generează:

ValueError – dacă m nu este pătratică sau este singulară.

Inversarea este efectuată prin eliminare Gauss-Jordan.

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

Calculează norma 2 a unui vector sau a unei matrice.

Parametrii:
  • x – un numpy.ndarray, tuple, list sau range.

  • axis – axa opțională de-a lungul căreia este calculată norma. Dacă este None (valoarea implicită), norma este calculată peste intrarea aplatizată și este returnat un singur float. În caz contrar, norma este redusă de-a lungul acelei axe și este returnat un numpy.ndarray.

Întoarce:

fie un float Python (când axis este None sau când x este un iterabil diferit de un ndarray), fie un numpy.ndarray cu acea axă eliminată.

Norma 2 este calculată ca sqrt(sum(x*x)) folosind o medie cumulativă stabilă numeric, astfel încât operația nu necesită spațiu de stocare suplimentar proporțional cu dimensiunea intrării.

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

Factorizează o matrice ca produsul dintre o matrice ortonormală și o matrice superior triunghiulară.

Parametrii:
  • m – o matrice bidimensională de formă (M, N).

  • mode – fie 'reduced' (implicit), fie 'complete'. În modul 'complete', Q are forma (M, M), iar R are forma (M, N). În modul 'reduced', Q și R sunt trunchiate la primele min(M, N) coloane, respectiv rânduri.

Întoarce:

un 2-tuplu (Q, R) de obiecte numpy.ndarray astfel încât m == Q @ R, cu Q ortonormală și R superior triunghiulară.

Generează:

Descompunerea este implementată prin rotații Givens succesive.