gauss-seidel迭代法python
时间: 2023-06-05 13:48:08 浏览: 492
计算方法python实现线性方程组高斯赛德尔迭代及高斯列主元.py
高斯-赛德尔迭代法是一种常用于求解线性方程组的迭代方法。在 Python 中可以使用 numpy 库来实现高斯-赛德尔迭代法。示例代码如下:
```
import numpy as np
def gauss_seidel(A, b, x0, max_iter=1000, tol=1e-6):
n = len(A)
x = x0.copy()
for i in range(max_iter):
x_prev = x.copy()
for j in range(n):
s = np.dot(A[j,:j], x[:j]) + np.dot(A[j,j+1:], x_prev[j+1:])
x[j] = (b[j] - s) / A[j,j]
if np.linalg.norm(x - x_prev) < tol:
return x
return x
```
其中 `A` 是方程组的系数矩阵,`b` 是常数项,`x0` 是初始解,`max_iter` 是最大迭代次数,`tol` 是精度要求。返回值是迭代计算得到的解。
阅读全文