[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