fortran-lapack
Loading...
Searching...
No Matches
la_lapack::gghrd Interface Reference

GGHRD: reduces a pair of complex matrices (A,B) to generalized upper Hessenberg form using unitary transformations, where A is a general matrix and B is upper triangular. The form of the generalized eigenvalue problem is A*x = lambda*B*x, and B is typically made upper triangular by computing its QR factorization and moving the unitary matrix Q to the left side of the equation. This subroutine simultaneously reduces A to a Hessenberg matrix H: Q**H*A*Z = H and transforms B to another upper triangular matrix T: Q**H*B*Z = T in order to reduce the problem to its standard form H*y = lambda*T*y where y = Z**H*x. The unitary matrices Q and Z are determined as products of Givens rotations. They may either be formed explicitly, or they may be postmultiplied into input matrices Q1 and Z1, so that Q1 * A * Z1**H = (Q1*Q) * H * (Z1*Z)**H Q1 * B * Z1**H = (Q1*Q) * T * (Z1*Z)**H If Q1 is the unitary matrix from the QR factorization of B in the original equation A*x = lambda*B*x, then GGHRD reduces the original problem to generalized Hessenberg form. More...

Public Member Functions

 la_cgghrd
 
 la_dgghrd
 
 la_qgghrd
 
 la_sgghrd
 
 la_wgghrd
 
 la_zgghrd
 

Detailed Description

GGHRD: reduces a pair of complex matrices (A,B) to generalized upper Hessenberg form using unitary transformations, where A is a general matrix and B is upper triangular. The form of the generalized eigenvalue problem is A*x = lambda*B*x, and B is typically made upper triangular by computing its QR factorization and moving the unitary matrix Q to the left side of the equation. This subroutine simultaneously reduces A to a Hessenberg matrix H: Q**H*A*Z = H and transforms B to another upper triangular matrix T: Q**H*B*Z = T in order to reduce the problem to its standard form H*y = lambda*T*y where y = Z**H*x. The unitary matrices Q and Z are determined as products of Givens rotations. They may either be formed explicitly, or they may be postmultiplied into input matrices Q1 and Z1, so that Q1 * A * Z1**H = (Q1*Q) * H * (Z1*Z)**H Q1 * B * Z1**H = (Q1*Q) * T * (Z1*Z)**H If Q1 is the unitary matrix from the QR factorization of B in the original equation A*x = lambda*B*x, then GGHRD reduces the original problem to generalized Hessenberg form.

Member Function/Subroutine Documentation

◆ la_cgghrd()

la_lapack::gghrd::la_cgghrd

◆ la_dgghrd()

la_lapack::gghrd::la_dgghrd

◆ la_qgghrd()

la_lapack::gghrd::la_qgghrd

◆ la_sgghrd()

la_lapack::gghrd::la_sgghrd

◆ la_wgghrd()

la_lapack::gghrd::la_wgghrd

◆ la_zgghrd()

la_lapack::gghrd::la_zgghrd

The documentation for this interface was generated from the following file: