On Sun, 19 Jul 2009, jim holtman wrote:
If the power that a number is being raised to is integer, then is does
evaluate honoring the unary minus.
(-2) ^ 5 #integer power
[1] -32
(-2) ^ 5.1
[1] NaN
Yes. 3 is representable exactly as a whole number, so (-2)^3 exists, but (1/3)
is represented as a fraction whose denominator is 2^54, an even number, so
(-8)^(1/3) does not exist (as a real number).
More generally, since all floating point numbers are represented as fractions
whose denominator is a power of 2, the only way a floating point number can be
a legitimate exponent for a negative base is if it represents a whole number.
-thomas
-8^(1/3)
is parsed as -(8^(1/3)) according to operator precedence.
On Sun, Jul 19, 2009 at 4:49 PM, Liviu Andronic<landronim...@gmail.com> wrote:
On Sun, Jul 19, 2009 at 12:28 AM, jim holtman<jholt...@gmail.com> wrote:
First of all, read FAQ 7.31 to understand that 1/3 is not
representable in floating point. Also a^b is actually exp(log(a) * b)
and log(-8) is not valid (NaN).
If this is so, why would the following evaluate as expected?
(-8)^(3)
[1] -512
Liviu
--
Jim Holtman
Cincinnati, OH
+1 513 646 9390
What is the problem that you are trying to solve?
______________________________________________
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.
Thomas Lumley Assoc. Professor, Biostatistics
tlum...@u.washington.edu University of Washington, Seattle
______________________________________________
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.