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...
|
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 |
|
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.
◆ 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 |
|
) |
| |
◆ 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 |
|
) |
| |
◆ 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 |
|
) |
| |
◆ 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 |
|
) |
| |
The documentation for this interface was generated from the following file: