platform/upstream/lapack.git
13 years agoFix bug 0072 reported by Inge Gutheil on February 3rd 2011
julie [Thu, 3 Feb 2011 18:28:38 +0000 (18:28 +0000)]
Fix bug 0072 reported by Inge Gutheil on February 3rd 2011

From Inge:
In the tests,
TESTING/EIG/cchkhs.f (similar in zchkhs.f) in line 492 N = NN ( JSIZE )
is set. If NN( JSIZE ) is zero, CCOPY (N-1,....) gives an error message
and the test breaks. In the real versions dchkhs after N = NN ( JSIZE )
there is
IF ( N .EQ. 0 ) GO TO 270, so there DCOPY does not exit with an error
message.
I think the same statement should be added in the complex version to
avoid copying -1 element.

13 years agoChange from Christof (Voemel) sent on Mon, 31 Jan 2011.
langou [Mon, 31 Jan 2011 18:27:33 +0000 (18:27 +0000)]
Change from Christof (Voemel) sent on Mon, 31 Jan 2011.

*********************************************************************
change
         IF( USEDQD ) THEN
*           The initial SIGMA was to the outer end of the spectrum
*           the matrix is definite and we need not retreat.
            TAU = SPDIAM*EPS*N + TWO*PIVMIN
         ELSE
into
         IF( USEDQD ) THEN
*           The initial SIGMA was to the outer end of the spectrum
*           the matrix is definite and we need not retreat.
            TAU = SPDIAM*EPS*N + TWO*PIVMIN
            TAU = MAX( TAU,TWO*EPS*ABS(SIGMA) )
         ELSE

that is, with an added line to prevent TAU from becoming zero
            TAU = MAX( TAU,TWO*EPS*ABS(SIGMA) )
*********************************************************************

Thanks Christof!

13 years agoFix bug0070 : IWORK dimension is incorrect
julie [Mon, 31 Jan 2011 16:14:51 +0000 (16:14 +0000)]
Fix bug0070 :  IWORK dimension is incorrect
  bug report sent by nmozarto on Jan 27th
  see forum topic 2156

From Brian:
 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.

13 years agoCorrect bug0069
julie [Fri, 28 Jan 2011 23:04:40 +0000 (23:04 +0000)]
Correct bug0069
Bug was sent by nmozarto on Jan 27th (see forum topic 2156)

Problem in new function ?SYTRI2 was found: the part of A below the diagonal is changed in the case UPLO='U' .
But in the description of arguments
If UPLO = 'U', the upper triangular part of the
inverse is formed and the part of A below the diagonal is not
referenced; if UPLO = 'L' the lower triangular part of the
inverse is formed and the part of A above the diagonal is
not referenced.

These elements zeroized after calling ?GEMM function in ?SYTRI2X.
CALL SGEMM('T','N',NNB,NNB,CUT,ONE,A(1,CUT+1),LDA,
$ WORK,N+NB+1, ZERO, A(CUT+1,CUT+1), LDA)

13 years agoSame for hetrs2 routines
julie [Thu, 27 Jan 2011 14:25:04 +0000 (14:25 +0000)]
Same for hetrs2 routines

13 years agoFollow-up: fix for new routines to handle LDA
julie [Thu, 27 Jan 2011 14:21:35 +0000 (14:21 +0000)]
Follow-up: fix for new routines to handle LDA
See bug0067

13 years ago1) Je viens de modifier le fichier timer_dsytri2.c de telle sorte a ce qu'il
langou [Wed, 26 Jan 2011 14:02:05 +0000 (14:02 +0000)]
1) Je viens de modifier le fichier timer_dsytri2.c de telle sorte a ce qu'il
traite les matrices avec des lda.
Exemple:

> gfortran timer_dsytri2.c /Users/langou/Documents/lapack-dev-trunk.svn/lapack_LINUX.a -framework vecLib
> ./a.out -U -lda 1079 -n 100
DSYTRI2 info=0, check=1.891597e-14
Dispo dans ldlt.git. Marche bien. Upper ou Lower. LDA different de N ou pas. Le
check est
|| A . inv(A) - I || / || A ||
(Je pense que il faut diviser par || A || * || inv(A) ||, pas tres important.)

2) Du coup, dans ce commit, je rectifie tous les codes. Cela compile. Je n'ai
pas verifie les testings. Je n'ai pas ecrit de driver pour verifier. (Le driver
n'est que pour la version DOUBLE.)

JL

13 years agobon maintenant, ca compile ... (desole)
langou [Wed, 26 Jan 2011 05:49:27 +0000 (05:49 +0000)]
bon maintenant, ca compile ... (desole)

