[R] 0^0 computation in R : Why it is defined 1 in R ?

David Winsemius dwinsemius at comcast.net
Tue May 27 04:05:48 CEST 2014


On May 26, 2014, at 9:42 AM, Prof Brian Ripley wrote:

> On 26/05/2014 13:16, ritwik_r at isical.ac.in wrote:
>> Dear R helpers,
>> 
>> 
>> today I found something interesting in R. 0^0 gives value 1 in R. But it
>> is undefined in mathematics. During debugging a R code, I found it and it
>> effects my program severely. So my question is why it is defined 1 in R?
>> Is there any particular reason or its a bug in the R software?
> 
> Try reading the help:
> 
>     Users are sometimes surprised by the value returned, for example
>     why ‘(-8)^(1/3)’ is ‘NaN’.  For double inputs, R makes use of IEC
>     60559 arithmetic on all platforms, together with the C system
>     function ‘pow’ for the ‘^’ operator.  The relevant standards
>     define the result in many corner cases.  In particular, the result
>     in the example above is mandated by the C99 standard.  On many
>     Unix-alike systems the command ‘man pow’ gives details of the
>     values in a large number of corner cases.
> 
> See §F9.4.4 of the C99 standard.
> 

A related questi0n is why NaN^0 == 0 returns TRUE:

http://stackoverflow.com/questions/17863619/why-does-nan0-1/17864651

-- 
David.
> 
>> 
>> Here is one demo:
>> 
>> *************************************************
>> 
>> ff=function(u){
>>   return( x^0 * u)
>> }
>> 
>> x=0
>> zz=integrate(ff,lower=0,upper=1)$value
>> zz
>> 
>> 
>> 
>>> source('~/.active-rstudio-document')
>>> zz
>> [1] 0.5
>>> 
>> 
>> *************************************************
>> 
>> Looking forward to hear any response.
>> 
>> Regards,
>> 
>> Ritwik Bhattacharya
>> Indian Statistical Institute Kolkata
>> 
>> ______________________________________________
>> R-help at 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.
>> 
> PLEASE do ....
> 

David Winsemius
Alameda, CA, USA



More information about the R-help mailing list