[R] Behaviour of very large numbers

willem vervoort willemvervoort at gmail.com
Thu Aug 30 17:08:57 CEST 2007


Dear all,
I am struggling to understand this.

What happens when you raise a negative value to a power and the result
is a very large number?

 B
[1] 47.73092

> -51^B
[1] -3.190824e+81

# seems fine
# now this:
> x <- seq(-51,-49,length=100)

> x^B
  [1] NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN <snip>
> is.numeric(x^B)
[1] TRUE
> is.real(x^B)
[1] TRUE
> is.infinite(x^B)
  [1] FALSE FALSE FALSE FALSE FALSE

I am lost, I checked the R mailing help, but could not find anything
directly. I loaded package Brobdingnag and tried:
as.brob(x^B)
  [1] NAexp(NaN) NAexp(NaN) NAexp(NaN) NAexp(NaN) NAexp(NaN)
> as.brob(x)^B
  [1] NAexp(187.67) NAexp(187.65) NAexp(187.63) NAexp(187.61)

I guess I must be misunderstanding something fundamental.

Any clues would be really appreciated.
Willem



More information about the R-help mailing list