#14832: Unified construction of irreducible polynomials over finite fields
--------------------------------+-------------------------------------------
Reporter: pbruin | Owner: cpernet
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-5.12
Component: finite rings | Resolution:
Keywords: polynomials | Work issues:
Report Upstream: N/A | Reviewers:
Authors: Peter Bruin | Merged in:
Dependencies: #14817 | Stopgaps:
--------------------------------+-------------------------------------------
Old description:
> Currently, every finite field implementation (integers mod ''p'', Givaro,
> NTL, PARI) has its own code for constructing an irreducible polynomial
> when given a string as the `modulus` keyword. Here is a patch that
> creates methods
> `PolynomialRing_dense_{finite_field,mod_p}.irreducible_element(n,
> algorithm=None)`. In a separate ticket (#14833), the `FiniteField`
> constructor is adapted to call this function.
>
> The default choice is now deterministic: Conway polynomials if available,
> otherwise lexicographically first (via NTL/GF2E) in characteristic 2,
> Adleman-Lenstra (via PARI) in characteristic > 2.
>
> Since it uses PARI's `ffinit`, this depends on #14817.
>
> Apply: [attachment:trac_14832_make_irreducible_polynomial.patch]
New description:
Currently, every finite field implementation (integers mod ''p'', Givaro,
NTL, PARI) has its own code for constructing an irreducible polynomial
when given a string as the `modulus` keyword. This ticket does the
following:
- implement a new class `PolynomialRing_dense_finite_field`
- create methods
`PolynomialRing_dense_{finite_field,mod_p}.irreducible_element(n,
algorithm=None)`.
In a separate ticket (#14833), the `FiniteField` constructor is adapted to
call the new function.
The default choice is now deterministic: Conway polynomials if available,
otherwise lexicographically first (via NTL/GF2E) in characteristic 2,
Adleman-Lenstra (via PARI) in characteristic > 2.
Since it uses PARI's `ffinit`, this depends on #14817.
Apply: [attachment:trac_14832-PolynomialRing_dense_finite_field.patch],
[attachment:trac_14832-irreducible_polynomial.patch]
--
Comment (by pbruin):
Moved finite field-specific code from `PolynomialRing_field.__init__()` to
`PolynomialRing_dense_finite_field.__init__()`.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14832#comment:4>
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/groups/opt_out.