diff options
author | james <james@8a072113-8704-0410-8d35-dd094bca7971> | 2011-06-22 11:27:16 +0000 |
---|---|---|
committer | james <james@8a072113-8704-0410-8d35-dd094bca7971> | 2011-06-22 11:27:16 +0000 |
commit | 03c6181030267d5727c2253afc2cb7606817a591 (patch) | |
tree | b682f4803262bee11a874d9c9c12d4f6577f9778 /SRC/sstedc.f | |
parent | 0d0b443c697874898ee9947afe634c1b89761dce (diff) | |
download | lapack-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.f | 4 |
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 |