LAPACK/BLAS 或其他地方是否有 Fortran 子例程来计算 LDL 分解?
就像标题所说,我需要为我的正定矩阵 A 形成 cholesky LDL 分解(就像正常的 cholesky 一样,但有一个 L 的对角线,D 是对角矩阵)。 我在 Lapack 中只发现一个函数可以做到这一点,但它说矩阵 A 必须是三对角的。 是否有某种函数可以在像 lapack 这样的免费子例程库中执行此操作?
Like the title says, I need to form cholesky LDL decomposition for my positive definite matrix A (Like normal cholesky, but there's ones one diagonal of L, and D is diagonal matrix). I have found only one function in Lapack which does that, but it says the matrix A has to be tridiagonal. Is there somekind of function which does that in some free subroutine libraries like lapack?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
查看 LAPACK 中的 SSPTRF 函数:
此外,Golub 和 van Loan 的“矩阵计算”一书给出了进行分解的算法。 在我的第三版中,它位于第 138 页,第 4.1.2 节“对称性和 LDL^T 分解”。
Check out the SSPTRF function from LAPACK:
Also, Golub and van Loan's "Matrix Computations" book gives an algorithm for doing the decomposition. In my third edition, it's on page 138, Section 4.1.2 "Symmetry and the LDL^T Factorization".