13 years agoJ'ai lu le code vite fait. Comme ca, ca devrait marcher. Je n'ai pas verifie.
langou [Wed, 26 Jan 2011 05:47:42 +0000 (05:47 +0000)]
J'ai lu le code vite fait. Comme ca, ca devrait marcher. Je n'ai pas verifie.
Je n'ai meme pas essaye de compiler en fait. En gros mettre LDA en parametre,
definir A comme etant A( LDA, N ) et pour l'increment du swap mettre LDA a la
place de N quand tu travailles sur les lignes. Donc c'est tout con.

Donc il faut ecrire un driver qui teste ca avec une LDA differente de N ... Et
appliquer les modifications aux autres routines CHE, CSY, ZHE, ZSY et SSY.

Sinon pourquoi dans DSYSWAPR, est ce que tu utilises DSWAP de temps en temps,
et de temps en temps tu le fais a la main?  Je n'ai pas regarde les details.

JL.

13 years agoInclude Zlatko changes following Paul Roberts from NAG report
julie [Tue, 25 Jan 2011 22:02:14 +0000 (22:02 +0000)]
Include Zlatko changes following Paul Roberts from NAG report

Message from Zlatko:

The following changes are made in the
current version of the code:

1. in dgejsv, sgejsv:

- a typo in checking the parameters LSVEC.OR.LSVEC
  has been changed to LSVEC.OR.RSVEC
- the length of WORK, LWORK, its description
  and the minimal length for different JOBs
  have been revised and corrected
- in a call to xGESVJ with WORK(N+1), the length
  of the workspace is set to the correct value of
  LWORK-N, instead of the incorrect LWORK
- a missing RETURN after a call to XERBLA
  has been inserted
- In the case of zero matrix on input, IWORK(3)
  is set to ZERO, to correspond to the description
  of IWORK in other nontrivial cases
2. in all routines
- simple editing so that the single and
  the corresponding double routines have matching
  lines in the source codes.

13 years agoCorrect multiple definition in the lapack lib (See forum topic 2099 - Bruno)
julie [Mon, 24 Jan 2011 20:05:41 +0000 (20:05 +0000)]
Correct multiple definition in the lapack lib (See forum topic 2099 - Bruno)

13 years agoAdding new hetri routines
julie [Thu, 20 Jan 2011 17:33:46 +0000 (17:33 +0000)]
Adding new hetri routines

13 years agoRemove the last compiler directive
julie [Thu, 13 Jan 2011 12:05:18 +0000 (12:05 +0000)]
Remove the last compiler directive

13 years agoRemove outdated compiler directives
julie [Wed, 12 Jan 2011 17:34:06 +0000 (17:34 +0000)]
Remove outdated compiler directives

13 years agoSuppress warning because of undefined variable
julie [Tue, 11 Jan 2011 14:10:14 +0000 (14:10 +0000)]
Suppress warning because of undefined variable

13 years agoSuppress a warning from SUN compilers when building exclusively for your native
julie [Sun, 9 Jan 2011 19:30:36 +0000 (19:30 +0000)]
Suppress a warning from SUN compilers when building exclusively for your native
platform.

- Chuck Atkins (Kitware)

13 years agoSuppress harmless linker warnings on IRIX + MIPSpro
julie [Sat, 8 Jan 2011 16:13:32 +0000 (16:13 +0000)]
Suppress harmless linker warnings on IRIX + MIPSpro

- Chuck Atkins (Kitware)

13 years agoRemoved output truncation on ctest submissions.
julie [Wed, 5 Jan 2011 03:28:27 +0000 (03:28 +0000)]
Removed output truncation on ctest submissions.

- Chuck Atkins (Kitware)

13 years agoFix object needed for targets in CMAKE build
julie [Tue, 4 Jan 2011 20:03:34 +0000 (20:03 +0000)]
Fix object needed for targets in CMAKE build

13 years agominor fix following compiler warnings: remove unused variable and change digit output...
julie [Tue, 4 Jan 2011 19:59:16 +0000 (19:59 +0000)]
minor fix following compiler warnings: remove unused variable and change digit output format

13 years agominor fix: add comment to warn that vector and matrix arguments are not referenced...
julie [Tue, 4 Jan 2011 19:58:09 +0000 (19:58 +0000)]
minor fix: add comment to warn that vector and matrix arguments are not referenced when N = 0, or M = 0

13 years agoRe-worked the type size check to be much more compact
julie [Fri, 31 Dec 2010 01:33:24 +0000 (01:33 +0000)]
Re-worked the type size check to be much more compact

- Chuck Atkins (Kitware)

13 years agoAdded acml_mv to the ACML link libraries
julie [Thu, 30 Dec 2010 23:11:32 +0000 (23:11 +0000)]
Added acml_mv to the ACML link libraries

- Chuck Atkins (Kitware)

