RELEASE_NOTES webpage for LAPACK 3.0

NOTE: this is for LAPACK 3.0 -- LAPACK 3.2 is available and includes all the following patches


LAPACK test suite failure when linking with ATLAS: The LAPACK test suite assumes that diagonal elements are not inverted, and then tests only the 'Left' case of xTRSM, since the 'Right' case of the reference implementation of xTRSM inverts the diagonal elements. In the implementation of xTRSM in ATLAS, inversion is used for both cases. Thus, the LAPACK test suite (./xlintsts < stest.in ) will fail when linking with ATLAS. The LAPACK test suite needs to be modified to allow for the inversion of diagonal elements, as ATLAS's implementation of xTRSM is valid.

Errata in LAPACK, version 3.0

UPDATED: October 4, 2002

The following bug fixes have NOT yet been incorporated in a release/update of LAPACK.

DIRECTORY/ROUTINE DATE POSTED (M/D/Y) DESCRIPTION OF CHANGE
LAPACK/BLAS/TESTING/sblat2.f 10/9/2000 Changed STATUS='NEW' to 'UNKNOWN'
LAPACK/BLAS/TESTING/dblat2.f
LAPACK/BLAS/TESTING/cblat2.f
LAPACK/BLAS/TESTING/zblat2.f
LAPACK/BLAS/TESTING/sblat3.f 10/9/2000 Changed STATUS='NEW' to 'UNKNOWN'
LAPACK/BLAS/TESTING/dblat3.f
LAPACK/BLAS/TESTING/cblat3.f
LAPACK/BLAS/TESTING/zblat3.f
LAPACK/INSTALL/make.inc.LINUX 3/29/2001 Removal of -fno-f2c from compiler flags!
LAPACK/SRC/sbdsqr.f 4/25/2001 Documentation improvement
LAPACK/SRC/dbdsqr.f
LAPACK/SRC/cbdsqr.f
LAPACK/SRC/zbdsqr.f
LAPACK/SRC/sgebd2.f 5/7/2001 Fix to avoid zero-size array reference in call to xLARF on lines 174 and 212
LAPACK/SRC/dgebd2.f
LAPACK/SRC/cgebd2.f
LAPACK/SRC/zgebd2.f
LAPACK/SRC/sgees.f 10/5/2000 Corrected error with LQUERY and setting of WORK(1)
LAPACK/SRC/dgees.f
LAPACK/SRC/cgees.f
LAPACK/SRC/zgees.f
LAPACK/SRC/sgeesx.f 10/5/2000 Added workspace calculation (upper bound)
LAPACK/SRC/dgeesx.f
LAPACK/SRC/cgeesx.f
LAPACK/SRC/zgeesx.f
LAPACK/SRC/sgeev.f 10/5/2000 Corrected error with LQUERY and setting of WORK(1)
LAPACK/SRC/dgeev.f
LAPACK/SRC/cgeev.f
LAPACK/SRC/zgeev.f
LAPACK/SRC/sgeevx.f 10/5/2000 Corrected error with LQUERY and setting of WORK(1)
LAPACK/SRC/dgeevx.f
LAPACK/SRC/cgeevx.f
LAPACK/SRC/zgeevx.f
LAPACK/SRC/sgegs.f 4/26/2001 Documentation improvement
LAPACK/SRC/dgegs.f
LAPACK/SRC/cgegs.f
LAPACK/SRC/zgegs.f
LAPACK/SRC/sgegv.f 4/26/2001 Documentation improvement
LAPACK/SRC/dgegv.f
LAPACK/SRC/cgegv.f
LAPACK/SRC/zgegv.f
LAPACK/SRC/sgelsd.f 10/5/2000 Corrected error with LQUERY and setting of WORK(1)
LAPACK/SRC/dgelsd.f
LAPACK/SRC/cgelsd.f
LAPACK/SRC/zgelsd.f
LAPACK/SRC/sgelss.f 4/25/2001 Corrected error with LQUERY and setting of WORK(1), and bug in DO 40 loop
LAPACK/SRC/dgelss.f
LAPACK/SRC/cgelss.f
LAPACK/SRC/zgelss.f
LAPACK/SRC/sgesdd.f 10/5/2000 Corrected error with LQUERY and setting of WORK(1)
LAPACK/SRC/dgesdd.f
LAPACK/SRC/cgesdd.f
LAPACK/SRC/zgesdd.f
LAPACK/SRC/sgesvd.f 10/5/2000 Corrected error with LQUERY and setting of WORK(1)
LAPACK/SRC/dgesvd.f
LAPACK/SRC/cgesvd.f
LAPACK/SRC/zgesvd.f
LAPACK/SRC/sggbak.f 2/1/2001 Corrected incorrect error exit when N=0, ILO=1, IHI=0
LAPACK/SRC/dggbak.f
LAPACK/SRC/cggbak.f
LAPACK/SRC/zggbak.f
LAPACK/SRC/sggbal.f 4/12/2001 Corrected incorrect error exit for LDB and LDA->LDB in call to IxAMAX on line 427(474)
LAPACK/SRC/dggbal.f
LAPACK/SRC/cggbal.f
LAPACK/SRC/zggbal.f
LAPACK/SRC/sgges.f 10/5/2000 Corrected error with LQUERY and setting of WORK(1)
LAPACK/SRC/dgges.f
LAPACK/SRC/cgges.f
LAPACK/SRC/zgges.f
LAPACK/SRC/sggesx.f 10/5/2000 Added workspace calculation (upper bound)
LAPACK/SRC/dggesx.f
LAPACK/SRC/cggesx.f
LAPACK/SRC/zggesx.f
LAPACK/SRC/sggev.f 10/5/2000 Corrected error with LQUERY and setting of WORK(1)
LAPACK/SRC/dggev.f
LAPACK/SRC/cggev.f
LAPACK/SRC/zggev.f
LAPACK/SRC/sggevx.f 10/5/2000 Corrected error with LQUERY and setting of WORK(1)
LAPACK/SRC/dggevx.f
LAPACK/SRC/cggevx.f
LAPACK/SRC/zggevx.f
LAPACK/SRC/sgghrd.f 4/26/2001 Documentation improvement
LAPACK/SRC/dgghrd.f
LAPACK/SRC/cgghrd.f
LAPACK/SRC/zgghrd.f
LAPACK/SRC/shgeqz.f 5/3/2001 Documentation improvement
LAPACK/SRC/dhgeqz.f
LAPACK/SRC/chgeqz.f
LAPACK/SRC/zhgeqz.f
LAPACK/SRC/slasr.f 5/3/2001 Documentation improvement
LAPACK/SRC/dlasr.f
LAPACK/SRC/clasr.f
LAPACK/SRC/zlasr.f
LAPACK/SRC/ssbgst.f 1/9/2001 Corrected error in input error-checking
LAPACK/SRC/dsbgst.f
LAPACK/SRC/chbgst.f
LAPACK/SRC/zhbgst.f
LAPACK/SRC/sstebz.f 10/5/2000 Changed FUDGE factor from 2.0 to 2.1 (for the T3E)
LAPACK/SRC/dstebz.f
LAPACK/SRC/stgevc.f 5/3/2001 Removed erroneous HOWMNY='T' in input error-checking and documentation improvement
LAPACK/SRC/dtgevc.f
LAPACK/SRC/ctgevc.f
LAPACK/SRC/ztgevc.f
LAPACK/SRC/strevc.f 5/7/2001 Documentation improvement
LAPACK/SRC/dtrevc.f
LAPACK/SRC/ctrevc.f
LAPACK/SRC/ztrevc.f
LAPACK/SRC/strsen.f 1/3/2001 Corrected error in documentation with LQUERY
LAPACK/SRC/dtrsen.f
LAPACK/SRC/ctrsen.f
LAPACK/SRC/ztrsen.f
LAPACK/SRC/strsna.f 10/26/2001 Corrected documentation error in size of WORK and IWORK
LAPACK/SRC/dtrsna.f
LAPACK/SRC/ctrsna.f
LAPACK/SRC/ztrsna.f
LAPACK/SRC/ctrsyl.f 1/9/2001 Corrected error in input error-checking
LAPACK/SRC/ztrsyl.f
LAPACK/TESTING/LIN/serrqp.f 10/6/2000 Avoid LDA=0 to test input error checking
LAPACK/TESTING/LIN/derrqp.f
LAPACK/TESTING/LIN/cerrqp.f
LAPACK/TESTING/LIN/zerrqp.f
LAPACK/TESTING/LIN/cchkhe.f 7/6/2001 Removal of line 386 (XTYPE='C')
LAPACK/TESTING/LIN/zchkhe.f
LAPACK/TESTING/EIG/serrgg.f 10/9/2000 Avoid LDA=LDB=LDU=LDV=LDQ=0 to test input error checking
LAPACK/TESTING/EIG/derrgg.f
LAPACK/TESTING/EIG/cerrgg.f
LAPACK/TESTING/EIG/zerrgg.f
LAPACK/TIMING/Makefile 10/9/2000 Added ./ for running executables
LAPACK/TIMING/EIG/EIGSRC/sbdsqr.f 4/25/2001 Documentation improvement
LAPACK/TIMING/EIG/EIGSRC/dbdsqr.f
LAPACK/TIMING/EIG/EIGSRC/cbdsqr.f
LAPACK/TIMING/EIG/EIGSRC/zbdsqr.f
LAPACK/TIMING/EIG/EIGSRC/sgghrd.f 4/26/2001 Documentation improvement
LAPACK/TIMING/EIG/EIGSRC/dgghrd.f
LAPACK/TIMING/EIG/EIGSRC/cgghrd.f
LAPACK/TIMING/EIG/EIGSRC/zgghrd.f
LAPACK/TIMING/EIG/EIGSRC/shgeqz.f 5/3/2001 Documentation improvement
LAPACK/TIMING/EIG/EIGSRC/dhgeqz.f
LAPACK/TIMING/EIG/EIGSRC/chgeqz.f
LAPACK/TIMING/EIG/EIGSRC/zhgeqz.f
LAPACK/TIMING/EIG/EIGSRC/stgevc.f 5/3/2001 Removed erroneous HOWMNY='T' in input error-checking and documentation improvement
LAPACK/TIMING/EIG/EIGSRC/dtgevc.f
LAPACK/TIMING/EIG/EIGSRC/ctgevc.f
LAPACK/TIMING/EIG/EIGSRC/ztgevc.f
LAPACK/TIMING/EIG/EIGSRC/strevc.f 5/7/2001 Documentation improvement
LAPACK/TIMING/EIG/EIGSRC/dtrevc.f
LAPACK/TIMING/EIG/EIGSRC/ctrevc.f
LAPACK/TIMING/EIG/EIGSRC/ztrevc.f
LAPACK/TIMING/LIN/LINSRC/sgelsd.f 10/4/2002 Inserted missing instrumentation code, and corrected declaration of WLALSD
LAPACK/TIMING/LIN/LINSRC/dgelsd.f
LAPACK/TIMING/LIN/LINSRC/cgelsd.f
LAPACK/TIMING/LIN/LINSRC/zgelsd.f
LAPACK/TIMING/LIN/LINSRC/sgelss.f 4/25/2001 Corrected error with LQUERY and setting of WORK(1), and bug in DO 40 loop
LAPACK/TIMING/LIN/LINSRC/dgelss.f
LAPACK/TIMING/LIN/LINSRC/cgelss.f
LAPACK/TIMING/LIN/LINSRC/zgelss.f


