ssygs2 - reduce a real symmetric-definite generalized eigenproblem to standard form
SUBROUTINE SSYGS2( ITYPE, UPLO, N, A, LDA, B, LDB, INFO) CHARACTER * 1 UPLO INTEGER ITYPE, N, LDA, LDB, INFO REAL A(LDA,*), B(LDB,*)
SUBROUTINE SSYGS2_64( ITYPE, UPLO, N, A, LDA, B, LDB, INFO) CHARACTER * 1 UPLO INTEGER*8 ITYPE, N, LDA, LDB, INFO REAL A(LDA,*), B(LDB,*)
SUBROUTINE SYGS2( ITYPE, UPLO, [N], A, [LDA], B, [LDB], [INFO]) CHARACTER(LEN=1) :: UPLO INTEGER :: ITYPE, N, LDA, LDB, INFO REAL, DIMENSION(:,:) :: A, B
SUBROUTINE SYGS2_64( ITYPE, UPLO, [N], A, [LDA], B, [LDB], [INFO]) CHARACTER(LEN=1) :: UPLO INTEGER(8) :: ITYPE, N, LDA, LDB, INFO REAL, DIMENSION(:,:) :: A, B
#include <sunperf.h>
void ssygs2(int itype, char uplo, int n, float *a, int lda, float *b, int ldb, int *info);
void ssygs2_64(long itype, char uplo, long n, float *a, long lda, float *b, long ldb, long *info);
ssygs2 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')*A*inv(U)
or inv(L)*A*inv(L')
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` or L'*A*L.
B must have been previously factorized as U'*U or L*L' by SPOTRF.
= 1: compute inv(U')*A*inv(U) or inv(L)*A*inv(L');
= 2 or 3: compute U*A*U' or L'*A*L.
= 'L': Lower triangular
On exit, if INFO = 0, the transformed matrix, stored in the same format as A.
= 0: successful exit.
< 0: if INFO = -i, the i-th argument had an illegal value.