This is an old version, view current version.

10.11 Cholesky factors of covariance matrices

An M×M covariance matrix Σ can be Cholesky factored to a lower triangular matrix L such that LL=Σ. If Σ is positive definite, then L will be M×M. If Σ is only positive semi-definite, then L will be M×N, with N<M.

A matrix is a Cholesky factor for a covariance matrix if and only if it is lower triangular, the diagonal entries are positive, and MN. A matrix satisfying these conditions ensures that LL is positive semi-definite if M>N and positive definite if M=N.

A Cholesky factor of a covariance matrix requires N + \binom{N}{2} + (M - N)N unconstrained parameters.

Cholesky factor of covariance matrix transform

Stan’s Cholesky factor transform only requires the first step of the covariance matrix transform, namely log transforming the positive diagonal elements. Suppose x is an M \times N Cholesky factor. The above-diagonal entries are zero, the diagonal entries are positive, and the below-diagonal entries are unconstrained. The transform required is thus

y_{m,n} = \left\{ \begin{array}{cl} 0 & \mbox{if } m < n, \\ \log x_{m,m} & \mbox{if } m = n, \mbox{ and} \\ x_{m,n} & \mbox{if } m > n. \end{array} \right.

Cholesky factor of covariance matrix inverse transform

The inverse transform need only invert the logarithm with an exponentiation. If y is the unconstrained matrix representation, then the elements of the constrained matrix x is defined by

x_{m,n} = \left\{ \begin{array}{cl} 0 & \mbox{if } m < n, \\ \exp(y_{m,m}) & \mbox{if } m = n, \mbox{ and} \\ y_{m,n} & \mbox{if } m > n. \end{array} \right.

Absolute Jacobian determinant of Cholesky factor inverse transform

The transform has a diagonal Jacobian matrix, the absolute determinant of which is

\prod_{n=1}^N \frac{\partial}{\partial_{y_{n,n}}} \, \exp(y_{n,n}) \ = \ \prod_{n=1}^N \exp(y_{n,n}) \ = \ \prod_{n=1}^N x_{n,n}.

Let x = f^{-1}(y) be the inverse transform from a N + \binom{N}{2} + (M - N)N vector to an M \times N Cholesky factor for a covariance matrix x defined in the previous section. A density function p_X(x) defined on M \times N Cholesky factors of covariance matrices is transformed to the density p_Y(y) over N + \binom{N}{2} + (M - N)N vectors y by

p_Y(y) = p_X(f^{-1}(y)) \prod_{N=1}^N x_{n,n}.