precedence does matter in this example.  the square
root was taken of a doubleprecision (53 bit) number.  my revision
takes the square root of a 120 bit number.

> sqrt(mpfr(pi, 120))
1 'mpfr' number of precision  120   bits
[1] 1.7724538509055159927515191031392484397
> mpfr(sqrt(pi), 120)
1 'mpfr' number of precision  120   bits
[1] 1.772453850905515881919427556567825377
> print(sqrt(pi), digits=20)
[1] 1.7724538509055158819
>

Sent from my iPhone

> On Jul 3, 2015, at 00:38, Ravi Varadhan <ravi.varad...@jhu.edu> wrote:
>
> Hi Rich,
>
> The Wolfram answer is correct.
> http://mathworld.wolfram.com/RamanujanConstant.html
>
> There is no code for Wolfram alpha.  You just go to their web engine and plug 
> in the expression and it will give you the answer.
> http://www.wolframalpha.com/
>
> I am not sure that the precedence matters in Rmpfr.  Even if it does, the 
> answer you get is still wrong as you showed.
>
> Thanks,
> Ravi
>
> -----Original Message-----
> From: Richard M. Heiberger [mailto:r...@temple.edu]
> Sent: Thursday, July 02, 2015 6:30 PM
> To: Aditya Singh
> Cc: Ravi Varadhan; r-help
> Subject: Re: [R] : Ramanujan and the accuracy of floating point computations 
> - using Rmpfr in R
>
> There is a precedence error in your R attempt.  You need to convert
> 163 to 120 bits first, before taking
> its square root.
>
>> exp(sqrt(mpfr(163, 120)) * mpfr(pi, 120))
> 1 'mpfr' number of precision  120   bits
> [1] 262537412640768333.51635812597335712954
>
> ## just the last four characters to the left of the decimal point.
>> tmp <- c(baseR=8256, Wolfram=8744, Rmpfr=8333, wrongRmpfr=7837)
>> tmp-tmp[2]
>     baseR    Wolfram      Rmpfr wrongRmpfr
>      -488          0       -411       -907
>
> You didn't give the Wolfram alpha code you used.  There is no way of 
> verifying the correct value from your email.
> Please check that you didn't have a similar precedence error in that code.
>
> Rich
>
>
>> On Thu, Jul 2, 2015 at 2:02 PM, Aditya Singh via R-help 
>> <r-help@r-project.org> wrote:
>>
>> Ravi
>>
>> I am a chemical engineer by training. Is there not something like law of 
>> corresponding states in numerical analysis?
>>
>> Aditya
>>
>>
>>
>> ------------------------------
>>> On Thu 2 Jul, 2015 7:28 AM PDT Ravi Varadhan wrote:
>>>
>>> Hi,
>>>
>>> Ramanujan supposedly discovered that the number, 163, has this interesting 
>>> property that exp(sqrt(163)*pi), which is obviously a transcendental 
>>> number, is real close to an integer (close to 10^(-12)).
>>>
>>> If I compute this using the Wolfram alpha engine, I get:
>>> 262537412640768743.99999999999925007259719818568887935385...
>>>
>>> When I do this in R 3.1.1 (64-bit windows), I get:
>>> 262537412640768256.0000
>>>
>>> The absolute error between the exact and R's value is 488, with a relative 
>>> error of about 1.9x10^(-15).
>>>
>>> In order to replicate Wolfram Alpha, I tried doing this in "Rmfpr" but I am 
>>> unable to get accurate results:
>>>
>>> library(Rmpfr)
>>>
>>>
>>>> exp(sqrt(163) * mpfr(pi, 120))
>>>
>>> 1 'mpfr' number of precision  120   bits
>>>
>>> [1] 262537412640767837.08771354274620169031
>>>
>>> The above answer is not only inaccurate, but it is actually worse than the 
>>> answer using the usual double precision.  Any thoughts as to what I am 
>>> doing wrong?
>>>
>>> Thank you,
>>> Ravi
>>>
>>>
>>>
>>>      [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>> 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.
>>
>> ______________________________________________
>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to