Dear all,

I am trying to implement a class of polynomials with very large exponents. For this, I'd like to reuse the functionalities offered by sage/rings/polynomial/polydict.pyx.

The __init__ method of the class PolyDict has arguments force_int_exponents and force_etuples that I don't fully understand. My understanding of force_int_exponents is that if set to false, it allows exponents to be something else than C int's. Yet, it does not work if this is the intended behavior:

sage: from sage.rings.polynomial.polydict import PolyDict,ETuple
sage: PolyDict([(1,(2^32,))])
---------------------------------------------------------------------------
OverflowError                             Traceback (most recent call last)
...
OverflowError: value too large to convert to int

The problem comes from lines 90-99 of the file polydict.pyx, where ETuple is used. And in the class ETuple, exponents have to be int's.

As a related side comment, the same lines force to work with ETuple, regardless of the force_etuples argument value.

My questions: Is my understanding correct? If not, what are supposed these arguments to be for? And if I understand correctly, is the behavior I mention a bug?

Cheers,
Bruno

--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to