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

时间:2017-09-07 15:42:21

标签: python matrix

我在python中寻找 - 无限矩阵的Cholesky / LDL分解。

搜索的结果:

我的实例相当小,大约100美元\次100美元,所以符号解决方案很好(瓶颈在其他地方)。

2 个答案:

答案 0 :(得分:1)

您可以使用LU分解。对于对称矩阵或埃尔米特矩阵,它们相当于一些符号模糊度。

答案 1 :(得分:0)

使用SciPy v1.1.0及更高版本,您可以使用scipy.linalg.ldl进行不定矩阵的分解。

示例: 创建正定矩阵arr

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