version 1.10, 2012/08/22 09:48:25
|
version 1.11, 2012/12/14 12:30:27
|
Line 167
|
Line 167
|
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date November 2011 |
*> \date September 2012 |
* |
* |
*> \ingroup doubleSYeigen |
*> \ingroup doubleSYeigen |
* |
* |
Line 185
|
Line 185
|
SUBROUTINE DSYEVD( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, IWORK, |
SUBROUTINE DSYEVD( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, IWORK, |
$ LIWORK, INFO ) |
$ LIWORK, INFO ) |
* |
* |
* -- LAPACK driver routine (version 3.4.0) -- |
* -- LAPACK driver routine (version 3.4.2) -- |
* -- 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 2011 |
* September 2012 |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
CHARACTER JOBZ, UPLO |
CHARACTER JOBZ, UPLO |
Line 326
|
Line 326
|
* |
* |
CALL DSYTRD( UPLO, N, A, LDA, W, WORK( INDE ), WORK( INDTAU ), |
CALL DSYTRD( UPLO, N, A, LDA, W, WORK( INDE ), WORK( INDTAU ), |
$ WORK( INDWRK ), LLWORK, IINFO ) |
$ WORK( INDWRK ), LLWORK, IINFO ) |
LOPT = 2*N + WORK( INDWRK ) |
|
* |
* |
* For eigenvalues only, call DSTERF. For eigenvectors, first call |
* For eigenvalues only, call DSTERF. For eigenvectors, first call |
* DSTEDC to generate the eigenvector matrix, WORK(INDWRK), of the |
* DSTEDC to generate the eigenvector matrix, WORK(INDWRK), of the |
Line 341
|
Line 340
|
CALL DORMTR( 'L', UPLO, 'N', N, N, A, LDA, WORK( INDTAU ), |
CALL DORMTR( 'L', UPLO, 'N', N, N, A, LDA, WORK( INDTAU ), |
$ WORK( INDWRK ), N, WORK( INDWK2 ), LLWRK2, IINFO ) |
$ WORK( INDWRK ), N, WORK( INDWK2 ), LLWRK2, IINFO ) |
CALL DLACPY( 'A', N, N, WORK( INDWRK ), N, A, LDA ) |
CALL DLACPY( 'A', N, N, WORK( INDWRK ), N, A, LDA ) |
LOPT = MAX( LOPT, 1+6*N+2*N**2 ) |
|
END IF |
END IF |
* |
* |
* If matrix was scaled, then rescale eigenvalues appropriately. |
* If matrix was scaled, then rescale eigenvalues appropriately. |