ml_dare_nwt_fac

Discrete-time Riccati equation solver.

Contents

Syntax

[Z, info] = ml_dare_nwt_fac(A, B, C)
[Z, info] = ml_dare_nwt_fac(A, B, C, [])
[Z, info] = ml_dare_nwt_fac(A, B, C, [], opts)
[Z, info] = ml_dare_nwt_fac(A, B, C, E)
[Z, info] = ml_dare_nwt_fac(A, B, C, E, opts)

Description

Computes the full-rank solutions of the standard discrete-time Riccati equation

   A'*X*A - X - A'*X*B*inv(I + B'*X*B)*B'*X*A + C'*C = 0,          (1)

or of the generalized Riccati equation

   A'*X*A - E'*X*E - A'*X*B*inv(I + B'*X*B)*B'*X*A + C'*C = 0,     (2)

with X = Z*Z', using the Newton-Kleinman iteration. It is assumed that the eigenvalues of A (or s*E - A) lie inside the open unit disk, otherwise a stabilizing initial feedback K0 is given as parameter.

Input

Parameter
Meaning
AbsTol
nonnegative scalar, tolerance for the absolute error in the last iteration step
default: 0
Info
{0, 1}, used to disable/enable display of verbose status information during iteration steps
default: 0
K0
matrix with dimensions m x n, used to stabilize the spectrum of s*E - A, such that s*E - (A - BK0) has only d-stable eigenvalues
default: zeros(m, n)
dlyapopts
structure, containing the optional parameters for Lyapunov equation solver, see ml_dlyap_smith_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

Output

Entry
Meaning
AbsErr
vector, containing the absolute error of the solution matrix in each iteration step
infoDLYAP
array of structs, containing information about the used Lyapunov equations solver for every iteration step, see ml_dlyap_smith_fac
IterationSteps
number of performed iteration steps
RelErr
vector, containing the relative error of the solution matrix in each iteration step

Reference

G. A. Hewer, An iterative technique for the computation of steady state gains for the discrete optimal regulator, IEEE TRans. Autom. Control, vol. 16, pp. 382--384, 1971. https://doi.org/10.1109/TAC.1971.1099755

See Also

ml_icare_ric_fac | ml_pcare_nwt_fac