Accelerating the pace of engineering and science

# gdare

Generalized solver for discrete-time algebraic Riccati equation

## Syntax

[X,L,report] = gdare(H,J,ns)
[X1,X2,D,L] = gdare(H,J,NS,'factor')

## Description

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

$H-tJ=\left[\begin{array}{ccc}A& F& B\\ -Q& E\prime & -S\\ S\prime & 0& R\end{array}\right]-\left[\begin{array}{ccc}E& 0& 0\\ 0& A\prime & 0\\ 0& B\prime & 0\end{array}\right]$

The third input ns is the row size of the A matrix.

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

• -1 if the Symplectic pencil has eigenvalues on the unit circle

• -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] = gdare(H,J,NS,'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 Symplectic pencil has eigenvalues on the unit circle.