如下代码段是关于LU decomposition of symetric pentadiagonal matrix in Python的代码。
''' d,e,f = LUdecomp5(d,e,f).
LU decomposition of symetric pentadiagonal matrix
[fedef]. On output {d},{e} and {f} are the
diagonals of the decomposed matrix.
x = LUsolve5(d,e,f,b).
Solves [fedef]{x} = {b}, where {d}, {e} and {f}
are the vectors returned from LUdecomp5.
'''
def LUdecomp5(d,e,f):
n = len(d)
for k in range(n-2):
lam = e[k]/d[k]
e[k] = lam
lam = f[k]/d[k]
f[k] = lam
lam = e[n-2]/d[n-2]
e[n-2] = lam
return d,e,f
def LUsolve5(d,e,f,b):
n = len(d)
for k in range(2,n):
b[n-1] = b[n-1]/d[n-1]
for k in range(n-3,-1,-1):
return b