#7931: Improved nth root for finite fields and integer_mods
---------------------------+------------------------------------------------
   Reporter:  roed         |       Owner:  roed                   
       Type:  enhancement  |      Status:  needs_review           
   Priority:  major        |   Milestone:  sage-4.6               
  Component:  algebra      |    Keywords:  finite fields, nth root
     Author:  David Roe    |    Upstream:  N/A                    
   Reviewer:               |      Merged:                         
Work_issues:               |  
---------------------------+------------------------------------------------

Comment(by roed):

 I completely agree.  In the long run I want to change `FiniteFieldElement`
 to `FiniteRingElement` and make `IntegerMod_abstract` inherit from that.
 The `nth_root` function on `FiniteRingElement` can then be modified to
 handle both cases.  An additional benefit of having such a common parent
 is that the finite field elements can then no longer require `p` prime (or
 `modulus` irreducible for that matter), which will be useful for p-adic
 extensions.  In fact, I want to modify the finite field element classes to
 use templates (a la `sage.rings.polynomial.polynomial_template`): then we
 can share common code between polynomials, finite fields and rings, and
 p-adic extension fields.  Coercions between them will be much easier and
 faster and it will make implementing extensions of extensions easier
 (which are necessary for p-adic extensions that are neither unramified nor
 totally ramified).

 The first step though, of making `IntegerMod_abstract` inherit from
 `FiniteRingElement` caused compile-time bugs that I couldn't figure out
 and I gave up for the moment.

 So currently their closest common superclass is `CommutativeRingElement`.
 It didn't seem like a good idea to put the common `nth_root` code there,
 and there wasn't another obvious way to do it.  Any suggestions?

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7931#comment:12>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to