首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >朱莉娅:可以用isposdef()来确定矩阵是否可以被Cholesky分解分解?

朱莉娅:可以用isposdef()来确定矩阵是否可以被Cholesky分解分解?
EN

Stack Overflow用户
提问于 2014-06-19 17:13:09
回答 1查看 2.6K关注 0票数 9

我试图使用Julia中的isposdef()作为一种先验检验矩阵是否可以被cholesky分解分解的方法。

看起来isposdef并不总是有效的。我是不是用错了?

示例:

代码语言:javascript
复制
D = [5, 8]
V = [1 2; 3 4]
A = V*diagm(D)*inv(V)
println(eig(A))
println(isposdef(A))

在这里,我创建了一个矩阵A,它的特征值为D。我们看到eig(A)同意它们是正的。然而,Isposdef()返回false。我是不是遗漏了什么?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-18 16:44:20

如果矩阵A有cholesky分解,则A可以写成A=LL^T(如果A=QDQ^T和特征值都是正的,则A是可行的,其中L=QD^0.5),这意味着矩阵应该是正定的(这也包括对称性)。

从你的例子来看,对于矩阵A= V_D_inv( V ),特征向量V的矩阵,你选择的不是正交的。所以你不能从A= V_D_inv(V)到上面的cholesky分解形式。

至于你的主要问题,既然正确定性是cholesky分解存在的必要条件和充分条件,isposdef()可以用来检查cholesky分解是否存在。

PS:请看马克·狄金森在这个问题下的评论,以便进行更一般性的讨论。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24312541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档