**** Correct bug 125 ****
Change the maximum number of QR iterations (ITMAX) for xLAHQR from ITMAX=30 to
ITMAX = 30 * MAX( 10, NH ).
Bug reported by Yoshihide Okimi on July 16, 2014
https://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4566
and, independently, by Marco Caliari (Università di Verona) on February 11,
2015.
Involved in bug fix: Yoshihide Okimi, Marco Caliari (Università di Verona),
Meiyue Shao (LBL), Julien Langou, and Daniel Kressner (EPFL).
** Bug **
xLAHQR v3.5 does not converge on some matrices while xLAHQR v2 converges
** Note **
xLAHQR v2 is available through ARPACK so xLAHQR v2 is still in "wide" use
** Description **
xLAQR0 v3.5 and xLAQR4 v3.5 have ITMAX set to:
ITMAX = MAX( 30, 2*KEXSH )*MAX( 10, ( IHI-ILO+1 ) )
xLAHQR v2 has ITMAX set to:
ITMAX = 30 * NH
xLAHQR v3.5 has ITMAX set to:
ITMAX = 30
Yoshihide Okimi reports that, in his application, (1) xLAHQR v3.5 does not
converge, (2) xLAHQR v2 converges, (3) changing ITMAX to 30*NH in xLAHQR v3.5
enables convergence.
Marco Caliari reports that, in his application, using xLAHQR v2.0 converges,
while xLAHQR v3.5 does not converge.
** Bug fix **
Set ITMAX in xLAHQR to
ITMAX = 30 * MAX( 10, NH )
Email from Meiyue: I feel that setting ITMAX proportional to NH makes sense.
Perhaps we can change ITMAX to ITMAX*MAX( 10, NH ) so that it is also safe for
ill-conditioned tiny matrices.