Skip to content

Commit 1d6b882

Browse files
{D,Z}BBCSD: stricter zero criterion
The tolerance below which matrix entries are considered zero is tightened to avoid insufficiently accurate singular vectors. fixes Reference-LAPACK#965
1 parent db501d9 commit 1d6b882

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

SRC/dbbcsd.f

+2-2
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@
302302
* =========================
303303
*>
304304
*> \verbatim
305-
*> TOLMUL DOUBLE PRECISION, default = MAX(10,MIN(100,EPS**(-1/8)))
305+
*> TOLMUL DOUBLE PRECISION, default = 10
306306
*> TOLMUL controls the convergence criterion of the QR loop.
307307
*> Angles THETA(i), PHI(i) are rounded to 0 or PI/2 when they
308308
*> are within TOLMUL*EPS of either bound.
@@ -451,7 +451,7 @@ SUBROUTINE DBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P, Q,
451451
*
452452
EPS = DLAMCH( 'Epsilon' )
453453
UNFL = DLAMCH( 'Safe minimum' )
454-
TOLMUL = MAX( TEN, MIN( HUNDRED, EPS**MEIGHTH ) )
454+
TOLMUL = TEN
455455
TOL = TOLMUL*EPS
456456
THRESH = MAX( TOL, MAXITR*Q*Q*UNFL )
457457
*

SRC/zbbcsd.f

+2-2
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@
302302
* =========================
303303
*>
304304
*> \verbatim
305-
*> TOLMUL DOUBLE PRECISION, default = MAX(10,MIN(100,EPS**(-1/8)))
305+
*> TOLMUL DOUBLE PRECISION, default = 10
306306
*> TOLMUL controls the convergence criterion of the QR loop.
307307
*> Angles THETA(i), PHI(i) are rounded to 0 or PI/2 when they
308308
*> are within TOLMUL*EPS of either bound.
@@ -450,7 +450,7 @@ SUBROUTINE ZBBCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, M, P, Q,
450450
*
451451
EPS = DLAMCH( 'Epsilon' )
452452
UNFL = DLAMCH( 'Safe minimum' )
453-
TOLMUL = MAX( TEN, MIN( HUNDRED, EPS**MEIGHTH ) )
453+
TOLMUL = TEN
454454
TOL = TOLMUL*EPS
455455
THRESH = MAX( TOL, MAXITR*Q*Q*UNFL )
456456
*

0 commit comments

Comments
 (0)