Details of existing software updates

UPDATES (Version 3.0) October 31, 1999 and May 31, 2000

The modifications listed below are included in the file: http://www.netlib.org/lapack/update.tgz as well as the http://www.netlib.org/lapack/lapack.tgz.

Note: Unless otherwise stated, changes to single precision routines (names beginning with S or C) apply also to the corresponding double precision routines (names beginning with D and Z).

To view/download individual updated files from this list, please consult the individual files on netlib.
http://www.netlib.org/lapack/single
http://www.netlib.org/lapack/double
http://www.netlib.org/lapack/complex
http://www.netlib.org/lapack/complex16

 
 -------------  -------    --------------------------
 DIRECTORY      ROUTINE    DESCRIPTION OF CHANGE
 -------------  -------    --------------------------
 LAPACK/        Makefile   Added ./ for executables

 LAPACK/
 BLAS/TESTING/  cblat3.f   Missing CMPLX intrinsic in assignment statement
                           Lines 1995-1996
                           ALPHA = ( ONE, -ONE )
                           BETA = ( TWO, -TWO )
                           should be 
                           ALPHA = CMPLX( ONE, -ONE )
                           BETA = CMPLX( TWO, -TWO )
 SRC/
               Makefile    Move slarrb.o, slarre.o, and slarrf.o to SCLAUX
                           Move dlarrb.o, dlarre.o, and dlarrf.o to DZLAUX

               cheevr.f    Line 310 should instead be
                           RWORK(1) = LRWMIN

               chetd2.f    Error in zero'ing of imaginary parts of diagonal
                           elements
                                            
               chbgvd.f    Incorrect workspace calculation for LLWK2 and
                           LLRWK when N=1. 

               chpgvd.f    Missing LQUERY return

               cstegr.f    Replace SSTEGR->CSTEGR in call to XERBLA

               sbdsdc.f    Workspace correction
                           Line 113, 2*N --> 4*N
                           Documentation correction IWORK dimension

               sbdsqr.f/   Workspace correction
               cbdsqr.f    Line 99, 2*N --> 4*N

               sgeev.f     Corrected error with LQUERY and WORK(1)

               sgelsd.f/   Leading comment correction for A and LWORK and
               cgelsd.f    workspace correction
 
               sgelss.f/   Workspace correction
                          Line 178, 5*N-4 --> 5*N
                          Line 194, 5*M-4 --> 5*M
               cgelss.f    Workspace correction
                          Line 95, 5*MIN(M,N)-1 --> 5*MIN(M,N)
                          Line 174, 5*N-1 --> 5*N
                          Line 204, 5*M-1 --> 5*M
                          Line 224, 5*M-1 --> 5*M

               sgesdd.f/  Possible MAXWRK uninitialized and
               cgesdd.f   and LWORK=-1 query insertion

               sgesvd.f/  Workspace correction in comments
                          Line 118, 5*MIN(M,N)-4 --> 5*MIN(M,N)
                          Line 217, MAX(3*N,5*N-4) --> 5*N
                          Line 390, MAX(3*M,5*M-4) --> 5*M
               cgesvd.f   Workspace correction in comments
                          Line 123, MAX(3*MIN(M,N),5*MIN(M,N)-4) --> 5*MIN(M,N)
                          Line 224, MAX(3*N,5*N-4) --> 5*N
                          Line 386, MAX(3*M,5*M-4) --> 5*M

               sgtsv.f    Leading comment correction for B

               slaed2.f   Error in routine name passed to XERBLA

               slaed4.f   Corrected error in rootfinding

               slals0.f/  Out-of-range array reference
               clals0.f

               slalsd.f/  Leading comment correction for LWORK and a
               clalsd.f   call to SLASRT was added

               slarzb.f/  Out-of-range array reference
               clarzb.f

               slasd2.f   Fix out-of-range memory reference when N=0

               slasd3.f   Fix out-of-range memory reference when N=0

               slasd4.f   Cray compiler workaround on lines 596-597 and 607-608

               slasda.f   Leading comment correction for size of WORK

               slasdq.f   Workspace correction
                          Line 115, max(1,4*N-4) --> 4*N
                          and incorrect routine name passed to XERBLA

               slasq1.f   Workspace correction
                          Line 53, 2*N --> 4*N
                          and modifications for IEEE

               slasq2.f   Fix out-of-range error for N=1 and modifications
                          for IEEE

               slasq3.f   Modifications for IEEE and index correction
                          I0-->N0 on line 193

               slasq4.f   Modifications for IEEE
               slasq5.f   Modifications for IEEE
               slasq6.f   Modifications for IEEE 

               sormrz.f   Missing LQUERY return

               spteqr.f/  Workspace correction
               cpteqr.f   Line 78, 2*N --> 4*N

               sstevr.f   Documentation correction and call to SSTEGR

               ssyevr.f/  Documentation correction and call to SSTEGR
               cheevr.f

 TESTING/
               Makefile   Added ./ for executables

               sgd.in/    Fixed NSIZE line for xGX
               cgd.in     Replace line 18 with
                   5              Largest matrix dimension (0 <= NSIZE <= 5)

 TESTING/MATGEN/
               slatm6.f   Modification for SGESVD workspace change

 TESTING/LIN/
               schkgb.f/  Missing integer item in 9996 FORMAT statement
               cchkgb.f

               schkge.f/  Correction to FORMAT statements
               cchkge.f

               schkpb.f/  Removal of XTYPE='C' line
               cchkpb.f

               schkpo.f/  Removal of XTYPE='C' line
               cchkpo.f

               schkpp.f/  Removal of XTYPE='C' line
               cchkpp.f

               schksp.f/  Removal of XTYPE='C' line
               cchksp.f

               schksy.f/  Removal of XTYPE='C' line
               cchksy.f

               schktb.f/  Correction to FORMAT statements
               cchktb.f

               schktp.f/  Correction to FORMAT statements
               cchktp.f

               schktr.f/  Correction to FORMAT 9999 and 9998 statements
               cchktr.f

               sdrvls.f/  Correction to argument passed to INTRINSIC and
               cdrvls.f   remove a call to SLASRT in TEST 15;
                          Correction to leading comments (IWORK) 

 TESTING/EIG/
               schkhs.f   Fixed out-of-range error for N=0

               sdrgsx.f/  BDSPAC correction for xGESVD workspace and
               cdrgsx.f   initialize IFUNC = 0

               sdrvbd.f/  IWTMP correction for xGESVD workspace
               cdrvbd.f
        
               sdrvst.f/  Out-of-range array reference.
               cdrvst.f

               cerrbd.f   Correction to summary line
    
               serred.f/  Correction to summary line
               cerred.f

 TIMING/
               Makefile    Erroneous sgeptim.in instead of SGEPTIM.in on
                           line 253

 TIMING/LIN/
               stimls.f/   Correction to size of LWORK for xGELSD
               ctimls.f

               stimq3.f/   Correction Q3->QP before ATIMIN call
               ctimq3.f

 TIMING/LIN/LINSRC/
               sgelsd.f/   Same correction as in SRC
               cgelsd.f

               sgelss.f/   Same correction as in SRC
               cgelss.f

               slals0.f/   Same correction as in SRC
               clals0.f

               slalsd.f/   Same correction as in SRC
               clalsd.f

 TIMING/EIG/
               stim22.f/   Disable timing of SSTEGR if non-IEEE-754 compliant
               ctim22.f

 TIMING/EIG/EIGSRC/
               sbdsdc.f    Same correction as in SRC

               sbdsqr.f/   Same correction as in SRC
               cbdsqr.f

               sgesdd.f/   Same correction as in SRC
               cgesdd.f

               slaed2.f    Same correction as in SRC

               slasd2.f    Same correction as in SRC
               slasd3.f    Same correction as in SRC
               slasd4.f    Same correction as in SRC

               slasdq.f    Same correction as in SRC

               slasq1.f    Same correction as in SRC
               slasq2.f    Same correction as in SRC
               slasq3.f    Same correction as in SRC
               slasq4.f    Same correction as in SRC
               slasq5.f    Same correction as in SRC
               slasq6.f    Same correction as in SRC

               spteqr.f/   Same correction as in SRC
               cpteqr.f