Lineare Algebra (scipy.linalg)#

Funktionen für lineare Algebra.

Siehe auch

numpy.linalg für weitere Funktionen der linearen Algebra. Beachten Sie, dass scipy.linalg die meisten davon importiert, aber gleichnamige Funktionen aus scipy.linalg möglicherweise mehr oder leicht abweichende Funktionalitäten bieten.

Grundlagen#

inv(a[, overwrite_a, check_finite])

Berechnet die Inverse einer Matrix.

solve(a, b[, lower, overwrite_a, ...])

Löst die Gleichung a @ x = b für x, wobei a eine quadratische Matrix ist.

solve_banded(l_and_u, ab, b[, overwrite_ab, ...])

Löst die Gleichung a @ x = b für x, wobei a die von ab definierte Bandmatrix ist.

solveh_banded(ab, b[, overwrite_ab, ...])

Löst die Gleichung a @ x = b für x, wobei a die von ab definierte hermitesche positiv-definite Bandmatrix ist.

solve_circulant(c, b[, singular, tol, ...])

Löst die Gleichung C @ x = b für x, wobei C eine von c definierte zirkulante Matrix ist.

solve_triangular(a, b[, trans, lower, ...])

Löst die Gleichung a @ x = b für x, wobei a eine Dreiecksmatrix ist.

solve_toeplitz(c_or_cr, b[, check_finite])

Löst die Gleichung T @ x = b für x, wobei T eine von c_or_cr definierte Toeplitz-Matrix ist.

matmul_toeplitz(c_or_cr, x[, check_finite, ...])

Effiziente Toeplitz-Matrix-Matrix-Multiplikation mittels FFT

det(a[, overwrite_a, check_finite])

Berechnet die Determinante einer Matrix.

norm(a[, ord, axis, keepdims, check_finite])

Matrix- oder Vektornorm.

lstsq(a, b[, cond, overwrite_a, ...])

Berechnet die Kleinste-Quadrate-Lösung der Gleichung a @ x = b.

pinv(a, *[, atol, rtol, return_rank, ...])

Berechnet die (Moore-Penrose-)Pseudoinverse einer Matrix.

pinvh(a[, atol, rtol, lower, return_rank, ...])

Berechnet die (Moore-Penrose-)Pseudoinverse einer hermiteschen Matrix.

kron(a, b)

Kronecker-Produkt.

khatri_rao(a, b)

Khatri-Rao-Produkt

orthogonal_procrustes(A, B[, check_finite])

Berechnet die Matrixlösung des orthogonalen (oder unitären) Procrustes-Problems.

matrix_balance(A[, permute, scale, ...])

Berechnet eine diagonale Ähnlichkeitstransformation für Zeilen-/Spaltenbalancing.

subspace_angles(A, B)

Berechnet die Unterraumwinkel zwischen zwei Matrizen.

bandwidth(a)

Gibt die untere und obere Bandbreite eines 2D-numerischen Arrays zurück.

issymmetric(a[, atol, rtol])

Prüft, ob ein quadratisches 2D-Array symmetrisch ist.

ishermitian(a[, atol, rtol])

Prüft, ob ein quadratisches 2D-Array hermitesch ist.

LinAlgError

Generisches Objekt, das von Python-Ausnahmen abgeleitet ist und von linalg-Funktionen ausgelöst wird.

LinAlgWarning

Die Warnung, die ausgegeben wird, wenn eine lineare Algebra-Operation nahe an Fehlerbedingungen des Algorithmus ist oder ein Genauigkeitsverlust erwartet wird.

Eigenwertprobleme#

eig(a[, b, left, right, overwrite_a, ...])

Löst ein gewöhnliches oder verallgemeinertes Eigenwertproblem einer quadratischen Matrix.

eigvals(a[, b, overwrite_a, check_finite, ...])

Berechnet Eigenwerte aus einem gewöhnlichen oder verallgemeinerten Eigenwertproblem.

eigh(a[, b, lower, eigvals_only, ...])

Löst ein Standard- oder verallgemeinertes Eigenwertproblem für eine komplexe hermitesche oder reelle symmetrische Matrix.

eigvalsh(a[, b, lower, overwrite_a, ...])

Löst ein Standard- oder verallgemeinertes Eigenwertproblem für eine komplexe hermitesche oder reelle symmetrische Matrix.

eig_banded(a_band[, lower, eigvals_only, ...])

Löst das Eigenwertproblem einer reellen symmetrischen oder komplexen hermiteschen Bandmatrix.

