scipy.linalg.

lu_solve#

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

给定 a 的 LU 分解,求解方程组 a x = b

参数:
(lu, piv)

系数矩阵 a 的分解,由 lu_factor 提供。其中 piv 是 0-索引的枢轴(pivot)索引。

b数组

右侧项

trans{0, 1, 2},可选

要解的系统类型

trans

系统

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