Ошибка с переходом в другой тип при малых значениях numpy
Существует массив
np.array([0.e+00, 0.e+00, 0.e+00, 1.e-50, 0.e+00]).
Тип этого массива - float.
При умножении всего массива b *= 30 на число, которые больше 19, тип массива меняется на object. При b = b * 30 тип все-равно меняется, хоть и без ошибки.
b = np.zeros((5, 5))
b[1, 2] = 10 ** -50
b *= 10 ** 20
Ответы (1 шт):
Автор решения: kira
→ Ссылка
Как вариант, можно:
b *= 10 ** (20 // 2)
b *= 10 ** (20 // 2)
И только в таком порядке. При b *= (10 ** 20) // 2 выскакивает та же самая ошибка.