From: mecej4 on 4 Aug 2010 17:37 kamaraju wrote: >> >> Do you mind divulging the error that you found in C.L.F. ? Thanks. > > No, not at all. Consider the sample code > > ! The problem is with the la_dgesdd.f90 routine assigning wrong value > ! to JOBZ variable around line 202. It assigns JOBZ='A' where as in > this case, it should have assigned JOBZ='S'. > If you need any other information, please let me know. > > > BTW, how do you attach files when posting via google groups? > > thanks > raju Thanks for reporting the details of the error here. I can confirm that the error occurs with other compilers, and with Intel's MKL library, which is adapted from Lapack/Lapack95. The seg-fault occurs with some input. With other input, with MKL, I get the error MKL ERROR: Parameter 10 was incorrect on entry to DGESDD Program terminated in LAPACK95 subroutine LA_GESDD Error indicator, INFO = -10 The fix that you have suggested is appropriate only when either the matrix U or VT (or both) in the S.V. decomposition A = U . S . VT is not passed full-size. There are four combinations of U and VT being full-size or truncated to the useful part. Only when U and VT are both full-size should JOBZ equal 'A'. If either has been passed truncated, JOBZ = 'S' is appropriate. (I could be wrong here, this needs more checking). This is definitely an bug that should be reported to the Lapack95 maintainers. Intel (MKL) and AMD (ACML) may also be contacted. -- mecej4
|
Pages: 1 Prev: list of subroutines called Next: Gauss-Jackson ODE solver |