This is documentation for an obsolete product.
Current products and services

 Documentation /  Advanced Numerical Methods /  Function Index /  Model Reduction /


7.1 Cholesky Factors of the Controllability and Observability Gramians

The continuous-time (discrete-time) controllability Gramian

and the continuous-time (discrete-time) observability Gramian

are used for several purposes. These include: checking controllability and observability (a stable state-space system is controllable or observable if and only if or is symmetric and positive definite); model reduction (Section 7.2); and computing and norms (see Datta (2003) for details).

For a continuous-time stable system (that is, when is stable), the controllability Gramian can be computed by solving the Lyapunov equation:

Similarly, the observability Gramian for a continuous-time stable system can be computed by solving the Lyapunov equation:

For a discrete-time stable system (that is, when all the eigenvalues of have moduli less than 1), the controllability and observability Gramians can be computed by solving, respectively, the discrete Lyapunov equations:


Since for a stable system, the matrices and are symmetric and positive definite, they admit Cholesky factorizations:


and for many purposes the Cholesky factors and suffice; the matrices and are not explicitly needed. Furthermore, it might be computationally more attractive to obtain the Cholesky factor () without directly solving the equation for (). The underlying reason is () can be considerably more ill-conditioned than (), since = and =, where is a number that characterizes the sensitivity of the matrix to perturbations.

Two new functions, CholeskyFactorControllabilityGramian and CholeskyFactorObservabilityGramian, are introduced in Advanced Numerical Methods to obtain and , respectively. These matrices are obtained by solving the respective Lyapunov equations using the algorithm of Hammarling (1982) (for details see Datta (2003)), which computes the Cholesky factor of a positive definite solution of a Lyapunov equation directly without explicitly computing the solution itself. The Hammarling algorithm also does not require explicit computation of or , which may not be computationally desirable, due to the potential for a significant loss of accuracy. An additional benefit is that the Hankel singular values of a stable system can be readily computed from and , which are obtained by this method. The Hankel singular values are the diagonal entries (arranged in decreasing order) of the controllability Gramian (and also of the observability Gramian) of an internally balanced realization. It is easy to see that the Hankel singular values are the singular values of the matrix . The functions PositiveDiagonalCholeskyFactorControllabilityGramian and PositiveDiagonalCholeskyFactorObservabilityGramian implement the corresponding controllability and observability tests.

Functions to compute Cholesky factors of controllability and observability Gramians.

Make sure the application is loaded.


Load the collection of test examples.


This is the discrete-time state-space system of a simple process control of a paper machine.



Here the Cholesky factor of the controllability Gramian is computed without explicitly computing the symmetric positive definite solution of the associated Lyapunov equation.



This tests the controllability of the system by checking if the diagonal entries of the Cholesky factor of the controllability Gramian are positive.



Here is the Cholesky factor of the observability Gramian.



Here are the Hankel singular values of the system.



The diagonal entries of the controllability Gramian of the internally balanced realization are the Hankel singular values.