Diff for /rpl/lapack/lapack/zpftrf.f between versions 1.5 and 1.6

version 1.5, 2010/12/21 13:53:53 version 1.6, 2011/07/22 07:38:18
Line 1 Line 1
       SUBROUTINE ZPFTRF( TRANSR, UPLO, N, A, INFO )        SUBROUTINE ZPFTRF( TRANSR, UPLO, N, A, INFO )
 *  *
 *  -- LAPACK routine (version 3.3.0)                                    --  *  -- LAPACK routine (version 3.3.1)                                    --
 *  *
 *  -- Contributed by Fred Gustavson of the IBM Watson Research Center --  *  -- Contributed by Fred Gustavson of the IBM Watson Research Center --
 *     November 2010                                                   --  *  -- April 2011                                                      ----
 *  *
 *  -- 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..--
Line 214 Line 214
 *     Quick return if possible  *     Quick return if possible
 *  *
       IF( N.EQ.0 )        IF( N.EQ.0 )
      +   RETURN       $   RETURN
 *  *
 *     If N is odd, set NISODD = .TRUE.  *     If N is odd, set NISODD = .TRUE.
 *     If N is even, set K = N/2 and NISODD = .FALSE.  *     If N is even, set K = N/2 and NISODD = .FALSE.
Line 254 Line 254
 *  *
                CALL ZPOTRF( 'L', N1, A( 0 ), N, INFO )                 CALL ZPOTRF( 'L', N1, A( 0 ), N, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            RETURN       $            RETURN
                CALL ZTRSM( 'R', 'L', 'C', 'N', N2, N1, CONE, A( 0 ), N,                 CALL ZTRSM( 'R', 'L', 'C', 'N', N2, N1, CONE, A( 0 ), N,
      +                     A( N1 ), N )       $                     A( N1 ), N )
                CALL ZHERK( 'U', 'N', N2, N1, -ONE, A( N1 ), N, ONE,                 CALL ZHERK( 'U', 'N', N2, N1, -ONE, A( N1 ), N, ONE,
      +                     A( N ), N )       $                     A( N ), N )
                CALL ZPOTRF( 'U', N2, A( N ), N, INFO )                 CALL ZPOTRF( 'U', N2, A( N ), N, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            INFO = INFO + N1       $            INFO = INFO + N1
 *  *
             ELSE              ELSE
 *  *
Line 271 Line 271
 *  *
                CALL ZPOTRF( 'L', N1, A( N2 ), N, INFO )                 CALL ZPOTRF( 'L', N1, A( N2 ), N, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            RETURN       $            RETURN
                CALL ZTRSM( 'L', 'L', 'N', 'N', N1, N2, CONE, A( N2 ), N,                 CALL ZTRSM( 'L', 'L', 'N', 'N', N1, N2, CONE, A( N2 ), N,
      +                     A( 0 ), N )       $                     A( 0 ), N )
                CALL ZHERK( 'U', 'C', N2, N1, -ONE, A( 0 ), N, ONE,                 CALL ZHERK( 'U', 'C', N2, N1, -ONE, A( 0 ), N, ONE,
      +                     A( N1 ), N )       $                     A( N1 ), N )
                CALL ZPOTRF( 'U', N2, A( N1 ), N, INFO )                 CALL ZPOTRF( 'U', N2, A( N1 ), N, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            INFO = INFO + N1       $            INFO = INFO + N1
 *  *
             END IF              END IF
 *  *
Line 294 Line 294
 *  *
                CALL ZPOTRF( 'U', N1, A( 0 ), N1, INFO )                 CALL ZPOTRF( 'U', N1, A( 0 ), N1, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            RETURN       $            RETURN
                CALL ZTRSM( 'L', 'U', 'C', 'N', N1, N2, CONE, A( 0 ), N1,                 CALL ZTRSM( 'L', 'U', 'C', 'N', N1, N2, CONE, A( 0 ), N1,
      +                     A( N1*N1 ), N1 )       $                     A( N1*N1 ), N1 )
                CALL ZHERK( 'L', 'C', N2, N1, -ONE, A( N1*N1 ), N1, ONE,                 CALL ZHERK( 'L', 'C', N2, N1, -ONE, A( N1*N1 ), N1, ONE,
      +                     A( 1 ), N1 )       $                     A( 1 ), N1 )
                CALL ZPOTRF( 'L', N2, A( 1 ), N1, INFO )                 CALL ZPOTRF( 'L', N2, A( 1 ), N1, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            INFO = INFO + N1       $            INFO = INFO + N1
 *  *
             ELSE              ELSE
 *  *
Line 311 Line 311
 *  *
                CALL ZPOTRF( 'U', N1, A( N2*N2 ), N2, INFO )                 CALL ZPOTRF( 'U', N1, A( N2*N2 ), N2, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            RETURN       $            RETURN
                CALL ZTRSM( 'R', 'U', 'N', 'N', N2, N1, CONE, A( N2*N2 ),                 CALL ZTRSM( 'R', 'U', 'N', 'N', N2, N1, CONE, A( N2*N2 ),
      +                     N2, A( 0 ), N2 )       $                     N2, A( 0 ), N2 )
                CALL ZHERK( 'L', 'N', N2, N1, -ONE, A( 0 ), N2, ONE,                 CALL ZHERK( 'L', 'N', N2, N1, -ONE, A( 0 ), N2, ONE,
      +                     A( N1*N2 ), N2 )       $                     A( N1*N2 ), N2 )
                CALL ZPOTRF( 'L', N2, A( N1*N2 ), N2, INFO )                 CALL ZPOTRF( 'L', N2, A( N1*N2 ), N2, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            INFO = INFO + N1       $            INFO = INFO + N1
 *  *
             END IF              END IF
 *  *
Line 340 Line 340
 *  *
                CALL ZPOTRF( 'L', K, A( 1 ), N+1, INFO )                 CALL ZPOTRF( 'L', K, A( 1 ), N+1, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            RETURN       $            RETURN
                CALL ZTRSM( 'R', 'L', 'C', 'N', K, K, CONE, A( 1 ), N+1,                 CALL ZTRSM( 'R', 'L', 'C', 'N', K, K, CONE, A( 1 ), N+1,
      +                     A( K+1 ), N+1 )       $                     A( K+1 ), N+1 )
                CALL ZHERK( 'U', 'N', K, K, -ONE, A( K+1 ), N+1, ONE,                 CALL ZHERK( 'U', 'N', K, K, -ONE, A( K+1 ), N+1, ONE,
      +                     A( 0 ), N+1 )       $                     A( 0 ), N+1 )
                CALL ZPOTRF( 'U', K, A( 0 ), N+1, INFO )                 CALL ZPOTRF( 'U', K, A( 0 ), N+1, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            INFO = INFO + K       $            INFO = INFO + K
 *  *
             ELSE              ELSE
 *  *
Line 357 Line 357
 *  *
                CALL ZPOTRF( 'L', K, A( K+1 ), N+1, INFO )                 CALL ZPOTRF( 'L', K, A( K+1 ), N+1, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            RETURN       $            RETURN
                CALL ZTRSM( 'L', 'L', 'N', 'N', K, K, CONE, A( K+1 ),                 CALL ZTRSM( 'L', 'L', 'N', 'N', K, K, CONE, A( K+1 ),
      +                     N+1, A( 0 ), N+1 )       $                     N+1, A( 0 ), N+1 )
                CALL ZHERK( 'U', 'C', K, K, -ONE, A( 0 ), N+1, ONE,                 CALL ZHERK( 'U', 'C', K, K, -ONE, A( 0 ), N+1, ONE,
      +                     A( K ), N+1 )       $                     A( K ), N+1 )
                CALL ZPOTRF( 'U', K, A( K ), N+1, INFO )                 CALL ZPOTRF( 'U', K, A( K ), N+1, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            INFO = INFO + K       $            INFO = INFO + K
 *  *
             END IF              END IF
 *  *
Line 380 Line 380
 *  *
                CALL ZPOTRF( 'U', K, A( 0+K ), K, INFO )                 CALL ZPOTRF( 'U', K, A( 0+K ), K, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            RETURN       $            RETURN
                CALL ZTRSM( 'L', 'U', 'C', 'N', K, K, CONE, A( K ), N1,                 CALL ZTRSM( 'L', 'U', 'C', 'N', K, K, CONE, A( K ), N1,
      +                     A( K*( K+1 ) ), K )       $                     A( K*( K+1 ) ), K )
                CALL ZHERK( 'L', 'C', K, K, -ONE, A( K*( K+1 ) ), K, ONE,                 CALL ZHERK( 'L', 'C', K, K, -ONE, A( K*( K+1 ) ), K, ONE,
      +                     A( 0 ), K )       $                     A( 0 ), K )
                CALL ZPOTRF( 'L', K, A( 0 ), K, INFO )                 CALL ZPOTRF( 'L', K, A( 0 ), K, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            INFO = INFO + K       $            INFO = INFO + K
 *  *
             ELSE              ELSE
 *  *
Line 397 Line 397
 *  *
                CALL ZPOTRF( 'U', K, A( K*( K+1 ) ), K, INFO )                 CALL ZPOTRF( 'U', K, A( K*( K+1 ) ), K, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            RETURN       $            RETURN
                CALL ZTRSM( 'R', 'U', 'N', 'N', K, K, CONE,                 CALL ZTRSM( 'R', 'U', 'N', 'N', K, K, CONE,
      +                     A( K*( K+1 ) ), K, A( 0 ), K )       $                     A( K*( K+1 ) ), K, A( 0 ), K )
                CALL ZHERK( 'L', 'N', K, K, -ONE, A( 0 ), K, ONE,                 CALL ZHERK( 'L', 'N', K, K, -ONE, A( 0 ), K, ONE,
      +                     A( K*K ), K )       $                     A( K*K ), K )
                CALL ZPOTRF( 'L', K, A( K*K ), K, INFO )                 CALL ZPOTRF( 'L', K, A( K*K ), K, INFO )
                IF( INFO.GT.0 )                 IF( INFO.GT.0 )
      +            INFO = INFO + K       $            INFO = INFO + K
 *  *
             END IF              END IF
 *  *

Removed from v.1.5  
changed lines
  Added in v.1.6


CVSweb interface <joel.bertrand@systella.fr>