Diff for /rpl/lapack/lapack/zsyconv.f between versions 1.8 and 1.9

version 1.8, 2014/01/27 09:28:42 version 1.9, 2015/11/26 11:44:26
Line 18 Line 18
 *  Definition:  *  Definition:
 *  ===========  *  ===========
 *  *
 *       SUBROUTINE ZSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO )  *       SUBROUTINE ZSYCONV( UPLO, WAY, N, A, LDA, IPIV, E, INFO )
 *   * 
 *       .. Scalar Arguments ..  *       .. Scalar Arguments ..
 *       CHARACTER          UPLO, WAY  *       CHARACTER          UPLO, WAY
Line 26 Line 26
 *       ..  *       ..
 *       .. Array Arguments ..  *       .. Array Arguments ..
 *       INTEGER            IPIV( * )  *       INTEGER            IPIV( * )
 *       COMPLEX*16         A( LDA, * ), WORK( * )  *       COMPLEX*16         A( LDA, * ), E( * )
 *       ..  *       ..
 *    *  
 *  *
Line 65 Line 65
 *>          The order of the matrix A.  N >= 0.  *>          The order of the matrix A.  N >= 0.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] A  *> \param[in,out] A
 *> \verbatim  *> \verbatim
 *>          A is COMPLEX*16 array, dimension (LDA,N)  *>          A is COMPLEX*16 array, dimension (LDA,N)
 *>          The block diagonal matrix D and the multipliers used to  *>          The block diagonal matrix D and the multipliers used to
Line 85 Line 85
 *>          as determined by ZSYTRF.  *>          as determined by ZSYTRF.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[out] WORK  *> \param[out] E
 *> \verbatim  *> \verbatim
 *>          WORK is COMPLEX*16 array, dimension (N)  *>          E is COMPLEX*16 array, dimension (N)
   *>          E stores the supdiagonal/subdiagonal of the symmetric 1-by-1
   *>          or 2-by-2 block diagonal matrix D in LDLT.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[out] INFO  *> \param[out] INFO
Line 105 Line 107
 *> \author Univ. of Colorado Denver   *> \author Univ. of Colorado Denver 
 *> \author NAG Ltd.   *> \author NAG Ltd. 
 *  *
 *> \date November 2011  *> \date November 2015
 *  *
 *> \ingroup complex16SYcomputational  *> \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 computational routine (version 3.6.0) --
 *  -- 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  *     November 2015
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       CHARACTER          UPLO, WAY        CHARACTER          UPLO, WAY
Line 123 Line 125
 *     ..  *     ..
 *     .. Array Arguments ..  *     .. Array Arguments ..
       INTEGER            IPIV( * )        INTEGER            IPIV( * )
       COMPLEX*16         A( LDA, * ), WORK( * )        COMPLEX*16         A( LDA, * ), E( * )
 *     ..  *     ..
 *  *
 *  =====================================================================  *  =====================================================================
Line 179 Line 181
 *           Convert VALUE  *           Convert VALUE
 *  *
             I=N              I=N
             WORK(1)=ZERO              E(1)=ZERO
             DO WHILE ( I .GT. 1 )              DO WHILE ( I .GT. 1 )
                IF( IPIV(I) .LT. 0 ) THEN                 IF( IPIV(I) .LT. 0 ) THEN
                   WORK(I)=A(I-1,I)                    E(I)=A(I-1,I)
                     E(I-1)=ZERO
                   A(I-1,I)=ZERO                    A(I-1,I)=ZERO
                   I=I-1                    I=I-1
                ELSE                 ELSE
                   WORK(I)=ZERO                    E(I)=ZERO
                ENDIF                 ENDIF
                I=I-1                 I=I-1
             END DO              END DO
Line 254 Line 257
             I=N              I=N
             DO WHILE ( I .GT. 1 )              DO WHILE ( I .GT. 1 )
                IF( IPIV(I) .LT. 0 ) THEN                 IF( IPIV(I) .LT. 0 ) THEN
                   A(I-1,I)=WORK(I)                    A(I-1,I)=E(I)
                   I=I-1                    I=I-1
                ENDIF                 ENDIF
                I=I-1                 I=I-1
Line 272 Line 275
 *           Convert VALUE  *           Convert VALUE
 *  *
             I=1              I=1
             WORK(N)=ZERO              E(N)=ZERO
             DO WHILE ( I .LE. N )              DO WHILE ( I .LE. N )
                IF( I.LT.N .AND. IPIV(I) .LT. 0 ) THEN                 IF( I.LT.N .AND. IPIV(I) .LT. 0 ) THEN
                   WORK(I)=A(I+1,I)                    E(I)=A(I+1,I)
                     E(I+1)=ZERO
                   A(I+1,I)=ZERO                    A(I+1,I)=ZERO
                   I=I+1                    I=I+1
                ELSE                 ELSE
                   WORK(I)=ZERO                    E(I)=ZERO
                ENDIF                 ENDIF
                I=I+1                 I=I+1
             END DO              END DO
Line 347 Line 351
             I=1              I=1
             DO WHILE ( I .LE. N-1 )              DO WHILE ( I .LE. N-1 )
                IF( IPIV(I) .LT. 0 ) THEN                 IF( IPIV(I) .LT. 0 ) THEN
                   A(I+1,I)=WORK(I)                    A(I+1,I)=E(I)
                   I=I+1                    I=I+1
                ENDIF                 ENDIF
                I=I+1                 I=I+1

Removed from v.1.8  
changed lines
  Added in v.1.9


CVSweb interface <joel.bertrand@systella.fr>