Calculates a Cholesky-factor of the inverse covariance matrix (ICM) of a multivariable autoregressive process.


C = cholicm(Af,Ab,Sf,Sb,N)


The Inverse Covariance Matrix S of a multivariable autoregressive noise process according to [1] is calculated. A Cholesky factor C is returned such that C'C = S

The noise model contains a causal and an auticausal part, both of which describe the actual noise v(k). If e(k) is a Gaussian white innovation, the model is given by:

$$v(k) =
\over e}(k) -
\over A}_1 v(k-1) - ... -
\over A}_d v(k-d)$$

$$v(k) =
\over e}(k) -
\over A}_1 v(k+1) - ... -
\over A}_d v(k+d)$$

Right arrow denote the causal (Forward) components while left arrows denote the anti-causal (Backward) ones.

The multivariable noise model can be obtained using the destmar function


Af is an l x ld matrix containing the causal part of the noise process. Af = [Af1,Af2,...,Afd]

Ab is an l x ld matrix containing the anti-causal part of the noise process. Ab = [Ab1,Ab2,...,Abd]

Sf is an l x l matrix describing the covariance E[ef ef']

Sb is an l x l matrix describing the covariance E[eb eb']

N is the number of samples


C is a Cholesky factor of the ICM. This matrix is stored in LAPACK/BLAS band-storage; its size is (d + 1)l x N, and the bottom row contains the diagonal of C. The row above contains a zero, and then the first superdiagonal of C. The row above contains two zeros, and then the second superdiagonal, etc. The top row contains ((d + 1)l - 1) zeros, and then the ((d + 1)l - 1) th superdiagonal.


A covariance matrix of a stationary process is always positive definite. However, it is very well possible to specify filter coefficients Af, Ab and covariances Sf and Sb such that the theoretical ICM calculated per [1] is not positive definite. In such cases, no Cholesky factor can be calculated, and an identity matrix will be returned along with a warning message. The filter should be checked and adjusted in these cases.


The upper-triangular block-band of a sparse banded inverse covariance matrix according to [1] is filled. A direct sparse Cholesky factorization is subsequently performed using MATLAB's internal chol function.

Used By


See Also

doptli, destmar


[1] B. Davis, Parameter Estimation in Nonlinear Dynamical Systems with Correlated Noise. PhD thesis, Universite Catholique de Louvain-La-Neuve, Belgium, 2001.