如何使用 Python SciPy 求解三角矩阵方程?

名为 scipy.linalg.solveh_triangular 的线性函数用于求解带状矩阵方程。在下面给出的示例中,我们将解决三角系统 ax = b 其中 -

$$\mathrm{a} = \begin{bmatrix} 3 & 0 & 0 & 0\\ 2 & 1 & 0 & 0\\ 1 &0 &1 &0 \\ 1& 1& 1& 1 \end{bmatrix};\; \mathrm{b} =\begin{bmatrix} 1\\ 2\\ 1\\ 2 \end{bmatrix}$$

示例

fromscipy.linalgimport solve_triangular
import numpy as np
a = np.array([[3, 0, 0, 0], [2, 1, 0, 0], [1, 0, 1, 0], [1, 1, 1, 1]])
b = np.array([1, 2, 1, 2])
x = solve_triangular(a, b, lower=True)
print (x)
输出结果
array([ 0.33333333, 1.33333333, 0.66666667, -0.33333333])