version 1.7, 2010/12/21 13:53:47
|
version 1.8, 2011/07/22 07:38:16
|
Line 1
|
Line 1
|
SUBROUTINE ZHPGVD( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, |
SUBROUTINE ZHPGVD( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, |
$ LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO ) |
$ LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO ) |
* |
* |
* -- LAPACK driver routine (version 3.2) -- |
* -- LAPACK driver routine (version 3.3.1) -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* November 2006 |
* -- April 2011 -- |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
CHARACTER JOBZ, UPLO |
CHARACTER JOBZ, UPLO |
Line 91
|
Line 91
|
* On exit, if INFO = 0, WORK(1) returns the required LWORK. |
* On exit, if INFO = 0, WORK(1) returns the required LWORK. |
* |
* |
* LWORK (input) INTEGER |
* LWORK (input) INTEGER |
* The dimension of array WORK. |
* The dimension of the array WORK. |
* If N <= 1, LWORK >= 1. |
* If N <= 1, LWORK >= 1. |
* If JOBZ = 'N' and N > 1, LWORK >= N. |
* If JOBZ = 'N' and N > 1, LWORK >= N. |
* If JOBZ = 'V' and N > 1, LWORK >= 2*N. |
* If JOBZ = 'V' and N > 1, LWORK >= 2*N. |
Line 255
|
Line 255
|
IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN |
IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN |
* |
* |
* For A*x=(lambda)*B*x and A*B*x=(lambda)*x; |
* For A*x=(lambda)*B*x and A*B*x=(lambda)*x; |
* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y |
* backtransform eigenvectors: x = inv(L)**H *y or inv(U)*y |
* |
* |
IF( UPPER ) THEN |
IF( UPPER ) THEN |
TRANS = 'N' |
TRANS = 'N' |
Line 271
|
Line 271
|
ELSE IF( ITYPE.EQ.3 ) THEN |
ELSE IF( ITYPE.EQ.3 ) THEN |
* |
* |
* For B*A*x=(lambda)*x; |
* For B*A*x=(lambda)*x; |
* backtransform eigenvectors: x = L*y or U'*y |
* backtransform eigenvectors: x = L*y or U**H *y |
* |
* |
IF( UPPER ) THEN |
IF( UPPER ) THEN |
TRANS = 'C' |
TRANS = 'C' |