Не становится ли numpy.dot неправильным для больших массивов?Я использую iMac с 4 ГГц процессором Intel Core i7 и 32 ГБ 1600 МГц DDR3.Я выполнил простой эксперимент для сравнения суммы квадратов от 1 до большого числа, используя цикл for против векторизации.Когда сумма достаточно велика, подход векторизации является неправильным.См. Эксперимент ниже:
i = 3024617
sum([j**2 for j in range(1,i)]) - np.dot(np.arange(1,i,dtype=np.int64), np.arange(1,i, dtype=np.int64))
i = 3024618
sum([j**2 for j in range(1,i)]) - np.dot(np.arange(1,i,dtype=np.int64), np.arange(1,i, dtype=np.int64))
Первая разница - и разница для любого i <3024617 равна 0 </p>
Вторая разница - и разница для любого i> = 3024618 равнабольшое целое число
Я ожидаю, что эта разница будет 0 для всех целых чисел i.