Почему doe numpy .multiply дает неправильный результат для больших целых чисел? - PullRequest
0 голосов
/ 18 июня 2020

Почему

np.multiply( np.array(100000) , np.array(100000) )

дает 1410065408, что неверно, а

100000*100000 дает 10000000000, что правильно?

Я знаю, что при использовании не- целое число 100000 работает нормально, но почему неправильный результат умножения для целых чисел?

Спасибо за помощь.

1 Ответ

0 голосов
/ 18 июня 2020

Не np.multiply, а np.array дает неверный результат: у вас 32-битная целочисленная система, и это переполнение. Попробуйте:

 np.multiply( np.array(100000, dtype=np.int64) , np.array(100000, dtype=np.int64) )
...