Он не выглядит "битностью" (32 против 64) процессора, см. комментарии к сообщению this, в частности:
Хороший ответ. Как я уже упоминал в моих комментариях выше, я могу дублировать вопрос @suzep136 на Raspberry Pi 3, который использует 64-битный процессор ARM. Любая идея, почему проблема переполнения возникла в 64-битной архитектуре? Единственное, о чем я могу думать, это то, что lapack/blas были скомпилированы для 32-битного ядра; Кажется, я установил numpy через apt-get. - nrlakin
И это не размер int в C, например, на моей машине:
>>> import numpy, ctypes
>>>
>>> ctypes.sizeof(ctypes.c_int)
4
>>> numpy.array([1]).dtype
dtype('int64')
Итак, от чего это зависит?
Изменить: есть еще один кандидат, спасибо ev-br:
LAPACK использует 32-битные целые числа для всех архитектур - ev-br
Изменить: частичный ответ здесь. Спасибо, Гойо. Я скопировал это и сделал его CW, чтобы вы могли добавить более тонкие точки, например, что происходит в PyPy или Jython. Меня также интересует, есть ли какие-то более глубокие причины для этого выбора.