|
[Date Index]
[Thread Index]
[Author Index]
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
|