python実装Gauss反復法
#Gauss mx、 mr、 n( list )
def Gauss(mx,mr,n=100):
if len(mx) == len(mr): # mx mr
x = [] # 0
for i in range(len(mr)):
x.append([0])
count = 0 #
while count < n:
for i in range(len(x)):
nxi = mr[i][0]
for j in range(len(mx[i])):
if j!=i:
nxi = nxi+(-mx[i][j])*x[j][0]
nxi = nxi/mx[i][i]
x[i][0] = nxi
count = count + 1
return x
else:
return False
# Gauss(mx,mr,n=100)
mx = [[8,-3,2],[4,11,-1],[6,3,12]]
mr = [[20],[33],[36]]
print(Gauss(mx,mr,20))