diff options
author | julie <julielangou@users.noreply.github.com> | 2015-03-18 05:09:27 +0000 |
---|---|---|
committer | julie <julielangou@users.noreply.github.com> | 2015-03-18 05:09:27 +0000 |
commit | 7819b90287ba881b8cddde78d45f891407ffcc48 (patch) | |
tree | c333ec47b1c861a708e71c0d47f11d246c0fed70 /SRC/zgesdd.f | |
parent | 52508f6632c094c4431c6fe5275ab9d9ea1c3842 (diff) | |
download | lapack-7819b90287ba881b8cddde78d45f891407ffcc48.tar.gz lapack-7819b90287ba881b8cddde78d45f891407ffcc48.tar.bz2 lapack-7819b90287ba881b8cddde78d45f891407ffcc48.zip |
Correcting Bug111 reported by Kevin Squire on LAPACK Mailing - August 15th 2013
From Kevin: We were following the recommendation for RWORK size calculation from
the ZGESDD header here ( http://netlib.org/lapack/complex16/zgesdd.f), and were
finding that when INFO=N, the size was insufficient, and generally led to a segmentation fault.
The current definition says that "If JOBZ = N, LRWORK >= 5*min(M,N)", but we found
that the minimum size needed to be at least 7*min(M,N). This was through experimentation
and comparison with code from Numpy and Octave, so you may wish to verify this through the code.
JL: bug confirmed and reproduced - correction in comments
If JOBZ = N, LRWORK >= 7*min(M,N)
Diffstat (limited to 'SRC/zgesdd.f')
-rw-r--r-- | SRC/zgesdd.f | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/SRC/zgesdd.f b/SRC/zgesdd.f index ce740b6f..4f811fdf 100644 --- a/SRC/zgesdd.f +++ b/SRC/zgesdd.f @@ -182,7 +182,7 @@ *> \param[out] RWORK *> \verbatim *> RWORK is DOUBLE PRECISION array, dimension (MAX(1,LRWORK)) -*> If JOBZ = 'N', LRWORK >= 5*min(M,N). +*> If JOBZ = 'N', LRWORK >= 7*min(M,N). *> Otherwise, *> LRWORK >= min(M,N)*max(5*min(M,N)+7,2*max(M,N)+2*min(M,N)+1) *> \endverbatim |