ml_daredl_sda_fac
Discrete-time dual Riccati equation solver.
Contents
Syntax
[R, L, info] = ml_daredl_sda_fac(A, B, C) [R, L, info] = ml_daredl_sda_fac(A, B, C, []) [R, L, info] = ml_daredl_sda_fac(A, B, C, [], alpha) [R, L, info] = ml_daredl_sda_fac(A, B, C, [], alpha, opts)
[R, L, info] = ml_daredl_sda_fac(A, B, C, E, []) [R, L, info] = ml_daredl_sda_fac(A, B, C, E, alpha) [R, L, info] = ml_daredl_sda_fac(A, B, C, E, alpha, opts)
Description
Computes the solution factors of the dual standard discrete-time Riccati equations
A'*X*A - X + alpha * A'*X*B*inv(I - alpha * B'*X*B)*B'*X*A + C'*C = 0, (1) A*Y*A' - Y + alpha * A*Y*C'*inv(I - alpha * C*Y*C')*C*Y*A' + B*B' = 0, (2)
or of the generalized Riccati equations
A'*X*A - E'*X*E + alpha * A'*X*B*inv(I - alpha * B'*X*B)*B'*X*A + C'*C = 0, (3) A*Y*A' - E'*Y*E + alpha * A*Y*C'*inv(I - alpha * C*Y*C')*C*Y*A + B*B' = 0, (4)
using the structure-preserving doubling algorithm, such that X = R*R' and Y = L*L'. It is assumed that E is invertible.
Input
- A - matrix with dimensions n x n in (1), (2) or (3), (4)
- B - matrix with dimensions n x m in (1), (2) or (3), (4)
- C - matrix with dimensions p 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 |
CompTol | nonnegative scalar, tolerance for the row and column compression during the iteration default: 1.0e-02*sqrt(n*eps) |
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
- R - full-rank solution factor of (1) or (3), s.t. X = R*R'
- L - full-rank solution factor of (2) or (4), s.t. Y = L*L'
- 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