Работая в C ++, я хотел бы найти сумму некоторых величин, а затем взять журнал суммы:
log(a_1 + a_2 + a_3 + ... + a_n)
Однако у меня нет самих величин, у меня есть только их лог-значения:
l_1 = log(a_1), l_2 = log(a_2), ... , l_n = log(a_n)
Есть ли какой-нибудь эффективный способ получить в логе сумму a_i? Я бы хотел избежать
log(s) = log(exp(l_1) + exp(l_2) + ... + exp(l_n))
если возможно - exp становится узким местом, так как вычисления выполняются много раз.