ml_daredl_sda

Discrete-time dual Riccati equation solver.

Contents

Syntax

[X, Y, info] = ml_daredl_sda(A, Q, R)
[X, Y, info] = ml_daredl_sda(A, Q, R, [])
[X, Y, info] = ml_daredl_sda(A, Q, R, [], alpha)
[X, Y, info] = ml_daredl_sda(A, Q, R, [], alpha, opts)
[X, Y, info] = ml_daredl_sda(A, Q, R, E, [])
[X, Y, info] = ml_daredl_sda(A, Q, R, E, alpha)
[X, Y, info] = ml_daredl_sda(A, Q, R, E, alpha, opts)

Description

Computes the solution factors of the dual standard discrete-time Riccati equations

   A'*X*A - X + alpha * A'*X*inv(I - alpha * Q*X)*Q*X*A + R = 0,   (1)
   A*Y*A' - Y + alpha * A*Y*inv(I - alpha * R*Y)*R*Y*A' + Q = 0,   (2)

or of the generalized Riccati equations

   A'*X*A - E'*X*E + alpha * A'*X*inv(I - alpha * Q*X)*Q*X*A
       + R = 0,                                                    (3)
   A*Y*A' - E'*Y*E + alpha * A*Y*inv(I - alpha * R*Y)*R*Y*A'
       + Q = 0,                                                    (4)

using the structure-preserving doubling algorithm. It is assumed that E is invertible.

Input

Parameter
Meaning
AbsTol
nonnegative scalar, tolerance for the absolute error in the last iteration step
default: 0
EqnType
character array, switch for only computing the solution of one type of the above equations
  • 'primal' - equation (1) or (3) is solved
  • 'dual' - equation (2) or (4) is solved
  • 'both' - both equations are solved
default: 'both'
Info
{0, 1}, used to disable/enable display of verbose status information during iteration steps
default: 0
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
IterationSteps
number of performed iteration steps
RelErr
vector, containing the relative error of the solution matrix in each iteration step

Reference

E. K.-W. Chu, H.-Y. Fan, W.-W. Lin, C.-S. Wang, Structure-preserving algorithms for periodic discrete-time algebraic Riccati equations, Internat. J. Control 77 (8) (2004) 767--788.

See Also

ml_daredl_sda_fac | ml_caredl_sgn