summaryrefslogtreecommitdiff
path: root/SRC/zgesdd.f
diff options
context:
space:
mode:
authorjulie <julielangou@users.noreply.github.com>2015-03-18 05:09:27 +0000
committerjulie <julielangou@users.noreply.github.com>2015-03-18 05:09:27 +0000
commit7819b90287ba881b8cddde78d45f891407ffcc48 (patch)
treec333ec47b1c861a708e71c0d47f11d246c0fed70 /SRC/zgesdd.f
parent52508f6632c094c4431c6fe5275ab9d9ea1c3842 (diff)
downloadlapack-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.f2
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