eigvals_banded(a_band[, lower, ...])

Löst das Eigenwertproblem einer reellen symmetrischen oder komplexen hermiteschen Bandmatrix.

eigh_tridiagonal(d, e[, eigvals_only, ...])

Löse das Eigenwertproblem für eine reelle symmetrische tridiagonale Matrix.

eigvalsh_tridiagonal(d, e[, select, ...])

Löse das Eigenwertproblem für eine reelle symmetrische tridiagonale Matrix.

Zerlegungen#

lu(a[, permute_l, overwrite_a, ...])

Berechnet die LU-Zerlegung einer Matrix mit partieller Pivotisierung.

lu_factor(a[, overwrite_a, check_finite])

Berechnet die pivotierte LU-Zerlegung einer Matrix.

lu_solve(lu_and_piv, b[, trans, ...])

Löst ein Gleichungssystem a x = b, gegeben die LU-Zerlegung von a.

svd(a[, full_matrices, compute_uv, ...])

Singulärwertzerlegung.

svdvals(a[, overwrite_a, check_finite])

Berechnet die Singulärwerte einer Matrix.

diagsvd(s, M, N)

Konstruiert die Sigma-Matrix in der SVD aus Singulärwerten und den Größen M, N.

orth(A[, rcond])

Konstruiert eine orthonormale Basis für den Wertebereich von A mittels SVD.

null_space(A[, rcond, overwrite_a, ...])

Konstruiert eine orthonormale Basis für den Nullraum von A mittels SVD.

ldl(A[, lower, hermitian, overwrite_a, ...])

Berechnet die LDLt- oder Bunch-Kaufman-Zerlegung einer symmetrischen/hermiteschen Matrix.

cholesky(a[, lower, overwrite_a, check_finite])

Berechnet die Cholesky-Zerlegung einer Matrix.

cholesky_banded(ab[, overwrite_ab, lower, ...])

Cholesky-Zerlegung einer hermiteschen positiv-definiten Bandmatrix.

cho_factor(a[, lower, overwrite_a, check_finite])

Berechnet die Cholesky-Zerlegung einer Matrix zur Verwendung in cho_solve.

cho_solve(c_and_lower, b[, overwrite_b, ...])

Löst die linearen Gleichungen A x = b, gegeben die Cholesky-Zerlegung von A.

cho_solve_banded(cb_and_lower, b[, ...])

Löst die linearen Gleichungen A x = b, gegeben die Cholesky-Zerlegung der Band-Hermiteschen A.

polar(a[, side])

Berechnet die Polarkoordinatenzerlegung.

qr(a[, overwrite_a, lwork, mode, pivoting, ...])

Berechnet die QR-Zerlegung einer Matrix.

qr_multiply(a, c[, mode, pivoting, ...])

Berechnet die QR-Zerlegung und multipliziert Q mit einer Matrix.

qr_update(Q, R, u, v[, overwrite_qruv, ...])

Rang-k QR-Update

qr_delete(Q, R, k, int p=1[, which, ...])

QR-Downdate bei Zeilen- oder Spaltenlöschungen.

qr_insert(Q, R, u, k[, which, rcond, ...])

QR-Update bei Zeilen- oder Spalteneinfügungen.

rq(a[, overwrite_a, lwork, mode, check_finite])

Berechnet die RQ-Zerlegung einer Matrix.

qz(A, B[, output, lwork, sort, overwrite_a, ...])

QZ-Zerlegung für verallgemeinerte Eigenwerte eines Matrizenpaares.

ordqz(A, B[, sort, output, overwrite_a, ...])

QZ-Zerlegung für ein Matrizenpaar mit Neuordnung.

schur(a[, output, lwork, overwrite_a, sort, ...])

Berechnet die Schur-Zerlegung einer Matrix.

rsf2csf(T, Z[, check_finite])

Konvertiert reelle Schur-Form in komplexe Schur-Form.

hessenberg(a[, calc_q, overwrite_a, ...])

Berechnet die Hessenberg-Form einer Matrix.

cdf2rdf(w, v)

Konvertiert komplexe Eigenwerte w und Eigenvektoren v in reelle Eigenwerte in Blockdiagonalform wr und die zugehörigen reellen Eigenvektoren vr, so dass.

cossin(X[, p, q, separate, swap_sign, ...])

Berechnet die Kosinus-Sinus- (CS-) Zerlegung einer orthogonalen/unitären Matrix.

Siehe auch

