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/cstedc.f | |
parent | 0d0b443c697874898ee9947afe634c1b89761dce (diff) |
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/cstedc.f')
-rw-r--r-- | SRC/cstedc.f | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/SRC/cstedc.f b/SRC/cstedc.f index bb444ce1..5be81ca5 100644 --- a/SRC/cstedc.f +++ b/SRC/cstedc.f @@ -90,7 +90,7 @@ * The dimension of the array RWORK. * If COMPZ = 'N' or N <= 1, LRWORK must be at least 1. * If COMPZ = 'V' and N > 1, LRWORK 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, LRWORK must be at least @@ -209,7 +209,7 @@ IF( 2**LGN.LT.N ) $ LGN = LGN + 1 LWMIN = N*N - LRWMIN = 1 + 3*N + 2*N*LGN + 3*N**2 + LRWMIN = 1 + 3*N + 2*N*LGN + 4*N**2 LIWMIN = 6 + 6*N + 5*N*LGN ELSE IF( ICOMPZ.EQ.2 ) THEN LWMIN = 1 |