[R] Ratio of huge products

Peter Langfelder peter.langfelder at gmail.com
Thu Dec 15 20:03:18 CET 2011

On Thu, Dec 15, 2011 at 10:35 AM, Alberto Magni
<alberto.magni86 at gmail.com> wrote:
> Hello everybody,
> I have to compute something in this form:
> x = prod(a:b) / prod(c:d),    where: a < c and b < d and obviously: a
> < b and c < d
> I cannot make assumptions on the relative position of c,b and a,d.
> The problem is that a,b,c,d are large and the products are huge (R return Inf).
> Their ratio is less than 1 but significantly higher than 0: it is a
> non-tiny probability.
> I need to find a way to simplify this ratio.
> The only way to solve this that I see is to decompose into prime
> factors all the
> numbers in the numerator and the denominator and to remove the ones in common
> Do you know a better way to do this ?

Yes, exp( sum(log(a:c))-sum(log(b:d)) ), which is mathematically
exactly equivalent, unless I made a typo.
Remeber that log of a product is a sum of the logs of the arguments.


More information about the R-help mailing list