scipy.linalg.
cho_solve_banded#
- scipy.linalg.cho_solve_banded(cb_and_lower, b, overwrite_b=False, check_finite=True)[原始碼]#
解線性方程式
A x = b
,給定帶狀 Hermitian 矩陣A
的 Cholesky 分解。- 參數:
- (cb, lower)tuple,(ndarray, bool)
cb 是 A 的 Cholesky 分解,由 cholesky_banded 給定。lower 必須與給 cholesky_banded 的值相同。
- barray_like
右側
- overwrite_bbool,選填
若為 True,此函數將覆寫 b 中的值。
- check_finitebool,選填
是否檢查輸入矩陣僅包含有限數字。停用可能會提升效能,但如果輸入包含無限大或 NaN,可能會導致問題(崩潰、無終止)。
- 回傳:
- xarray
系統 A x = b 的解
另請參閱
cholesky_banded
帶狀矩陣的 Cholesky 分解
註解
於版本 0.8.0 新增。
範例
>>> 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