diff options
author | langou <langou@users.noreply.github.com> | 2015-10-29 05:06:14 +0000 |
---|---|---|
committer | langou <langou@users.noreply.github.com> | 2015-10-29 05:06:14 +0000 |
commit | d1b995d2d383941d07409eb4f275fa21d80a1dd0 (patch) | |
tree | f494a6be450762d26a1a89e4ea785b206c270af2 /SRC/ssyconv.f | |
parent | 794766767994706d17cb1d0fe20e92acf8e267b2 (diff) | |
download | lapack-d1b995d2d383941d07409eb4f275fa21d80a1dd0.tar.gz lapack-d1b995d2d383941d07409eb4f275fa21d80a1dd0.tar.bz2 lapack-d1b995d2d383941d07409eb4f275fa21d80a1dd0.zip |
In ?syconv, replace the variable name WORK by the variable name E. E is the
standard way to name the supdiagonal/subdiagonal of a symmetric tridiagonal
matrix. Also, E (previously WORK) is of size N-1, not N. So correct this in
the comment.
Diffstat (limited to 'SRC/ssyconv.f')
-rw-r--r-- | SRC/ssyconv.f | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/SRC/ssyconv.f b/SRC/ssyconv.f index a77cfa88..b636037a 100644 --- a/SRC/ssyconv.f +++ b/SRC/ssyconv.f @@ -18,7 +18,7 @@ * Definition: * =========== * -* SUBROUTINE SSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO ) +* SUBROUTINE SSYCONV( UPLO, WAY, N, A, LDA, IPIV, E, INFO ) * * .. Scalar Arguments .. * CHARACTER UPLO, WAY @@ -26,7 +26,7 @@ * .. * .. Array Arguments .. * INTEGER IPIV( * ) -* REAL A( LDA, * ), WORK( * ) +* REAL A( LDA, * ), E( * ) * .. * * @@ -85,9 +85,11 @@ *> as determined by SSYTRF. *> \endverbatim *> -*> \param[out] WORK +*> \param[out] E *> \verbatim -*> WORK is REAL array, dimension (N) +*> E is REAL array, dimension (N-1) +*> E stores the supdiagonal/subdiagonal of the symmetric 1-by-1 +*> or 2-by-2 block diagonal matrix D in LDLT. *> \endverbatim *> *> \param[out] INFO @@ -110,7 +112,7 @@ *> \ingroup realSYcomputational * * ===================================================================== - SUBROUTINE SSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO ) + SUBROUTINE SSYCONV( UPLO, WAY, N, A, LDA, IPIV, E, INFO ) * * -- LAPACK computational routine (version 3.4.0) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- @@ -123,7 +125,7 @@ * .. * .. Array Arguments .. INTEGER IPIV( * ) - REAL A( LDA, * ), WORK( * ) + REAL A( LDA, * ), E( * ) * .. * * ===================================================================== @@ -178,15 +180,15 @@ * IF ( CONVERT ) THEN I=N - WORK(1)=ZERO + E(1)=ZERO DO WHILE ( I .GT. 1 ) IF( IPIV(I) .LT. 0 ) THEN - WORK(I)=A(I-1,I) - WORK(I-1)=ZERO + E(I)=A(I-1,I) + E(I-1)=ZERO A(I-1,I)=ZERO I=I-1 ELSE - WORK(I)=ZERO + E(I)=ZERO ENDIF I=I-1 END DO @@ -255,7 +257,7 @@ I=N DO WHILE ( I .GT. 1 ) IF( IPIV(I) .LT. 0 ) THEN - A(I-1,I)=WORK(I) + A(I-1,I)=E(I) I=I-1 ENDIF I=I-1 @@ -273,15 +275,15 @@ * Convert VALUE * I=1 - WORK(N)=ZERO + E(N)=ZERO DO WHILE ( I .LE. N ) IF( I.LT.N .AND. IPIV(I) .LT. 0 ) THEN - WORK(I)=A(I+1,I) - WORK(I+1)=ZERO + E(I)=A(I+1,I) + E(I+1)=ZERO A(I+1,I)=ZERO I=I+1 ELSE - WORK(I)=ZERO + E(I)=ZERO ENDIF I=I+1 END DO @@ -349,7 +351,7 @@ I=1 DO WHILE ( I .LE. N-1 ) IF( IPIV(I) .LT. 0 ) THEN - A(I+1,I)=WORK(I) + A(I+1,I)=E(I) I=I+1 ENDIF I=I+1 |