我希望我只是错过了一个简单的矩阵算术技巧,但我遇到的问题是我只能使用一个 LU 求解器(Matlab LU* 或 SuperLU),我需要一个对称的 LDL 分解矩阵 A. 所以我认为“没问题”,因为 LU 分解是唯一的,而 LDL 分解是唯一的,所以 D 只是 U 的对角线。
但问题是它永远不会 A = LU,而是 PA = LU 并且 PA 不是对称的!所以我不知道如何从 PA = LU 确定 A = LDL
我可以做一些简单的事情来解决这个问题吗?任何帮助是极大的赞赏。
PS先发制人:是的,我真的,真的,真的,真的需要分解低密度脂蛋白。不是没有其他选择。是,我确定。不,您不需要我为您列出确切的问题来确认我确实需要进行 LDL 分解。
*我知道 Matlab 有它自己的 LDL 函数,但我只是用它来制作原型,而我在 C++(主要是 SuperLU)中可用的库似乎没有任何这样的函数。