Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

zhegst (3p)

Name

zhegst - definite generalized eigenproblem to standard form

Synopsis

SUBROUTINE ZHEGST(ITYPE, UPLO, N, A, LDA, B, LDB, INFO)

CHARACTER*1 UPLO
DOUBLE COMPLEX A(LDA,*), B(LDB,*)
INTEGER ITYPE, N, LDA, LDB, INFO

SUBROUTINE ZHEGST_64(ITYPE, UPLO, N, A, LDA, B, LDB, INFO)

CHARACTER*1 UPLO
DOUBLE COMPLEX A(LDA,*), B(LDB,*)
INTEGER*8 ITYPE, N, LDA, LDB, INFO




F95 INTERFACE
SUBROUTINE HEGST(ITYPE, UPLO, N, A, LDA, B, LDB, INFO)

CHARACTER(LEN=1) :: UPLO
COMPLEX(8), DIMENSION(:,:) :: A, B
INTEGER :: ITYPE, N, LDA, LDB, INFO

SUBROUTINE HEGST_64(ITYPE, UPLO, N, A, LDA, B, LDB, INFO)

CHARACTER(LEN=1) :: UPLO
COMPLEX(8), DIMENSION(:,:) :: A, B
INTEGER(8) :: ITYPE, N, LDA, LDB, INFO




C INTERFACE
#include <sunperf.h>

void zhegst(int itype, char uplo, int n,  doublecomplex  *a,  int  lda,
doublecomplex *b, int ldb, int *info);

void  zhegst_64(long  itype,  char uplo, long n, doublecomplex *a, long
lda, doublecomplex *b, long ldb, long *info);

Description

Oracle Solaris Studio Performance Library                           zhegst(3P)



NAME
       zhegst  -  reduce a complex Hermitian-definite generalized eigenproblem
       to standard form


SYNOPSIS
       SUBROUTINE ZHEGST(ITYPE, UPLO, N, A, LDA, B, LDB, INFO)

       CHARACTER*1 UPLO
       DOUBLE COMPLEX A(LDA,*), B(LDB,*)
       INTEGER ITYPE, N, LDA, LDB, INFO

       SUBROUTINE ZHEGST_64(ITYPE, UPLO, N, A, LDA, B, LDB, INFO)

       CHARACTER*1 UPLO
       DOUBLE COMPLEX A(LDA,*), B(LDB,*)
       INTEGER*8 ITYPE, N, LDA, LDB, INFO




   F95 INTERFACE
       SUBROUTINE HEGST(ITYPE, UPLO, N, A, LDA, B, LDB, INFO)

       CHARACTER(LEN=1) :: UPLO
       COMPLEX(8), DIMENSION(:,:) :: A, B
       INTEGER :: ITYPE, N, LDA, LDB, INFO

       SUBROUTINE HEGST_64(ITYPE, UPLO, N, A, LDA, B, LDB, INFO)

       CHARACTER(LEN=1) :: UPLO
       COMPLEX(8), DIMENSION(:,:) :: A, B
       INTEGER(8) :: ITYPE, N, LDA, LDB, INFO




   C INTERFACE
       #include <sunperf.h>

       void zhegst(int itype, char uplo, int n,  doublecomplex  *a,  int  lda,
                 doublecomplex *b, int ldb, int *info);

       void  zhegst_64(long  itype,  char uplo, long n, doublecomplex *a, long
                 lda, doublecomplex *b, long ldb, long *info);



PURPOSE
       zhegst reduces a complex Hermitian-definite 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.


ARGUMENTS
       ITYPE (input)
                 = 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 (input)
                 =  '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  fac-
                 tored as L*L**H.


       N (input) The order of the matrices A and B.  N >= 0.


       A (input/output)
                 On entry, the Hermitian matrix A.  If UPLO = 'U', the leading
                 N-by-N upper triangular part of A contains the upper triangu-
                 lar  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, the transformed matrix, stored in the
                 same format as A.


       LDA (input)
                 The leading dimension of the array A.  LDA >= max(1,N).


       B (input) The triangular factor from the Cholesky factorization  of  B,
                 as returned by CPOTRF.


       LDB (input)
                 The leading dimension of the array B.  LDB >= max(1,N).


       INFO (output)
                 = 0:  successful exit
                 < 0:  if INFO = -i, the i-th argument had an illegal value




                                  7 Nov 2015                        zhegst(3P)