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