Release date: Mo 04/18/2011.
This material is based upon work supported by the National Science Foundation and the Department of Energy under Grant No. NSF-OCI-1032861 (2010-2013 est.), NSF-CCF-00444486 (2005-2008 est.), NSF-CNS-0325873 (2004-2009 est.), NSF-EIA-0122599 (2001-2004 est.), NSF-ACI-0090127, DOE-DE-FC02-01ER25478, DOE-DE-FC02-06ER25768.
LAPACK is a software package provided by Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd.
1. Support and questions:
2. LAPACK 3.3.1: What’s new
3. External Contributors
- 
Chuck Atkins and Brad King (Kitware, Inc)
 
4. Thanks
- 
Nadezhda Mozartova (Intel, USA)
 - 
Alexander Kobotov (Intel, USA)
 - 
John Tellefson (Salina, KS, USA)
 - 
Inge Gutheil (Juelich Supercomputing Centre, Germany)
 - 
Christof Voemel
 - 
Paul Roberts (NAG, UK)
 - 
Pat Quillen (Mathworks, USA)
 - 
Michael Chuvelev (Intel, USA)
 - 
Vasile Sima (National Institute for Research & Development in Informatics, Romania)
 - 
Clint Whaley (University of Texas at San Antonio, USA)
 - 
Allin Cottrell (Wake Forest University, USA)
 
- 
squartz
 - 
fabioaffinito
 - 
sarnath
 
5. Developer list
- 
Jim Demmel (University of California at Berkeley, USA)
 - 
Jack Dongarra (University of Tennessee and ORNL, USA)
 - 
Julien Langou (University of Colorado Denver, USA)
 
- 
Julie Langou (University of Tennessee, USA)
 - 
Rodney James (University of Colorado Denver, USA)
 
6. Improvment to the CMAKE build
- 
Added a FindBLAS module to easily search for and link against various optimized BLAS implementations
 - 
Added proper default compiler flags for various commercial Fortran compilers
 - 
Check for and disable SIGFPE handlers (LAPACK code handles these internally) on known compilers
 - 
Remove testing drivers and BLAS source from nightly code coverage to get a more accurate representation of the LAPACK code getting exercised
 - 
Suppress harmless warning messages for various platforms and compilers
 - 