scipy.linalg.interpolative – Interpolative Matrixzerlegungen

Matrixfunktionen#

expm(A)

Berechnet die Matrixexponentialfunktion eines Arrays.

logm(A[, disp])

Berechnet den Matrixlogarithmus.

cosm(A)

Berechnet den Matrixkosinus.

sinm(A)

Berechnet den Matrixsinus.

tanm(A)

Berechnet den Matrixtangens.

coshm(A)

Berechnet den hyperbolischen Matrixkosinus.

sinhm(A)

Berechnet den hyperbolischen Matrixsinus.

tanhm(A)

Berechnet den hyperbolischen Matrixtangens.

signm(A[, disp])

Matrix-Vorzeichenfunktion.

sqrtm(A[, disp, blocksize])

Berechnet, falls existent, die Matrix-Quadratwurzel.

funm(A, func[, disp])

Wertet eine Matrixfunktion aus, die durch eine aufrufbare Funktion spezifiziert ist.

expm_frechet(A, E[, method, compute_expm, ...])

Frechet-Ableitung der Matrixexponentialfunktion von A in Richtung E.

expm_cond(A[, check_finite])

Relativer Bedingungszahl der Matrixexponentialfunktion in der Frobenius-Norm.

fractional_matrix_power(A, t)

Berechnet die gebrochene Potenz einer Matrix.

Matrixgleichungslöser#

solve_sylvester(a, b, q)

Berechnet eine Lösung (X) der Sylvester-Gleichung \(AX + XB = Q\).

solve_continuous_are(a, b, q, r[, e, s, ...])

Löst die algebraische Riccati-Gleichung für kontinuierliche Zeit (CARE).

solve_discrete_are(a, b, q, r[, e, s, balanced])

Löst die algebraische Riccati-Gleichung für diskrete Zeit (DARE).

solve_continuous_lyapunov(a, q)

Löst die Lyapunov-Gleichung für kontinuierliche Zeit \(AX + XA^H = Q\).

solve_discrete_lyapunov(a, q[, method])

Löst die Lyapunov-Gleichung für diskrete Zeit \(AXA^H - X + Q = 0\).

Skizzen und Zufallsprojektionen#

clarkson_woodruff_transform(input_matrix, ...)

Wendet eine Clarkson-Woodruff-Transformation/Sketch auf die Eingabematrix an.

Spezielle Matrizen#

block_diag(*arrs)

Erstellt eine Blockdiagonalmatrix aus bereitgestellten Arrays.

circulant(c)

Konstruiert eine zirkulante Matrix.

companion(a)

Erstellt eine Begleitmatrix.

convolution_matrix(a, n[, mode])

Konstruiert eine Faltungsmatrix.

dft(n[, scale])

Diskrete Fourier-Transformationsmatrix.

fiedler(a)

Gibt eine symmetrische Fiedler-Matrix zurück.

fiedler_companion(a)

Gibt eine Fiedler-Begleitmatrix zurück.

hadamard(n[, dtype])

Konstruiert eine Hadamard-Matrix.

hankel(c[, r])

Konstruiert eine Hankel-Matrix.

helmert(n[, full])

Erstellt eine Helmert-Matrix der Ordnung n.

hilbert(n)

Erstellt eine Hilbert-Matrix der Ordnung n.

invhilbert(n[, exact])

Berechnet die Inverse der Hilbert-Matrix der Ordnung n.

leslie(f, s)

Erstellt eine Leslie-Matrix.

pascal(n[, kind, exact])

Gibt die n x n Pascal-Matrix zurück.

invpascal(n[, kind, exact])

Gibt die Inverse der n x n Pascal-Matrix zurück.

toeplitz(c[, r])

Konstruiert eine Toeplitz-Matrix.

Low-Level-Routinen#

get_blas_funcs(names[, arrays, dtype, ilp64])

Gibt verfügbare BLAS-Funktionsobjekte aus den Namen zurück.

get_lapack_funcs(names[, arrays, dtype, ilp64])

Gibt verfügbare LAPACK-Funktionsobjekte aus den Namen zurück.

find_best_blas_type([arrays, dtype])

Findet den am besten passenden BLAS/LAPACK-Typ.

Siehe auch

scipy.linalg.blas – Low-Level BLAS-Funktionen

scipy.linalg.lapack – Low-Level LAPACK-Funktionen

scipy.linalg.cython_blas – Low-Level BLAS-Funktionen für Cython

scipy.linalg.cython_lapack – Low-Level LAPACK-Funktionen für Cython