#18547: Improve polynomial powering in positive characteristic
-------------------------+-------------------------------------------------
   Reporter:  bruno      |            Owner:
       Type:             |           Status:  new
  enhancement            |        Milestone:  sage-6.8
   Priority:  major      |         Keywords:  polynomial, powering
  Component:             |          Authors:  Bruno Grenet
  commutative algebra    |  Report Upstream:  N/A
  Merged in:             |           Branch:
  Reviewers:             |  u/bruno/polynomial_powering_positive_characteristic
Work issues:             |     Dependencies:
     Commit:             |
   Stopgaps:             |
-------------------------+-------------------------------------------------
 Before:

 {{{#!python
 sage: R.<x> = PolynomialRing(GF(5), sparse=True)
 sage: (1+x)^(5^10)
 ... (hangs for ever)
 }}}

 After:
 {{{#!python
 sage: R.<x> = PolynomialRing(GF(5), sparse=True)
 sage: (1+x)^(5^10)
 x^9765625 + 1
 }}}

 **Notes.**
 1. I've tried to be careful with quite extensive tests not to slow down
 the computations for "easy" cases. This explains the threshold values in
 the code.
 2. This is related to #7253 and #12660. Though, there is another problem
 for non-sparse polynomials: Simply assigning the value and printing the
 polynomial take a very long time. Compare the timings for
     {{{#!python
     sage: R.<x> = ZZ[]
     sage: 1+x^5^10
     x^9765625 + 1
     }}}
     and
     {{{#!python
     sage: R.<x> = GF(5)[]
     sage: 1+x^5^10
     x^9765625 + 1
     }}}
     Thus for tickets #7253 and #12660 to be closed, it remains to handle
 this other problem, but this is not the purpose of this ticket.

--
Ticket URL: <http://trac.sagemath.org/ticket/18547>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to