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