scipy.linalg.
cho_solve#
- scipy.linalg.cho_solve(c_and_lower, b, overwrite_b=False, check_finite=True)[source]#
求解线性方程组 A x = b,给定 A 的 Cholesky 分解。
文档的编写假定数组参数具有指定的“核心”形状。然而,此函数的数组参数可能具有额外的“批次”维度,这些维度会预置在核心形状之前。在这种情况下,数组被视为较低维切片的批次;有关详细信息,请参阅 批量线性运算。
- 参数:
- (c, lower)元组, (数组, 布尔值)
由 cho_factor 给出的 a 的 Cholesky 分解
- b数组
右侧向量
- overwrite_bbool, 可选
是否覆盖 b 中的数据(可能提高性能)
- check_finitebool, optional
是否检查输入矩阵是否仅包含有限数。禁用检查可能会获得性能提升,但如果输入确实包含无穷大或 NaN,则可能会导致问题(崩溃、无法终止)。
- 返回:
- xarray
方程组 A x = b 的解
另请参阅
cho_factor矩阵的 Cholesky 分解
示例
>>> import numpy as np >>> from scipy.linalg import cho_factor, cho_solve >>> A = np.array([[9, 3, 1, 5], [3, 7, 5, 1], [1, 5, 9, 2], [5, 1, 2, 6]]) >>> c, low = cho_factor(A) >>> x = cho_solve((c, low), [1, 1, 1, 1]) >>> np.allclose(A @ x - [1, 1, 1, 1], np.zeros(4)) True