Python Glossary English

Python 3.2+Числа и математикафункция

math.expm1

корни/степени

exp(x) − 1, точно при малых x (без потери значимости).

Синтаксис

math.expm1(...)

Проблема, которую он снимает: при крошечном x значение exp(x) почти равно единице, при вычитании старшие разряды взаимно уничтожаются и от ответа остаётся горстка значащих цифр — expm1 считает разность напрямую и сохраняет точность. Парная ему math.log1p(x) вычисляет log(1+x) и служит обратной функцией; на больших x выигрыша нет, и переполнение произойдёт ровно так же, как у exp.

Примеры

import math
print(math.expm1(0))   # → 0.0
print(round(math.expm1(1), 6))   # → 1.718282
print(round(math.expm1(0.005), 6))   # → 0.005013
print(math.exp(1e-16) - 1)   # → 0.0
print(math.expm1(1e-16))   # → 1e-16

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности