ml_icare_ric_fac

Continuous-time indefinite Riccati equation solver.

Contents

Syntax

[Z, info] = ml_icare_ric_fac(A, B1, B2, C1)
[Z, info] = ml_icare_ric_fac(A, B1, B2, C1, [])
[Z, info] = ml_icare_ric_fac(A, B1, B2, C1, [], opts)
[Z, info] = ml_icare_ric_fac(A, B1, B2, C1, E)
[Z, info] = ml_icare_ric_fac(A, B1, B2, C1, E, opts)

Description

Computes the low-rank solutions of the standard Riccati equation with indefinite quadratic term

   A'*X + X*A + X*(B1*B1' - B2*B2')*X + C1'*C1 = 0

or of the generalized Riccati equation with indefinite quadratic term

   A'*X*E + E'*X*A + E'*X*(B1*B1' - B2*B2')*X*E + C1'*C1 = 0

with X = Z*Z', using the Low-Rank Riccati iteration. It is assumed that the eigenvalues of A (or s*E - A) lie in the open left half-plane.

Input

Parameter
Meaning
AbsTol
nonnegative scalar, tolerance for the absolute error in the last iteration step
default: 0
CompTol
nonnegative scalar, tolerance for the row compression during the iteration
default: 1.0e-02*sqrt(n*eps)
Info
{0, 1}, used to disable/enable display of verbose status information during iteration steps
default: 0
careopts
structure, containing the optional parameters for the computation of the continuous-time definite Riccati equations used in every iteration step, see ml_care_nwt_fac
default: struct()
MaxIter
positive integer, maximum number of iteration steps
default: 100
RelTol
nonnegative scalar, tolerance for the relative error in the last iteration step
default: 1.0e+02*n*eps
StoreLQG
{0, 1}, used to disable/enable storing of low-rank solution factor to the corresponding LQG problem
default: 0
Z0
matrix of dimensions n x k, solution factor of the corresponding LQG problem such that X = Z*Z', A'XE + E'XA - E'XB2B2'XE + C'C = 0
default: []

Output

Entry
Meaning
AbsErr
vector, containing the absolute error of the solution matrix in each iteration step
infoCARE
array of structs, containing information about the used Riccati equations solver for every iteration step, see ml_care_nwt_fac
IterationSteps
number of performed iteration steps
RelErr
vector, containing the relative error of the solution matrix in each iteration step
Z_LQG
low-rank solution factor of the corresponding LQG problem

Reference

A. Lanzon, Y. Feng, B. D. O. Anderson, An iterative algorithm to solve algebraic Riccati equations with an indefinite quadratic term, in: 2007 European Control Conference (ECC), 2007, pp. 3033--3039. https://doi.org/10.23919/ecc.2007.7068239

See Also

ml_care_nwt_fac | ml_pcare_nwt_fac