13 years ago1. Adjusted regex checks in CheckLAPACKCompilerFlags.cmake to be more compact
julie [Thu, 30 Dec 2010 22:14:10 +0000 (22:14 +0000)]
1.  Adjusted regex checks in CheckLAPACKCompilerFlags.cmake to be more compact
2.  Added CheckFortranIntSize.cmake to auto-determine the default integer size
3.  Added more auto-detection features using integer size and compiler checks in FindBLAS.cmake

- Chuck Atkins (Kitware)

14 years agoDisplay the test's output to stdout after a run so it can be viewed on the dashboard.
julie [Fri, 24 Dec 2010 21:38:46 +0000 (21:38 +0000)]
Display the test's output to stdout after a run so it can be viewed on the dashboard.

- Chuck Atkins (Kitware)

14 years ago1. Fixed a typo in FindBLAS for SGI (SCCL should have been SCSL) and 2. Fixed compi...
julie [Fri, 24 Dec 2010 15:29:47 +0000 (15:29 +0000)]
1.  Fixed a typo in FindBLAS for SGI (SCCL should have been SCSL) and 2.  Fixed compiler flag check for SunPro to use ftrap=%none instead of ftrap=none.

- Chuck Atkins (Kitware)

14 years ago1. Added support for both IBM XL Fortran and IBM VisualAge Fortran
julie [Thu, 23 Dec 2010 02:32:05 +0000 (02:32 +0000)]
1.  Added support for both IBM XL Fortran and IBM VisualAge Fortran
2.  Added libblas to ESSL libs to cover missing functionality from ESSL
3.  Renamed ESSL_6464, ESSL_SMP, and ESSL_SMP_6464 to ESSL6464, ESSLSMP, and ESSLSMP6464 respectively to mimic the actual library names.
4.  Added copyright notice to CheckLAPACKCompilerFlags

- Chuck Atkins (Kitware)

14 years agoFixed a bug in the IBM compiler options (-ffixed-form -> -qfixed).
julie [Thu, 23 Dec 2010 00:50:18 +0000 (00:50 +0000)]
Fixed a bug in the IBM compiler options (-ffixed-form -> -qfixed).

- Chuck Atkins (Kitware)

14 years agoAdded checks disable floating point exceptions for GNU, Intel, Sun, and IBM compilers...
julie [Thu, 23 Dec 2010 00:39:05 +0000 (00:39 +0000)]
Added checks disable floating point exceptions for GNU, Intel, Sun, and IBM compilers and to enforce fixed-form for IBM compilers.

- Chuck Atkins (Kitware)

14 years agoFixed FindBLAS for Sun Performance Library
julie [Tue, 21 Dec 2010 02:11:49 +0000 (02:11 +0000)]
Fixed FindBLAS for Sun Performance Library

- Chuck Atkins (Kitware)

14 years agoAdded a CTestCustom.cmake file to filter unwanted files from code coverage and suppre...
julie [Mon, 20 Dec 2010 22:54:32 +0000 (22:54 +0000)]
Added a CTestCustom.cmake file to filter unwanted files from code coverage and suppress harmless warnings on the dashboard.

- Chuck Atkins (Kitware)

14 years agoAdding Peng Du's name in the authors of the variants.
langou [Fri, 17 Dec 2010 00:09:40 +0000 (00:09 +0000)]
Adding Peng Du's name in the authors of the variants.

14 years ago1. Corrected the way linker flags from FindBLAS are being used
julie [Thu, 16 Dec 2010 15:12:27 +0000 (15:12 +0000)]
1.  Corrected the way linker flags from FindBLAS are being used
2.  Changed LOOK_FOR_OPTIMIZED_BLAS to USE_OPTIMIZED_BLAS per CMake convention
3.  Changed BLAS_VENDORS to use library names instead of manufacturer names:
    From: BLAS_VENDORS=AMD;IBM;INTEL;HP;SUN etc
      To: BLAS_VENDORS=ACML;ESSL;MKL;VECLIB;PERFLIB
    This seems to be a more intuitive interface
4.  Added support for Intel MKL single dynamic library

- Chuck Atkins (Kitware)

14 years ago Merge some of Sebastien Fabbro's patch for CMAKE
julie [Wed, 15 Dec 2010 18:44:42 +0000 (18:44 +0000)]
 Merge some of Sebastien Fabbro's patch for CMAKE

14 years agoAdded compiler flags from FindBLAS.
julie [Wed, 15 Dec 2010 18:42:50 +0000 (18:42 +0000)]
Added compiler flags from FindBLAS.

14 years agominor modif on find BLAS
julie [Wed, 15 Dec 2010 18:08:26 +0000 (18:08 +0000)]
minor modif on find BLAS

14 years agoRemoved leftover debug messages from FindBLAS.cmake
julie [Wed, 15 Dec 2010 16:58:32 +0000 (16:58 +0000)]
Removed leftover debug messages from FindBLAS.cmake

