bugGNU Octave - Bugs: bug #55534, eigs test failure for...

 
 

bug #55534: eigs test failure for magic/sin/cos test

Submitter:  Andrew Janke <apjanke>
Submitted:  Mon 21 Jan 2019 02:41:01 AM UTC
   
 
Category:  Octave Function Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Invalid / Not an Octave Bug Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * Mac OS
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Tue 22 Jan 2019 02:17:20 AM UTC, comment #9: 

Closing as an upstream bug.  If anyone is desperately concerned they could write a patch on the documentation to suggest using an alternate BLAS library on Mac for higher accuracy.

Rik <rik5>
Group administrator
Mon 21 Jan 2019 08:28:48 PM UTC, comment #8: 

I'll play around with DYLD_* and LD_PRELOAD to see if I can get dynamic BLAS library switching working on Mac. In the mean time, anyone who wants to try it with OpenBLAS on Mac can use the formulae here: https://github.com/octave-app/homebrew-octave-app-openblas

Andrew Janke <apjanke>
Mon 21 Jan 2019 07:26:34 PM UTC, comment #7: 

See for example https://lists.gnu.org/archive/html/octave-maintainers/2016-04/msg00031.html

If this is a known compatibility problem, we should probably explicitly document it in the user manual along with examples or justifications for the incompatibility.

Switching BLAS implementations is not a problem on Debian either, as long as Octave is built with --with-blas=blas, the alternatives system or LD_LIBRARY_PATH can be used to switch between several different implementations at run time.

Mike Miller <mtmiller>
Group Member
Mon 21 Jan 2019 07:00:51 PM UTC, comment #6: 

FWIW on Fedora different libraries are compiled against different blas libraries, but at the end it all works :)
I am not sure how it works, but I suspect the blas linked during the octave build process will override the other libraries blas
calls.

Also, there is no need to recompile, you can override dynamic libraries with LD_PRELOAD mechanism.
I think there were some similar method on macos (DYLD_INSERT_LIBRARIES ?).

Dmitri.
--


Dmitri A. Sergatskov <dasergatskov>
Mon 21 Jan 2019 06:50:05 PM UTC, comment #5: 

Makes sense.

I dunno if I'd call that very simple: if you switch your BLAS library, then you need to compile all your other BLAS-dependent dependencies against the same BLAS, right? So in a package manager or enterprise context, that means switching your entire BLAS stack or maintaining multiple versions of those libs.

Is there some official doco or reference on Octave's preferred BLAS libraries, especially one that says veclib is non-preferred? Closest I found was this - https://octave.org/doc/v4.4.0/External-Packages.html - that says "...such as OpenBLAS or ATLAS are recommended".

Andrew Janke <apjanke>
Mon 21 Jan 2019 04:09:23 PM UTC, comment #4: 

The Mac veclib has been known to be full of bugs. Can we close this report as being an upstream bug? There is a very easy workaround: don't use veclib (if you intend to do serious numerical computations)

Pantxo Diribarne <pantxo>
Group Member
Mon 21 Jan 2019 06:53:22 AM UTC, comment #3: 

Test passes if I build Octave stable with OpenBLAS instead of veclibfort.


octave:2> test eigs
PASSES 188 out of 188 tests


Andrew Janke <apjanke>
Mon 21 Jan 2019 05:26:32 AM UTC, comment #2: 

Can you check a different blas?

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Mon 21 Jan 2019 02:42:05 AM UTC, comment #1: 

Same failure on stable, too.

Andrew Janke <apjanke>
Mon 21 Jan 2019 02:41:01 AM UTC, original submission:  

I'm getting another eigs test failure in default, as of HG ID 570170dc46e5. Doesn't look the same as bug #54179.


octave:14> ver
----------------------------------------------------------------------
GNU Octave Version: 6.0.0 (hg id: unknown)
GNU Octave License: GNU General Public License
Operating System: Darwin 17.7.0 Darwin Kernel Version 17.7.0: Fri Nov  2 20:43:16 PDT 2018; root:xnu-4570.71.17~1/RELEASE_X86_64 x86_64
----------------------------------------------------------------------
Package Name   | Version | Installation directory
---------------+---------+-----------------------
generate_html  |   0.3.1 | /Users/janke/octave/generate_html-0.3.1
           io  |  2.4.12 | /Users/janke/octave/io-2.4.12
octave:15> test eigs
***** testif HAVE_ARPACK
 M = magic (10);
 A = sin (M);
 A = A * A';
 B = cos (M);
 B = B * B';
 opts.v0 = (1:10)';
 [Evector, Evalues] = eigs (A, B, 4, "LM", opts);
 Afun = @(x) A * x;
 opts.issym = true;
 [Evector_f Evalues_f] = eigs (Afun, 10, B, 4, "LM", opts);
 assert (Evector, Evector_f);
 assert (Evalues, Evalues_f);
