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 på numpy.ndarray-objekt. Funktioner som arbetar på matriser kräver tvådimensionella matriser; att skicka matriser av en annan dimensionalitet utlöser ett ValueError. Komplexa dtyper stöds inte av denna undermodul.

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.

Returer:

en undertriangulär numpy.ndarray L sådan att A = L @ L.T.

Höjer:

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.

Returer:

determinanten för m som ett Python-float. Returvärdet är alltid ett flyttal, även när indata är en heltalsmatris.

Höjer:

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.

Returer:

en 2-tupel (eigenvalues, eigenvectors). eigenvalues är en endimensionell matris av längd N; eigenvectors är en N-gånger-N-matris vars kolumner är motsvarande egenvektorer.

Höjer:

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.

Returer:

inversen av m som en numpy.ndarray av flyttal.

Höjer:

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, list eller range.

  • axis – valfri axel längs vilken normen beräknas. Om None (standardvärdet) tas normen över de utplattade indata och ett enda float returneras. Annars reduceras normen längs den axeln och en numpy.ndarray returneras.

Returer:

antingen ett Python-float (när axis är None eller när x är en annan iterabel än en ndarray) eller en numpy.ndarray med 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' har Q formen (M, M) och R formen (M, N). I läget 'reduced' trunkeras Q och R till de ledande min(M, N) kolumnerna respektive raderna.

Returer:

en 2-tupel (Q, R) av numpy.ndarray-objekt sådana att m == Q @ R, med Q ortonormal och R övertriangulär.

Höjer:

Faktoriseringen är implementerad via successiva Givens-rotationer.