迭代改善法解线性方程组python代码
时间: 2024-06-11 19:02:33 浏览: 109
迭代法解线性方程组
迭代改善法是一种求解线性方程组的方法,其基本思想是通过不断迭代来逐步改善解的精度。在迭代过程中,需要先确定一个初始解,然后通过一定的迭代公式来逐步得到更加精确的解。
以下是一个Python实现迭代改善法解线性方程组的代码:
```python
import numpy as np
def jacobi(A, b, x0, max_iter=1000, tol=1e-6):
"""
Jacobi迭代法求解线性方程组Ax=b
:param A: 系数矩阵
:param b: 常数向量
:param x0: 初始解向量
:param max_iter: 最大迭代次数
:param tol: 迭代精度
:return: 解向量x
"""
n = len(A)
D = np.diag(np.diag(A))
LU = A - D
x = x0
for k in range(max_iter):
x_new = np.dot(np.linalg.inv(D), b - np.dot(LU, x))
if np.linalg.norm(x_new - x) < tol:
return x_new
x = x_new
return x
```
这段代码实现了Jacobi迭代法求解线性方程组Ax=b,其中A为系数矩阵,b为常数向量,x0为初始解向量,max_iter为最大迭代次数,tol为迭代精度。通过不断迭代求解,得到满足精度要求的解向量x。
阅读全文