reorderRSFReorders a real Schur form to clusters of stable and unstable eigenvalues |
This information is part of the Modelica Standard Library maintained by the Modelica Association.
To = Matrices.Utilities.reorderRSF(T, Q, alphaReal, alphaImag); (To, Qo, wr, wi) = Matrices.Utilities.reorderRSF(T, Q, alphaReal, alphaImag, iscontinuous);
Function reorderRSF() reorders a real Schur form such that the stable eigenvalues of
the system are in the 1-by-1 and 2-by-2 diagonal blocks of the block upper triangular matrix.
If the Schur form is referenced to a continuous system the staple eigenvalues are in the left complex half plane.
The stable eigenvalues of a discrete system are inside the complex unit circle.
This function is used for example to solve algebraic Riccati equations
(continuousRiccati,
discreteRiccati). In this context the Schur form
as well as the corresponding eigenvalues and the transformation matrix Q are known, why the eigenvalues and the transformation matrix are inputs to reorderRSF().
The Schur vector matrix Qo is also reordered according to To. The vectors wr and wi contains the real and imaginary parts of the
reordered eigenvalues respectively.
T := [-1,2, 3,4; 0,2, 6,5; 0,0,-3,5; 0,0, 0,6]; To := Matrices.Utilities.reorderRSF(T,identity(4),{-1, 2, -3, 6},{0, 0, 0, 0}, true); // To = [-1.0, -0.384, 3.585, 4.0; // 0.0, -3.0, 6.0, 0.64; // 0.0, 0.0, 2.0, 7.04; // 0.0, 0.0, 0.0, 6.0]
See also Matrices.realSchur
T |
Type: Real[:,:] Description: Real Schur form |
---|---|
Q |
Type: Real[:,size(T, 2)] Description: Schur vector Matrix |
alphaReal |
Type: Real[size(T, 1)] Description: Real part of eigenvalue=alphaReal+i*alphaImag |
alphaImag |
Type: Real[size(T, 1)] Description: Imaginary part of eigenvalue=alphaReal+i*alphaImag |
iscontinuous |
Default Value: true Type: Boolean Description: True if the according system is continuous. False for discrete systems |
To |
Type: Real[size(T, 1),size(T, 2)] Description: Reordered Schur form |
---|---|
Qo |
Type: Real[size(T, 1),size(T, 2)] Description: Reordered Schur vector matrix |
wr |
Type: Real[size(T, 2)] Description: Reordered eigenvalues, real part |
wi |
Type: Real[size(T, 2)] Description: Reordered eigenvalues, imaginary part |