functioneigenValueMatrix

Return real valued block diagonal matrix J of eigenvalues of matrix A (A=V*J*Vinv)

Extends from Modelica.Icons.Function (Icon for functions).

Information

Syntax

Matrices.eigenValueMatrix(eigenvalues);

Description

The function call returns a block diagonal matrix J from the two-column matrix eigenvalues (computed by function Matrices.eigenValues). Matrix eigenvalues must have the real part of the eigenvalues in the first column and the imaginary part in the second column. If an eigenvalue i has a vanishing imaginary part, then J[i,i] = eigenvalues[i,1], i.e., the diagonal element of J is the real eigenvalue. Otherwise, eigenvalue i and conjugate complex eigenvalue i+1 are used to construct a 2 by 2 diagonal block of J:

J[i  , i]   := eigenvalues[i,1];
J[i  , i+1] := eigenvalues[i,2];
J[i+1, i]   := eigenvalues[i+1,2];
J[i+1, i+1] := eigenvalues[i+1,1];

See also

Matrices.eigenValues

Inputs

TypeNameDefaultDescription
Real[:,2]eigenValuesEigen values from function eigenValues(..) (Re: first column, Im: second column)

Outputs

TypeNameDefaultDescription
Real[size(eigenValues, 1),size(eigenValues, 1)]JReal valued block diagonal matrix with eigen values (Re: 1x1 block, Im: 2x2 block)