I was just discussing this with a few people at the sage days at ICERM and it seems that LaurentPolynomials are horribly broken. Consider the following in 5.6:
sage: q in R True sage: q^-1 in R True sage: 1/q in R False sage: ~q in R False sage: 1/q==q^-1 True sage: 1/q is q^-1 False sage: (1/q).parent() Fraction Field of Univariate Laurent Polynomial Ring in q over Rational Field sage: (q^-1).parent() Univariate Laurent Polynomial Ring in q over Rational Field sage: q^2/q q^2/q sage: q^2/q in R False If we try and work in Z[q,q^-1], my favourite ring, it gets worse: sage: R.<q>=LaurentPolynomialRing(ZZ,'q') sage: (1/q).parent() Fraction Field of Univariate Laurent Polynomial Ring in q over Integer Ring sage: (q^-1).parent() Univariate Laurent Polynomial Ring in q over Integer Ring sage: q^-1 in R True sage: 1/q in R ERROR: An unexpected error occurred while tokenizing input ... ArithmeticError: unable to reduce because lack of gcd or quo_rem algorithm In general, even basic arithmetic seems hazardous in this ring. At last some of this seems to be addressed in http://trac.sagemath.org/sage_trac/ticket/11726. Does anyone know what the status of this is? Cheers, Andrew -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.