14 years agoAdded support for external BLAS libraries in the CMake build.
julie [Wed, 15 Dec 2010 16:48:25 +0000 (16:48 +0000)]
Added support for external BLAS libraries in the CMake build.

14 years agoundoing my check, sorry
langou [Tue, 14 Dec 2010 07:17:24 +0000 (07:17 +0000)]
undoing my check, sorry

14 years agothis is a test
langou [Tue, 14 Dec 2010 07:16:58 +0000 (07:16 +0000)]
this is a test

14 years agoNew license file as agreed by email.
langou [Mon, 13 Dec 2010 19:10:19 +0000 (19:10 +0000)]
New license file as agreed by email.
NB: license does not change. Copyright holders change.
(Adding UCDenver and UCBerkeley.)

14 years agoFollow rencang's recommendation to fix bug 0064, set MAXIT to 64
julie [Mon, 29 Nov 2010 20:17:43 +0000 (20:17 +0000)]
Follow rencang's recommendation to fix bug 0064, set MAXIT to 64

Email from rencang:
"I have to clarify that the code does not do strict bisection. It uses bisection as the fall back when the computed approximation somehow gets out of the interval that the approximation should be in. Then one step of bisection is taken and then it goes back to the usual Newton-like method again (because that's faster). The interval is updated every step and thus shrinking. Xlasd4 was handled similarly.

Setting MAXIT=20 was too aggressive by my side as we know now. MAXIT=64 may be too conservative. Perhaps we should set MAXIT=40. If that breaks in the future, I'd really like to revisit the code. But if we'd like to play it safe, your suggested 64 would be the best bet."

14 years agoFix line length
julie [Wed, 17 Nov 2010 22:57:18 +0000 (22:57 +0000)]
Fix line length

14 years agoFix typo in external routine name
julie [Wed, 17 Nov 2010 22:10:50 +0000 (22:10 +0000)]
Fix typo in external routine name

14 years agocorrect indentation
langou [Sun, 14 Nov 2010 15:46:03 +0000 (15:46 +0000)]
correct indentation

14 years agoimporve (?) comments
langou [Sun, 14 Nov 2010 15:35:07 +0000 (15:35 +0000)]
imporve (?) comments

14 years agotypos
langou [Sun, 14 Nov 2010 15:21:05 +0000 (15:21 +0000)]
typos

14 years ago Correct memory access in CSD found with -fbounds-check flag
julie [Sat, 13 Nov 2010 15:50:45 +0000 (15:50 +0000)]
 Correct memory access in CSD found with  -fbounds-check flag

14 years agopolish comments
julie [Sat, 13 Nov 2010 11:04:49 +0000 (11:04 +0000)]
polish comments
correct final iteration in the lower case.
Teststing are fine now with the  -fbounds-check options.

14 years ago(no commit message)
brian [Wed, 10 Nov 2010 23:11:43 +0000 (23:11 +0000)]

14 years agoupdate 2009 to 2010 in some files
langou [Wed, 10 Nov 2010 22:33:07 +0000 (22:33 +0000)]
update 2009 to 2010 in some files

14 years agoStart getting ready for the release
julie [Mon, 8 Nov 2010 20:15:23 +0000 (20:15 +0000)]
Start getting ready for the release

14 years agoUpdate CMake build
julie [Mon, 8 Nov 2010 11:02:29 +0000 (11:02 +0000)]
Update CMake build

14 years agofix again some COMPLEX instead of CMPLX
julie [Sun, 7 Nov 2010 20:15:40 +0000 (20:15 +0000)]
fix again some COMPLEX instead of CMPLX

14 years agofix again some COMPLEX instead of CMPLX
julie [Sun, 7 Nov 2010 19:50:01 +0000 (19:50 +0000)]
fix again some COMPLEX instead of CMPLX

