Я получаю ошибку переполнения при попытке выполнить этот расчет, но не могу понять, почему.
Число, которое вы просите math.exp для вычисления, имеет в десятичном виде более 110 000 цифр.Это немного выходит за пределы диапазона двойного, поэтому вызывает переполнение.
Для исправления используйте:
try: ans = math.exp(200000) except OverflowError: ans = float('inf')
Я думаю, что значение становится слишком большим, чтобы вписаться в double в python, поэтому вы получаете OverflowError.Наибольшее значение, которое я могу вычислить exp на моей машине в Python, чуть больше 709,78271.
double
OverflowError
exp
Это может дать вам понять, почему:
http://www.wolframalpha.com/input/?i=math.exp%28-4*1000000*-0.0641515994108%29
Обратите внимание на показатель 111442.