Ask Your Question

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

1 Answer

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

Comments

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 10:08:48 +0100 )edit

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

( 2017-03-29 00:21:57 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Stats

Asked: 2013-02-08 21:53:21 +0100

Seen: 592 times

Last updated: Feb 09 '13