Why does numpy give different answers for matrix multiplication at different times? The code is as follows: