* Bug #13058 fixed - Arpack-ng library has been updated and fixes this bug. 25/15225/3
Adeline CARNIS [Mon, 15 Sep 2014 12:10:28 +0000 (14:10 +0200)]
Note: Before accepting this commit, the library must be updated in Scilab prerequirements.

Change-Id: I3c366adace6a35b57764df324036213cd344de02

scilab/CHANGES_5.5.X
scilab/modules/arnoldi/tests/nonreg_tests/bug_13058.dia.ref [new file with mode: 0644]
scilab/modules/arnoldi/tests/nonreg_tests/bug_13058.tst [new file with mode: 0644]

index 4a18fc5..08a0882 100644 (file)
@@ -9,6 +9,12 @@ Obsolete & Removed Functions
 * Second output argument of add_param removed (See SEP #132).
 
 
+Compilation
+============
+
+* Required version of Arpack-ng updated to 3.1.5 (See bug #13058).
+
+
 Scilab Bug Fixes
 ================
 
@@ -67,6 +73,9 @@ Scilab Bug Fixes
 
 * Bug #12987 fixed - Scilab did not start on Ubuntu 10.04 (GLIBC issue).
 
+* Bug #13058 fixed - eigs produced wrong results in some cases.
+                     Arpack-ng library has been updated to fix this bug.
+
 * Bug #13180 fixed - surf did not handle degenerate cases.
 
 * Bug #13291 fixed - xmltojar([],[],'ja_JP') might lead to a crash when the
diff --git a/scilab/modules/arnoldi/tests/nonreg_tests/bug_13058.dia.ref b/scilab/modules/arnoldi/tests/nonreg_tests/bug_13058.dia.ref
new file mode 100644 (file)
index 0000000..c4f47b1
--- /dev/null
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Adeline CARNIS
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 13058 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13058
+//
+// <-- Short Description -->
+//    The release 3.1.4 of arpack ng library fixes this bug.
+// =============================================================================
+A = [2.486880466472303  2.008746355685131  1.655976676384840  1.571428571428571  1.469387755102041  1.635568513119533  1.927113702623907
+2.008746355685131  2.364431486880466  1.967930029154519  1.696793002915452  1.551020408163265  1.530612244897959  1.635568513119533
+1.655976676384840  1.967930029154519  2.405247813411079  1.947521865889213  1.758017492711370  1.551020408163265  1.469387755102041
+1.571428571428571  1.696793002915452  1.947521865889213  2.323615160349854  1.947521865889213  1.696793002915452  1.571428571428571
+1.469387755102041  1.551020408163265  1.758017492711370  1.947521865889213  2.405247813411079  1.967930029154519  1.655976676384840
+1.635568513119533  1.530612244897959  1.551020408163265  1.696793002915452  1.967930029154519  2.364431486880466  2.008746355685131
+1.927113702623907  1.635568513119533  1.469387755102041  1.571428571428571  1.655976676384840  2.008746355685131  2.486880466472303];
+d0 = spec(A);
+B = eye(7, 7);
+d1 = eigs(A, B, 4, "BE");
+assert_checkalmostequal(d1, [d0(1:2); d0($-1:$)], 1.e-12);
diff --git a/scilab/modules/arnoldi/tests/nonreg_tests/bug_13058.tst b/scilab/modules/arnoldi/tests/nonreg_tests/bug_13058.tst
new file mode 100644 (file)
index 0000000..84e04ed
--- /dev/null
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Adeline CARNIS
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 13058 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13058
+//
+// <-- Short Description -->
+//    The release 3.1.4 of arpack ng library fixes this bug.
+// =============================================================================
+
+A = [2.486880466472303  2.008746355685131  1.655976676384840  1.571428571428571  1.469387755102041  1.635568513119533  1.927113702623907
+2.008746355685131  2.364431486880466  1.967930029154519  1.696793002915452  1.551020408163265  1.530612244897959  1.635568513119533
+1.655976676384840  1.967930029154519  2.405247813411079  1.947521865889213  1.758017492711370  1.551020408163265  1.469387755102041
+1.571428571428571  1.696793002915452  1.947521865889213  2.323615160349854  1.947521865889213  1.696793002915452  1.571428571428571
+1.469387755102041  1.551020408163265  1.758017492711370  1.947521865889213  2.405247813411079  1.967930029154519  1.655976676384840
+1.635568513119533  1.530612244897959  1.551020408163265  1.696793002915452  1.967930029154519  2.364431486880466  2.008746355685131
+1.927113702623907  1.635568513119533  1.469387755102041  1.571428571428571  1.655976676384840  2.008746355685131  2.486880466472303];
+
+d0 = spec(A);
+
+B = eye(7, 7);
+d1 = eigs(A, B, 4, "BE");
+assert_checkalmostequal(d1, [d0(1:2); d0($-1:$)], 1.e-12);