7.1 Cholesky Factors of the Controllability and Observability Gramians
The continuoustime (discretetime) controllability Gramian
and the continuoustime (discretetime) observability Gramian
are used for several purposes. These include: checking controllability and observability (a stable statespace 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 continuoustime stable system (that is, when is stable), the controllability Gramian can be computed by solving the Lyapunov equation:
Similarly, the observability Gramian for a continuoustime stable system can be computed by solving the Lyapunov equation:
For a discretetime 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:
and
Since for a stable system, the matrices and are symmetric and positive definite, they admit Cholesky factorizations:
and
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 illconditioned 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.
In[1]:=
Load the collection of test examples.
In[2]:=
This is the discretetime statespace system of a simple process control of a paper machine.
In[3]:=
Out[3]=
Here the Cholesky factor of the controllability Gramian is computed without explicitly computing the symmetric positive definite solution of the associated Lyapunov equation.
In[4]:=
Out[4]=
This tests the controllability of the system by checking if the diagonal entries of the Cholesky factor of the controllability Gramian are positive.
In[5]:=
Out[5]=
Here is the Cholesky factor of the observability Gramian.
In[6]:=
Out[6]=
Here are the Hankel singular values of the system.
In[7]:=
Out[7]=
The diagonal entries of the controllability Gramian of the internally balanced realization are the Hankel singular values.
In[8]:=
Out[8]=
