scipy.linalg.

lu_solve#

scipy.linalg.lu_solve(lu_and_piv, b, trans=0, overwrite_b=False, check_finite=True)[source]#

求解方程式系統,a x = b,給定 a 的 LU 分解

參數:
(lu, piv)

係數矩陣 a 的分解,由 lu_factor 給定。特別地,piv 是 0 索引的軸索引。

b陣列

右側

trans{0, 1, 2},選用項目

要解的系統類型

trans

system

0

a x = b

1

a^T x = b

2

a^H x = b

overwrite_b布林值,選用項目

是否覆寫 b 中的資料 (可能提升效能)

check_finite布林值,選用項目

是否檢查輸入矩陣僅包含有限數字。停用此項可能提升效能,但如果輸入包含無限大或 NaN,可能會導致問題 (崩潰、無終止)。

回傳:
x陣列

系統的解

另請參閱

lu_factor

LU 分解矩陣

範例

>>> import numpy as np
>>> from scipy.linalg import lu_factor, lu_solve
>>> A = np.array([[2, 5, 8, 7], [5, 2, 2, 8], [7, 5, 6, 6], [5, 4, 4, 8]])
>>> b = np.array([1, 1, 1, 1])
>>> lu, piv = lu_factor(A)
>>> x = lu_solve((lu, piv), b)
>>> np.allclose(A @ x - b, np.zeros((4,)))
True