version 1.15, 2014/01/27 09:28:23
|
version 1.21, 2018/05/29 07:18:01
|
Line 2
|
Line 2
|
* |
* |
* =========== DOCUMENTATION =========== |
* =========== DOCUMENTATION =========== |
* |
* |
* Online html documentation available at |
* Online html documentation available at |
* http://www.netlib.org/lapack/explore-html/ |
* http://www.netlib.org/lapack/explore-html/ |
* |
* |
*> \htmlonly |
*> \htmlonly |
*> Download DLASQ3 + dependencies |
*> Download DLASQ3 + dependencies |
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlasq3.f"> |
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlasq3.f"> |
*> [TGZ]</a> |
*> [TGZ]</a> |
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlasq3.f"> |
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlasq3.f"> |
*> [ZIP]</a> |
*> [ZIP]</a> |
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlasq3.f"> |
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlasq3.f"> |
*> [TXT]</a> |
*> [TXT]</a> |
*> \endhtmlonly |
*> \endhtmlonly |
* |
* |
* Definition: |
* Definition: |
* =========== |
* =========== |
Line 21
|
Line 21
|
* SUBROUTINE DLASQ3( I0, N0, Z, PP, DMIN, SIGMA, DESIG, QMAX, NFAIL, |
* SUBROUTINE DLASQ3( I0, N0, Z, PP, DMIN, SIGMA, DESIG, QMAX, NFAIL, |
* ITER, NDIV, IEEE, TTYPE, DMIN1, DMIN2, DN, DN1, |
* ITER, NDIV, IEEE, TTYPE, DMIN1, DMIN2, DN, DN1, |
* DN2, G, TAU ) |
* DN2, G, TAU ) |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
* LOGICAL IEEE |
* LOGICAL IEEE |
* INTEGER I0, ITER, N0, NDIV, NFAIL, PP |
* INTEGER I0, ITER, N0, NDIV, NFAIL, PP |
Line 31
|
Line 31
|
* .. Array Arguments .. |
* .. Array Arguments .. |
* DOUBLE PRECISION Z( * ) |
* DOUBLE PRECISION Z( * ) |
* .. |
* .. |
* |
* |
* |
* |
*> \par Purpose: |
*> \par Purpose: |
* ============= |
* ============= |
Line 58
|
Line 58
|
*> Last index. |
*> Last index. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[in] Z |
*> \param[in,out] Z |
*> \verbatim |
*> \verbatim |
*> Z is DOUBLE PRECISION array, dimension ( 4*N ) |
*> Z is DOUBLE PRECISION array, dimension ( 4*N0 ) |
*> Z holds the qd array. |
*> Z holds the qd array. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
Line 68
|
Line 68
|
*> \verbatim |
*> \verbatim |
*> PP is INTEGER |
*> PP is INTEGER |
*> PP=0 for ping, PP=1 for pong. |
*> PP=0 for ping, PP=1 for pong. |
*> PP=2 indicates that flipping was applied to the Z array |
*> PP=2 indicates that flipping was applied to the Z array |
*> and that the initial tests for deflation should not be |
*> and that the initial tests for deflation should not be |
*> performed. |
*> performed. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
Line 97
|
Line 97
|
*> Maximum value of q. |
*> Maximum value of q. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[out] NFAIL |
*> \param[in,out] NFAIL |
*> \verbatim |
*> \verbatim |
*> NFAIL is INTEGER |
*> NFAIL is INTEGER |
*> Number of times shift was too big. |
*> Increment NFAIL by 1 each time the shift was too big. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[out] ITER |
*> \param[in,out] ITER |
*> \verbatim |
*> \verbatim |
*> ITER is INTEGER |
*> ITER is INTEGER |
*> Number of iterations. |
*> Increment ITER by 1 for each iteration. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[out] NDIV |
*> \param[in,out] NDIV |
*> \verbatim |
*> \verbatim |
*> NDIV is INTEGER |
*> NDIV is INTEGER |
*> Number of divisions. |
*> Increment NDIV by 1 for each division. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[in] IEEE |
*> \param[in] IEEE |
Line 168
|
Line 168
|
* Authors: |
* Authors: |
* ======== |
* ======== |
* |
* |
*> \author Univ. of Tennessee |
*> \author Univ. of Tennessee |
*> \author Univ. of California Berkeley |
*> \author Univ. of California Berkeley |
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date September 2012 |
*> \date June 2016 |
* |
* |
*> \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.2) -- |
* -- LAPACK computational routine (version 3.7.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..-- |
* September 2012 |
* June 2016 |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
LOGICAL IEEE |
LOGICAL IEEE |
Line 286
|
Line 286
|
GO TO 10 |
GO TO 10 |
* |
* |
50 CONTINUE |
50 CONTINUE |
IF( PP.EQ.2 ) |
IF( PP.EQ.2 ) |
$ PP = 0 |
$ PP = 0 |
* |
* |
* Reverse the qd-array, if warranted. |
* Reverse the qd-array, if warranted. |
Line 345
|
Line 345
|
* |
* |
GO TO 90 |
GO TO 90 |
* |
* |
ELSE IF( DMIN.LT.ZERO .AND. DMIN1.GT.ZERO .AND. |
ELSE IF( DMIN.LT.ZERO .AND. DMIN1.GT.ZERO .AND. |
$ Z( 4*( N0-1 )-PP ).LT.TOL*( SIGMA+DN1 ) .AND. |
$ Z( 4*( N0-1 )-PP ).LT.TOL*( SIGMA+DN1 ) .AND. |
$ ABS( DN ).LT.TOL*SIGMA ) THEN |
$ ABS( DN ).LT.TOL*SIGMA ) THEN |
* |
* |
Line 389
|
Line 389
|
GO TO 70 |
GO TO 70 |
END IF |
END IF |
ELSE |
ELSE |
* |
* |
* Possible underflow. Play it safe. |
* Possible underflow. Play it safe. |
* |
* |
GO TO 80 |
GO TO 80 |