[R] Looking for greater floating-point precision
Gabor Grothendieck
ggrothendieck at gmail.com
Fri Nov 17 14:55:37 CET 2006
You might use the idea below together with sum.exact in the caTools package.
On 11/17/06, Martin Maechler <maechler at stat.math.ethz.ch> wrote:
> >>>>> "Paul" == Paul Smith <phhs80 at gmail.com>
> >>>>> on Fri, 17 Nov 2006 12:12:52 +0000 writes:
>
> Paul> On 11/16/06, Prof Brian Ripley <ripley at stats.ox.ac.uk>
> Paul> wrote:
> >> > For my calculations, I am needing to use more
> >> floating-point precision > than the default one of R. Is
> >> that possible? And, if yes, how?
> >>
> >> See package gmp (but that will be slow and cumbersome for
> >> all but simple calculations).
> >>
> >> The real issue is that R already uses the maximum
> >> precision of the FPU for many common FPUs (but not all).
> >> Since you have forgotten to tell us anything about your
> >> environment we don't know if that applies: there may be
> >> compiler options you can use to raise the precision.
> >>
> >> Please do study the posting guide: we are surprisingly
> >> good at mind-reading, but prefer to be told exactly what
> >> you want to do with R in what environment and why you are
> >> 'needing' something.
>
> Paul> Thanks, Gabor and Prof. Ripley. After some research, I
> Paul> conclude that the problem occurring to me cannot be
> Paul> removed for any finite floating-point precision. (I do
> Paul> need infinite floating-point precision.) The
> Paul> problematic operation is the successive multiplication
> Paul> of reals between 0 and 1; after a certain number of
> Paul> multiplications, significant rounding errors occur.
>
> of course. But that's a very well known and common problem in
> several areas of applied probability and statistics.
>
> AFAIK, in most cases the "obvious" remedy is the following:
> Instead of multiplying probabilities,
> you add log-probabilities and only exp()onentiate at the end {if
> needed at all}. This also applies if your numbers in [0,1] are
> not probabilities per se.
>
> Note that R makes it particularly efficient to work with
> log-probabilities, because all d<foo>() and p<foo> functions
> have a 'log' or 'log.p' argument which return log-values
> already, often with much more precision and efficiency than if
> you'd take the log of the probabilities yourself.
>
> Regards,
> Martin Maechler, ETH Zurich
>
>
> Paul> I did read the posting guide, but I could not
> Paul> anticipate the relevance of indicating the environment
> Paul> that I am using: Fedora Core 6 (Linux) running on a
> Paul> Pentium Dual Core and R 2.4.0.
>
> Paul> Paul
>
> Paul> ______________________________________________
> Paul> R-help at stat.math.ethz.ch mailing list
> Paul> https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do
> Paul> read the posting guide
> Paul> http://www.R-project.org/posting-guide.html and
> Paul> provide commented, minimal, self-contained,
> Paul> reproducible code.
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
>
More information about the R-help
mailing list