Developer Reference for Intel® oneAPI Math Kernel Library for C
p?hegst
Reduces a Hermitian positive-definite generalized eigenvalue problem to the standard form.
Syntax
voidpchegst ( MKL_INT*ibtype , char*uplo , MKL_INT*n , MKL_Complex8*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , MKL_Complex8*b , MKL_INT*ib , MKL_INT*jb , MKL_INT*descb , float*scale , MKL_INT*info );
voidpzhegst ( MKL_INT*ibtype , char*uplo , MKL_INT*n , MKL_Complex16*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , MKL_Complex16*b , MKL_INT*ib , MKL_INT*jb , MKL_INT*descb , double*scale , MKL_INT*info );
Include Files
mkl_scalapack.h
Description
pchegst pzhegst The p?hegst routine function reduces complex Hermitian positive-definite generalized eigenproblems to the standard form.
In the following sub( A ) denotes A ( ia : ia + n -1, ja : ja + n -1) and sub( B ) denotes B ( ib : ib + n -1, jb : jb + n -1).
If ibtype = 1 , the problem is
sub( A )* x = λ* sub( B )* x ,
and sub( A ) is overwritten by inv( U:code:`H` )*sub( A )*inv( U ), or inv( L )*sub( A )*inv( L:code:`H` ).
If ibtype = 2 or 3 , the problem is
sub( A )*sub( B )* x = λ* x, or sub( B )*sub( A )* x = λ* x ,
and sub( A ) is overwritten by U *sub( A )* U:code:`H` , or L:code:`H` *sub( A )* L .
sub( B ) must have been previously factorized as U:code:`H`*U or L*L:code:`H` by p?potrf .
Input Parameters
ibtype
(global) Must be 1 or 2 or 3.
If itype = 1 , compute inv( U:code:`H` )*sub( A )*inv( U ), or inv( L )*sub( A )*inv( L:code:`H` ); If itype = 2 or 3 , compute U *sub( A )* U:code:`H` , or L:code:`H` *sub( A )* L .
uplo
(global) Must be ‘U’ or ‘L’ .
If uplo = 'U' , the upper triangle of sub( A ) is stored and sub ( B ) is factored as U:code:`H` * U . If uplo = 'L' , the lower triangle of sub( A ) is stored and sub ( B ) is factored as L * L:code:`H` .
n
(global) The order of the matrices sub ( A ) and sub ( B ) (n≥0) .
- a
-
(local) COMPLEX for pchegst DOUBLE COMPLEX for pzhegst .
Pointer into the local memory to an array of size (lld_a,LOCc(ja+n-1))lld_a*LOCc(ja+n-1) . On entry, the array contains the local pieces of the n -by- n Hermitian distributed matrix sub( A ). If uplo = 'U' , the leading n -by- n upper triangular part of sub( A ) contains the upper triangular part of the matrix, and its strictly lower triangular part is not referenced. If uplo = 'L' , the leading n -by- n lower triangular part of sub( A ) contains the lower triangular part of the matrix, and its strictly upper triangular part is not referenced.
ia , ja
(global) The row and column indices in the global matrix A indicating the first row and the first column of the submatrix A , respectively.
desca
(global and local) array of size dlen_ . The array descriptor for the distributed matrix A .
- b
-
(local) COMPLEX for pchegst DOUBLE COMPLEX for pzhegst .
Pointer into the local memory to an array of size (lld_b,LOCc(jb+n-1))lld_b * LOCc ( jb + n -1) . On entry, the array contains the local pieces of the triangular factor from the Cholesky factorization of sub ( B ) as returned by GUID-B532328D-00DD-4368-B2A0-6607366D4446.xml#GUID-B532328D-00DD-4368-B2A0-6607366D4446 .
ib , jb
(global) The row and column indices in the global matrix B indicating the first row and the first column of the submatrix B , respectively.
descb
(global and local) array of size dlen_ . The array descriptor for the distributed matrix B.
Output Parameters
- a
-
On exit, if info = 0, the transformed matrix, stored in the same format as sub( A ).
- scale
-
(global) REAL for pchegst DOUBLE PRECISION for pzhegst .
Amount by which the eigenvalues should be scaled to compensate for the scaling performed in this function . At present, scale is always returned as 1.0, it is returned here to allow for future enhancement.
info
(global)
If info = 0 , the execution is successful. If info <0 , if the i -th argument is an array and the j- th entry , indexed j - 1, had an illegal value, then info = -( i *100+ j ); if the i- th argument is a scalar and had an illegal value, then info = -i .