bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#41665: python-numpy: incorrect results on i686-linux


From: Diego Nicola Barbato
Subject: bug#41665: python-numpy: incorrect results on i686-linux
Date: Tue, 02 Jun 2020 18:16:24 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Hi Guix,

On i686-linux Numpy produces incorrect results for some matrix
products.

This minimal reproducer ...

--8<---------------cut here---------------start------------->8---
python3 <<EOF
from numpy import array
from numpy.linalg import inv
A = array([[1. , 0. , 0. ],
           [0. , 3. , 3. ],
           [0. , 0. , 1. ]])
print(inv(A) @ A[:,2])
print((inv(A) @ A)[:,2])
EOF
--8<---------------cut here---------------end--------------->8---

... should return:

--8<---------------cut here---------------start------------->8---
[0. 0. 1.]
[0. 0. 1.]
--8<---------------cut here---------------end--------------->8---

On x86_64-linux, armhf-linux, and aarch64-linux I get the correct
result.  On i686-linux I get this instead:

--8<---------------cut here---------------start------------->8---
[ 0.00000000e+00 -5.55111512e-17  1.00000000e+00]
[0. 0. 1.]
--8<---------------cut here---------------end--------------->8---

I came across this bug while looking into https://debbugs.gnu.org/40406,
for which it seems to be the underlying cause.

I'm surprised this wasn't caught by Numpy's test suite.

Regards,

Diego





reply via email to

[Prev in Thread] Current Thread [Next in Thread]