MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re[2]: Low precision exponentiation

  • To: mathgroup at smc.vnet.net
  • Subject: [mg129843] Re[2]: Low precision exponentiation
  • From: "Blaise F Egan" <blaise at blaisefegan.me.uk>
  • Date: Mon, 18 Feb 2013 06:01:43 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • Reply-to: "Blaise F Egan" <blaise at blaisefegan.me.uk>

Thanks to all the nice people who took the time to explain it to a 
newbie.
  
  
Best wishes
  
Blaise
------ Original Message ------
From: "Murray Eisenberg" <murray at math.umass.edu>
To: "mathgroup" <mathgroup at smc.vnet.net>
Sent: 17/02/2013 16:24:08
Subject: [mg129843] Re: Low precision exponentiation
>You are not doing anything "silly"; you're just being caught by two common traps for Mathematica beginners.
>
>First, by default Mathematica treats 2.5 as a machine-precision number; no matter what you do with it as is, you won't get any more than machine-precision as result. You need to specify you mean exactly that number, to the desired precision, e.g.:
>
>  2.5`30
>
>Second, no matter what the precision of a number, by default Mathematica only _displays_ 6 significant digits. To get more digits, use NumberForm (or depending on the format you want, perhaps ScientificForm, EngineeringForm, or AccountingForm), with second argument the number of digits to display.
>
>Thus:
>
>  NumberForm[N[2.5`30^125, 30], 30]
>5.527147875260444560247265192*10^(49)
>
>Actually, in such an example you probably want to be more careful, since the calculation may lose precision. In fact:
>
>  Precision[N[2.5`30^125, 30]]
>27.9031
>
>You've lost 2 to 3 digits of precision. So just increase the precision in the calculation:
>
>  Precision[N[2.5`40^125, 40]]
>37.9031
>
>Which means that when you display 30 digits of N[2.5`40^125, 40] with NumberForm, all 30 digits will be correct.
>
>On Feb 17, 2013, at 4:08 AM, Blaise F Egan <blaise at blaisefegan.me.uk> wrote:
>
>
>>
>>I am trying to evaluate 2.5^125 to high precision.
>>
>>R gives 5.527147875260445183346e+49 as the answer but Mathematica with N[2.5^125,30] gives 5.52715*10^49 and says that is to machine precision.
>>
>>I am inexperienced at Mathematica. Am I doing something silly?
>>
>
>
>---
>Murray Eisenberg                                    murray at math.umass.edu
>Mathematics & Statistics Dept.
>Lederle Graduate Research Tower            phone 413 549-1020 (H)
>University of Massachusetts                               413 545-2838 (W)
>710 North Pleasant Street                         fax   413 545-1801
>Amherst, MA 01003-9305
>
>
>
>
>
>
>




  • Prev by Date: Re: Low precision exponentiation
  • Next by Date: Does MLGetUTF8String() return a null-terminated string?
  • Previous by thread: Re: Low precision exponentiation
  • Next by thread: Re: Low precision exponentiation