!!!!! test failed
ASSERT errors for:  assert (Evector,Evector_f)

  Location  |  Observed  |  Expected  |  Reason
   (1,1)       -10.2615     -10.2615     Abs err 3.9577e-12 exceeds tol 0 by 4e-12
   (2,1)        14.655       14.655      Abs err 1.1969e-11 exceeds tol 0 by 1e-11
   (3,1)       12.7518      12.7518      Abs err 2.3062e-11 exceeds tol 0 by 2e-11
   (4,1)       -46.9129     -46.9129     Abs err 8.7681e-11 exceeds tol 0 by 9e-11
   (5,1)        26.156       26.156      Abs err 4.5215e-11 exceeds tol 0 by 5e-11
   (6,1)       -10.2673     -10.2673     Abs err 1.128e-11 exceeds tol 0 by 1e-11
   (7,1)       -9.63791     -9.63791     Abs err 1.4541e-11 exceeds tol 0 by 1e-11
   (8,1)       -10.8216     -10.8216     Abs err 2.0446e-11 exceeds tol 0 by 2e-11
   (9,1)       47.2775      47.2775      Abs err 8.3993e-11 exceeds tol 0 by 8e-11
   (10,1)      -18.8187     -18.8187     Abs err 3.7044e-11 exceeds tol 0 by 4e-11
   (1,2)       -9.21245     -9.21245     Abs err 6.9864e-12 exceeds tol 0 by 7e-12
   (2,2)       1.28973      1.28973      Abs err 6.5103e-12 exceeds tol 0 by 7e-12
   (3,2)       -7.57405     -7.57405     Abs err 3.2623e-12 exceeds tol 0 by 3e-12
   (4,2)       29.4145      29.4145      Abs err 1.1259e-11 exceeds tol 0 by 1e-11
   (5,2)       -13.933      -13.933      Abs err 7.0148e-12 exceeds tol 0 by 7e-12
   (6,2)       1.12816      1.12816      Abs err 4.0448e-12 exceeds tol 0 by 4e-12
   (7,2)        3.6506       3.6506      Abs err 2.9754e-12 exceeds tol 0 by 3e-12
   (8,2)        7.0143       7.0143      Abs err 2.5882e-12 exceeds tol 0 by 3e-12
   (9,2)       -26.6669     -26.6669     Abs err 1.2186e-11 exceeds tol 0 by 1e-11
   (10,2)      13.0338      13.0338      Abs err 4.1318e-12 exceeds tol 0 by 4e-12
   (1,3)       0.680755     0.680755     Abs err 8.6597e-15 exceeds tol 0 by 9e-15
   (2,3)       -1.2236      -1.2236      Abs err 1.5321e-14 exceeds tol 0 by 2e-14
   (3,3)       -1.67745     -1.67745     Abs err 1.1102e-15 exceeds tol 0 by 1e-15
   (4,3)       -1.16694     -1.16694     Abs err 2.1538e-14 exceeds tol 0 by 2e-14
   (5,3)       2.49747      2.49747      Abs err 1.4655e-14 exceeds tol 0 by 1e-14
   (6,3)      -0.918144    -0.918144     Abs err 7.3275e-15 exceeds tol 0 by 7e-15
   (7,3)       0.243532     0.243532     Abs err 1.4794e-14 exceeds tol 0 by 1e-14
   (8,3)       2.13757      2.13757      Abs err 8.8818e-16 exceeds tol 0 by 9e-16
   (9,3)       0.601433     0.601433     Abs err 1.8874e-14 exceeds tol 0 by 2e-14
   (10,3)      -1.48216     -1.48216     Abs err 1.0214e-14 exceeds tol 0 by 1e-14
   (1,4)       2.04634      2.04634      Abs err 1.3323e-15 exceeds tol 0 by 1e-15
   (2,4)       -3.40189     -3.40189     Abs err 8.8818e-16 exceeds tol 0 by 9e-16
   (3,4)       1.25275      1.25275      Abs err 8.6597e-15 exceeds tol 0 by 9e-15
   (4,4)       0.169738     0.169738     Abs err 8.0491e-15 exceeds tol 0 by 8e-15
   (5,4)      -0.716964    -0.716964     Abs err 1.6653e-15 exceeds tol 0 by 2e-15
   (6,4)       -1.22496     -1.22496     Abs err 3.9968e-15 exceeds tol 0 by 4e-15
   (7,4)       3.05027      3.05027      Abs err 3.9968e-15 exceeds tol 0 by 4e-15
   (8,4)       -1.32483     -1.32483     Abs err 1.0214e-14 exceeds tol 0 by 1e-14
   (9,4)       0.664924     0.664924     Abs err 8.9928e-15 exceeds tol 0 by 9e-15
   (10,4)      -1.02465     -1.02465     Abs err 2.6645e-15 exceeds tol 0 by 3e-15
octave:16>


This is on macOS 10.13.6 with arpack 3.6.3.

Andrew Janke <apjanke>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by pantxo (Posted a comment)
  • -email is unavailable- added by dasergatskov (Posted a comment)
  • -email is unavailable- added by apjanke (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-01-22 rik5 StatusNone Invalid / Not an Octave Bug
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code