14 years agoFix a minor problem on csd - intrinsic function is CMPLX and not COMPLEX (same for...
julie [Sun, 7 Nov 2010 18:30:58 +0000 (18:30 +0000)]
Fix a minor problem on csd - intrinsic function is CMPLX and not COMPLEX (same for double precision)

14 years agoCorrect bug0064 :: got a bug in divide and conquer (non convergence)
julie [Sun, 7 Nov 2010 18:08:29 +0000 (18:08 +0000)]
Correct bug0064 :: got a bug in divide and conquer (non convergence)
    o see http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=529 (forum topic 529)
    o Increase MAXIT to 200 (was 20 before)
    o Add some XERBLA calls when INFO is not zero.

14 years agoIncorporated CSD source and testing routines into SRC/Makefile, TESTING/Makefile...
brian [Thu, 4 Nov 2010 02:11:45 +0000 (02:11 +0000)]
Incorporated CSD source and testing routines into SRC/Makefile, TESTING/Makefile, TESTING/EIG/Makefile, TESTING/EIG/xchkee.f; changes to comments in CSD routines

14 years agoRemoved nonexistent fourth matrix type from CSD test routines and csd.in
brian [Thu, 4 Nov 2010 01:12:34 +0000 (01:12 +0000)]
Removed nonexistent fourth matrix type from CSD test routines and csd.in

14 years agoModified TESTING/EIG/alahdg.f to test CS decomposition code
brian [Thu, 4 Nov 2010 00:46:07 +0000 (00:46 +0000)]
Modified TESTING/EIG/alahdg.f to test CS decomposition code

14 years agoAdded CS decomposition test files to TESTING
brian [Wed, 3 Nov 2010 23:07:29 +0000 (23:07 +0000)]
Added CS decomposition test files to TESTING

14 years agoAdded CS decomposition source files to SRC/
brian [Wed, 3 Nov 2010 23:02:29 +0000 (23:02 +0000)]
Added CS decomposition source files to SRC/

14 years agoCommiting the 3 other precisions (single, complex, dcomplex) for sytri using Level...
julie [Wed, 3 Nov 2010 17:55:43 +0000 (17:55 +0000)]
Commiting the 3 other precisions (single, complex, dcomplex) for sytri using Level BLAS 3.
Update testing accordingly

14 years ago [xSYTRS/xSYSV] Hide the call to syconv inside trs2 to avoid changing the SYTRS inter...
julie [Tue, 2 Nov 2010 18:53:38 +0000 (18:53 +0000)]
 [xSYTRS/xSYSV] Hide the call to syconv inside trs2 to avoid changing the SYTRS interface.
Update the testing accordingly

 [DSYTRI2]      Comit dsytri2 to get some feedback
                Update the testing accordingly

DSYTRI2 is the Level 3 blas Version of DSYTRI
The actual routine that does the work is DSYTRI2X (name can be changed)
DSYTRI2 is just a wrapper to allow to hide the 2D Workspace required by the routine.
The interface had to be changed to integrate the possibility of doing a workspace query.
DSYTRI2x implementation will be documented in a LAWN. This algorithm was inspired by the following paper:
"Families of Algorithms Related to the Inversion of a Symmetric Positive Definite Matrix"
PAOLO BIENTINESI Duke University and BRIAN GUNTER Delft University of Technology and ROBERT A. VAN DE GEIJN The University of Texas at Austin

14 years agoAdd hetrs2 for c and z, a Level BLAS 3 version of hetrs (same than rev 751)
julie [Thu, 30 Sep 2010 06:58:55 +0000 (06:58 +0000)]
Add hetrs2 for c and z, a Level BLAS 3 version of hetrs (same than rev 751)

14 years agoIncluded bug fix provided by Zlatco on Jacobi SVD
julie [Wed, 25 Aug 2010 15:59:11 +0000 (15:59 +0000)]
Included bug fix provided by Zlatco on Jacobi SVD
Email from Zlatco on August 24th 2010:
The problem that was reported (with zero matrix) is caused by bad initialization to xLASSQ.
It should be ZERO, ONE and not ZERO, ZERO. In fact, I had it ZERO, ONE throughout
the complete development of the code and decided to change it to ZERO, ZERO a the very
end to make it "more elegant". That was stupid, because 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.
I have corrected that and few other things, stress tested the code and it should be OK now.

README:
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.

14 years agoArray out-of-bounds reference in xLAQR5.
langou [Tue, 17 Aug 2010 15:45:24 +0000 (15:45 +0000)]
Array out-of-bounds reference in xLAQR5.

Bug report and fix from Mathew Cross (NAG) on Sat Aug 14 2010:

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).

See http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=1949.

14 years agoPatch provided by the kitware team on Aug 5th (Brad King and Bill Hoffman)
julie [Tue, 10 Aug 2010 16:57:20 +0000 (16:57 +0000)]
Patch provided by the kitware team on Aug 5th (Brad King and Bill Hoffman)

Add the install rules and exports the targets.
Now one can write

find_package(LAPACK 3.2.2)

in another project to find either the LAPACK build tree or the
install tree.

14 years agoVarious comment fixes
julie [Tue, 10 Aug 2010 16:22:10 +0000 (16:22 +0000)]
Various comment fixes

14 years agoAdding a hint on the data storage required for band matrices in xLASCL.
langou [Mon, 9 Aug 2010 16:19:34 +0000 (16:19 +0000)]
Adding a hint on the data storage required for band matrices in xLASCL.

14 years agoSplit some lines (continue)
julie [Wed, 7 Jul 2010 17:27:28 +0000 (17:27 +0000)]
Split some lines (continue)

14 years agoSplit some lines
julie [Wed, 7 Jul 2010 17:24:08 +0000 (17:24 +0000)]
Split some lines

