hegs2(3)
π
hegs2(3) β Library Functions Manual π
β¨ NAME β¨
hegs2 - {he,sy}gs2: reduction to standard form, level 2. π
β¨ SYNOPSIS β¨
Okay bestie, here's the function lineup. All four are giving unblocked algorithm energy. π
π Functions π
subroutine chegs2 (itype, uplo, n, a, lda, b, ldb, info)β CHEGS2 reduces a Hermitian definite generalized eigenproblem to standard form, using the factorization results obtained fromcpotrf(unblocked algorithm).subroutine dsygs2 (itype, uplo, n, a, lda, b, ldb, info)β DSYGS2 reduces a symmetric definite generalized eigenproblem to standard form, using the factorization results obtained fromspotrf(unblocked algorithm).subroutine ssygs2 (itype, uplo, n, a, lda, b, ldb, info)β SSYGS2 reduces a symmetric definite generalized eigenproblem to standard form, using the factorization results obtained fromspotrf(unblocked algorithm).subroutine zhegs2 (itype, uplo, n, a, lda, b, ldb, info)β ZHEGS2 reduces a Hermitian definite generalized eigenproblem to standard form, using the factorization results obtained fromcpotrf(unblocked algorithm).
πΈ Detailed Description πΈ
This is the detailed description zone, and honestly? We're about to go function by function, parameter by parameter, no skipping, no summarizing. Periodt. π«Ά
π Function Documentation π
π chegs2 β the complex Hermitian one π
subroutine chegs2 (integer itype, character uplo, integer n, complex, dimension( lda, * ) a, integer lda, complex, dimension( ldb, * ) b, integer ldb, integer info)
CHEGS2 reduces a Hermitian definite generalized eigenproblem to standard form, using the factorization results obtained from cpotrf (unblocked algorithm). π
β¨ Purpose β¨
Bestie, here's the whole point: CHEGS2 reduces a complex Hermitian-definite generalized eigenproblem to standard form. π
- If
ITYPE = 1, the problem isA*x = lambda*B*x, andAis overwritten byinv(U**H)*A*inv(U)orinv(L)*A*inv(L**H). - If
ITYPE = 2or3, the problem isA*B*x = lambda*xorB*A*x = lambda*x, andAis overwritten byU*A*U**HorL**H *A*L. Bmust have been previously factorized asU**H *UorL*L**HbyZPOTRF. (Yes, it saysZPOTRFright there, bestie β we are not editing the lore. π)
πΈ Parameters πΈ
ITYPEβINTEGER;= 1: computeinv(U**H)*A*inv(U)orinv(L)*A*inv(L**H);= 2 or 3: computeU*A*U**HorL**H *A*L.UPLOβCHARACTER*1; specifies whether the upper or lower triangular part of the Hermitian matrixAis stored, and howBhas been factorized.= 'U': Upper triangular;= 'L': Lower triangular.NβINTEGER; the order of the matricesAandB.N >= 0.AβCOMPLEX array, dimension (LDA,N). On entry, the Hermitian matrixA. IfUPLO = 'U', the leadingnbynupper triangular part ofAcontains the upper triangular part of the matrixA, and the strictly lower triangular part ofAis not referenced. IfUPLO = 'L', the leadingnbynlower triangular part ofAcontains the lower triangular part of the matrixA, and the strictly upper triangular part ofAis not referenced.
On exit, if INFO = 0, the transformed matrix, stored in the same format as A.
LDAβINTEGER; the leading dimension of the arrayA.LDA >= max(1,N).BβCOMPLEX array, dimension (LDB,N). The triangular factor from the Cholesky factorization ofB, as returned byCPOTRF.Bis modified by the routine but restored on exit. π«ΆLDBβINTEGER; the leading dimension of the arrayB.LDB >= max(1,N).INFOβINTEGER;= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 127 of file chegs2.f.
π dsygs2 β the DOUBLE PRECISION one π
subroutine dsygs2 (integer itype, character uplo, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( ldb, * ) b, integer ldb, integer info)
DSYGS2 reduces a symmetric definite generalized eigenproblem to standard form, using the factorization results obtained from spotrf (unblocked algorithm). β¨
β¨ Purpose β¨
DSYGS2 reduces a real symmetric-definite generalized eigenproblem to standard form. πΈ
- If
ITYPE = 1, the problem isA*x = lambda*B*x, andAis overwritten byinv(U**T)*A*inv(U)orinv(L)*A*inv(L**T). - If
ITYPE = 2or3, the problem isA*B*x = lambda*xorB*A*x = lambda*x, andAis overwritten byU*A*U**TorL**T *A*L. Bmust have been previously factorized asU**T *UorL*L**TbyDPOTRF.
πΈ Parameters πΈ
ITYPEβINTEGER;= 1: computeinv(U**T)*A*inv(U)orinv(L)*A*inv(L**T);= 2 or 3: computeU*A*U**TorL**T *A*L.UPLOβCHARACTER*1; specifies whether the upper or lower triangular part of the symmetric matrixAis stored, and howBhas been factorized.= 'U': Upper triangular;= 'L': Lower triangular.NβINTEGER; the order of the matricesAandB.N >= 0.AβDOUBLE PRECISION array, dimension (LDA,N). On entry, the symmetric matrixA. IfUPLO = 'U', the leadingnbynupper triangular part ofAcontains the upper triangular part of the matrixA, and the strictly lower triangular part ofAis not referenced. IfUPLO = 'L', the leadingnbynlower triangular part ofAcontains the lower triangular part of the matrixA, and the strictly upper triangular part ofAis not referenced.
On exit, if INFO = 0, the transformed matrix, stored in the same format as A.
LDAβINTEGER; the leading dimension of the arrayA.LDA >= max(1,N).BβDOUBLE PRECISION array, dimension (LDB,N). The triangular factor from the Cholesky factorization ofB, as returned byDPOTRF.LDBβINTEGER; the leading dimension of the arrayB.LDB >= max(1,N).INFOβINTEGER;= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 126 of file dsygs2.f.
π ssygs2 β the REAL one π
subroutine ssygs2 (integer itype, character uplo, integer n, real, dimension( lda, * ) a, integer lda, real, dimension( ldb, * ) b, integer ldb, integer info)
SSYGS2 reduces a symmetric definite generalized eigenproblem to standard form, using the factorization results obtained from spotrf (unblocked algorithm). π¦
β¨ Purpose β¨
SSYGS2 reduces a real symmetric-definite generalized eigenproblem to standard form. π
- If
ITYPE = 1, the problem isA*x = lambda*B*x, andAis overwritten byinv(U**T)*A*inv(U)orinv(L)*A*inv(L**T). - If
ITYPE = 2or3, the problem isA*B*x = lambda*xorB*A*x = lambda*x, andAis overwritten byU*A*U**TorL**T *A*L. Bmust have been previously factorized asU**T *UorL*L**TbySPOTRF.
πΈ Parameters πΈ
ITYPEβINTEGER;= 1: computeinv(U**T)*A*inv(U)orinv(L)*A*inv(L**T);= 2 or 3: computeU*A*U**TorL**T *A*L.UPLOβCHARACTER*1; specifies whether the upper or lower triangular part of the symmetric matrixAis stored, and howBhas been factorized.= 'U': Upper triangular;= 'L': Lower triangular.NβINTEGER; the order of the matricesAandB.N >= 0.AβREAL array, dimension (LDA,N). On entry, the symmetric matrixA. IfUPLO = 'U', the leadingnbynupper triangular part ofAcontains the upper triangular part of the matrixA, and the strictly lower triangular part ofAis not referenced. IfUPLO = 'L', the leadingnbynlower triangular part ofAcontains the lower triangular part of the matrixA, and the strictly upper triangular part ofAis not referenced.
On exit, if INFO = 0, the transformed matrix, stored in the same format as A.
LDAβINTEGER; the leading dimension of the arrayA.LDA >= max(1,N).BβREAL array, dimension (LDB,N). The triangular factor from the Cholesky factorization ofB, as returned bySPOTRF.LDBβINTEGER; the leading dimension of the arrayB.LDB >= max(1,N).INFOβINTEGER;= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 126 of file ssygs2.f.
π¦ zhegs2 β the COMPLEX*16 one π¦
subroutine zhegs2 (integer itype, character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( ldb, * ) b, integer ldb, integer info)
ZHEGS2 reduces a Hermitian definite generalized eigenproblem to standard form, using the factorization results obtained from cpotrf (unblocked algorithm). π
β¨ Purpose β¨
π Parameters π
Okay bestie, this is the part where we meet the whole cast π every single one of them matters, no skipping.
ITYPEβITYPE is INTEGER. Think of it as the "which flavor of problem are we solving" switch:= 1: computeinv(U**H)*A*inv(U)orinv(L)*A*inv(L**H)= 2 or 3: computeU*A*U**HorL**H *A*L
UPLOβUPLO is CHARACTER*1. This one tells us whether the upper or lower triangular chunk of the Hermitian matrix A is the part actually stored, and like, also how B got factorized. Two moods only:= 'U': Upper triangular= 'L': Lower triangular
NβN is INTEGER. The order of the matrices A and B. Constraint era:N >= 0. π«ΆAβA is COMPLEX*16 array, dimension (LDA,N). On entry, this is the Hermitian matrix A, and where the good stuff lives depends on yourUPLO:- If
UPLO = 'U', the leadingnbynupper triangular part of A holds the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced (it's giving background character energy, nobody's looking at it π). - If
UPLO = 'L', the leadingnbynlower triangular part of A holds the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
- If
On exit, if INFO = 0, you get the transformed matrix, stored in the same format as A. Same fit, new vibe β¨
LDAβLDA is INTEGER. The leading dimension of the array A. Rule:LDA >= max(1,N). Not optional, bestie, it's the law π«‘BβB is COMPLEX*16 array, dimension (LDB,N). This is the triangular factor from the Cholesky factorization of B, exactly as returned byZPOTRF. And listen π B is modified by the routine but restored on exit β so she goes out, has her little main character moment, and comes back exactly as she was. Iconic behavior honestly.LDBβLDB is INTEGER. The leading dimension of the array B. Rule:LDB >= max(1,N). Same energy as LDA, equally non-negotiable πINFOβINFO is INTEGER. The vibe check at the end:= 0: successful exit. Slay π< 0: ifINFO = -i, thei-th argument had an illegal value. So basically it's pointing at whoever misbehaved, and it's telling you which argument. Rude but helpful.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 127 of file zhegs2.f.
πΈ Author (the meta one) πΈ
Generated automatically by Doxygen for LAPACK from the source code.
And that's the whole page, bestie!! π¦ You made it to the end, I'm so proud π This was LAPACK Version 3.12.0, hegs2(3), and it was generated automatically by Doxygen for LAPACK from the source code β so like, no human wrote that closing bit, the robot did it for us π€π mwah, go forth and factorize responsibly πβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms