Change from Christof (Voemel) sent on Mon, 31 Jan 2011.
authorlangou <langou@users.noreply.github.com>
Mon, 31 Jan 2011 18:27:33 +0000 (18:27 +0000)
committerlangou <langou@users.noreply.github.com>
Mon, 31 Jan 2011 18:27:33 +0000 (18:27 +0000)
*********************************************************************
change
         IF( USEDQD ) THEN
*           The initial SIGMA was to the outer end of the spectrum
*           the matrix is definite and we need not retreat.
            TAU = SPDIAM*EPS*N + TWO*PIVMIN
         ELSE
into
         IF( USEDQD ) THEN
*           The initial SIGMA was to the outer end of the spectrum
*           the matrix is definite and we need not retreat.
            TAU = SPDIAM*EPS*N + TWO*PIVMIN
            TAU = MAX( TAU,TWO*EPS*ABS(SIGMA) )
         ELSE

that is, with an added line to prevent TAU from becoming zero
            TAU = MAX( TAU,TWO*EPS*ABS(SIGMA) )
*********************************************************************

Thanks Christof!

SRC/dlarre.f
SRC/slarre.f

index f08043d..9e483f2 100644 (file)
 *           The initial SIGMA was to the outer end of the spectrum
 *           the matrix is definite and we need not retreat.
             TAU = SPDIAM*EPS*N + TWO*PIVMIN
+            TAU = MAX( TAU,TWO*EPS*ABS(SIGMA) )
          ELSE
             IF(MB.GT.1) THEN
                CLWDTH = W(WEND) + WERR(WEND) - W(WBEGIN) - WERR(WBEGIN)
index b2a439b..b3815b9 100644 (file)
 *           The initial SIGMA was to the outer end of the spectrum
 *           the matrix is definite and we need not retreat.
             TAU = SPDIAM*EPS*N + TWO*PIVMIN
+            TAU = MAX( TAU,TWO*EPS*ABS(SIGMA) )
          ELSE
             IF(MB.GT.1) THEN
                CLWDTH = W(WEND) + WERR(WEND) - W(WBEGIN) - WERR(WBEGIN)