MATLAB 包括 LDL 分解,但是它返回块对角矩阵 D 而不是对角矩阵 D。这些实现返回真正的对角矩阵 D。
该软件包包括两个 LDL 实现。 一种实现采用对称矩阵 A 并返回 [L, D] : L*D*L' = ldl(A)。 每当您在 Gramian 矩阵 A 上运行 LDL 时,第二种实现都很方便: A=Z*Z'+Λ, 其中Z是一个可能较长(但较细)的矩形矩阵,而Λ是一个正则化对角矩阵(可以全为零,如果不需要的话)。 第二种实现方式使您不必显式存储潜在的大Z * Z'矩阵。
这两种实现都是教科书的实现,因此应该仅用于教育目的。
2021-12-29 18:22:22
2KB
matlab
1