Bug#696000: openblas: breaks numpy linalg.solve and numpy.dot on i386

Julian Taylor jtaylor.debian at googlemail.com
Sat Dec 15 14:37:04 UTC 2012


Package: openblas
Version: 0.1.1-6
Severity: serious

when using python-numpy with openblas set als libblas.so.3 provider it gives wrong results in some situations on i386. amd64 seems to work.
It also works fine with libblas3 and libatlas.
It seems to only occur when you change between double and single precision in a single script.

$ apt-get install python-numpy libopenblas-base
$ update-alternatives --set libblas.so.3 /usr/lib/openblas-base/libopenblas.so.0

$ cat test.py
import numpy.linalg as linalg
from numpy import array, single, double, dot

# removing any lines here makes it work again
a = array([[1.,2.], [3.,4.]], dtype=double)
b = array([2., 1.], dtype=double)
x = linalg.solve(a, b)
r = dot(a, x)

a = array([[1.,2.], [3.,4.]], dtype=single)
b = array([2., 1.], dtype=single)
print dot(a, b)

$ python ./test.py 
[ nan  nan]
$ update-alternatives --set libblas.so.3 /usr/lib/libblas/libblas.so.3
$ python ./test.py 
[  4.  10.]
$ update-alternatives --set libblas.so.3 /usr/lib/atlas-base/atlas/libblas.so.3
$ python ./test.py 
[  4.  10.]



More information about the debian-science-maintainers mailing list