# gcare

(Not recommended) Generalized solver for continuous-time algebraic Riccati equation

`gcare` is not recommended. Use `icare` instead. For more information, see Compatibility Considerations.

## Syntax

```[X,L,report] = gcare(H,J,ns) [X1,X2,D,L] = gcare(H,...,'factor') ```

## Description

`[X,L,report] = gcare(H,J,ns)` computes the unique stabilizing solution X of the continuous-time algebraic Riccati equation associated with a Hamiltonian pencil of the form

`$H-tJ=\left[\begin{array}{ccc}A& F& S1\\ G& -{A}^{\prime }& -S2\\ S2\prime & S1\prime & R\end{array}\right]-\left[\begin{array}{ccc}E& 0& 0\\ 0& E\prime & 0\\ 0& 0& 0\end{array}\right]$`

The optional input `ns` is the row size of the A matrix. Default values for `J` and `ns` correspond to E = I and R = [ ].

Optionally, `gcare` returns the vector `L` of closed-loop eigenvalues and a diagnosis `report` with value:

• -1 if the Hamiltonian pencil has jw-axis eigenvalues

• -2 if there is no finite stabilizing solution `X`

• 0 if a finite stabilizing solution `X` exists

This syntax does not issue any error message when `X` fails to exist.

`[X1,X2,D,L] = gcare(H,...,'factor')` returns two matrices `X1`, `X2` and a diagonal scaling matrix `D` such that `X = D*(X2/X1)*D`. The vector `L` contains the closed-loop eigenvalues. All outputs are empty when the associated Hamiltonian matrix has eigenvalues on the imaginary axis.

## Compatibility Considerations

expand all

Not recommended starting in R2019a