Chandrasekhar algorithm refers to an efficient method to solve matrix Riccati equation, which uses symmetric factorization and was introduced by Subrahmanyan Chandrasekhar in his book, Radiative Transfer. This technique was later adapted for use in control theory, leading to the development of the Chandrasekhar equations, which refer to a set of linear differential equations that reformulates continuous-time algebraic Riccati equation (CARE).

Mathematical description

Consider a linear dynamical system x ˙ ( t ) = A x ( t ) + B u ( t ) {\displaystyle {\dot {x}}(t)=Ax(t)+Bu(t)}, where x ( t ) {\displaystyle x(t)} is the state vector, u ( t ) {\displaystyle u(t)} is the control input and A {\displaystyle A} and B {\displaystyle B} are the system matrices. The objective is to minimize the quadratic cost function

J = ∫ 0 ∞ [ x T Q x + u T R u ) ] d t {\displaystyle J=\int _{0}^{\infty }[x^{T}Qx+u^{T}Ru)]dt}

subject to the constraint x ˙ ( t ) = A x ( t ) + B u ( t ) {\displaystyle {\dot {x}}(t)=Ax(t)+Bu(t)}. Hhere Q {\displaystyle Q} and R {\displaystyle R} are positive definite, symmetric, weighting matrices, referred to as the state cost and control cost. The optimization leads to u = − R − 1 B T P x {\displaystyle u=-R^{-1}B^{T}Px}, where P ( t ) {\displaystyle P(t)} is a symmetric matrix and satisfies the continuous-time algebraic Riccati equation

− P ˙ = A T P + P A − P B R − 1 B T P ( t ) + Q . {\displaystyle -{\dot {P}}=A^{T}P+PA-PBR^{-1}B^{T}P(t)+Q.}

Chandrasekhar introduced the factorization P ( t ) = Z ( t ) Z ( t ) T {\displaystyle P(t)=Z(t)Z(t)^{T}}(Z {\displaystyle Z} need not be a square matrix) so that

Z ˙ = ( A − B R − 1 B T Z Z T ) Z + Q Z − T . {\displaystyle {\dot {Z}}=(A-BR^{-1}B^{T}ZZ^{T})Z+QZ^{-T}.}

The second term is regarded linear since the operation Z T Z {\displaystyle Z^{T}Z} is a projection on a reduced-dimensional space.

Example

Let us illustrate the Chandrasekhar equations using a simple example, where we take

A = [ 1 2 0 − 1 ] , B = [ 0 1 ] , Q = I = [ 1 0 0 1 ] , R = [ 1 ] , Z = [ z 1 z 2 ] , {\displaystyle A={\begin{bmatrix}1&2\\0&-1\end{bmatrix}},\quad B={\begin{bmatrix}0\\1\end{bmatrix}},\quad Q=I={\begin{bmatrix}1&0\\0&1\end{bmatrix}},\quad R={\begin{bmatrix}1\end{bmatrix}},\quad Z={\begin{bmatrix}z_{1}\\z_{2}\end{bmatrix}},}

then we have Z T Z = z 1 2 + Z 2 {\displaystyle Z^{T}Z=z_{1}^{2}+Z^{2}} and therefore

Z Z T Z = [ z 1 z 2 ] ( z 1 2 + z 2 2 ) . {\displaystyle ZZ^{T}Z={\begin{bmatrix}z_{1}\\z_{2}\end{bmatrix}}(z_{1}^{2}+z_{2}^{2}).}

For this example, the Chandrasekhar equations become

[ z ˙ 1 z ˙ 2 ] = [ z 1 − z 1 3 + 2 z 2 − z 1 z 2 2 − z 2 ] + 1 z 1 2 + z 2 2 [ z 1 z 2 ] . {\displaystyle {\begin{bmatrix}{\dot {z}}_{1}\\{\dot {z}}_{2}\end{bmatrix}}={\begin{bmatrix}z_{1}-z_{1}^{3}+2z_{2}-z_{1}z_{2}^{2}\\-z_{2}\end{bmatrix}}+{\frac {1}{z_{1}^{2}+z_{2}^{2}}}{\begin{bmatrix}z_{1}\\z_{2}\end{bmatrix}}.}