[Debian-science-sagemath] Buster todo list

Ximin Luo infinity0 at debian.org
Wed Jan 23 17:04:00 GMT 2019


Ximin Luo:
> [..]
> 
> 3. Is the BLAS specification under-specified for xerbla/zgees or whatever is the problem here? So different implementations can do random things, which Sage cannot predict?
> 

Looks like this is at least part of the underlying issue. There are two different implementations of this, in C and in Fortran. The one in C xerbla.c from lapack does *not* call exit(0), but atlas only has a Fortran implementation xerbla.f which calls STOP (exit(0) in fortran).

lapack also has a fortran implementation, but here on Debian it is the C implementation that is called, for some reason I don't know that is probably worth investigation. Running sage through gdb:

==== Good ====
sage: matrix(CDF, 0, 0,).is_unitary(algorithm='orthonormal')

Thread 1 "python2" hit Breakpoint 1, xerbla_ (srname=0x7ffeab4d3c66 "ZGEES PMGLRU", vinfo=0x7fffffffb1d8) at xerbla.c:15
15	xerbla.c: No such file or directory.
(gdb) bt
#0  xerbla_ (srname=0x7ffeab4d3c66 "ZGEES PMGLRU", vinfo=0x7fffffffb1d8) at xerbla.c:15
#1  0x00007ffeab3549a2 in zgees_ () from /usr/lib/x86_64-linux-gnu/liblapack.so.3
#2  0x00007ffea29bde9b in ?? () from /usr/lib/python2.7/dist-packages/scipy/linalg/_flapack.x86_64-linux-gnu.so
==== /Good ====

==== Bad ====
sage: matrix(CDF, 0, 0,).is_unitary(algorithm='orthonormal')

Thread 1 "python2" hit Breakpoint 1, xerbla (srname=..., info=6, _srname=6) at ./build/..//interfaces/blas/F77/src/xerbla.f:1
1	./build/..//interfaces/blas/F77/src/xerbla.f: No such file or directory.
(gdb) bt
#0  xerbla (srname=..., info=6, _srname=6) at ./build/..//interfaces/blas/F77/src/xerbla.f:1
#1  0x00007ffeaafe79a2 in zgees_ () from /usr/lib/x86_64-linux-gnu/liblapack.so.3
#2  0x00007ffea2710e9b in ?? () from /usr/lib/python2.7/dist-packages/scipy/linalg/_flapack.x86_64-linux-gnu.so
==== /Bad ====

So basically we need to ensure that the BLAS implementation we're using, is using the C version of the xerbla function that does *not* call STOP.

X

-- 
GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE
https://github.com/infinity0/pubkeys.git



More information about the Debian-science-sagemath mailing list