Added 28 nightly builds (http://my.cdash.org/index.php?project=LAPACK)
 - 
Standardized binary output locations to play nicely when building Windows DLLs
 - 
Cleaned up CMake packaging to allow find_package(LAPACK) in applications
 - 
Added missing link dependencies for test libraries
 
7. Level-3 BLAS hermitian indefinite inversion: This enables better performance for CHETRI and ZHETRI.
Julie Langou
Level-3 BLAS hermitian indefinite inversion (CHETRI and ZHETRI). See Release 3.3.0 section 6.2 for more details
8. Bug Fix
bug0078 :: DBDSDC problem with orthogonality of U in certain cases
- 
bug report sent by duncanpo on April 4th 2011
 - 
see forum topic 2326
 - 
decreased EPS by a factor of 0.9 to correct problem with orthogonality of U in certain cases
 - 
corrected by Rodney on Tue April 7th 2011
 
bug0077 :: [DS]GESVD Minimum Worksize comments need clarification
- 
bug report sent by squartz on Sep 19th
 - 
see forum topic 2011
 - 
corrected by Julie on Tue April 5th 2011
 
bug0076 :: Problem in ?(sy/he)tri2 when nbmax greater than n
- 
bug report sent by nmozarto on Mar 4th
 - 
see forum topic 2223
 - 
corrected by Julie on Fri March 4th 2011
 
bug0075 :: not orhtogonal: eigenvectors of a symmetric matrix with DSYEV
- 
bug report sent by fabioaffinito on Feb 8th
 - 
see forum topic 2169
 - 
corrected by Rodney on Thu March 3rd 2011
 - 
The bug appears only when the matrix is diagonalized by using the upper half, and when the leading dimension n>200 approx.
 - 
User gave test program see: here
 - 
Come from change in version 3.2 [Release Notes]
 - 
related to 0035
 
bug0074 :: ?sysv and ?hesv
- 
bug report sent by Alexander Kobotov on Feb 8th
 - 
see forum topic 2168
 - 
corrected by Julie
 - 
In LAPACK 3.3 ?(SY/HE)SV are updated to use TRS2. The TRS2 requires WORK(N) to operate, whereas in SV requirements for LWORK just to be >=1. There is no any check in SV if LWORK>=N, the array WORK just passed as it is to TRS2. So if LWORK<N a crash could occur while executing TRS2 due to overuse of allocated workspace.
 - 
I guess for the case of LWORK<N just previsous Level2 based ?(SY/HE)TRS should be used.
 
bug0073 :: secondtst.f and dsecnd.f
- 
bug report sent by John Tellefson on Feb 7th
 - 
email sent to lapack mailing list, user provided fix.
 - 
corrected by Julie
 - 
We went ahead and remove the dummy subroutine in those timing for the last LAPACK version because we did not find a machine or compiler that still had the problem. I guess we were too optimistic.
 - 
also committed the "cosmetic" modifications suggested by user as they make the program easier to modify.
 
bug0072 :: cchkhs.f and zchkhs.f
- 
bug report sent by Inge Gutheil on Feb 3rd
 - 
email sent to lapack mailing list, user provided fix.
 - 
corrected by Julie
 - 
Add IF statement to prevent calculation if N=0
 
bug0071 :: slarre and dlarre
- 
bug report sent by Christof Voemel on Jan 31th
 - 
email sent directly to Julie and Julien, Christof provided fix.
 - 
corrected by Julien
 - 
Add a line to prevent TAU from becoming zero
 
bug0070 :: IWORK dimension is incorrect
- 
bug report sent by nmozarto on Jan 27th
 - 
see forum topic 2156
 - 
confirmed by Julie and corrected by Brian Sutton
 - 
The correct dimension is (M-R), in which R is the smallest of P, M-P, Q, and M-Q.
 - 
An M-by-M matrix is partitioned into a 2-by-2 block structure. The
 - 
dimensions of the blocks are P-by-Q, P-by-(M-Q), (M-P)-by-Q, and
 - 
(M-P)-by-(M-Q). IWORK is involved in the permutation of rows or
 - 
columns of these blocks, and it is the largest block, in terms of
 - 
number of rows or columns, that determines the size of IWORK.
 
bug0069 :: sytri2x is writing on other part of A
- 
bug report sent by nmozarto on Jan 27th
 - 
see forum topic 2156
 - 
confirmed by Julie and corrected by Julie
 
bug0068 :: Need to add LDA in *sytrs2
- 
bug report sent by nmozarto on Jan 27th
 - 
see forum topic 2157
 - 
confirmed by Julie and corrected by Julie
 
bug0067 :: Need to add LDA in *syswapr
- 
bug report sent by nmozarto on Jan 24th
 - 
see forum topic 2150
 - 
confirmed by Julie and corrected by Julien
 - 
Need to add LDA in *syswapr routines and update testing to test having LDA
 
bug0066 :: bugs in {s,d}gejsv
- 
bug report sent by Paul Roberts on Oct 21st
 - 
reported to Zlatko Drmac and corrected by Zlatko Drmac
 
bug0036 :: scaling in xSTEQR, xSTERF
- 
bug report sent by Pat Quillen on Fri 24 Jul 2009 to "lapack@cs.utk.edu". "Scaling in xSTEQR, xSTERF"
 - 
Correction: "changed matrix norm to M (max) from I (inf) for scaling of input matrix
 - 
and added check for zero norm in xSTERF (the xSTEQR already had this check)"
 - 
confirmed by Rodney and corrected by Rodney
 
bug0035 :: dlarfb.f and likes
- 
bug report sent by Michael Chuvelev (Intel) on Tue 21 Jul 2009 to "lapack@cs.utk.edu". "Bug in LAPACK 3.2 dlarfb.f and likes"
 - 
see Michael Chuvelev and Julie’s emails, q.dat, tau.dat, and test_dorgql.f
 - 
confirmed by Rodney on Tue Feb 22 2011
 - 
corrected by Rodney on Thu March 3rd 2011
 
bug0034 :: comments in SSPTRF not correct
- 
clarification asked by "sarnath" on Thu Jul 02 2009
 - 
confirmation of bug by "sarnath" and Julien Langou on Fri Jul 03 2009
 - 
The statement "JMAX is the column-index of the largest off-diagonal element in row IMAX" is not correct
 - 
see forum topic 1553
 
bug0027 :: misleading comment in the header of DGHEQZ, the 2x2 block of the real Schur form are not as claimed
- 
reported by Vasile Sima on Tue Jan 27 2009
 - 
see: email from Vasile
 - 
more information: more specifically Vasile is reporting that the comments:
 
*          [...] H contains the upper quasi-triangular
*          matrix S from the generalized Schur factorization;
*          2-by-2 diagonal blocks (corresponding to complex conjugate
*          pairs of eigenvalues) are returned in standard form, with
*          H(i,i) = H(i+1,i+1) and H(i+1,i)*H(i,i+1) < 0.
are not correct
- 
confirmed by Rodney and corrected by Rodney
 
bug0024 :: the notation A' is confusing for complex matrices. Does A' stand for A transpose of A Hermitian transpose?
- 
reported by Clint Whaley early July 2009
 - 
LAPACK is not consistent in it use of the notation for transpose and Hermitian transpose.
 - 
The use of LAPACK A' is not consistent with the BLAS useage.
 - 
We note that the Matlab/Scilab/Octave convention is A' stands for "conjugate transpose" and A.' stands for "transpose".
 - 
In the Z routines, LAPACK uses the notation A' 669 times, it means "conjugate transpose" most of the time but it means "transpose" a few times (maybe 10 times max, for BLAS-like routines). The notation A*H, A*T, A*N is used 549 times, The notation AT, AN, A^H 19 times. (This is just for the Z routines.)
 - 
see Julien’s emails
 - 
vote on the lapackers mailing list: A*T (or AT) and A*H (or AH): Clint Whaley, Jim Demmel, Sven Hammarling, Antoine Petitet, Daniel Kressner A' (for A*H) and A.' for (A*T): Julien Langou (I love to be that supported by the lapackers!)
 - 
corrected by Julie
 
bug0022 :: workspace query bug with DGEJSV (when only left or right singular vectors desired)
- 
reported by Allin Cottrell on Tue Jan 15 2009
 - 
confirmed by Julien Langou on Fri Jan 30 2009
 - 
see forum topic 866
 - 
all information sent to Zlatko Drmac
 - 
Corrected by Zlatko Drmac