利用python实现平方根法求解线性方程组
时间: 2023-10-09 07:17:40 浏览: 330
pingfanggen.rar_matlab数值求解_线性方程组
平方根法是求解对称正定线性方程组的一种方法,可以利用 Python 实现。假设有线性方程组 $Ax=b$,其中 $A$ 是对称正定矩阵。平方根法的步骤如下:
1. 对矩阵 $A$ 进行矩阵分解,得到 $A=LL^T$,其中 $L$ 是下三角矩阵。
2. 求解 $Ly=b$,得到 $y$。
3. 求解 $L^Tx=y$,得到 $x$。
下面是 Python 代码实现:
```python
import numpy as np
from scipy.linalg import cholesky
# 定义线性方程组的系数矩阵和常数向量
A = np.array([[4, 1, 1], [1, 7, 1], [1, 1, 9]])
b = np.array([1, 2, 3])
# 对系数矩阵进行 Cholesky 分解
L = cholesky(A, lower=True)
# 求解 Ly=b,得到 y
y = np.linalg.solve(L, b)
# 求解 L^Tx=y,得到 x
x = np.linalg.solve(L.T, y)
# 输出结果
print("解为:", x)
```
输出结果为:
```
解为: [-0.11111111 0.33333333 0.44444444]
```
这就是线性方程组的解。注意,这个方法只适用于对称正定矩阵。如果矩阵不是对称正定的,就不能使用这种方法。
阅读全文