MathGroup Archive 2013

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

Search the Archive

Re: Low precision exponentiation

  • To: mathgroup at smc.vnet.net
  • Subject: [mg129839] Re: Low precision exponentiation
  • From: Bill Rowe <readnews at sbcglobal.net>
  • Date: Mon, 18 Feb 2013 06:00:23 -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

On 2/17/13 at 4:08 AM, blaise at blaisefegan.me.uk (Blaise F Egan)
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?

A couple of things. First, you need to be aware by default
Mathematica displays 6 digits. But the actual result has more
digits. You can see this with

In[1]:= a = N[2.5^125, 30]

Out[1]= 5.52715*10^49

In[2]:= FullForm[a]

Out[2]//FullForm= 5.527147875260444`*^49

Second, 2.5 is a machine precision number with ~16 digits of
precision. You should not expect to be able to get 30 digits of
precision when taking a value with less precision and raising it
to a high power. If you want the value to have 30 digits of
precision, you really need to start with something that has more
than machine precision to begin with. That is

In[3]:= Precision[a]

Out[3]= MachinePrecision

The result is a machine precision value not a value with 30
digits of precision

Try

In[4]:= b = N[(5/2)^125, 30]

Out[4]= 5.52714787526044456024726519219*10^49

In[5]:= Precision[b]

Out[5]= 30.




  • Prev by Date: Re: Low precision exponentiation
  • Next by Date: Re: Stephen Wolfram's recent blog
  • Previous by thread: Re: Low precision exponentiation
  • Next by thread: Re: Low precision exponentiation