我使用Distribution软件包从Julia的Wishart创建了一个正定矩阵。我想用它来生成具有指定精度的随机多元法线。因此,我使用MvNormal的规范形式,即MvNormalCanon。
然而,我对Wishart的随机生成矩阵感到有点困惑,尽管它是正定的,但它的反之则不然。因此,有时它会导致使用该精度从多元法线生成麻烦。
例如:
using Distributions
X=rand(Wishart(10, eye(10)))
isposdef(X) // true
isposdef(inv(X)) // false
我还使用MvNormalCanon生成如下随机向量:
rand(MvNormalCanon(X*μ, X))
其中μ是我的平均向量。但上面创建了Base.LinAlg.PosDefException(1)
。
倒数也应该是肯定的,如果是,为什么朱莉娅这样做呢?
P.S.可能会在Wishart的比例矩阵中添加一点点可能解决问题。