SRC/zhegst.f(3)

πŸ’– SRC/zhegst.f πŸ’–

okay bestie, welcome to the SRC/zhegst.f page in the Library Functions Manual β€” yes, that's the manual name, and this whole page is serving ZHEGST subroutine realness. Let's get into it 🫢

🌸 NAME 🌸

SRC/zhegst.f β€” that's the name, bestie. Short, sweet, iconic.

✨ SYNOPSIS ✨

Functions/Subroutines

subroutine zhegst (itype, uplo, n, a, lda, b, ldb, info)
    ZHEGST

πŸ’– Function/Subroutine Documentation πŸ’–

subroutine zhegst (integer itype, character uplo, integer n, complex*16,
     dimension( lda, * ) a, integer lda, complex*16, dimension( ldb, * ) b,
     integer ldb, integer info)

ZHEGST

πŸ¦‹ Purpose πŸ¦‹

Bestie, ZHEGST is the routine that reduces a complex Hermitian-definite generalized eigenproblem to standard form. No cap, that's the whole glow-up.

  • 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 vibe check: B must have been previously factorized as U**H*U or L*L**H by ZPOTRF.

πŸŽ€ Parameters πŸŽ€

ITYPE

ITYPE is INTEGER, and it picks the case, bestie:

  • = 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.

UPLO

UPLO is CHARACTER*1, and it tells us which triangle is living its truth:

  • 'U': upper triangle of A is stored and B is factored as U**H*U;
  • 'L': lower triangle of A is stored and B is factored as L*L**H.

N

N is INTEGER β€” the order of the matrices A and B. And yes: N >= 0.

A

A is COMPLEX*16 array, dimension (LDA,N).

On entry, it's 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, it's the transformed matrix, stored in the same format as A. slay πŸ’…

LDA

LDA is INTEGER β€” the leading dimension of the array A. Constraint: LDA >= max(1,N).

B

B is COMPLEX*16 array, dimension (LDB,N).

It's the triangular factor from the Cholesky factorization of B, as returned by ZPOTRF. Also, B is modified by the routine but restored on exit. so don't panic, bestie 🫢

LDB

LDB is INTEGER β€” the leading dimension of the array B. Constraint: LDB >= max(1,N).

INFO

INFO is INTEGER, the status icon:

  • = 0: successful exit ✨
  • < 0: if INFO = -i, the i-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 zhegst.f.

🧚 Author 🧚

Generated automatically by Doxygen for LAPACK from the source code.


mwah πŸ’‹ this page's footer gives LAPACK Version 3.12.0 and the source tag SRC/zhegst.f(3) β€” that's the version/source info, bestie, and there's no extra date printed on this page 🫢✨

πŸ“¦ where this page comes from