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