version 1.16, 2017/06/17 11:06:25
|
version 1.20, 2023/08/07 08:38:57
|
Line 91
|
Line 91
|
*> RTOL2 is DOUBLE PRECISION |
*> RTOL2 is DOUBLE PRECISION |
*> Tolerance for the convergence of the bisection intervals. |
*> Tolerance for the convergence of the bisection intervals. |
*> An interval [LEFT,RIGHT] has converged if |
*> An interval [LEFT,RIGHT] has converged if |
*> RIGHT-LEFT.LT.MAX( RTOL1*GAP, RTOL2*MAX(|LEFT|,|RIGHT|) ) |
*> RIGHT-LEFT < MAX( RTOL1*GAP, RTOL2*MAX(|LEFT|,|RIGHT|) ) |
*> where GAP is the (estimated) distance to the nearest |
*> where GAP is the (estimated) distance to the nearest |
*> eigenvalue. |
*> eigenvalue. |
*> \endverbatim |
*> \endverbatim |
Line 107
|
Line 107
|
*> \verbatim |
*> \verbatim |
*> W is DOUBLE PRECISION array, dimension (N) |
*> W is DOUBLE PRECISION array, dimension (N) |
*> On input, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ) are |
*> On input, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ) are |
*> estimates of the eigenvalues of L D L^T indexed IFIRST throug |
*> estimates of the eigenvalues of L D L^T indexed IFIRST through |
*> ILAST. |
*> ILAST. |
*> On output, these estimates are refined. |
*> On output, these estimates are refined. |
*> \endverbatim |
*> \endverbatim |
Line 117
|
Line 117
|
*> WGAP is DOUBLE PRECISION array, dimension (N-1) |
*> WGAP is DOUBLE PRECISION array, dimension (N-1) |
*> On input, the (estimated) gaps between consecutive |
*> On input, the (estimated) gaps between consecutive |
*> eigenvalues of L D L^T, i.e., WGAP(I-OFFSET) is the gap between |
*> eigenvalues of L D L^T, i.e., WGAP(I-OFFSET) is the gap between |
*> eigenvalues I and I+1. Note that if IFIRST.EQ.ILAST |
*> eigenvalues I and I+1. Note that if IFIRST = ILAST |
*> then WGAP(IFIRST-OFFSET) must be set to ZERO. |
*> then WGAP(IFIRST-OFFSET) must be set to ZERO. |
*> On output, these gaps are refined. |
*> On output, these gaps are refined. |
*> \endverbatim |
*> \endverbatim |
Line 178
|
Line 178
|
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date December 2016 |
|
* |
|
*> \ingroup OTHERauxiliary |
*> \ingroup OTHERauxiliary |
* |
* |
*> \par Contributors: |
*> \par Contributors: |
Line 196
|
Line 194
|
$ RTOL2, OFFSET, W, WGAP, WERR, WORK, IWORK, |
$ RTOL2, OFFSET, W, WGAP, WERR, WORK, IWORK, |
$ PIVMIN, SPDIAM, TWIST, INFO ) |
$ PIVMIN, SPDIAM, TWIST, INFO ) |
* |
* |
* -- LAPACK auxiliary routine (version 3.7.0) -- |
* -- LAPACK auxiliary routine -- |
* -- 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..-- |
* December 2016 |
|
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
INTEGER IFIRST, ILAST, INFO, N, OFFSET, TWIST |
INTEGER IFIRST, ILAST, INFO, N, OFFSET, TWIST |
Line 237
|
Line 234
|
* |
* |
INFO = 0 |
INFO = 0 |
* |
* |
|
* Quick return if possible |
|
* |
|
IF( N.LE.0 ) THEN |
|
RETURN |
|
END IF |
|
* |
MAXITR = INT( ( LOG( SPDIAM+PIVMIN )-LOG( PIVMIN ) ) / |
MAXITR = INT( ( LOG( SPDIAM+PIVMIN )-LOG( PIVMIN ) ) / |
$ LOG( TWO ) ) + 2 |
$ LOG( TWO ) ) + 2 |
MNWDTH = TWO * PIVMIN |
MNWDTH = TWO * PIVMIN |