AltMvNormal(?, μ, L)

Inner constructor used internally, for specifying L directly when the first argument is Val{:L}.

You don't want to use this unless you obtain L directly. Use a Cholesky factorization instead.

AltMvNormal(μ, Σ)

Multivariate normal distribution with mean μ and covariance matrix Σ, which can be an abstract matrix (eg a factorization) or I. If Σ is not symetric because of numerical error, wrap in LinearAlgebra.Symmetric.

Use the AltMvNormal(Val(:L), μ, L) constructor for using LL'=Σ directly.

Also, see StdCorrFactor for formulating L from standard deviations and a Cholesky factor of a correlation matrix:

AltMvNormal(μ, StdCorrFactor(σ, S))
StdCorrFactor(σ, F)

A factor L of a covariance matrix Σ = LL' given as L = Diagonal(σ) * F. Can be used in place of L, without performing the multiplication.


The LKJ distribution (Lewandowski et al 2009) for the Cholesky factor L of correlation matrices.

A correlation matrix $Ω=LL'$ has the density $|Ω|^{η-1}$. However, it is usually not necessary to construct $Ω$, so this distribution is formulated for the Cholesky decomposition L*L', and takes L directly.

Note that the methods does not check if L yields a valid correlation matrix.

Valid values are $η > 0$. When $η > 1$, the distribution is unimodal at Ω=I, while $0 < η < 1$ has a trough. $η = 2$ is recommended as a vague prior.

When $η = 1$, the density is uniform in Ω, but not in L, because of the Jacobian correction of the transformation.