Я хотел бы вычислить log (exp (A1) + exp (A2)).
Приведенная ниже формулаРасчет журнала (сумма exp (термины)), когда «термины» очень малы
log(exp(A1) + exp(A2)) = log[exp(A1)(1 + exp(A2)/exp(A1))] = A1 + log(1+exp(A2-A1))
полезна, когда А1 и А2 являются большими и численно ехр (А1) = Inf (или ехр (А2) = Inf). (эта формула обсуждается в этой теме -> How to calculate log(sum of terms) from its component log-terms). Формула верна, когда роль A1 и A2 заменяются.
Моя озабоченность этой формулой заключается в том, что A1 и A2 очень малы. Например, когда A1 и A2:
A1 <- -40000
A2 <- -45000
то непосредственное вычисление бревна (ехр (А1) + ехр (А2)) составляет:
log(exp(A1) + exp(A2))
[1] -Inf
Используя формулу выше, дает:
A1 + log(1 + exp(A2-A1))
[1] -40000
который является значением A1. Изинга формулу выше с перевернутым роли А1 и А2 дает:
A2 + log(1 + exp(A1-A2))
[1] Inf
Какой из трех значений ближе всего к истинному значению лога (ехр (А1) + ехр (А2))? Существует ли надежный способ вычисления log (exp (A1) + exp (A2)), который может использоваться как при A1, A2, так и в A1, A2 больших.
Спасибо заранее