In ?syconv, replace the variable name WORK by the variable name E. E is the
authorlangou <langou@users.noreply.github.com>
Thu, 29 Oct 2015 05:06:14 +0000 (05:06 +0000)
committerlangou <langou@users.noreply.github.com>
Thu, 29 Oct 2015 05:06:14 +0000 (05:06 +0000)
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.

SRC/csyconv.f
SRC/dsyconv.f
SRC/ssyconv.f
SRC/zsyconv.f

index e762d8b..79a5793 100644 (file)
@@ -18,7 +18,7 @@
 *  Definition:
 *  ===========
 *
-*       SUBROUTINE CSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO )
+*       SUBROUTINE CSYCONV( UPLO, WAY, N, A, LDA, IPIV, E, INFO )
 * 
 *       .. Scalar Arguments ..
 *       CHARACTER          UPLO, WAY
@@ -26,7 +26,7 @@
 *       ..
 *       .. Array Arguments ..
 *       INTEGER            IPIV( * )
-*       COMPLEX            A( LDA, * ), WORK( * )
+*       COMPLEX            A( LDA, * ), E( * )
 *       ..
 *  
 *
 *>          as determined by CSYTRF.
 *> \endverbatim
 *>
-*> \param[out] WORK
+*> \param[out] E
 *> \verbatim
-*>          WORK is COMPLEX array, dimension (N)
+*>          E is COMPLEX 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
 *> \ingroup complexSYcomputational
 *
 *  =====================================================================
-      SUBROUTINE CSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO )
+      SUBROUTINE CSYCONV( 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,    --
 *     ..
 *     .. Array Arguments ..
       INTEGER            IPIV( * )
-      COMPLEX            A( LDA, * ), WORK( * )
+      COMPLEX            A( LDA, * ), E( * )
 *     ..
 *
 *  =====================================================================
 *
          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
             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
 *        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
             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
index ee2de15..768fd51 100644 (file)
@@ -18,7 +18,7 @@
 *  Definition:
 *  ===========
 *
-*       SUBROUTINE DSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO )
+*       SUBROUTINE DSYCONV( UPLO, WAY, N, A, LDA, IPIV, E, INFO )
 * 
 *       .. Scalar Arguments ..
 *       CHARACTER          UPLO, WAY
@@ -26,7 +26,7 @@
 *       ..
 *       .. Array Arguments ..
 *       INTEGER            IPIV( * )
-*       DOUBLE PRECISION   A( LDA, * ), WORK( * )
+*       DOUBLE PRECISION   A( LDA, * ), E( * )
 *       ..
 *  
 *
 *>          as determined by DSYTRF.
 *> \endverbatim
 *>
-*> \param[out] WORK
+*> \param[out] E
 *> \verbatim
-*>          WORK is DOUBLE PRECISION array, dimension (N)
+*>          E is DOUBLE PRECISION 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
 *> \ingroup doubleSYcomputational
 *
 *  =====================================================================
-      SUBROUTINE DSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO )
+      SUBROUTINE DSYCONV( 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,    --
 *     ..
 *     .. Array Arguments ..
       INTEGER            IPIV( * )
-      DOUBLE PRECISION   A( LDA, * ), WORK( * )
+      DOUBLE PRECISION   A( LDA, * ), E( * )
 *     ..
 *
 *  =====================================================================
 *
          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
             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
 *        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
             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
index a77cfa8..b636037 100644 (file)
@@ -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( * )
 *       ..
 *  
 *
 *>          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
 *> \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,    --
 *     ..
 *     .. Array Arguments ..
       INTEGER            IPIV( * )
-      REAL               A( LDA, * ), WORK( * )
+      REAL               A( LDA, * ), E( * )
 *     ..
 *
 *  =====================================================================
 *
          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
             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
 *        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
             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
index 57e94ac..26d1c27 100644 (file)
@@ -18,7 +18,7 @@
 *  Definition:
 *  ===========
 *
-*       SUBROUTINE ZSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO )
+*       SUBROUTINE ZSYCONV( UPLO, WAY, N, A, LDA, IPIV, E, INFO )
 * 
 *       .. Scalar Arguments ..
 *       CHARACTER          UPLO, WAY
@@ -26,7 +26,7 @@
 *       ..
 *       .. Array Arguments ..
 *       INTEGER            IPIV( * )
-*       COMPLEX*16         A( LDA, * ), WORK( * )
+*       COMPLEX*16         A( LDA, * ), E( * )
 *       ..
 *  
 *
 *>          as determined by ZSYTRF.
 *> \endverbatim
 *>
-*> \param[out] WORK
+*> \param[out] E
 *> \verbatim
-*>          WORK is COMPLEX*16 array, dimension (N)
+*>          E is COMPLEX*16 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
 *> \ingroup complex16SYcomputational
 *
 *  =====================================================================
-      SUBROUTINE ZSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO )
+      SUBROUTINE ZSYCONV( 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,    --
 *     ..
 *     .. Array Arguments ..
       INTEGER            IPIV( * )
-      COMPLEX*16         A( LDA, * ), WORK( * )
+      COMPLEX*16         A( LDA, * ), E( * )
 *     ..
 *
 *  =====================================================================
 *           Convert VALUE
 *
             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
             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
 *           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
             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