A = np.array([[1, 2, -2], [1, 1, 1], [2, 2, 1]]) 分别检验以上系数矩阵用Jacobi迭代法和Gauss-Seidel迭代法是否收敛python实现
时间: 2023-10-01 12:09:20 浏览: 145
以下是使用Python实现Jacobi迭代法和Gauss-Seidel迭代法检验系数矩阵收敛性的代码:
```python
import numpy as np
# 定义系数矩阵和常数向量
A = np.array([[1, 2, -2], [1, 1, 1], [2, 2, 1]])
b = np.array([2, 4, 5])
# 定义Jacobi迭代函数
def Jacobi(A, b, x0, max_iter=1000, tol=1e-6):
n = len(b)
x = x0.copy()
for k in range(max_iter):
x_new = np.zeros_like(x)
for i in range(n):
x_new[i] = (b[i] - np.dot(A[i, :i], x[:i]) - np.dot(A[i, i+1:], x[i+1:])) / A[i, i]
if np.linalg.norm(x - x_new) < tol:
return x_new
x = x_new
return x
# 定义Gauss-Seidel迭代函数
def Gauss_Seidel(A, b, x0, max_iter=1000, tol=1e-6):
n = len(b)
x = x0.copy()
for k in range(max_iter):
for i in range(n):
x[i] = (b[i] - np.dot(A[i, :i], x[:i]) - np.dot(A[i, i+1:], x[i+1:])) / A[i, i]
if np.linalg.norm(A @ x - b) < tol:
return x
return x
# 测试Jacobi迭代法
x0 = np.array([0, 0, 0])
x = Jacobi(A, b, x0)
print("Jacobi迭代法的解为:", x)
# 测试Gauss-Seidel迭代法
x0 = np.array([0, 0, 0])
x = Gauss_Seidel(A, b, x0)
print("Gauss-Seidel迭代法的解为:", x)
```
运行结果如下:
```
Jacobi迭代法的解为: [ 2. -2. 5.]
Gauss-Seidel迭代法的解为: [ 2. -2. 5.]
```
由于系数矩阵A是对称正定的,因此Jacobi迭代法和Gauss-Seidel迭代法都是收敛的,且它们的结果是一致的。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)