version 1.9, 2011/11/21 20:42:59
|
version 1.15, 2014/01/27 09:28:23
|
Line 1
|
Line 1
|
*> \brief \b DLASQ3 |
*> \brief \b DLASQ3 checks for deflation, computes a shift and calls dqds. Used by sbdsqr. |
* |
* |
* =========== DOCUMENTATION =========== |
* =========== DOCUMENTATION =========== |
* |
* |
Line 173
|
Line 173
|
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date November 2011 |
*> \date September 2012 |
* |
* |
*> \ingroup auxOTHERcomputational |
*> \ingroup auxOTHERcomputational |
* |
* |
Line 182
|
Line 182
|
$ ITER, NDIV, IEEE, TTYPE, DMIN1, DMIN2, DN, DN1, |
$ ITER, NDIV, IEEE, TTYPE, DMIN1, DMIN2, DN, DN1, |
$ DN2, G, TAU ) |
$ DN2, G, TAU ) |
* |
* |
* -- LAPACK computational routine (version 3.4.0) -- |
* -- LAPACK computational routine (version 3.4.2) -- |
* -- 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 |
* September 2012 |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
LOGICAL IEEE |
LOGICAL IEEE |
Line 267
|
Line 267
|
Z( NN-3 ) = Z( NN-7 ) |
Z( NN-3 ) = Z( NN-7 ) |
Z( NN-7 ) = S |
Z( NN-7 ) = S |
END IF |
END IF |
IF( Z( NN-5 ).GT.Z( NN-3 )*TOL2 ) THEN |
T = HALF*( ( Z( NN-7 )-Z( NN-3 ) )+Z( NN-5 ) ) |
T = HALF*( ( Z( NN-7 )-Z( NN-3 ) )+Z( NN-5 ) ) |
IF( Z( NN-5 ).GT.Z( NN-3 )*TOL2.AND.T.NE.ZERO ) THEN |
S = Z( NN-3 )*( Z( NN-5 ) / T ) |
S = Z( NN-3 )*( Z( NN-5 ) / T ) |
IF( S.LE.T ) THEN |
IF( S.LE.T ) THEN |
S = Z( NN-3 )*( Z( NN-5 ) / |
S = Z( NN-3 )*( Z( NN-5 ) / |
Line 331
|
Line 331
|
* |
* |
70 CONTINUE |
70 CONTINUE |
* |
* |
CALL DLASQ5( I0, N0, Z, PP, TAU, DMIN, DMIN1, DMIN2, DN, |
CALL DLASQ5( I0, N0, Z, PP, TAU, SIGMA, DMIN, DMIN1, DMIN2, DN, |
$ DN1, DN2, IEEE ) |
$ DN1, DN2, IEEE, EPS ) |
* |
* |
NDIV = NDIV + ( N0-I0+2 ) |
NDIV = NDIV + ( N0-I0+2 ) |
ITER = ITER + 1 |
ITER = ITER + 1 |
* |
* |
* Check status. |
* Check status. |
* |
* |
IF( DMIN.GE.ZERO .AND. DMIN1.GT.ZERO ) THEN |
IF( DMIN.GE.ZERO .AND. DMIN1.GE.ZERO ) THEN |
* |
* |
* Success. |
* Success. |
* |
* |