#20086: rational powers in ZZ[X] and QQ[X]
-------------------------------------+-------------------------------------
Reporter: cheuberg | Owner:
Type: defect | Status: needs_work
Priority: major | Milestone: sage-7.2
Component: basic arithmetic | Resolution:
Keywords: | Merged in:
Authors: Clemens | Reviewers: Benjamin Hackl,
Heuberger, Vincent Delecroix, | Vincent Delecroix
Benjamin Hackl | Work issues:
Report Upstream: N/A | Commit:
Branch: public/20086 | 2c46e087a34666657dee8cb2f168a08d8afad488
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Changes (by vdelecroix):
* status: needs_review => needs_work
Old description:
> Until now,
> {{{
> sage: R.<x> = ZZ[]
> sage: R(1)^(1/2)
> Traceback (most recent call last):
> ...
> TypeError: rational is not an integer
> }}}
> because only integer exponents were allowed for polynomials.
>
> Implement arbitrary powers of constant polynomials by handing over to the
> rational field.
>
> This was originally observed in the asymptotic ring:
> {{{
> sage: P.<R> = QQ[]
> sage: A.<Z> = AsymptoticRing('T^QQ', P)
> sage: sqrt(Z)
> Traceback (most recent call last):
> ...
> ArithmeticError: Cannot take T to the exponent 1/2 in Exact Term Monoid
> T^QQ
> with coefficients in Univariate Polynomial Ring in R over Rational Field
> since its coefficient 1 cannot be taken to this exponent.
> > *previous* TypeError: rational is not an integer
> }}}
New description:
Until now,
{{{
sage: R.<x> = ZZ[]
sage: R(1)^(1/2)
Traceback (most recent call last):
...
TypeError: rational is not an integer
}}}
because only integer exponents were allowed for polynomials.
Implement arbitrary powers of constant polynomials by handing over to the
rational field.
This was originally observed in the asymptotic ring:
{{{
sage: P.<R> = QQ[]
sage: A.<Z> = AsymptoticRing('T^QQ', P)
sage: sqrt(Z)
Traceback (most recent call last):
...
ArithmeticError: Cannot take T to the exponent 1/2 in Exact Term Monoid
T^QQ
with coefficients in Univariate Polynomial Ring in R over Rational Field
since its coefficient 1 cannot be taken to this exponent.
> *previous* TypeError: rational is not an integer
}}}
follow up: #20086
--
Comment:
I have an implementation for a much faster implementation of n-th root at
#20086.
--
Ticket URL: <http://trac.sagemath.org/ticket/20086#comment:85>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" 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-trac.
For more options, visit https://groups.google.com/d/optout.