numpy.linalg — Rutiner för linjär algebra#
Undermodulen numpy.linalg tillhandahåller ett litet urval av rutiner för linjär algebra som arbetar med numpy.ndarray-objekt. Funktioner som arbetar med matriser kräver tvådimensionella matriser; att skicka matriser med en annan dimensionalitet ger ValueError.
Funktioner#
- numpy.linalg.cholesky(A: ndarray) ndarray#
Beräkna Cholesky-faktoriseringen av en positivt definit, symmetrisk kvadratisk matris.
- Parametrar:
A – en positivt definit, symmetrisk, tvådimensionell kvadratisk matris.
- Returnerar:
en undertriangulär
numpy.ndarrayLsådan attA = L @ L.T.- Väcker:
ValueError – om A inte är kvadratisk, inte symmetrisk eller inte positivt definit.
- numpy.linalg.det(m: ndarray) float#
Beräkna determinanten för en kvadratisk matris.
- Parametrar:
m – en tvådimensionell kvadratisk matris.
- Returnerar:
determinanten för m som ett Python-
float. Returvärdet är alltid ett flyttal, även när indata är en heltalsmatris.- Väcker:
ValueError – om m inte är kvadratisk.
Beräkningen utförs med gausselimination med partiell pivotering.
- numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]#
Beräkna egenvärdena och egenvektorerna för en reell symmetrisk kvadratisk matris.
- Parametrar:
m – en tvådimensionell, reell, symmetrisk kvadratisk matris.
- Returnerar:
en 2-tupel
(eigenvalues, eigenvectors).eigenvaluesär en endimensionell matris av längdN;eigenvectorsär enN-gånger-N-matris vars kolumner är motsvarande egenvektorer.- Väcker:
ValueError – om m inte är kvadratisk, inte symmetrisk, eller om Jacobi-rotationsiterationen inte konvergerar.
- numpy.linalg.inv(m: ndarray) ndarray#
Beräkna inversen av en kvadratisk matris.
- Parametrar:
m – en tvådimensionell kvadratisk matris.
- Returnerar:
inversen av m som en
numpy.ndarrayav flyttal.- Väcker:
ValueError – om m inte är kvadratisk eller är singulär.
Inverteringen utförs med Gauss-Jordan-elimination.
- numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray#
Beräkna 2-normen för en vektor eller matris.
- Parametrar:
x – en
numpy.ndarray,tuple,listellerrange.axis – valfri axel längs vilken normen beräknas. Om
None(standardvärdet) tas normen över de utplattade indata och ett endafloatreturneras. Annars reduceras normen längs den axeln och ennumpy.ndarrayreturneras.
- Returnerar:
antingen ett Python-
float(när axis ärNoneeller när x är en annan iterabel än en ndarray) eller ennumpy.ndarraymed den axeln borttagen.
2-normen beräknas som
sqrt(sum(x*x))med hjälp av ett numeriskt stabilt löpande medelvärde, så att operationen inte kräver ytterligare lagring proportionell mot indatas storlek.
- numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]#
Faktorisera en matris som produkten av en ortonormal matris och en övertriangulär matris.
- Parametrar:
m – en tvådimensionell matris av formen
(M, N).mode – antingen
'reduced'(standard) eller'complete'. I läget'complete'harQformen(M, M)ochRformen(M, N). I läget'reduced'trunkerasQochRtill de ledandemin(M, N)kolumnerna respektive raderna.
- Returnerar:
en 2-tupel
(Q, R)avnumpy.ndarray-objekt sådana attm == Q @ R, medQortonormal ochRövertriangulär.- Väcker:
TypeError – om m inte är en
numpy.ndarray.ValueError – om m inte är tvådimensionell eller mode inte är ett av de godtagna värdena.
Faktoriseringen är implementerad via successiva Givens-rotationer.