WOLFRAM SYSTEM MODELER

# reorderRSF

Reorders a real Schur form to clusters of stable and unstable eigenvalues

# Wolfram Language

In[1]:=
`SystemModel["Modelica.Math.Matrices.Utilities.reorderRSF"]`
Out[1]:=

# Information

This information is part of the Modelica Standard Library maintained by the Modelica Association.

#### Syntax

```              To = Matrices.Utilities.reorderRSF(T, Q, alphaReal, alphaImag);
(To, Qo, wr, wi) = Matrices.Utilities.reorderRSF(T, Q, alphaReal, alphaImag, iscontinuous);
```

#### Description

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.

#### Example

```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]
```

# Syntax

(To, Qo, wr, wi) = reorderRSF(T, Q, alphaReal, alphaImag, iscontinuous)

# Inputs (5)

T Type: Real[:,:] Description: Real Schur form Type: Real[:,size(T, 2)] Description: Schur vector Matrix Type: Real[size(T, 1)] Description: Real part of eigenvalue=alphaReal+i*alphaImag Type: Real[size(T, 1)] Description: Imaginary part of eigenvalue=alphaReal+i*alphaImag Default Value: true Type: Boolean Description: = true, if the according system is continuous. False for discrete systems

# Outputs (4)

To Type: Real[size(T, 1),size(T, 2)] Description: Reordered Schur form Type: Real[size(T, 1),size(T, 2)] Description: Reordered Schur vector matrix Type: Real[size(T, 2)] Description: Reordered eigenvalues, real part Type: Real[size(T, 2)] Description: Reordered eigenvalues, imaginary part

# Revisions

• 2010/04/30 by Marcus Baur, DLR-RM