BUG FIX from lapack-3.2.2 to lapack-3.3 (*) improvement :: Replace the two xLAMCH with thread-safe ones (*) svn :: r772 o replace non-thread-safe slamch and dlamch subroutines with thread-safe variants relying on FORTRAN 90 INTRINSIC o contribution from Jason Riedy and Piotr Luszczek o committed by Julie Langou (SVN revision r772, on Fri, July 2 2010) (*) bug0060 :: Typo in TESTING/EIG/dchkee.f and TESTING/EIG/zchkee.f (*) svn :: r768 o bug report by Ake Sandgren (HPC2N, Umea University) on Thu July 1 2010 to "lapack@cs.utk.edu". o committed by Julie Langou (SVN revision r768, on Fri, July 2 2010) (*) bug0062 :: Array out-of-bounds reference in xLAQR5 (*) svn :: r787 o bug report and fix from Mathew Cross (NAG) on Sat Aug 14 2010 o see forum topic 1949 o In the section of the code "Special case: 2-by-2 reflection (if needed)" the logical test IF( BMP22 .AND. ( V( 1, M22 ).NE.ZERO ) ) must be split into a nested test IF (BMP22) THEN, IF (V(1,M22).NE.ZERO) THEN... If .NOT. BMP22 then M22 can exceed the second extent of V (and recall that logical expressions can be evaluated in any order in Fortran). o committed by Julien Langou (SVN revision r787, on Tue, Aug 17 2010) (*) bug0063 :: Division by 0 in *GESVJ & *GEVSJ with zero columns (*) svn :: r790 o bug report and fix from Bart Oldeman on Mon Aug 16 2010 o independent fix proposed by Zlatko Drmac on Tue Aug 24 2010 o see forum topic 1953 o The problem that was reported (with zero matrix) is caused by bad initialization to xLASSQ. It should be ZERO, ONE and not ZERO, ZERO. With ZERO, ZERO, xLASSQ does not touch those variables in case of zero vector, leaving scaling at ZERO, and in the nonzero case the scaling is between ONE and SQRT(N). So, in case of zero vector, division by a variable that is normally bigger than ONE causes division by zero. This is change (i) below. o committed by Julie Langou (SVN revision r790, on Wed, Aug 25 2010) o changes from Zlatko: i) In xgejsv.f and xgesvj.f input parameters SCALE and SUMSQ in xlassq.f are now initially set as SCALE = ZERO, SUMSQ=ONE. Setting them both to zero (without carefully reading xlassq.f) caused problems with exactly zero columns. ii) There was a problem in the branch that computes only SIGMA and U of a rank deficient matrix. The computed numerical rank (NR) was incorrectly written as N in parameter lists of the corresponding calls. iii) In xgsvj0.f, xgsvj1.f testing the input parameters is changed to prevent unnecessarily negative INFO in some situations. iv) Minor changes, renaming some variables etc. (*) bug0064 :: got a bug in divide and conquer (non convergence) (*) svn :: r813 o bug report by wdobler on November 12th 2007 and edrumwri (Evan) on October 10th 2010 o lapackers involved in the bug fix process: Julie Langou o bug fix by wdobler o see forum topic 529 o Increase MAXIT to 200 (was 20 before)