--- rpl/lapack/lapack/dtftri.f 2010/12/21 13:53:40 1.5 +++ rpl/lapack/lapack/dtftri.f 2011/07/22 07:38:12 1.6 @@ -1,9 +1,9 @@ SUBROUTINE DTFTRI( TRANSR, UPLO, DIAG, 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 -- -* November 2010 -- +* -- April 2011 ---- * * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- @@ -181,7 +181,7 @@ ELSE IF( .NOT.LOWER .AND. .NOT.LSAME( UPLO, 'U' ) ) THEN INFO = -2 ELSE IF( .NOT.LSAME( DIAG, 'N' ) .AND. .NOT.LSAME( DIAG, 'U' ) ) - + THEN + $ THEN INFO = -3 ELSE IF( N.LT.0 ) THEN INFO = -4 @@ -194,7 +194,7 @@ * Quick return if possible * IF( N.EQ.0 ) - + RETURN + $ RETURN * * If N is odd, set NISODD = .TRUE. * If N is even, set K = N/2 and NISODD = .FALSE. @@ -235,16 +235,16 @@ * CALL DTRTRI( 'L', DIAG, N1, A( 0 ), N, INFO ) IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'R', 'L', 'N', DIAG, N2, N1, -ONE, A( 0 ), - + N, A( N1 ), N ) + $ N, A( N1 ), N ) CALL DTRTRI( 'U', DIAG, N2, A( N ), N, INFO ) IF( INFO.GT.0 ) - + INFO = INFO + N1 + $ INFO = INFO + N1 IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'L', 'U', 'T', DIAG, N2, N1, ONE, A( N ), N, - + A( N1 ), N ) + $ A( N1 ), N ) * ELSE * @@ -254,16 +254,16 @@ * CALL DTRTRI( 'L', DIAG, N1, A( N2 ), N, INFO ) IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'L', 'L', 'T', DIAG, N1, N2, -ONE, A( N2 ), - + N, A( 0 ), N ) + $ N, A( 0 ), N ) CALL DTRTRI( 'U', DIAG, N2, A( N1 ), N, INFO ) IF( INFO.GT.0 ) - + INFO = INFO + N1 + $ INFO = INFO + N1 IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'R', 'U', 'N', DIAG, N1, N2, ONE, A( N1 ), - + N, A( 0 ), N ) + $ N, A( 0 ), N ) * END IF * @@ -278,16 +278,16 @@ * CALL DTRTRI( 'U', DIAG, N1, A( 0 ), N1, INFO ) IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'L', 'U', 'N', DIAG, N1, N2, -ONE, A( 0 ), - + N1, A( N1*N1 ), N1 ) + $ N1, A( N1*N1 ), N1 ) CALL DTRTRI( 'L', DIAG, N2, A( 1 ), N1, INFO ) IF( INFO.GT.0 ) - + INFO = INFO + N1 + $ INFO = INFO + N1 IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'R', 'L', 'T', DIAG, N1, N2, ONE, A( 1 ), - + N1, A( N1*N1 ), N1 ) + $ N1, A( N1*N1 ), N1 ) * ELSE * @@ -296,16 +296,16 @@ * CALL DTRTRI( 'U', DIAG, N1, A( N2*N2 ), N2, INFO ) IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'R', 'U', 'T', DIAG, N2, N1, -ONE, - + A( N2*N2 ), N2, A( 0 ), N2 ) + $ A( N2*N2 ), N2, A( 0 ), N2 ) CALL DTRTRI( 'L', DIAG, N2, A( N1*N2 ), N2, INFO ) IF( INFO.GT.0 ) - + INFO = INFO + N1 + $ INFO = INFO + N1 IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'L', 'L', 'N', DIAG, N2, N1, ONE, - + A( N1*N2 ), N2, A( 0 ), N2 ) + $ A( N1*N2 ), N2, A( 0 ), N2 ) END IF * END IF @@ -326,16 +326,16 @@ * CALL DTRTRI( 'L', DIAG, K, A( 1 ), N+1, INFO ) IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'R', 'L', 'N', DIAG, K, K, -ONE, A( 1 ), - + N+1, A( K+1 ), N+1 ) + $ N+1, A( K+1 ), N+1 ) CALL DTRTRI( 'U', DIAG, K, A( 0 ), N+1, INFO ) IF( INFO.GT.0 ) - + INFO = INFO + K + $ INFO = INFO + K IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'L', 'U', 'T', DIAG, K, K, ONE, A( 0 ), N+1, - + A( K+1 ), N+1 ) + $ A( K+1 ), N+1 ) * ELSE * @@ -345,16 +345,16 @@ * CALL DTRTRI( 'L', DIAG, K, A( K+1 ), N+1, INFO ) IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'L', 'L', 'T', DIAG, K, K, -ONE, A( K+1 ), - + N+1, A( 0 ), N+1 ) + $ N+1, A( 0 ), N+1 ) CALL DTRTRI( 'U', DIAG, K, A( K ), N+1, INFO ) IF( INFO.GT.0 ) - + INFO = INFO + K + $ INFO = INFO + K IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'R', 'U', 'N', DIAG, K, K, ONE, A( K ), N+1, - + A( 0 ), N+1 ) + $ A( 0 ), N+1 ) END IF ELSE * @@ -368,16 +368,16 @@ * CALL DTRTRI( 'U', DIAG, K, A( K ), K, INFO ) IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'L', 'U', 'N', DIAG, K, K, -ONE, A( K ), K, - + A( K*( K+1 ) ), K ) + $ A( K*( K+1 ) ), K ) CALL DTRTRI( 'L', DIAG, K, A( 0 ), K, INFO ) IF( INFO.GT.0 ) - + INFO = INFO + K + $ INFO = INFO + K IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'R', 'L', 'T', DIAG, K, K, ONE, A( 0 ), K, - + A( K*( K+1 ) ), K ) + $ A( K*( K+1 ) ), K ) ELSE * * SRPA for UPPER, TRANSPOSE and N is even (see paper) @@ -386,16 +386,16 @@ * CALL DTRTRI( 'U', DIAG, K, A( K*( K+1 ) ), K, INFO ) IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'R', 'U', 'T', DIAG, K, K, -ONE, - + A( K*( K+1 ) ), K, A( 0 ), K ) + $ A( K*( K+1 ) ), K, A( 0 ), K ) CALL DTRTRI( 'L', DIAG, K, A( K*K ), K, INFO ) IF( INFO.GT.0 ) - + INFO = INFO + K + $ INFO = INFO + K IF( INFO.GT.0 ) - + RETURN + $ RETURN CALL DTRMM( 'L', 'L', 'N', DIAG, K, K, ONE, A( K*K ), K, - + A( 0 ), K ) + $ A( 0 ), K ) END IF END IF END IF