
Re: Low precision exponentiation
Posted:
Feb 18, 2013 6:01 AM


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 machineprecision number; no matter what you do with it as is, you won't get any more than machineprecision 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@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@math.umass.edu Mathematics & Statistics Dept. Lederle Graduate Research Tower phone 413 5491020 (H) University of Massachusetts 413 5452838 (W) 710 North Pleasant Street fax 413 5451801 Amherst, MA 010039305

