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 开始的枢轴索引。
- barray
右侧向量
- trans{0, 1, 2}, 可选
要解的系统类型
trans
系统
0
a x = b
1
a^T x = b
2
a^H x = b
- overwrite_bbool, 可选
是否覆盖 b 中的数据(可能提高性能)
- check_finitebool, optional
是否检查输入矩阵是否仅包含有限数。禁用检查可能会获得性能提升,但如果输入确实包含无穷大或 NaN,则可能会导致问题(崩溃、无法终止)。
- 返回:
- xarray
系统的解
另请参阅
lu_factorLU 分解矩阵
示例
>>> 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