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