Một vấn đề rất phổ biến trong Markov Chain Monte Carlo liên quan đến xác suất tính toán là tổng của các thuật ngữ hàm mũ lớn,
trong đó các thành phần của có thể từ rất nhỏ đến rất lớn. Cách tiếp cận của tôi là đưa ra thuật ngữ hàm mũ lớn nhất để:
e một ' ≡ e một 1 + e một 2 + . . .
Cách tiếp cận này là hợp lý nếu tất cả các yếu tố của lớn, nhưng không phải là một ý tưởng tốt nếu chúng không. Tất nhiên, dù sao thì các phần tử nhỏ hơn không đóng góp vào tổng dấu phẩy động, nhưng tôi không chắc chắn làm thế nào để giải quyết chúng một cách đáng tin cậy. Trong mã R, cách tiếp cận của tôi trông giống như:
if ( max(abs(a)) > max(a) )
K <- min(a)
else
K <- max(a)
ans <- log(sum(exp(a-K))) + K
Có vẻ như một vấn đề đủ phổ biến là cần có một giải pháp chuẩn, nhưng tôi không chắc nó là gì. Cảm ơn cho bất kỳ đề nghị.