First time here? Check out the FAQ!

Ask Your Question
1

Obtaining a RealNumber in Python

asked 3 years ago

Dan-K gravatar image

updated 3 years ago

I have a python module imported by a SageMath notbook and in this module, I import and use Sage functionality via from sage.all import *.

Most functions work fine, however when I try to obtain a RealNumber such as in the following code:

from sage.rings.real_mpfr import RealNumber
# ...
test = RealNumber(1.2)

I get this error:

TypeError: Cannot convert float to sage.rings.real_mpfr.RealField_class

I've tried using strings as well and that didn't work either.

Note that to use RealNumber I need to import it explicitly (it's not included in sage.all). <- This was an incorrect assumption on my part. After @slelievre's answer, I looked if create_RealNumber was imported by sage.all and it indeed is. Ultimately, to get RealNumber to work, only the sage.all import is needed.

Question:

How can I use RealNumber in my Python module?

Preview: (hide)

2 Answers

Sort by » oldest newest most voted
1

answered 2 years ago

Dan-K gravatar image

updated 2 years ago

RealNumber can be imported and used from sage.all:

from sage.all import RealNumber
# ...
test = RealNumber(1.2)
Preview: (hide)
link
3

answered 3 years ago

slelievre gravatar image

One nice way to figure out the correct import statements is to use the import_statements function.

In this case:

sage: import_statements('RealNumber')
from sage.rings.real_mpfr import create_RealNumber as RealNumber
Preview: (hide)
link

Comments

Thank you so much!

Dan-K gravatar imageDan-K ( 3 years ago )

Your Answer

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

Add Answer

Question Tools

1 follower

Stats

Asked: 3 years ago

Seen: 405 times

Last updated: Apr 10 '22