ml_caredl_sgn
Continuous-time dual Riccati equation solver.
Contents
Syntax
[X, Y, info] = ml_caredl_sgn(A, Q, R) [X, Y, info] = ml_caredl_sgn(A, Q, R, []) [X, Y, info] = ml_caredl_sgn(A, Q, R, [], alpha) [X, Y, info] = ml_caredl_sgn(A, Q, R, [], alpha, opts)
[X, Y, info] = ml_caredl_sgn(A, Q, R, E, []) [X, Y, info] = ml_caredl_sgn(A, Q, R, E, alpha) [X, Y, info] = ml_caredl_sgn(A, Q, R, E, alpha, opts)
Description
Computes the solution matrix of the standard dual continuous-time algebraic Riccati equations
A'*X + X*A + alpha * X*Q*X + R = 0, (1) A*Y + Y*A' + alpha * Y*R*Y + Q = 0, (2)
or of the generalized dual Riccati equations
A'*X*E + E'*X*A + alpha * E'*X*Q*X*E + R = 0, (3) A*Y*E' + E*Y*A' + alpha * E*Y*R*Y*E' + Q = 0, (4)
using the factored sign function iteration. 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 change of the iteration matrix in each iteration step |
IterationSteps | number of performed iteration steps |
RelErr | vector, containing the relative change of the iteration matrix in each iteration step |
Reference
P. Benner, P. Ezzatti, E. S. Quintana-Orti, A. Remon, A factored variant of the Newton iteration for the solution of algebraic Riccati equations via the matrix sign function, Numer. Algorithms 66 (2) (2014) 363--377. https://doi.org/10.1007/s11075-013-9739-2
See Also