#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.

Reply via email to