.Modelica_LinearSystems2.Math.Matrices.toUpperHessenberg

Information

Syntax

                H = Matrices.toUpperHessenberg(A);
(H, V, tau, info) = Matrices.toUpperHessenberg(A,ilo, ihi);

Description

Function toUpperHessenberg computes a upper Hessenberg form H of a matrix A by orthogonal similarity transformation: Q' * A * Q = H. It calls LAPACK function DGEHRD. See Matrices.LAPACK.dgehrd for more information about the additional outputs V, tau, info and inputs ilo, ihi for more information.

Example

  A  = [1, 2,  3;
        6, 5,  4;
        1, 0,  0];

  H = toUpperHessenberg(A);

  results in:

  H = [1.0,  -2.466,  2.630;
      -6.083, 5.514, -3.081;
       0.0,   0.919, -0.514]

Interface

function toUpperHessenberg
  import Modelica_LinearSystems2.Math.Matrices;
  import Modelica_LinearSystems2.Math.Matrices.LAPACK;
  input Real A[:, size(A, 1)] "Square matrix A";
  input Integer ilo = 1 "Lowest index where the original matrix had been Hessenbergform";
  input Integer ihi = size(A, 1) "Highest index where the original matrix had been Hessenbergform";
  output Real H[size(A, 1), size(A, 2)] "Upper Hessenberg form";
  output Real V[size(A, 1), size(A, 2)] "V=[v1,v2,..vn-1,0] with vi are vectors which define the elementary reflectors";
  output Real tau[max(0, size(A, 1) - 1)] "Scalar factors of the elementary reflectors";
  output Integer info;
end toUpperHessenberg;

Generated at 2024-04-28T18:16:21Z by OpenModelicaOpenModelica 1.22.3 using GenerateDoc.mos