# Arbitrary precision with power function

Hello! Sorry for my english. Why in Sage 5.6

numerical_approx((3**2.72), digits=200)

gives

19.850425152727527944307439611293375492095947265625000000000000000000000\ 000000000000000000000000000000000000000000000000000000000000000000000000\ 000000000000000000000000000000000000000000000000000000000

and

RealField(1000)(3**2.72)

gives

19.850425152727527944307439611293375492095947265625000000000000000000000\ 000000000000000000000000000000000000000000000000000000000000000000000000\ 000000000000000000000000000000000000000000000000000000000000000000000000\ 000000000000000000000000000000000000000000000000000000000000000000000000\ 0000000000000

? After digit 5 zero, zero, zero. How to get more digits in Sage?

edit retag close merge delete

Sort by ยป oldest newest most voted

You have lost precision in the exponent. Use this instead:

sage: RealField(1000)(3**RealField(1000)(2.72))
19.8504251527275236501169613591809343996536832818298893731367232890539239539110192928936229752670609756876526611313601647375707220812753965333394338326864664393162650498858490630921586590646536288686549507904739021525557865246462265058167658909360187069317683688989045025859261795668964872237430699403


EDIT: In general, I think you need to ensure that you don't try to get higher precision after your computations. Rather, start with the higher precision from the very beginning.

more

I understand. Thank you! It's work. Also example for maxima: fpprec:5000; bfloat(3.0b0 ^ 2.72b0); Example for GP/PARI: \p 1000 3^2.72

( 2013-02-11 03:08:48 -0500 )edit

Is there a way to choose a default precision such that one does not need to keep typing RealField(1000)?

( 2017-03-28 17:21:57 -0500 )edit