Re: [R] R: to the power

From: Duncan Murdoch <murdoch_at_stats.uwo.ca>
Date: Wed 13 Jul 2005 - 00:07:22 EST

On 7/12/2005 9:53 AM, allan_sta_staff_sci_main_uct@mail.uct.ac.za wrote:
> hi all
>
> i simply wanted to work with real numbers and thought that (-8)^(1/3) should
> work.

It might work in an ideal world, but not in the R floating point world.   There's no way to express (1/3) exactly. Since (-8)^(1/3 + epsilon) (restricted to the reals) is not defined for epsilon near zero but not exactly zero, it's really hopeless to expect R to give you what you wanted.

*You* know that you're taking an odd root of a negative number, but R doesn't. You need to use your knowledge to rewrite that mathematical expression as the mathematically equivalent -(8^(1/3)) and then things will be fine.

Duncan Murdoch

>
> sorry for not making the question clearer.
>
> /
> allan
>
> Quoting Duncan Murdoch <murdoch@stats.uwo.ca>:
>

>> On 7/12/2005 9:29 AM, Robin Hankin wrote:
>> > Hi
>> >
>> > I find that one often needs to keep reals real and complexes complex.
>> >
>> > Try this:
>> >
>> > "cuberooti" <-
>> >    function (x)
>> > {
>> >    if (is.complex(x)) {
>> >      return(sqrt(x + (0+0i)))
>> >    }
>> >    sign(x)*  abs(x)^(1/3)
>> > }
>> >
>> >
>> > best wishes
>> >
>> > [see that (0+0i) sitting there!]
>>
>> I don't understand this.
>>
>> 1.  I don't think you meant to use sqrt() there, did you??
>>
>> 2.  What effect does the 0+0i have?  x has already been determined to be
>> complex.
>>
>> Duncan Murdoch
>>

>
>
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.


R-help@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 Received on Wed Jul 13 00:09:23 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:33:33 EST