Обрабатывать значения с плавающей запятой за пределами numpy - PullRequest
0 голосов
/ 21 января 2020

У меня есть часть интегральной четырехугольной функции, которая выполняет

x * math.exp (a * b)

Где a и b - огромные значения. а = 13,03 и б = 95,632154355654, например.

И это дало мне математическую ошибку диапазона. OverflowError.

Существует ли экспоненциальная функция, которая может обрабатывать очень большие значения? Я попытался использовать

numpy .exp (a * b)

Но это вернуло инф. Есть ли другие альтернативы?

1 Ответ

0 голосов
/ 21 января 2020

Попробуйте десятичный модуль. Он отлично обрабатывает математику с большими числами или когда вам нужно много десятичной точности.

import decimal as d

a = 13.03
b = 95.632154355654
print(d.Decimal(a * b).exp())

Для меня это не вызвало ошибки, и напечатал 1.474672519395501705817002084E+541

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...