numpy.linalg — Routinen für lineare Algebra¶
Das Submodul numpy.linalg stellt eine kleine Auswahl an Routinen für die lineare Algebra bereit, die auf numpy.ndarray-Objekten arbeiten. Funktionen, die auf Matrizen operieren, erfordern zweidimensionale Arrays; die Übergabe von Arrays einer anderen Dimensionalität löst einen ValueError aus. Komplexe dtypes werden von diesem Submodul nicht unterstützt.
Funktionen¶
- numpy.linalg.cholesky(A: ndarray) ndarray¶
Berechnet die Cholesky-Zerlegung einer positiv definiten, symmetrischen quadratischen Matrix.
- Parameter:
A – eine positiv definite, symmetrische, zweidimensionale quadratische Matrix.
- Rückgabe:
eine untere Dreiecksmatrix
numpy.ndarrayL, sodassA = L @ L.Tgilt.- Verursacht:
ValueError – wenn A nicht quadratisch, nicht symmetrisch oder nicht positiv definit ist.
- numpy.linalg.det(m: ndarray) float¶
Berechnet die Determinante einer quadratischen Matrix.
- Parameter:
m – eine zweidimensionale quadratische Matrix.
- Rückgabe:
die Determinante von m als Python-
float. Der Rückgabewert ist immer ein Float, auch wenn die Eingabe ein Integer-Array ist.- Verursacht:
ValueError – wenn m nicht quadratisch ist.
Die Berechnung erfolgt durch Gauß-Elimination mit partieller Pivotisierung.
- numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]¶
Berechnet die Eigenwerte und Eigenvektoren einer reellen symmetrischen quadratischen Matrix.
- Parameter:
m – eine zweidimensionale, reelle, symmetrische quadratische Matrix.
- Rückgabe:
ein 2-Tupel
(eigenvalues, eigenvectors).eigenvaluesist ein eindimensionales Array der LängeN;eigenvectorsist einN-mal-N-Array, dessen Spalten die zugehörigen Eigenvektoren sind.- Verursacht:
ValueError – wenn m nicht quadratisch, nicht symmetrisch ist oder wenn die Jacobi-Rotations-Iteration nicht konvergiert.
- numpy.linalg.inv(m: ndarray) ndarray¶
Berechnet die Inverse einer quadratischen Matrix.
- Parameter:
m – eine zweidimensionale quadratische Matrix.
- Rückgabe:
die Inverse von m als Float-
numpy.ndarray.- Verursacht:
ValueError – wenn m nicht quadratisch oder singulär ist.
Die Invertierung erfolgt durch Gauß-Jordan-Elimination.
- numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray¶
Berechnet die 2-Norm eines Vektors oder einer Matrix.
- Parameter:
x – ein
numpy.ndarray,tuple,listoderrange.axis – optionale Achse, entlang der die Norm berechnet wird. Bei
None(Standardwert) wird die Norm über die abgeflachte Eingabe gebildet und ein einzelnesfloatzurückgegeben. Andernfalls wird die Norm entlang dieser Achse reduziert und einnumpy.ndarrayzurückgegeben.
- Rückgabe:
entweder ein Python-
float(wenn axisNoneist oder wenn x ein anderes Iterable als ein ndarray ist) oder einnumpy.ndarray, bei dem diese Achse entfernt wurde.
Die 2-Norm wird als
sqrt(sum(x*x))unter Verwendung eines numerisch stabilen laufenden Mittelwerts berechnet, sodass die Operation keinen zusätzlichen Speicher proportional zur Größe der Eingabe benötigt.
- numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]¶
Zerlegt eine Matrix als Produkt einer orthonormalen Matrix und einer oberen Dreiecksmatrix.
- Parameter:
m – eine zweidimensionale Matrix der Form
(M, N).mode – entweder
'reduced'(Standard) oder'complete'. Im Modus'complete'hatQdie Form(M, M)undRdie Form(M, N). Im Modus'reduced'werdenQundRauf die führendenmin(M, N)Spalten bzw. Zeilen gekürzt.
- Rückgabe:
ein 2-Tupel
(Q, R)vonnumpy.ndarray-Objekten, sodassm == Q @ Rgilt, wobeiQorthonormal undReine obere Dreiecksmatrix ist.- Verursacht:
TypeError – wenn m kein
numpy.ndarrayist.ValueError – wenn m nicht zweidimensional ist oder mode keiner der akzeptierten Werte ist.
Die Zerlegung wird über aufeinanderfolgende Givens-Rotationen implementiert.