LU Decomp没有在Python中进行旋转

时间:2018-01-21 19:42:55

标签: python decomposition

我需要创建函数[L,U] = lr(A),它将计算矩阵A的LU分解而不进行旋转或使用invlu等来求解线性方程。

现在尝试解决伪代码并理解它。关于如何开始的任何想法?

1 个答案:

答案 0 :(得分:1)

Kiusalaas的“使用Python 3进行工程中的数值方法”是一个很好的资源。以下是本书中Doolittle分解方法的代码。

# [L][U] = LUdecomp([A])
def LUdecomp(a):
    n = len(a)
    for k in range(0,n-1):
        for i in range(k+1,n):
            if a[i,k] != 0.0:
                lam = a [i,k]/a[k,k]
                a[i,k+1:n] = a[i,k+1:n] - lam*a[k,k+1:n]
                a[i,k] = lam
    return a