numpy.logaddexp#
-
numpy.logaddexp(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, сигнатура]) =
'logaddexp'> # Логарифм суммы экспонент входных данных.
Вычисляет
log(exp(x1) + exp(x2)). Эта функция полезна в статистике, где вычисленные вероятности событий могут быть настолько малы, что превышают диапазон обычных чисел с плавающей запятой. В таких случаях логарифм вычисленной вероятности сохраняется. Эта функция позволяет складывать вероятности, сохранённые таким образом.- Параметры:
- x1, x2array_like
Входные значения. Если
x1.shape != x2.shape, они должны быть транслируемы к общей форме (которая становится формой вывода).- выходndarray, None или кортеж из ndarray и None, опционально
Место для сохранения результата. Если предоставлено, оно должно иметь форму, в которую транслируются входные данные. Если не предоставлено или None, возвращается вновь выделенный массив. Кортеж (возможен только как ключевой аргумент) должен иметь длину, равную количеству выходов.
- гдеarray_like, необязательный
Это условие транслируется на вход. В местах, где условие истинно, выход массив будет установлен в результат ufunc. В других местах выход массив сохранит своё исходное значение. Обратите внимание, что если неинициализированный выход массив создается через стандартный
out=None, позиции внутри неё, где условие ложно, останутся неинициализированными.- **kwargs
Для других аргументов, доступных только по ключевым словам, смотрите документация ufunc.
- Возвращает:
- результатndarray
Логарифм
exp(x1) + exp(x2). Это скаляр, если оба x1 и x2 являются скалярами.
Смотрите также
logaddexp2Логарифм суммы экспонент входных данных по основанию 2.
Примеры
>>> import numpy as np >>> prob1 = np.log(1e-50) >>> prob2 = np.log(2.5e-50) >>> prob12 = np.logaddexp(prob1, prob2) >>> prob12 -113.87649168120691 >>> np.exp(prob12) 3.5000000000000057e-50