Module Lyap.jl¶
Documentation¶
- DESCRIPTION
Solves the real matrix equation A’X + XA = C, where A and C are constant matrices of dimension n x n with C=C’. The matrix A is transformed into upper Schur form and the transformed system is solved by back substitution. The option is provided to input the Schur form directly and bypass the Schur decomposition. This equation is also know as continuous Lyapunov equation.
The method of Bartels and Stewart is used. The system is first reduced such that A is in upper real schur form. The resulting triangular system is solved via back-substitution. Has a unique solution, if A and -A have no common eigenvalues, which is guaranteed if A is stable (and the real part of each eigenvalue is negative).
- HISTORY
- The classic ACM algorithm from Bartels and Stewart was implemented E. Armstrong as part of ORACLS – optimal regulator algorithms for the control of linear systems. The implementation from the nasa cosmic archive is reported to be in the public domain, under the terms of Title 17, Chapter 1, Section 105 of the US Code. This is rather direct translation of forementioned implementation into Julia, put under MIT licence as Julia.
- REFERENCES
- Bartels, R.H.; and Stewart, G.W.: Algorithm 432 - Solution of the Matrix Equation AX + XB = C. Commun. ACM, vol. 15, no. 9, Sept. 1972, pp. 820-826.
- SEE ALSO
- atxpxa in ORACLS, strsyl, dtrsyl in LAPACK, lyap in GNU Octave
Reference¶
-
Lyap.
issquare
(a)¶ Checks if matrix
a
is square.
-
Lyap.
lyap
(a, cc)¶ Solves the real matrix equation A’X + XA = C, where A and C are constant matrices of dimension n x n with C=C’. The matrix A is transformed into upper Schur form and the transformed system is solved by back substitution. The option is provided to input the Schur form directly and bypass the Schur decomposition. This equation is also know as continuous Lyapunov equation.
The method of Bartels and Stewart is used. The system is first reduced such that A is in upper real schur form. The resulting triangular system is solved via back-substitution. Has a unique solution, if A and -A have no common eigenvalues, which is guaranteed if A is stable (and the real part of each eigenvalue is negative).
-
Lyap.
symslv
(a, c)¶ Solves
A'*x + x*A = C
, whereC
is symmetric andA
is in upper real schur form. via back substitution
-
Lyap.
syl
(a, b, c)¶ Solves the Sylvester equation
AX + XB = C
, whereC
is symmetric andA
and-B
have no common eigenvalues using (inefficient) algebraic approach via the Kronecker product, see http://en.wikipedia.org/wiki/Sylvester_equation