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())