scipy.linalg.
cho_solve_banded#
- scipy.linalg.cho_solve_banded(cb_and_lower, b, overwrite_b=False, check_finite=True)[Quelle]#
Löse die linearen Gleichungen
A x = b, gegeben die Cholesky-Zerlegung der bandförmigen hermiteschen MatrixA.- Parameter:
- (cb, lower)tuple, (ndarray, bool)
cb ist die Cholesky-Zerlegung von A, wie von cholesky_banded gegeben. lower muss denselben Wert haben, der an cholesky_banded übergeben wurde.
- barray_like
Rechte Seite
- overwrite_bbool, optional
Wenn True, überschreibt die Funktion die Werte in b.
- check_finitebool, optional
Ob überprüft werden soll, ob die Eingabematrizen nur endliche Zahlen enthalten. Das Deaktivieren kann zu einer Leistungssteigerung führen, kann aber zu Problemen (Abstürzen, Nicht-Terminierung) führen, wenn die Eingaben Unendlichkeiten oder NaNs enthalten.
- Rückgabe:
- xarray
Die Lösung für das System A x = b
Siehe auch
cholesky_bandedCholesky-Zerlegung einer bandförmigen Matrix
Hinweise
Hinzugefügt in Version 0.8.0.
Beispiele
>>> import numpy as np >>> from scipy.linalg import cholesky_banded, cho_solve_banded >>> Ab = np.array([[0, 0, 1j, 2, 3j], [0, -1, -2, 3, 4], [9, 8, 7, 6, 9]]) >>> A = np.diag(Ab[0,2:], k=2) + np.diag(Ab[1,1:], k=1) >>> A = A + A.conj().T + np.diag(Ab[2, :]) >>> c = cholesky_banded(Ab) >>> x = cho_solve_banded((c, False), np.ones(5)) >>> np.allclose(A @ x - np.ones(5), np.zeros(5)) True