14 years ago Add static/dynamic library, package support and rearrange source files
julie [Wed, 7 Jul 2010 16:16:15 +0000 (16:16 +0000)]
 Add static/dynamic library, package support and rearrange source files

14 years agoTime has come to have the fortran90 slamch and dlamch in the lapack package.
julie [Fri, 2 Jul 2010 23:39:07 +0000 (23:39 +0000)]
Time has come to have the fortran90 slamch and dlamch in the lapack package.

Jason (Riedy) wrote our ( ... his? :) ) ideas about it three years ago:
http://www.netlib.org/lapack-dev/lapack-coding/program-style.html#id2537289
Piotr (Luszczek) has written two subroutines, tested them on few platforms, collected the result on his webpage, and sent emails to the lapackers a few times. See:
http://www.cs.utk.edu/~luszczek/lapack/lamch.html
Theses slamch.f and dlamch.f subroutines were taken from PLASMA-2.1.0.

Change to the LAPACK library:
* move the current LAPACK subroutine slamch.f (resp dlamch.f) as
 slamchf77.f (resp. dlamchf77.f),
* take the new slamch.f subroutines (resp. dlamch.f), remove the PLASMA
 header, have a LAPACK header, and insert the new routines in the
 library.

Minor:
* I would leave these routines compiled with the NOOPT flag.

Problem:
* CLAPACK: no idea how CLAPACK's going to handle this. CLAPACK can rely on
 IEEE arithmetic, can relay on float.h, or can rely on the previous
 xlamch.f

