On 24/10/2008 12:42 PM, A.Noufaily wrote:
Dear all,
I would be grateful if anyone can help me with the following:
My aim is to compute explicitely the sum S=A+B where A=sum(exp(c_i/d)),
i=1,...,n;
B, c_i, and d are real numbers with -Inf<B,c_i<+Inf; and d>0.
The problem is that when c_i/d >710 (for some i) R is setting
exp(c_i/d) to be equal to +Inf and hence the whole summation S.
So in simple cases where for example c_i=8 (for some i), and d=0.01 the
whole summation is turning out to be infinite.
Is there a way to get round that in R?
Can anyone suggest any computational trick to calculate S when c_i/d>710
(for some i)?
Work on a log scale. Use the identity that
A+B = A*(1 + B/A)
= exp(log(A) + log(1 + B/A))
(where you chose A to be the biggest term in the sum).
Duncan Murdoch
Any suggestions would be much appreciated.
Regards,
Amy
---------------------------------
The Open University is incorporated by Royal Charter (RC 000391), an exempt charity
in England & Wales and a charity registered in Scotland (SC 038302).
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.