MAGMA
2.3.0
Matrix Algebra for GPU and Multicore Architectures

Functions  
magma_int_t  magma_chegst (magma_int_t itype, magma_uplo_t uplo, magma_int_t n, magmaFloatComplex *A, magma_int_t lda, magmaFloatComplex *B, magma_int_t ldb, magma_int_t *info) 
CHEGST reduces a complex Hermitiandefinite generalized eigenproblem to standard form. More...  
magma_int_t  magma_chegst_gpu (magma_int_t itype, magma_uplo_t uplo, magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, magma_int_t *info) 
CHEGST_GPU reduces a complex Hermitiandefinite generalized eigenproblem to standard form. More...  
magma_int_t  magma_chegst_m (magma_int_t ngpu, magma_int_t itype, magma_uplo_t uplo, magma_int_t n, magmaFloatComplex *A, magma_int_t lda, magmaFloatComplex *B, magma_int_t ldb, magma_int_t *info) 
CHEGST_M reduces a complex Hermitiandefinite generalized eigenproblem to standard form. More...  
magma_int_t  magma_dsygst (magma_int_t itype, magma_uplo_t uplo, magma_int_t n, double *A, magma_int_t lda, double *B, magma_int_t ldb, magma_int_t *info) 
DSYGST reduces a real symmetricdefinite generalized eigenproblem to standard form. More...  
magma_int_t  magma_dsygst_gpu (magma_int_t itype, magma_uplo_t uplo, magma_int_t n, magmaDouble_ptr dA, magma_int_t ldda, magmaDouble_const_ptr dB, magma_int_t lddb, magma_int_t *info) 
DSYGST_GPU reduces a real symmetricdefinite generalized eigenproblem to standard form. More...  
magma_int_t  magma_dsygst_m (magma_int_t ngpu, magma_int_t itype, magma_uplo_t uplo, magma_int_t n, double *A, magma_int_t lda, double *B, magma_int_t ldb, magma_int_t *info) 
DSYGST_M reduces a real symmetricdefinite generalized eigenproblem to standard form. More...  
magma_int_t  magma_ssygst (magma_int_t itype, magma_uplo_t uplo, magma_int_t n, float *A, magma_int_t lda, float *B, magma_int_t ldb, magma_int_t *info) 
SSYGST reduces a real symmetricdefinite generalized eigenproblem to standard form. More...  
magma_int_t  magma_ssygst_gpu (magma_int_t itype, magma_uplo_t uplo, magma_int_t n, magmaFloat_ptr dA, magma_int_t ldda, magmaFloat_const_ptr dB, magma_int_t lddb, magma_int_t *info) 
SSYGST_GPU reduces a real symmetricdefinite generalized eigenproblem to standard form. More...  
magma_int_t  magma_ssygst_m (magma_int_t ngpu, magma_int_t itype, magma_uplo_t uplo, magma_int_t n, float *A, magma_int_t lda, float *B, magma_int_t ldb, magma_int_t *info) 
SSYGST_M reduces a real symmetricdefinite generalized eigenproblem to standard form. More...  
magma_int_t  magma_zhegst (magma_int_t itype, magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *B, magma_int_t ldb, magma_int_t *info) 
ZHEGST reduces a complex Hermitiandefinite generalized eigenproblem to standard form. More...  
magma_int_t  magma_zhegst_gpu (magma_int_t itype, magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex_ptr dA, magma_int_t ldda, magmaDoubleComplex_const_ptr dB, magma_int_t lddb, magma_int_t *info) 
ZHEGST_GPU reduces a complex Hermitiandefinite generalized eigenproblem to standard form. More...  
magma_int_t  magma_zhegst_m (magma_int_t ngpu, magma_int_t itype, magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *B, magma_int_t ldb, magma_int_t *info) 
ZHEGST_M reduces a complex Hermitiandefinite generalized eigenproblem to standard form. More...  
magma_int_t magma_chegst  (  magma_int_t  itype, 
magma_uplo_t  uplo,  
magma_int_t  n,  
magmaFloatComplex *  A,  
magma_int_t  lda,  
magmaFloatComplex *  B,  
magma_int_t  ldb,  
magma_int_t *  info  
) 
CHEGST reduces a complex Hermitiandefinite generalized eigenproblem to standard form.
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.
B must have been previously factorized as U^H*U or L*L^H by CPOTRF.
[in]  itype  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. 
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrices A and B. N >= 0. 
[in,out]  A  COMPLEX array, dimension (LDA,N) On entry, the Hermitian matrix A. If UPLO = MagmaUpper, the leading NbyN 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 = MagmaLower, the leading NbyN 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. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[in,out]  B  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 (in lapack chegst/chegs2).
[in]  ldb  INTEGER The leading dimension of the array B. LDB >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_chegst_gpu  (  magma_int_t  itype, 
magma_uplo_t  uplo,  
magma_int_t  n,  
magmaFloatComplex_ptr  dA,  
magma_int_t  ldda,  
magmaFloatComplex_const_ptr  dB,  
magma_int_t  lddb,  
magma_int_t *  info  
) 
CHEGST_GPU reduces a complex Hermitiandefinite generalized eigenproblem to standard form.
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.
B must have been previously factorized as U^H*U or L*L^H by CPOTRF.
[in]  itype  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. 
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrices A and B. N >= 0. 
[in,out]  dA  COMPLEX array, on the GPU device, dimension (LDDA,N) On entry, the Hermitian matrix A. If UPLO = MagmaUpper, the leading NbyN 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 = MagmaLower, the leading NbyN 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. 
[in]  ldda  INTEGER The leading dimension of the array A. LDDA >= max(1,N). 
[in]  dB  COMPLEX array, on the GPU device, dimension (LDDB,N) The triangular factor from the Cholesky factorization of B, as returned by CPOTRF. 
[in]  lddb  INTEGER The leading dimension of the array B. LDDB >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_chegst_m  (  magma_int_t  ngpu, 
magma_int_t  itype,  
magma_uplo_t  uplo,  
magma_int_t  n,  
magmaFloatComplex *  A,  
magma_int_t  lda,  
magmaFloatComplex *  B,  
magma_int_t  ldb,  
magma_int_t *  info  
) 
CHEGST_M reduces a complex Hermitiandefinite generalized eigenproblem to standard form.
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.
B must have been previously factorized as U**H*U or L*L**H by CPOTRF.
[in]  ngpu  INTEGER Number of GPUs to use. ngpu > 0. 
[in]  itype  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. 
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrices A and B. N >= 0. 
[in,out]  A  COMPLEX array, dimension (LDA,N) On entry, the Hermitian matrix A. If UPLO = MagmaUpper, the leading NbyN 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 = MagmaLower, the leading NbyN 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. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[in,out]  B  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 (in lapack chegst/chegs2).
[in]  ldb  INTEGER The leading dimension of the array B. LDB >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_dsygst  (  magma_int_t  itype, 
magma_uplo_t  uplo,  
magma_int_t  n,  
double *  A,  
magma_int_t  lda,  
double *  B,  
magma_int_t  ldb,  
magma_int_t *  info  
) 
DSYGST reduces a real symmetricdefinite generalized eigenproblem to standard form.
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.
B must have been previously factorized as U^H*U or L*L^H by DPOTRF.
[in]  itype  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. 
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrices A and B. N >= 0. 
[in,out]  A  DOUBLE PRECISION array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading NbyN 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 = MagmaLower, the leading NbyN 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. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[in,out]  B  DOUBLE PRECISION array, dimension (LDB,N) The triangular factor from the Cholesky factorization of B, as returned by DPOTRF. 
B is modified by the routine but restored on exit (in lapack dsygst/dsygs2).
[in]  ldb  INTEGER The leading dimension of the array B. LDB >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_dsygst_gpu  (  magma_int_t  itype, 
magma_uplo_t  uplo,  
magma_int_t  n,  
magmaDouble_ptr  dA,  
magma_int_t  ldda,  
magmaDouble_const_ptr  dB,  
magma_int_t  lddb,  
magma_int_t *  info  
) 
DSYGST_GPU reduces a real symmetricdefinite generalized eigenproblem to standard form.
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.
B must have been previously factorized as U^H*U or L*L^H by DPOTRF.
[in]  itype  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. 
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrices A and B. N >= 0. 
[in,out]  dA  DOUBLE PRECISION array, on the GPU device, dimension (LDDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading NbyN 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 = MagmaLower, the leading NbyN 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. 
[in]  ldda  INTEGER The leading dimension of the array A. LDDA >= max(1,N). 
[in]  dB  DOUBLE PRECISION array, on the GPU device, dimension (LDDB,N) The triangular factor from the Cholesky factorization of B, as returned by DPOTRF. 
[in]  lddb  INTEGER The leading dimension of the array B. LDDB >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_dsygst_m  (  magma_int_t  ngpu, 
magma_int_t  itype,  
magma_uplo_t  uplo,  
magma_int_t  n,  
double *  A,  
magma_int_t  lda,  
double *  B,  
magma_int_t  ldb,  
magma_int_t *  info  
) 
DSYGST_M reduces a real symmetricdefinite generalized eigenproblem to standard form.
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.
B must have been previously factorized as U**H*U or L*L**H by DPOTRF.
[in]  ngpu  INTEGER Number of GPUs to use. ngpu > 0. 
[in]  itype  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. 
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrices A and B. N >= 0. 
[in,out]  A  DOUBLE PRECISION array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading NbyN 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 = MagmaLower, the leading NbyN 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. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[in,out]  B  DOUBLE PRECISION array, dimension (LDB,N) The triangular factor from the Cholesky factorization of B, as returned by DPOTRF. 
B is modified by the routine but restored on exit (in lapack dsygst/dsygs2).
[in]  ldb  INTEGER The leading dimension of the array B. LDB >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_ssygst  (  magma_int_t  itype, 
magma_uplo_t  uplo,  
magma_int_t  n,  
float *  A,  
magma_int_t  lda,  
float *  B,  
magma_int_t  ldb,  
magma_int_t *  info  
) 
SSYGST reduces a real symmetricdefinite generalized eigenproblem to standard form.
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.
B must have been previously factorized as U^H*U or L*L^H by SPOTRF.
[in]  itype  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. 
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrices A and B. N >= 0. 
[in,out]  A  REAL array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading NbyN 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 = MagmaLower, the leading NbyN 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. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[in,out]  B  REAL array, dimension (LDB,N) The triangular factor from the Cholesky factorization of B, as returned by SPOTRF. 
B is modified by the routine but restored on exit (in lapack ssygst/ssygs2).
[in]  ldb  INTEGER The leading dimension of the array B. LDB >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_ssygst_gpu  (  magma_int_t  itype, 
magma_uplo_t  uplo,  
magma_int_t  n,  
magmaFloat_ptr  dA,  
magma_int_t  ldda,  
magmaFloat_const_ptr  dB,  
magma_int_t  lddb,  
magma_int_t *  info  
) 
SSYGST_GPU reduces a real symmetricdefinite generalized eigenproblem to standard form.
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.
B must have been previously factorized as U^H*U or L*L^H by SPOTRF.
[in]  itype  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. 
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrices A and B. N >= 0. 
[in,out]  dA  REAL array, on the GPU device, dimension (LDDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading NbyN 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 = MagmaLower, the leading NbyN 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. 
[in]  ldda  INTEGER The leading dimension of the array A. LDDA >= max(1,N). 
[in]  dB  REAL array, on the GPU device, dimension (LDDB,N) The triangular factor from the Cholesky factorization of B, as returned by SPOTRF. 
[in]  lddb  INTEGER The leading dimension of the array B. LDDB >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_ssygst_m  (  magma_int_t  ngpu, 
magma_int_t  itype,  
magma_uplo_t  uplo,  
magma_int_t  n,  
float *  A,  
magma_int_t  lda,  
float *  B,  
magma_int_t  ldb,  
magma_int_t *  info  
) 
SSYGST_M reduces a real symmetricdefinite generalized eigenproblem to standard form.
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.
B must have been previously factorized as U**H*U or L*L**H by SPOTRF.
[in]  ngpu  INTEGER Number of GPUs to use. ngpu > 0. 
[in]  itype  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. 
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrices A and B. N >= 0. 
[in,out]  A  REAL array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading NbyN 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 = MagmaLower, the leading NbyN 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. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[in,out]  B  REAL array, dimension (LDB,N) The triangular factor from the Cholesky factorization of B, as returned by SPOTRF. 
B is modified by the routine but restored on exit (in lapack ssygst/ssygs2).
[in]  ldb  INTEGER The leading dimension of the array B. LDB >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_zhegst  (  magma_int_t  itype, 
magma_uplo_t  uplo,  
magma_int_t  n,  
magmaDoubleComplex *  A,  
magma_int_t  lda,  
magmaDoubleComplex *  B,  
magma_int_t  ldb,  
magma_int_t *  info  
) 
ZHEGST reduces a complex Hermitiandefinite generalized eigenproblem to standard form.
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.
B must have been previously factorized as U^H*U or L*L^H by ZPOTRF.
[in]  itype  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. 
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrices A and B. N >= 0. 
[in,out]  A  COMPLEX_16 array, dimension (LDA,N) On entry, the Hermitian matrix A. If UPLO = MagmaUpper, the leading NbyN 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 = MagmaLower, the leading NbyN 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. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[in,out]  B  COMPLEX_16 array, dimension (LDB,N) The triangular factor from the Cholesky factorization of B, as returned by ZPOTRF. 
B is modified by the routine but restored on exit (in lapack zhegst/zhegs2).
[in]  ldb  INTEGER The leading dimension of the array B. LDB >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_zhegst_gpu  (  magma_int_t  itype, 
magma_uplo_t  uplo,  
magma_int_t  n,  
magmaDoubleComplex_ptr  dA,  
magma_int_t  ldda,  
magmaDoubleComplex_const_ptr  dB,  
magma_int_t  lddb,  
magma_int_t *  info  
) 
ZHEGST_GPU reduces a complex Hermitiandefinite generalized eigenproblem to standard form.
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.
B must have been previously factorized as U^H*U or L*L^H by ZPOTRF.
[in]  itype  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. 
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrices A and B. N >= 0. 
[in,out]  dA  COMPLEX_16 array, on the GPU device, dimension (LDDA,N) On entry, the Hermitian matrix A. If UPLO = MagmaUpper, the leading NbyN 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 = MagmaLower, the leading NbyN 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. 
[in]  ldda  INTEGER The leading dimension of the array A. LDDA >= max(1,N). 
[in]  dB  COMPLEX_16 array, on the GPU device, dimension (LDDB,N) The triangular factor from the Cholesky factorization of B, as returned by ZPOTRF. 
[in]  lddb  INTEGER The leading dimension of the array B. LDDB >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_zhegst_m  (  magma_int_t  ngpu, 
magma_int_t  itype,  
magma_uplo_t  uplo,  
magma_int_t  n,  
magmaDoubleComplex *  A,  
magma_int_t  lda,  
magmaDoubleComplex *  B,  
magma_int_t  ldb,  
magma_int_t *  info  
) 
ZHEGST_M reduces a complex Hermitiandefinite generalized eigenproblem to standard form.
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.
B must have been previously factorized as U**H*U or L*L**H by ZPOTRF.
[in]  ngpu  INTEGER Number of GPUs to use. ngpu > 0. 
[in]  itype  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. 
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrices A and B. N >= 0. 
[in,out]  A  COMPLEX_16 array, dimension (LDA,N) On entry, the Hermitian matrix A. If UPLO = MagmaUpper, the leading NbyN 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 = MagmaLower, the leading NbyN 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. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[in,out]  B  COMPLEX_16 array, dimension (LDB,N) The triangular factor from the Cholesky factorization of B, as returned by ZPOTRF. 
B is modified by the routine but restored on exit (in lapack zhegst/zhegs2).
[in]  ldb  INTEGER The leading dimension of the array B. LDB >= max(1,N). 
[out]  info  INTEGER
