如何强制 python 在没有排列的情况下执行 LU 分解


anq">在 MATLAB 中,可以使用 hack 强制内置的 LU 分解算法不使用排列矩阵(即强制P=I(,如下所示。

python中是否有类似的黑客攻击?

也就是说,有没有办法强制scipy.linalg.lu(或任何其他流行的 LU 算法(不使用排列矩阵?

他们没有这样的 numpy 数组选项,但您可以通过以下解决方法来实现这一点:

from scipy.sparse.linalg import splu
A = np.array([-3,4,0,1,-3,2,-6,7,1]).reshape(3,3)
slu = splu(A, permc_spec = "NATURAL", diag_pivot_thresh=0, options={"SymmetricMode":True})
print(slu.L.toarray())

相关内容

最新更新