gpt4 book ai didi

math - Julia (Julia):是否可以使用isposdef()确定Cholesky分解是否可以分解矩阵?

转载 作者:行者123 更新时间:2023-12-04 08:52:12 34 4
gpt4 key购买 nike

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

似乎isposdef并不总是有效。我使用不正确吗?

例子:

D = [5, 8]
V = [1 2; 3 4]
A = V*diagm(D)*inv(V)
println(eig(A))
println(isposdef(A))

在这里,我创建了矩阵A,矩阵A具有D给出的正特征值。我们看到eig(A)同意它们是正的。 Isposdef(),但是,返回false。我想念什么吗?

谢谢

最佳答案

如果矩阵A具有cholesky分解,则A可以写为A = LL ^ T(如果A = QDQ ^ T并且本征值均为正,其中L = QD ^ 0.5,则可行),这意味着矩阵应为正定的(也包括对称性)。

从您的示例中,对于矩阵A = VDinv(V),即特征向量V的矩阵,您选择的不是正交的。因此,您不能从A = VDinv(V)转到上面的形式进行cholesky分解。

关于您的主要问题,由于正定性是必要的,并且存在足以进行cholesky分解的条件,因此可以使用isposdef()来检查是否存在cholesky分解。

PS:请查看问题下Mark Dickinson的评论,以进行更一般的讨论。

关于math - Julia (Julia):是否可以使用isposdef()确定Cholesky分解是否可以分解矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24312541/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com