Cholesky-variate distributions are distributions whose variate forms are
CholeskyVariate. This means each draw is a factorization of a positive-definite matrix of type
LinearAlgebra.Cholesky (the object produced by the function
LinearAlgebra.cholesky applied to a dense positive-definite matrix.)
LKJCholesky(d::Int, η::Real, uplo='L')
LKJCholesky distribution of size $d$ with shape parameter $\eta$ is a distribution over
LinearAlgebra.Cholesky factorisations of $d\times d$ real correlation matrices (positive-definite matrices with ones on the diagonal).
Variates or samples of the distribution are
LinearAlgebra.Cholesky objects, as might be returned by
F = LinearAlgebra.cholesky(R), so that
Matrix(F) ≈ R is a variate or sample of
LKJCholesky is faster than sampling
LKJ, and often having the correlation matrix in factorized form makes subsequent computations cheaper as well.
LinearAlgebra.Cholesky stores either the upper or lower Cholesky factor, related by
F.U == F.L'. Both can be accessed with
F.L, but if the factor not stored is requested, then a copy is made. The
uplo parameter specifies whether the upper (
'U') or lower (
'L') Cholesky factor is stored when randomly generating samples. Set
'U' if the upper factor is desired to avoid allocating a copy when calling
LKJ for more details.
- Lewandowski D, Kurowicka D, Joe H. Generating random correlation matrices based on vines and extended onion method, Journal of Multivariate Analysis (2009), 100(9): 1989-2001 doi: 10.1016/j.jmva.2009.04.008