by Julien Langou » Fri Mar 09, 2012 11:16 am
Hi Callen,
Thanks a lot for going through the hassle of finding which LAPACK routines needed to be 2.0 and which could be 3.x.
So you downed it to one file: xLAHQR. (Or four depends on how you count: s,d,c,z.) Great. Thanks! And a quick fix
as you suggest is to rename xLAHQR-2.0 as xLAHQR20 (say), add xLAHQR20 in the ARPACK package, and make sure
ARPACK calls xLAHQR20 (as opposed to xLAHR). Easy enough and actually that's a pretty good fix.
As you mentioned, there were some changes made from 3.0 to 3.1 in xLAHQR, the changes are pretty major and basically
the algorithm in 3.1 is way better than the one in 3.0. The changes came from late Ralf Byers. It incorporates (1) small
bulge multi-shift QR algorithm (2) together with aggressive early deflation. However there was no change in interface.
The algorithm is simply faster but should not alter the semantic of the interface.
It would be nice if ARPACK could use the new xLAHQR so we will look into that. I am in contact with a former ARPACK
developer so we plan on working on this. I think ARPACK is using some "hidden" features of xLAHQR-2.0 which are not in
xLAHQR-3.0. By "hidden features" I mean properties which were respected by the the 2.0 subroutine but were not part of
the interface per se. So the change from 2.0 to 3.0 was legit. But this broke the ARPACK compatibility. It might get tricky,
but we would like to fix this. It would be nicer to be able to use the xLAHQR-3.1 from ARPACK.
Cheers,
Julien.