toUpperHessenbergTransform a real square matrix A to upper Hessenberg form H by orthogonal similarity transformation: Q' * A * Q = H |
This information is part of the Modelica Standard Library maintained by the Modelica Association.
H = Matrices.Utilities.toUpperHessenberg(A); (H, V, tau, info) = Matrices.Utilities.toUpperHessenberg(A,ilo, ihi);
Function toUpperHessenberg computes a upper Hessenberg form H of a matrix A by orthogonal similarity transformation: Q' * A * Q = H. With the optional inputs ilo and ihi, also partial transformation is possible. The function calls LAPACK function DGEHRD. See Matrices.LAPACK.dgehrd for more information about the additional outputs V, tau, info and inputs ilo, ihi.
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]
A |
Type: Real[:,size(A, 1)] Description: Square matrix A |
---|---|
ilo |
Default Value: 1 Type: Integer Description: Lowest index where the original matrix had been Hessenbergform |
ihi |
Default Value: size(A, 1) Type: Integer Description: Highest index where the original matrix had been Hessenbergform |
H |
Type: Real[size(A, 1),size(A, 2)] Description: Upper Hessenberg form |
---|---|
V |
Type: Real[size(A, 1),size(A, 2)] Description: V=[v1,v2,..vn-1,0] with vi are vectors which define the elementary reflectors |
tau |
Type: Real[max(0, size(A, 1) - 1)] Description: Scalar factors of the elementary reflectors |
info |
Type: Integer Description: Information of successful function call |