As an indication that the Sage output was the correct one, you can add the line
sage: exp(a) and see 0.00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 John On 3 October 2014 01:28, <ref...@uncg.edu> wrote: > Dear All, > > I appreciate any help that I can get with this question. Thank you in > advance. > > I've been converting some of my algorithms that wrote using Sage into C. I > noticed that it appears that MPFR and Sage do not match when taking > logarithms of certain values at arbitrary precision. As an example, > consider the following lines in Sage: > > RR = RealField(1000) > x = RR(.001) > a= log(x) > > When I do this, Sage says that: > > a=-6.90775527898213705205397436405309262280330446588631892809998370290271782903205744070799161526879489502590335212685874590022857639524842026999886210729634506844872162497666404253139968447869959558518051592689613319788653849009866686309465966023963100242321272982309546514680294481817443885821320066631 > > When comparing to MPFR, if I run the attached code in the command line (that > I believe does the same thing as above) using > > gcc -Wall -W -Werror logs.c -o logs -lm -lmpfr -lgmp > ./logs > > The output of the program is: > > -6.90775527898213703123729265233140770652732943274746853066220338998698620110531195719818129463092278351819792580811173018723242118875465470783068399942176413540835294300881628169088830077469356711717015036454074809229573906590734510694077140442685761387606643232451253919766892057408972733372702726501595 > > When comparing the digits though, it appears that only around the first 16 > or so digits are the same. To see this, I put the value that Sage returns > against the value that MPFR returns on top of each other and highlight where > the digits start to disagree in red: > > -6.90775527898213705205397436405309262280330446588631892809998370290271782903205744070799161526879489502590335212685874590022857639524842026999886210729634506844872162497666404253139968447869959558518051592689613319788653849009866686309465966023963100242321272982309546514680294481817443885821320066631 > > -6.90775527898213703123729265233140770652732943274746853066220338998698620110531195719818129463092278351819792580811173018723242118875465470783068399942176413540835294300881628169088830077469356711717015036454074809229573906590734510694077140442685761387606643232451253919766892057408972733372702726501595 > > Does anyone see why the values would be so much different? I thought that > Sage called MPFR to find these values. > > Thanks, > > Rick > > P.S. I'm using Sage version 5.12, gcc version 4.7.3, and as far as I know > I'm using the newest version of MPFR. > > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.