Python Glossary English

все Python 3Числа и математикафункция

math.log1p

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

Натуральный логарифм ln(1 + x), точно при малых x.

Синтаксис

math.log1p(...)

Когда x очень мал, сумма 1 + x округляется до 1.0 ещё до взятия логарифма, и math.log(1 + x) отдаёт ноль вместо ответа — log1p считает ln(1+x) напрямую и сохраняет значащие цифры. Берите её там, где x — небольшое относительное приращение: доходности, вероятности, накопление логарифма правдоподобия. Область определения x > -1, всё остальное даёт ValueError; обратная функция — math.expm1.

Примеры

import math
print(math.log1p(0))   # → 0.0
print(math.log1p(1))   # → 0.6931471805599453
print(math.log(1 + 1e-16))   # → 0.0
print(math.log1p(1e-16))   # → 1e-16
print(math.log1p(-1))   # → ValueError

См. также

Частые ошибки

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