@@ -260,7 +260,7 @@ SUBROUTINE CLAQR0( WANTT, WANTZ, N, ILO, IHI, H, LDH, W, ILOZ,
260
260
* . CLAHQR because of insufficient subdiagonal scratch space.
261
261
* . (This is a hard limit.) ====
262
262
INTEGER NTINY
263
- PARAMETER ( NTINY = 11 )
263
+ PARAMETER ( NTINY = 15 )
264
264
*
265
265
* ==== Exceptional deflation windows: try to cure rare
266
266
* . slow convergence by varying the size of the
@@ -355,22 +355,22 @@ SUBROUTINE CLAQR0( WANTT, WANTZ, N, ILO, IHI, H, LDH, W, ILOZ,
355
355
END IF
356
356
*
357
357
* ==== NWR = recommended deflation window size. At this
358
- * . point, N .GT. NTINY = 11 , so there is enough
358
+ * . point, N .GT. NTINY = 15 , so there is enough
359
359
* . subdiagonal workspace for NWR.GE.2 as required.
360
360
* . (In fact, there is enough subdiagonal space for
361
- * . NWR.GE.3 .) ====
361
+ * . NWR.GE.4 .) ====
362
362
*
363
363
NWR = ILAENV( 13 , ' CLAQR0' , JBCMPZ, N, ILO, IHI, LWORK )
364
364
NWR = MAX ( 2 , NWR )
365
365
NWR = MIN ( IHI- ILO+1 , ( N-1 ) / 3 , NWR )
366
366
*
367
367
* ==== NSR = recommended number of simultaneous shifts.
368
- * . At this point N .GT. NTINY = 11 , so there is at
368
+ * . At this point N .GT. NTINY = 15 , so there is at
369
369
* . enough subdiagonal workspace for NSR to be even
370
370
* . and greater than or equal to two as required. ====
371
371
*
372
372
NSR = ILAENV( 15 , ' CLAQR0' , JBCMPZ, N, ILO, IHI, LWORK )
373
- NSR = MIN ( NSR, ( N+6 ) / 9 , IHI- ILO )
373
+ NSR = MIN ( NSR, ( N-3 ) / 6 , IHI- ILO )
374
374
NSR = MAX ( 2 , NSR- MOD ( NSR, 2 ) )
375
375
*
376
376
* ==== Estimate optimal workspace ====
@@ -418,7 +418,7 @@ SUBROUTINE CLAQR0( WANTT, WANTZ, N, ILO, IHI, H, LDH, W, ILOZ,
418
418
* ==== NSMAX = the Largest number of simultaneous shifts
419
419
* . for which there is sufficient workspace. ====
420
420
*
421
- NSMAX = MIN ( ( N+6 ) / 9 , 2 * LWORK / 3 )
421
+ NSMAX = MIN ( ( N-3 ) / 6 , 2 * LWORK / 3 )
422
422
NSMAX = NSMAX - MOD ( NSMAX, 2 )
423
423
*
424
424
* ==== NDFL: an iteration count restarted at deflation. ====
@@ -659,7 +659,7 @@ SUBROUTINE CLAQR0( WANTT, WANTZ, N, ILO, IHI, H, LDH, W, ILOZ,
659
659
* . (NVE-by-KDU) vertical work WV arrow along
660
660
* . the left-hand-edge. ====
661
661
*
662
- KDU = 3 * NS - 3
662
+ KDU = 2 * NS
663
663
KU = N - KDU + 1
664
664
KWH = KDU + 1
665
665
NHO = ( N- KDU+1-4 ) - ( KDU+1 ) + 1
0 commit comments