PLASMA  2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
void CORE_zhegst ( int  itype,
PLASMA_enum  uplo,
int  N,
PLASMA_Complex64_t *  A,
int  LDA,
PLASMA_Complex64_t *  B,
int  LDB,
int *  INFO 
)

CORE_zhegst - reduces a complex Hermitian-definite generalized eigenproblem to standard form. If PlasmaItype == 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 PlasmaItype == 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. B must have been previously factorized as U**H*U or L*L**H by CORE_zpotrf.

Parameters
[in]itypeIntended usage: = 1: A*x=(lambda)*B*x = 2: A*Bx=(lambda)*x = 3: B*A*x=(lambda)*x
[in]uploSpecifies whether the matrix A is upper triangular or lower triangular: = PlasmaUpper: Upper triangle of A is stored; = PlasmaLower: Lower triangle of A is stored.
[in]NThe order of the matrices A and B. N >= 0.
[in,out]AOn entry, the symmetric (or Hermitian) matrix A. If uplo = PlasmaUpper, 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 = PlasmaLower, 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 return value == 0, the transformed matrix, stored in the same format as A.
[in]LDAThe leading dimension of the array A. LDA >= max(1,N).
[in,out]BOn entry, the triangular factor from the Cholesky factorization of B, as returned by PLASMA_ZPOTRF.
[in]LDBThe leading dimension of the array B. LDB >= max(1,N).
[out]INFO
  • 0 on successful exit
  • <0 if -i, the i-th argument had an illegal value