#14832: Unified construction of irreducible polynomials over finite fields
--------------------------------+-------------------------------------------
Reporter: pbruin | Owner: cpernet
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-5.12
Component: finite rings | Resolution:
Keywords: polynomials | Work issues: double colons, check for
finite fields
Report Upstream: N/A | Reviewers: Jean-Pierre Flori
Authors: Peter Bruin | Merged in:
Dependencies: #14817 | Stopgaps:
--------------------------------+-------------------------------------------
Comment (by pbruin):
Replying to [comment:5 jpflori]:
> Is there any reason for removing the implementation arg to the PR_field
constructor?
> I agree it's not used, but maybe at some point :)
>
> And why not test in the PR_field constructor if the field is finite and
call the new constructor in that case?
I think it is better to be conservative with the `implementation`
parameter: allow it for the generic `PolynomialRing` constructor and pass
it to subclasses that actually have different implementations, but do not
add (or keep) the flag in subclasses where it does not do anything.
> By the way, I'm not sure using is_FiniteField is the right way to check
for finite fields.
> Using the category framework and doing something like "R in
FiniteFields()" is surely better unless you really rely on implementation
details of the FiniteField class and subclasses.
I did not introduce this way of checking for finite fields; I just moved
it to a more specific `__init__` method. Having said that, I wouldn't
agree that using the category framework here is a good thing.
First, a finite field might be in different categories (e.g.
`FiniteFields` or the future category of subfields of an algebraic closure
of '''F''',,''p'',, that we were discussing at #8335); probably the
polynomial ring constructor shouldn't have to care about that.
Second, one reason to have different implementations of `PolynomialRing`
''is'' so that we can take advantage of implementation details of
(subclasses of) `FiniteField`. There already is an implementation for
polynomials over NTL finite fields; similarly, for PARI finite fields it
would be desirable to have an implementation for polynomials over those
fields. (I have some code that is much slower than necessary because it
uses PARI finite field elements but NTL polynomials over the same finite
fields.)
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14832#comment:8>
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.