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.ndarrayinferior triunghiularăLastfel încâtA = 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
floatPython. 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).eigenvalueseste un tablou unidimensional de lungimeN;eigenvectorseste un tablouN-pe-Nale 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.ndarrayde 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,listsaurange.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 singurfloat. În caz contrar, norma este redusă de-a lungul acelei axe și este returnat unnumpy.ndarray.
- Întoarce:
fie un
floatPython (când axis esteNonesau când x este un iterabil diferit de un ndarray), fie unnumpy.ndarraycu 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',Qare forma(M, M), iarRare forma(M, N). În modul'reduced',QșiRsunt trunchiate la primelemin(M, N)coloane, respectiv rânduri.
- Întoarce:
un 2-tuplu
(Q, R)de obiectenumpy.ndarrayastfel încâtm == Q @ R, cuQortonormală șiRsuperior triunghiulară.- Generează:
TypeError – dacă m nu este un
numpy.ndarray.ValueError – dacă m nu este bidimensională sau mode nu este una dintre valorile acceptate.
Descompunerea este implementată prin rotații Givens succesive.