Mercurial > octave
changeset 24342:30bbef7bf919
Relax some tests for unconverged eigenvalues with eigs (bug #49523).
* eigs.m: convergence depends on the blas libraries, relax some tests for
unconverged eigenvalues.
author | Marco Caliari <marco.caliari@univr.it> |
---|---|
date | Thu, 30 Nov 2017 09:01:11 +0100 |
parents | 30240b146061 |
children | 1b17a5d82e3f |
files | scripts/sparse/eigs.m |
diffstat | 1 files changed, 14 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/sparse/eigs.m Thu Nov 30 12:58:04 2017 -0800 +++ b/scripts/sparse/eigs.m Thu Nov 30 09:01:11 2017 +0100 @@ -1336,7 +1336,7 @@ %! opts.maxit = 3; %! warning ("off", "Octave:eigs:UnconvergedEigenvalues", "local"); %! d = eigs (A, 4, "lm", opts); -%! assert (d(2:4), [NaN; NaN; NaN]); +%! assert (d(3:4), [NaN; NaN]); %!testif HAVE_ARPACK %! A = toeplitz ([-2, 1, zeros(1, 8)]); %! A = kron (A, eye (10)) + kron (eye (10), A); @@ -1354,7 +1354,7 @@ %! opts.issym = true; %! warning ("off", "Octave:eigs:UnconvergedEigenvalues", "local"); %! d = eigs (Afun, 100, 4, "sm", opts); -%! assert (d(2:4), [NaN; NaN; NaN]); +%! assert (d(3:4), [NaN; NaN]); %!testif HAVE_ARPACK %! A = toeplitz ([-2, 1, zeros(1, 8)]); %! A = kron (A, eye (10)) + kron (eye (10), A); @@ -1377,8 +1377,8 @@ %! opts.v0 = (1:100)'; %! opts.maxit = 1; %! warning ("off", "Octave:eigs:UnconvergedEigenvalues", "local"); -%! d = eigs (A, 4, "lm", opts); -%! assert (d(4), NaN); +%! d = eigs (A, 10, "lm", opts); +%! assert (d(9:10), [NaN; NaN]); %!testif HAVE_ARPACK %! A = toeplitz ([0, 1, zeros(1, 8)], [0, -1, zeros(1, 8)]); %! A(1, 1) = 1; @@ -1387,15 +1387,15 @@ %! opts.maxit = 1; %! warning ("off", "Octave:eigs:UnconvergedEigenvalues", "local"); %! d = eigs (A, 4, "sm", opts); -%! assert (d(3:4), [NaN; NaN]); -%! assert (imag (d(3:4)), [0; 0]); +%! assert (d(4), NaN); +%! assert (imag (d(4)), 0); %!testif HAVE_ARPACK -%! A = magic (100) / 100 + eye (100); +%! A = magic (100) / 10 + eye (100); %! opts.v0 = (1:100)'; -%! opts.maxit = 1; +%! opts.maxit = 10; %! warning ("off", "Octave:eigs:UnconvergedEigenvalues", "local"); -%! d = eigs (A, 4, "sm", opts); -%! assert (d(3:4), [NaN+1i*NaN; NaN+1i*NaN]); +%! d = eigs (A, 10, "sm", opts); +%! assert (d(10), NaN+1i*NaN); %!testif HAVE_ARPACK %! A = toeplitz ([0, 1, zeros(1, 8)], [0, -1, zeros(1, 8)]); %! A = kron (A, eye (10)) + kron (eye (10), A); @@ -1413,12 +1413,12 @@ %! d = eigs (A, 4, "lm", opts); %! assert (d(4), NaN+1i*NaN); %!testif HAVE_ARPACK -%! A = 1i * magic (100) / 100 + eye (100); +%! A = 1i * magic (100) + eye (100); %! opts.v0 = (1:100)'; -%! opts.maxit = 1; +%! opts.maxit = 7; %! warning ("off", "Octave:eigs:UnconvergedEigenvalues", "local"); -%! d = eigs (A, 4, "sm", opts); -%! assert (d(2:4), [NaN+1i*NaN; NaN+1i*NaN; NaN+1i*NaN]); +%! d = eigs (A, 10, "sm", opts); +%! assert (d(9:10), [NaN+1i*NaN; NaN+1i*NaN]); %!testif HAVE_ARPACK %! A = 1i * magic (100); %! Afun = @(x) A * x;