14 years agoCorrct bug0060: Typo in TESTING/EIG/dchkee.f and TESTING/EIG/zchkee.f (bug report...
julie [Fri, 2 Jul 2010 19:19:01 +0000 (19:19 +0000)]
Corrct bug0060: Typo in TESTING/EIG/dchkee.f and TESTING/EIG/zchkee.f (bug report sent by Ake Sandgren to lapackers on July 1st 2010)

14 years agoFix bug0060 :: Bug in dtgsy2, missing IWORK call
julie [Thu, 24 Jun 2010 18:23:57 +0000 (18:23 +0000)]
Fix bug0060 ::    Bug in dtgsy2, missing IWORK call
bug report and fix sent by Vasile Sima on 24 Feb 2009 to "lapack@cs.utk.edu".

The error is that "IWORK" must appear in the line 640.  (It was included in the 1999 version.)
Note that the statement IE = ( I+1 ) - 1 is strange;  also, in other similar place, IWORK is used like below.

14 years agoFix Bug0059
julie [Thu, 24 Jun 2010 14:38:30 +0000 (14:38 +0000)]
Fix Bug0059
bug report and fix sent by Alexander Kobotov (Intel) on Wed, 23 June 2010 to "lapack@cs.utk.edu".

ZGELSD crashes on large matrices (eq M=N=NHRS>=88), if real workspace allocated exactly as reported on workspace query.
Root cause is wrong estimation of real workspace size in ZLALSA (on path zgelsd->zlalsd->zlalsa). It assumes that RWORK array length should be max( N, (SMLSZ+1)*NRHS*3 ), where SMLSIZ=25. But in fact the function calls zlals0 which requires RWORK to be ( K*(1+NRHS) + 2*NRHS ), where K could be as large as number of columns in matrix A.
The same is actual for CGELSD.

14 years agoUpdate date and version for 3.2.2 release
julie [Wed, 23 Jun 2010 17:25:30 +0000 (17:25 +0000)]
Update date and version for 3.2.2 release

14 years agoCorrected a bug in SBDSDC and DBDSDC.
langou [Tue, 22 Jun 2010 22:08:36 +0000 (22:08 +0000)]
Corrected a bug in SBDSDC and DBDSDC.

The routine was returning with INFO = 0 while a failure of convergence should
have been reported with INFO > 0.

The bug has been around for quite a while and has been difficult to reproduce.

More information:

(*) bug0025 :: serious problem in DGESDD: DGESDD returns negative singular values with INFO = 0

    o reported by Guy Bencteux on Sat Dec 06 2008
    o see forum topic 847
    o Julie : CANNOT REPRODUCE THE PROBLEM

    o on Sat Jun 19 2010, Bruno Pinçon from ESIAL, reported another matrix with the same problems
    o see forum topic 1868
    o we can reproduce the problem with on MacOS with gfortran reference LAPACK
      and vecLib BLAS, we can not reproduce the problem with reference LAPACK and reference BLAS.
    o A patch has been proposed by Julien Langou. (See forum topic 1868.)
    o Under review by other lapackers.
    o Note: there is strong evidence that the bug of Guy Bencteux and this one
      are the same, although we were never able to reproduce Guy's problem. So
      we assume Guy's problem gone! (And send an email to Guy to inform him.)

14 years agoUpdate CMAKE build with new routines
julie [Mon, 21 Jun 2010 22:25:09 +0000 (22:25 +0000)]
Update CMAKE build with new routines

14 years agoOK. So I got upset and did a
langou [Mon, 21 Jun 2010 21:06:42 +0000 (21:06 +0000)]
OK. So I got upset and did a
  grep "an singular value" *f
in our SRC files to fix them all.
Here we go.

14 years agoanother typo
langou [Mon, 21 Jun 2010 20:47:23 +0000 (20:47 +0000)]
another typo

14 years agotypo in the comment
langou [Mon, 21 Jun 2010 20:32:41 +0000 (20:32 +0000)]
typo in the comment

14 years agoStep 2 of xlarfp: add new routines and add same test code plus check R(i,i) is nonneg...
julie [Fri, 18 Jun 2010 22:48:07 +0000 (22:48 +0000)]
Step 2 of xlarfp: add new routines and add same test code plus check R(i,i) is nonnegative and real

14 years ago Step 1 of xlarfp : back out the old changes (need to run testing before going on)
julie [Fri, 18 Jun 2010 00:19:59 +0000 (00:19 +0000)]
 Step 1 of xlarfp : back out the old changes (need to run testing before going on)

14 years ago Missing local variable declaration (IINFO)
julie [Tue, 15 Jun 2010 17:09:03 +0000 (17:09 +0000)]
 Missing local variable declaration (IINFO)

14 years ago Missing local variable declaration
julie [Tue, 15 Jun 2010 16:53:28 +0000 (16:53 +0000)]
 Missing local variable declaration

14 years agoAdd SYTRS2 routine - A BLAS 3 version of SYTRS
julie [Tue, 1 Jun 2010 23:12:18 +0000 (23:12 +0000)]
Add SYTRS2 routine - A BLAS 3 version of SYTRS
Add SYCONV routine: convert back and forth the factorization returned by SYTRF to be able to call SYTRS2.
Modify SYSV that now is calling SYTRS2 instead of SYTRS (and also SYCONV to convert and revert the factorization returned by SYTRF).
Modify testing to have TRS but also TRS2 tested in the LIN testing for SY.

14 years agoThe variable N0 in xLASQ3 is INPUT/OUTPUT. (The comments said INPUT.)
langou [Fri, 28 May 2010 00:35:30 +0000 (00:35 +0000)]
The variable N0 in xLASQ3 is INPUT/OUTPUT. (The comments said INPUT.)

The bug report and bug fix are from William Gandler (NIH/CIT). The related
emails are on the mailing list dated as follows: October 16, 2009; April 23,
2010; May 01, 2010, May 03, 2010.

14 years agotypo in comments spotted by Jim
langou [Thu, 27 May 2010 20:03:27 +0000 (20:03 +0000)]
typo in comments spotted by Jim

14 years ago.. fixed some comments ..
langou [Sat, 1 May 2010 14:19:40 +0000 (14:19 +0000)]
.. fixed some comments ..

from comments from A. Buttari, CNRS, France, to Julien Langou on 01/20/2010

14 years agoremove comment to not include xerbla and xerbla_array
julie [Thu, 29 Apr 2010 15:37:13 +0000 (15:37 +0000)]
remove comment to not include xerbla and xerbla_array

14 years agoMany comment fix for allowing C Wrapper to work on MATGEN
julie [Tue, 13 Apr 2010 19:09:55 +0000 (19:09 +0000)]
Many comment fix for allowing C Wrapper to work on MATGEN

14 years agoAdd descriptions of the arguments work and uplo following Paul Roberts[NAG]'s comment...
julie [Tue, 13 Apr 2010 18:18:00 +0000 (18:18 +0000)]
Add descriptions of the arguments work and uplo following Paul Roberts[NAG]'s comment sent to lapack@cs.utk.edu

14 years agoFix comment following Paul Roberts'email on lapack mailing-list
julie [Mon, 12 Apr 2010 22:21:12 +0000 (22:21 +0000)]
Fix comment following Paul Roberts'email on lapack mailing-list
I was just looking at zgbsvxx.f from LAPACK 3.2.1 and I noticed a small
mistake in some of the argument descriptions. AB, AFB, B and X are all
down as DOUBLE PRECISION rather than COMPLEX*16.

14 years agoFix issue in testing suite found by Michael Chuvelev
julie [Mon, 5 Apr 2010 13:44:41 +0000 (13:44 +0000)]
Fix issue in testing suite found by Michael Chuvelev

14 years agoFix comments in ilaprec and remove some space in Makefile
julie [Fri, 2 Apr 2010 19:08:19 +0000 (19:08 +0000)]
Fix comments in ilaprec and remove some space in Makefile

14 years ago Following bug report and fix sent by Michael Chuvelev (Intel) on Fri, 2 Apr 2010...
julie [Fri, 2 Apr 2010 19:06:51 +0000 (19:06 +0000)]
   Following bug report and fix sent by Michael Chuvelev (Intel) on Fri, 2 Apr 2010 to "lapack@cs.utk.edu".
Issue in LAPACK 3.2.1 *la_{po,sy,he}rfsx_extended.f sources. For instanse, in sla_syrfsx_extended.f:

DY is described as
*     DY             (input) REAL array, dimension (N)
*     Workspace to hold the intermediate solution.

whereas N-by-NRHS array is referenced at DY due to the following statement (line 384):

            CALL SSYTRS( UPLO, N, NRHS, AF, LDAF, IPIV, DY, N, INFO )

This may lead to an outside memory corruption. I assume one RHS should be referenced here, because all the RHSs are considered individually in the loop by J. That is, substituting NRHS by 1:

            CALL SSYTRS( UPLO, N, 1, AF, LDAF, IPIV, DY, N, INFO )

should fix the issue. This is actual for any subroutine mentioned.

14 years ago&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
langou [Fri, 2 Apr 2010 04:55:58 +0000 (04:55 +0000)]
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

"Bug" reported by Ondra Kamenik, confirmed by Julie Langou, fixed by Jim Demmel
and Guillaume Revy. See forum post 1783.

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Fix problem in xTGEX2. The threshold value is too stringent and some matrices
are failing. Relax the threshold by a factor 2. More below.

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

See: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=1783
dgges issue >> by OndraKamenik >> Tue Mar 16, 2010 6:01 am

All,

I have the following problem with dgges. For version 3.1.1 and sooner, I get a
reasonable result, for version 3.2 and 3.2.1 I get info=n+2.

I am separating eigenvalues in the unit circle from one outside the unique
circle.

The two D and E matrices have relatively well separated null spaces, the
minimum angle is acos(0.97). However, if i calculate condition numbers of
E-lambda*D of lambda=[-1:0.01:1], they are quite bad.

The matrices are attached with a small c++ program which calls dgges and sorts
eigenvalues for a better comparison. There is also a Makefile, which links with
different version of lapack.

I use the reference blas.

My question is if it is a bug in Lapack introduced between 3.2. and 3.1.1 or
the matrix is just very bad and in version 3.1.1 I was just lucky to get a
reasonable solution.

Many thanks for any help.

Ondra Kamenik

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Much more conversation on mailing list and forum [ skipped ]

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Date: Wed, 31 Mar 2010 19:53:11 -0600
From: James Demmel

This bug was introduced by changing the routine that computes Householder
transformations in the last release of LAPACK from dlarfg to the new dlarfp,
which makes the diagonal of the R factor in QR nonnegative. The bug was a
failure (INFO = N+3) in the dgges routine for computing selected deflating
subspaces of a matrix pencil A - lambda*B. I will describe the bug, a quick
fix, and implications for the floating point debugging project that Guillaume
and others of us are working on.

The bug occurred in dtgex2, in the swapping of eigenvalues (adjacent 1x1 and/or
2x2 blocks on the diagonal of the generalized Schur form) in order to compute
a selected subspace. The swapping involves QR decompositions of  small (n <= 4)
matrices.

The code in dtgex2 performs two of its own internal correctness tests (a "weak"
one and a "strong" one) to see if the swapping has been performed stably. The
two tests compute a residual in slightly different ways. The weak test passed,
but the strong test  (which can be commented out by setting the internal
parameter WANDS to be .false.)  failed, leading to returning INFO = N+3.
However, it failed by exceeding the threshold THRESH only by a factor like 1.2
or less. THRESH is set to 10*macheps*dnorm, so if we changed the (probably
somewhat arbitrary) factor from 10 to 20, it would work. Or we could set WANDS
= false.

Since Bo's name is on this routine, his comments are particularly welcome.

Guillaume and I spent a while tracking this down, and will continue to find out
why dlarfp led to a (slightly!) larger residual than the old dlarfg.

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Date: Thu, 1 Apr 2010 20:01:21 -0600
From: James Demmel <demmel@cs.berkeley.edu>

Actually, on reexamining the data, this example would be fixed by
changing 10 to 11,
but let's go with 20 to be on the safe side :) . I think it would be
most efficient
if Julie or you appropriately change the one line of code in DTGEX2:

      THRESH = MAX( TEN*EPS*DNORM, SMLNUM )

All versions (S/D/C/Z) have an analogous line of code with the same
constant TEN that I would change.

Sorry, I've lost track of the Mathworks bug report on dlarfp. Can you
remind me?

Thanks,
Jim

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

14 years agoFix CMakeLists.txt only blas is exported, lapack needs to be exported as well. (From...
julie [Tue, 23 Mar 2010 19:57:29 +0000 (19:57 +0000)]
Fix CMakeLists.txt only blas is exported, lapack needs to be exported as well. (From Bill Hoffman)