ev = Matrices.Utilities.eigenvaluesHessenberg(H); (ev, info) = Matrices.Utilities.eigenvaluesHessenberg(H);
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
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}
Matrices.eigenValues, Matrices.hessenberg
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;