提问者:小点点

python中半正定矩阵的Cholesky/LDL-分解


我在Python中寻找半定矩阵的Cholesky/LDL分解。

搜索-结果:

    仅适用于positive-definite./li>

我的实例相当小,大约100倍100美元,所以一个象征性的解决方案就可以了(瓶颈在其他地方)。


共2个答案

匿名用户

您可以只使用LU分解。对于对称矩阵或厄米矩阵,它们等价到某些符号模糊。

匿名用户

通过SciPy和更高版本,您可以使用对不定矩阵进行因式分解。

示例:创建正定矩阵

>>> import numpy as np
>>> import scipy.linalg as la

>>> arr = np.random.rand(100,97)
>>> M = arr @ arr.T
>>> l, d, p = la.ldl(M)
>>> np.allclose(l.dot(d).dot(l.T) - M, np.zeros([100, 100]))
True