Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

dsygst (3p)

Name

dsygst - definite generalized eigenproblem to standard form

Synopsis

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

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

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

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




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

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

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

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




C INTERFACE
#include <sunperf.h>

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

void dsygst_64(long itype, char uplo, long n, double *a, long lda, dou-
ble *b, long ldb, long *info);

Description

Oracle Solaris Studio Performance Library                           dsygst(3P)



NAME
       dsygst  -  reduce a real symmetric-definite generalized eigenproblem to
       standard form


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

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

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

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




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

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

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

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




   C INTERFACE
       #include <sunperf.h>

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

       void dsygst_64(long itype, char uplo, long n, double *a, long lda, dou-
                 ble *b, long ldb, long *info);



PURPOSE
       dsygst reduces a real symmetric-definite  generalized  eigenproblem  to
       standard form.

       If ITYPE = 1, the problem is A*x = lambda*B*x,
       and A is overwritten by inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T)

       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**T or L**T*A*L.

       B must have been previously factorized as U**T*U or L*L**T by SPOTRF.


ARGUMENTS
       ITYPE (input)
                 = 1: compute inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T);
                 = 2 or 3: compute U*A*U**T or L**T*A*L.


       UPLO (input)
                 =  'U':   Upper  triangle of A is stored and B is factored as
                 U**T*U; = 'L':  Lower triangle of A is stored and B  is  fac-
                 tored as L*L**T.


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


       A (input/output)
                 On entry, the symmetric 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 SPOTRF.


       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                        dsygst(3P)