eigenvaluesHessenberg

Compute eigenvalues of an upper Hessenberg form matrix

Information

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

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

Syntax

(ev, info) = eigenvaluesHessenberg(H)

Inputs (1)

H

Type: Real[:,size(H, 1)]

Description: Hessenberg matrix H

Outputs (2)

ev

Type: Real[size(H, 1),2]

Description: Eigenvalues

info

Default Value: 0

Type: Integer