OK, it seems that it is the nesting of LaurentPolynomial rings that causes
the problems. it is slightly cumbersome in my real application but work I
can solve my problem by creating my creating my coefficient rings only
once, without nesting them.
Andrew
On Friday, 22 June 2018 13:01:00 UTC+2, Andrew wrote:
>
> Under the hood these are the sort of calculations that my code is doing:
> {{{
> sage: Rq.<q> = LaurentPolynomialRing(ZZ,'q')
> sage: Ruq.<u> = PolynomialRing(Rq,'u')
> sage: mat = matrix([[q-q,u-q],[1,1]])
> Under the hood these are the sort of calculations that my code is doing:
>
> sage: Rq.<q> = LaurentPolynomialRing(ZZ,'q')
> sage: Ruq.<u> = PolynomialRing(Rq,'u')
> sage: mat = matrix([[q-q,u-q],[1,1]])
> sage: mat.rref()
> [ 1 0]
> [ 0 (u - q)/(u - q)]
> sage: c = _[1][1]; c; c.parent()
> (u - q)/(u - q)
> Fraction Field of Univariate Polynomial Ring in u over Univariate Laurent
> Polynomial Ring in q over Integer Ring
> sage: c==1
> True
> sage: c.reduce()
> ------------------------------------- ------------------------------
> ArithmeticError Traceback
> ...
> ArithmeticError: unable to reduce because gcd algorithm not implemented
> on input
>
> It may be an issue with LaurentPolynomial because the following works as
> expected:
>
> sage: Rq.<q> = PolynomialRing(ZZ,'q')
> sage: Ruq.<u> = PolynomialRing(Rq,'u')
> sage: mat = matrix([[q-u,u-q],[1,1]])
> sage: mat.rref()
> [1 0]
> [0 1]
>
>
>
>
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.