ml_cabe_sgn
Continuous-time algebraic Bernoulli equation solver.
Contents
Syntax
[X, info] = ml_cabe_sgn(A, Q) [X, info] = ml_cabe_sgn(A, Q, []) [X, info] = ml_cabe_sgn(A, Q, [], opts)
[X, info] = ml_cabe_sgn(A, Q, E) [X, info] = ml_cabe_sgn(A, Q, E, opts)
Description
Computes the solution matrix of the standard algebraic Bernoulli equation
A'*X + X*A - X*Q*X = 0, (1)
or of the generalized algebraic Bernoulli equation
A'*X*E + E'*X*A - E'*X*Q*X*E = 0, (2)
using the sign function iteration. It is assumed that the eigenvalues of A (or s*E - A) lie in the open right half-plane.
Input
- A - matrix with dimensions n x n in (1) or (2)
- Q - matrix with dimensions n x n in (1) or (2)
- E - matrix with dimensions n x n in (2), if empty the standard equation (1) is solved
- opts - structure, containing the following optional entries:
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 |
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+01*n*eps |
Output
- X - solution matrix of (1) or (2)
- info - structure, containing the following information:
Entry | Meaning |
AbsErr | vector, containing the absolute error of the iteration matrix in each iteration step |
IterationSteps | number of performed iteration steps |
RelErr | vector, containing the relative error of the iteration matrix in each iteration step |
Reference
S. Barrachina, P. Benner, E. S. Quintana-Orti, Efficient algorithms for generalized algebraic Bernoulli equations based on the matrix sign function, Numer. Algorithms 46 (4) (2007) 351--368. https://doi.org/10.1007/s11075-007-9143-x
See Also