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
- A - matrix with dimensions n x n in (1), (2) or (3), (4)
- Q - symmetric matrix with dimensions n x n in (1), (2) or (3), (4)
- R - symmetric matrix with dimensions n x n in (1), (2) or (3), (4)
- E - matrix with dimensions n x n in (3), (4), if empty the standard equations (1), (2) are solved
- alpha - real scalar, scaling of the quadratic term, if empty alpha is set to -1
- opts - structure, containing the following optional entries:
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
|
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
- X - solution of (1) or (3)
- Y - solution of (2) or (4)
- info - structure, containing the following information:
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