version 1.7, 2012/12/14 14:22:27
|
version 1.8, 2014/01/27 09:24:34
|
Line 322
|
Line 322
|
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date November 2011 |
*> \date November 2013 |
* |
* |
*> \ingroup doubleOTHERcomputational |
*> \ingroup doubleOTHERcomputational |
* |
* |
Line 332
|
Line 332
|
$ V2T, LDV2T, B11D, B11E, B12D, B12E, B21D, B21E, |
$ V2T, LDV2T, B11D, B11E, B12D, B12E, B21D, B21E, |
$ B22D, B22E, WORK, LWORK, INFO ) |
$ B22D, B22E, WORK, LWORK, INFO ) |
* |
* |
* -- LAPACK computational routine (version 3.4.0) -- |
* -- LAPACK computational routine (version 3.5.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 2013 |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
CHARACTER JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS |
CHARACTER JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS |
Line 358
|
Line 358
|
PARAMETER ( HUNDRED = 100.0D0, MEIGHTH = -0.125D0, |
PARAMETER ( HUNDRED = 100.0D0, MEIGHTH = -0.125D0, |
$ ONE = 1.0D0, PIOVER2 = 1.57079632679489662D0, |
$ ONE = 1.0D0, PIOVER2 = 1.57079632679489662D0, |
$ TEN = 10.0D0, ZERO = 0.0D0 ) |
$ TEN = 10.0D0, ZERO = 0.0D0 ) |
DOUBLE PRECISION NEGONECOMPLEX |
DOUBLE PRECISION NEGONE |
PARAMETER ( NEGONECOMPLEX = -1.0D0 ) |
PARAMETER ( NEGONE = -1.0D0 ) |
* .. |
* .. |
* .. Local Scalars .. |
* .. Local Scalars .. |
LOGICAL COLMAJOR, LQUERY, RESTART11, RESTART12, |
LOGICAL COLMAJOR, LQUERY, RESTART11, RESTART12, |
Line 477
|
Line 477
|
* Initial deflation |
* Initial deflation |
* |
* |
IMAX = Q |
IMAX = Q |
DO WHILE( ( IMAX .GT. 1 ) .AND. ( PHI(IMAX-1) .EQ. ZERO ) ) |
DO WHILE( IMAX .GT. 1 ) |
|
IF( PHI(IMAX-1) .NE. ZERO ) THEN |
|
EXIT |
|
END IF |
IMAX = IMAX - 1 |
IMAX = IMAX - 1 |
END DO |
END DO |
IMIN = IMAX - 1 |
IMIN = IMAX - 1 |
Line 939
|
Line 942
|
B21D(IMAX) = -B21D(IMAX) |
B21D(IMAX) = -B21D(IMAX) |
IF( WANTV1T ) THEN |
IF( WANTV1T ) THEN |
IF( COLMAJOR ) THEN |
IF( COLMAJOR ) THEN |
CALL DSCAL( Q, NEGONECOMPLEX, V1T(IMAX,1), LDV1T ) |
CALL DSCAL( Q, NEGONE, V1T(IMAX,1), LDV1T ) |
ELSE |
ELSE |
CALL DSCAL( Q, NEGONECOMPLEX, V1T(1,IMAX), 1 ) |
CALL DSCAL( Q, NEGONE, V1T(1,IMAX), 1 ) |
END IF |
END IF |
END IF |
END IF |
END IF |
END IF |
Line 962
|
Line 965
|
B12D(IMAX) = -B12D(IMAX) |
B12D(IMAX) = -B12D(IMAX) |
IF( WANTU1 ) THEN |
IF( WANTU1 ) THEN |
IF( COLMAJOR ) THEN |
IF( COLMAJOR ) THEN |
CALL DSCAL( P, NEGONECOMPLEX, U1(1,IMAX), 1 ) |
CALL DSCAL( P, NEGONE, U1(1,IMAX), 1 ) |
ELSE |
ELSE |
CALL DSCAL( P, NEGONECOMPLEX, U1(IMAX,1), LDU1 ) |
CALL DSCAL( P, NEGONE, U1(IMAX,1), LDU1 ) |
END IF |
END IF |
END IF |
END IF |
END IF |
END IF |
Line 972
|
Line 975
|
B22D(IMAX) = -B22D(IMAX) |
B22D(IMAX) = -B22D(IMAX) |
IF( WANTU2 ) THEN |
IF( WANTU2 ) THEN |
IF( COLMAJOR ) THEN |
IF( COLMAJOR ) THEN |
CALL DSCAL( M-P, NEGONECOMPLEX, U2(1,IMAX), 1 ) |
CALL DSCAL( M-P, NEGONE, U2(1,IMAX), 1 ) |
ELSE |
ELSE |
CALL DSCAL( M-P, NEGONECOMPLEX, U2(IMAX,1), LDU2 ) |
CALL DSCAL( M-P, NEGONE, U2(IMAX,1), LDU2 ) |
END IF |
END IF |
END IF |
END IF |
END IF |
END IF |
Line 984
|
Line 987
|
IF( B12D(IMAX)+B22D(IMAX) .LT. 0 ) THEN |
IF( B12D(IMAX)+B22D(IMAX) .LT. 0 ) THEN |
IF( WANTV2T ) THEN |
IF( WANTV2T ) THEN |
IF( COLMAJOR ) THEN |
IF( COLMAJOR ) THEN |
CALL DSCAL( M-Q, NEGONECOMPLEX, V2T(IMAX,1), LDV2T ) |
CALL DSCAL( M-Q, NEGONE, V2T(IMAX,1), LDV2T ) |
ELSE |
ELSE |
CALL DSCAL( M-Q, NEGONECOMPLEX, V2T(1,IMAX), 1 ) |
CALL DSCAL( M-Q, NEGONE, V2T(1,IMAX), 1 ) |
END IF |
END IF |
END IF |
END IF |
END IF |
END IF |