資源簡介
用python編寫的比較簡潔的LU分解法解方程組
代碼片段和文件信息
def?printmat(matn):
for?i?in?range(n):
for?j?in?range(n):
print?str(mat[i][j])
print?“?“
print?“\n“
def?LU(An):
L=[[0?for?x?in?range(n)]?for?y?in?range(n)]
U=[[0?for?x?in?range(n)]?for?y?in?range(n)]
# for?i?in?range(n):#0--->n-1
# L[i][0]=A[i][0]
# printmat(L3)
# print?“\n“
# for?i?in?range(1n):#1--->n-1
# U[0][i]=A[0][i]/float(L[0][0])
# printmat(U3)
# print?“\n“
for?i?in?range(n0-1):
for?temp?in?range(n-in):#0--->i-1
sumup=0
for?temp2?in?range(n-i):
sumup+=L[temp][temp2]*U[temp2][n-i]
L[temp][n-i]=A[temp][n-i]-sumup
for?temp?in?range(n-i+1n):
sumup=0
for?temp2?in?range(n-i):#0-->n-i-1
sumup+=L[n-i][temp2]*U[temp2][temp]
U[n-i][temp]=(A[n-i][temp]-sumup)/float(L[n-i][n-i])
for?i?in?range(n):
U[i][i]=1
print?“the?L?
評論
共有 條評論