Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
p?hegst
Reduces a Hermitian positive-definite generalized eigenvalue problem to the standard form.
Syntax
call pchegst ( ibtype , uplo , n , a , ia , ja , desca , b , ib , jb , descb , scale , info )
call pzhegst ( ibtype , uplo , n , a , ia , ja , desca , b , ib , jb , descb , scale , 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) INTEGER . 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) CHARACTER . 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) INTEGER . The order of the matrices sub ( A ) and sub ( B ) (n≥0) .
- a
-
(local) COMPLEX for pchegst DOUBLE COMPLEX for pzhegst .
ia , ja
(global) INTEGER . 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) INTEGER 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)) . On entry, the array contains the local pieces of the triangular factor from the Cholesky factorization of sub ( B ) as returned by p?potrf (Computes the Cholesky factorization of a symmetric (Hermitian) positive-definite distributed matrix.) .
ib , jb
(global) INTEGER . 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) INTEGER 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 routine . At present, scale is always returned as 1.0, it is returned here to allow for future enhancement.
info
(global) INTEGER .
If info = 0 , the execution is successful. If info <0 , if the i -th argument is an array and the j- th entry 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 .