2

就像标题说的那样,我需要为我的正定矩阵A形成cholesky LDL分解(就像普通的cholesky,但是L的一个对角线,D是对角矩阵)。我在 Lapack 中发现只有一个函数可以做到这一点,但它说矩阵 A 必须是三对角矩阵。在一些免费的子程序库(如 lapack)中是否有某种功能可以做到这一点?

4

1 回答 1

3

查看 LAPACK 中的 SSPTRF 函数:

用途
=======

SSPTRF 使用 Bunch-Kaufman 对角旋转方法计算以压缩格式存储的实对称矩阵 A 的因式分解:

A = U*D*U**T 或 A = L*D*L* *T

其中 U(或 L)是置换和单位上(下)三角矩阵的乘积,而 D 是对称的,并且具有 1×1 和 2×2 对角块的对角块。

此外,Golub 和 van Loan 的“矩阵计算”一书提供了一种用于进行分解的算法。在我的第三版中,它位于第 138 页,第 4.1.2 节“对称性和 LDL^T 分解”。

于 2009-06-14T05:19:33.913 回答