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 is A*x = lambda*B*x, and A is overwritten by inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H).
  • If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or B*A*x = lambda*x, and A is overwritten by U*A*U**H or L**H *A*L.
important, bestie: B must have been previously factorized as U**H *U or L*L**H by ZPOTRF. do not skip that part. 🚨

πŸ’… Parameters πŸ’…

parameter-by-parameter, no skips, no shortcuts:

  • ITYPE β€” ITYPE is INTEGER. = 1: compute inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H); = 2 or 3: compute U*A*U**H or L**H *A*L. that's the whole assignment. ✨
  • UPLO β€” UPLO is CHARACTER*1. Specifies whether the upper or lower triangular part of the Hermitian matrix A is stored, and how B has been factorized. = 'U': Upper triangular. = 'L': Lower triangular. πŸŽ€
  • N β€” N is INTEGER. The order of the matrices A and B. N >= 0. non-negotiable. 🌱
  • A β€” A is COMPLEX array, dimension (LDA,N). On entry, the Hermitian matrix A. If UPLO = 'U', the leading n by n upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading n by n lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if INFO = 0, the transformed matrix, stored in the same format as A. she's transformed, she's restored, she's that girl. πŸ’–
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N). πŸ’…
  • B β€” B is COMPLEX array, dimension (LDB,N). The triangular factor from the Cholesky factorization of B, as returned by CPOTRF. B is modified by the routine but restored on exit. modified but restored β€” a true icon. πŸ¦‹
  • LDB β€” LDB is INTEGER. The leading dimension of the array B. LDB >= max(1,N). 🌸
  • INFO β€” INFO is INTEGER. = 0: successful exit. < 0: if INFO = -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