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

pure subroutine cgghrd (compq, compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info)
 
 la_cgghrd
 
pure subroutine dgghrd (compq, compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info)
 
 la_dgghrd
 
 la_qgghrd
 
pure subroutine sgghrd (compq, compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info)
 
 la_sgghrd
 
 la_wgghrd
 
pure subroutine zgghrd (compq, compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info)
 
 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

◆ cgghrd()

pure subroutine la_lapack::gghrd::cgghrd ( character, intent(in)  compq,
character, intent(in)  compz,
integer(ilp), intent(in)  n,
integer(ilp), intent(in)  ilo,
integer(ilp), intent(in)  ihi,
complex(sp), dimension(lda,*), intent(inout)  a,
integer(ilp), intent(in)  lda,
complex(sp), dimension(ldb,*), intent(inout)  b,
integer(ilp), intent(in)  ldb,
complex(sp), dimension(ldq,*), intent(inout)  q,
integer(ilp), intent(in)  ldq,
complex(sp), dimension(ldz,*), intent(inout)  z,
integer(ilp), intent(in)  ldz,
integer(ilp), intent(out)  info 
)
Here is the call graph for this function:

◆ dgghrd()

pure subroutine la_lapack::gghrd::dgghrd ( character, intent(in)  compq,
character, intent(in)  compz,
integer(ilp), intent(in)  n,
integer(ilp), intent(in)  ilo,
integer(ilp), intent(in)  ihi,
real(dp), dimension(lda,*), intent(inout)  a,
integer(ilp), intent(in)  lda,
real(dp), dimension(ldb,*), intent(inout)  b,
integer(ilp), intent(in)  ldb,
real(dp), dimension(ldq,*), intent(inout)  q,
integer(ilp), intent(in)  ldq,
real(dp), dimension(ldz,*), intent(inout)  z,
integer(ilp), intent(in)  ldz,
integer(ilp), intent(out)  info 
)
Here is the call graph for this function:

◆ 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

◆ sgghrd()

pure subroutine la_lapack::gghrd::sgghrd ( character, intent(in)  compq,
character, intent(in)  compz,
integer(ilp), intent(in)  n,
integer(ilp), intent(in)  ilo,
integer(ilp), intent(in)  ihi,
real(sp), dimension(lda,*), intent(inout)  a,
integer(ilp), intent(in)  lda,
real(sp), dimension(ldb,*), intent(inout)  b,
integer(ilp), intent(in)  ldb,
real(sp), dimension(ldq,*), intent(inout)  q,
integer(ilp), intent(in)  ldq,
real(sp), dimension(ldz,*), intent(inout)  z,
integer(ilp), intent(in)  ldz,
integer(ilp), intent(out)  info 
)
Here is the call graph for this function:

◆ zgghrd()

pure subroutine la_lapack::gghrd::zgghrd ( character, intent(in)  compq,
character, intent(in)  compz,
integer(ilp), intent(in)  n,
integer(ilp), intent(in)  ilo,
integer(ilp), intent(in)  ihi,
complex(dp), dimension(lda,*), intent(inout)  a,
integer(ilp), intent(in)  lda,
complex(dp), dimension(ldb,*), intent(inout)  b,
integer(ilp), intent(in)  ldb,
complex(dp), dimension(ldq,*), intent(inout)  q,
integer(ilp), intent(in)  ldq,
complex(dp), dimension(ldz,*), intent(inout)  z,
integer(ilp), intent(in)  ldz,
integer(ilp), intent(out)  info 
)
Here is the call graph for this function:

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