summaryrefslogtreecommitdiff
path: root/SRC/sstedc.f
diff options
context:
space:
mode:
authorjames <james@8a072113-8704-0410-8d35-dd094bca7971>2011-06-22 11:27:16 +0000
committerjames <james@8a072113-8704-0410-8d35-dd094bca7971>2011-06-22 11:27:16 +0000
commit03c6181030267d5727c2253afc2cb7606817a591 (patch)
treeb682f4803262bee11a874d9c9c12d4f6577f9778 /SRC/sstedc.f
parent0d0b443c697874898ee9947afe634c1b89761dce (diff)
downloadlapack-03c6181030267d5727c2253afc2cb7606817a591.tar.gz
lapack-03c6181030267d5727c2253afc2cb7606817a591.tar.bz2
lapack-03c6181030267d5727c2253afc2cb7606817a591.zip
added an additional "N*N" to xSTEDC workspace "WORK" to correct problem with LWORK being too small in some cases in the 'V' option when eigenvectors are computed for the dense matrix.
Diffstat (limited to 'SRC/sstedc.f')
-rw-r--r--SRC/sstedc.f4
1 files changed, 2 insertions, 2 deletions
diff --git a/SRC/sstedc.f b/SRC/sstedc.f
index 54583c12..8b37b16a 100644
--- a/SRC/sstedc.f
+++ b/SRC/sstedc.f
@@ -73,7 +73,7 @@
* The dimension of the array WORK.
* If COMPZ = 'N' or N <= 1 then LWORK must be at least 1.
* If COMPZ = 'V' and N > 1 then LWORK must be at least
-* ( 1 + 3*N + 2*N*lg N + 3*N**2 ),
+* ( 1 + 3*N + 2*N*lg N + 4*N**2 ),
* where lg( N ) = smallest integer k such
* that 2**k >= N.
* If COMPZ = 'I' and N > 1 then LWORK must be at least
@@ -189,7 +189,7 @@
IF( 2**LGN.LT.N )
$ LGN = LGN + 1
IF( ICOMPZ.EQ.1 ) THEN
- LWMIN = 1 + 3*N + 2*N*LGN + 3*N**2
+ LWMIN = 1 + 3*N + 2*N*LGN + 4*N**2
LIWMIN = 6 + 6*N + 5*N*LGN
ELSE IF( ICOMPZ.EQ.2 ) THEN
LWMIN = 1 + 4*N + N**2