SRC/chegs2.f(3)
okay bestie, welcome to the Library Functions Manual page for SRC/chegs2.f(3) β it's giving subroutine main-character energy, and we're gonna make it make sense π
β¨ NAME β¨
SRC/chegs2.f β that's the file, and that's the whole name section. No cap. π
πΈ SYNOPSIS πΈ
Functions/Subroutines
here's the subroutine tea, exactly as written:
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 from cpotrf (unblocked algorithm).
π¦ Function/Subroutine Documentation π¦
the full signature, bestie β types, dimensions, all of it:
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). yes, that's the whole vibe. π
π Purpose π
okay so what does it actually do? CHEGS2 reduces a complex Hermitian-definite generalized eigenproblem to standard form. iconic.
- 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 = 2 or 3, the problem isA*B*x = lambda*xorB*A*x = lambda*x, andAis overwritten byU*A*U**HorL**H *A*L.
important, bestie:Bmust have been previously factorized asU**H *UorL*L**HbyZPOTRF. do not skip that part. π¨
π Parameters π
parameter-by-parameter, no skips, no shortcuts:
ITYPEβITYPE is INTEGER.= 1: computeinv(U**H)*A*inv(U)orinv(L)*A*inv(L**H);= 2 or 3: computeU*A*U**HorL**H *A*L. that's the whole assignment. β¨UPLOβUPLO is 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βN is INTEGER. The order of the matricesAandB.N >= 0. non-negotiable. π±AβA is COMPLEX array, dimension (LDA,N). On entry, the Hermitian matrixA. IfUPLO = 'U', the leading n by n upper triangular part ofAcontains the upper triangular part of the matrixA, and the strictly lower triangular part ofAis not referenced. IfUPLO = 'L', the leading n by n lower triangular part ofAcontains the lower triangular part of the matrixA, and the strictly upper triangular part ofAis not referenced. On exit, ifINFO = 0, the transformed matrix, stored in the same format asA. she's transformed, she's restored, she's that girl. πLDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,N). πBβB is 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. modified but restored β a true icon. π¦LDBβLDB is INTEGER. The leading dimension of the arrayB.LDB >= max(1,N). πΈINFOβINFO is INTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value. bad argument behavior gets called out, periodt. π
π Author π
these legends are credited:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 127 of file chegs2.f. π
π Author (Doxygen-generated) π
Generated automatically by Doxygen for LAPACK from the source code. no thoughts, just documentation generation. π€β¨
π cute sign-off time, bestie: this page's footer is LAPACK, Version 3.12.0, and SRC/chegs2.f(3) β mwah, go slay your eigenproblem π
β¨
π¦ 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