在Python中无需旋转的LU解压缩

在Python中无需旋转的LU解压缩,python,decomposition,Python,Decomposition,我需要创建函数[L,U]=lr(A),该函数将计算矩阵A的LU分解,而无需旋转或使用inv,LU等来求解线性方程 现在只想找出伪代码并理解它。有关于如何开始的想法吗?Kiusalaas的《Python 3工程中的数值方法》是一个很好的资源。下面是书中杜立德分解方法的代码 # [L][U] = LUdecomp([A]) def LUdecomp(a): n = len(a) for k in range(0,n-1): for i in range(k+1,n):

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

现在只想找出伪代码并理解它。有关于如何开始的想法吗?

Kiusalaas的《Python 3工程中的数值方法》是一个很好的资源。下面是书中杜立德分解方法的代码

# [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

“LU decomposition python”的第一个谷歌结果是它使用numpy,因此如果你需要灵感,你可以阅读
numpy.linalg.LU
的源代码。我从数学上理解这个过程,可以手工完成,但我不确定如何避免旋转并获得相同的结果numpy实现使用旋转吗?它没有,但我不允许使用内置函数lu