LU分解蟒蛇与矢量枢轴

  • 本文关键字:分解 LU python scipy lapack
  • 更新时间 :
  • 英文 :


scipy提供的LU分解函数返回一个置换矩阵P

P,L,U = scipy.linalg.lu(A)

其中A是矩形矩阵。但是,由于它的大小,我的问题的大小不允许存储P(甚至是临时的(,我真的需要一个计算排列向量的函数(如 Matlab 中的[L,U,P] = lu(A,'vector')(。我找到了一个 lapack 函数

LU,p,info = scipy.linalg.lapack.dgetrf(A)

它似乎返回一个向量p,但我了解到后者不是实际的排列向量,因为它包含两倍相同的值 (https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/780655(。因此,我正在寻找另一个函数(可能来自另一个库(来执行这种带有透视的 LU 分解。由于计算时间也非常重要,我认为自己实现分解不会有效。

是的,它是一个枢轴向量,这是一个标准的 LAPACK 返回。因此,您需要将其转换为您想要的任何其他形式(这比重新实现因式分解要容易得多(。