我在Python中寻找半定矩阵的Cholesky/LDL分解。
搜索-结果:
我的实例相当小,大约100倍100美元,所以一个象征性的解决方案就可以了(瓶颈在其他地方)。
您可以只使用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