在雅可比(Jacobi)迭代法的基础上,通过修改其中逻辑使其成为Gauss-seidel迭代法。通过输入系数矩阵mx,值矩阵mr,最大迭代次数n,目标误差e即可得到答案。
代码如下:
import numpy as np
def Astringency(mx): # 判断系数矩阵的收敛性
L, D, U = [], [], [] # 初始化L,D,U矩阵
for i in range(len(mx)):
L.append([]), D.append([]), U.append([])
for j in range(len(mx)):
if i > j:
L[i].append(mx[i][j]), D[i].append(0), U[i].append(0)
if i == j:
L[i].append(0), D[i].append(mx[i][j]), U[i].append(0)
if i < j:
L[i].append(0), D[i].append(0), U[i].append(mx[i][j])
# print(L)
# print(D)
# print(U)
ld =