.Modelica.Math.Matrices.Utilities.eigenvaluesHessenberg

Information

Syntax

        ev = Matrices.Utilities.eigenvaluesHessenberg(H);
(ev, info) = Matrices.Utilities.eigenvaluesHessenberg(H);

Description

This function computes the eigenvalues of a Hessenberg form matrix. Transformation to Hessenberg form is the first step in eigenvalue computation for arbitrary matrices with QR decomposition. This step can be skipped if the matrix has already Hessenberg form.

The function uses the LAPACK-routine dhseqr. Output info is 0 for a successful call of this function.
See Matrices.LAPACK.dhseqr for details

Example

Real A[3,3] = [1,2,3;
               9,8,7;
               0,1,0];

Real ev[3,2];

ev := Matrices.Utilities.eigenvaluesHessenberg(A);

// ev  = [10.7538,    0.0;
          -0.8769,    1.0444;
          -0.8769,   -1.0444]
// = {10.7538,  -0.8769 +- i*1.0444}

See also

Matrices.eigenValues, Matrices.hessenberg

Interface

function eigenvaluesHessenberg
  extends Modelica.Icons.Function;
  import Modelica.Math.Matrices.LAPACK;
  input Real H[:, size(H, 1)] "Hessenberg matrix H";
  output Real ev[size(H, 1), 2] "Eigenvalues";
  output Integer info = 0;
end eigenvaluesHessenberg;

Revisions


Generated at 2020-06-05T21:39:08Z by OpenModelica 1.16.0~dev-442-g2e5bc9f