#14990: Implement algebraic closures of finite fields
-------------------------------------+-------------------------------------
Reporter: pbruin | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-6.2
Component: algebra | Resolution:
Keywords: finite field | Merged in:
algebraic closure | Reviewers:
Authors: Peter Bruin | Work issues:
Report Upstream: N/A | Commit:
Branch: u/pbruin/14990 | 33f982f1acbf61cf08897e6a46ee23bb14e78e1e
Dependencies: #14958, #13214 | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by vdelecroix):
Hello Peter,
I do not like
{{{
sage: GF(5).algebraic_closure() is GF(5).algebraic_closure()
False
}}}
As far as I understand, a pseudo Conway polynomial is not uniquely
defined. But nevertheless, the implementation of
`PseudoConwayLattice.polynomial` is, no? The only thing that today
prevents the uniqueness is the use of the database as shown in the
following example:
{{{
sage: P1 = PseudoConwayLattice(5,use_database=True)
sage: P2 = PseudoConwayLattice(5,use_database=False)
sage: P1.polynomial(2)
x^2 + 4*x + 2
sage: P2.polynomial(2)
x^2 + x + 2
}}}
Maybe I am wrong and there is more than that.
So, I propose to restore some kind of unique representation based on the
lattice. More precisely (if you agree)
- Make `AlgebraicClosureFiniteField_pseudo_conway` inherit from
`UniqueRepresentation`
- add a non optional argument `lattice` in the constructor of
`AlgebraicClosureFiniteField_pseudo_conway` that can also be used from
something like
{{{
GF(5).algebraic_closure(implementation='pseudo_conway',lattice=MyFunnyLattice())
}}}
(that way we would have two '''different''' implementations of the
algebraic closure depending if we use or not the database)
- possibly restore a `__reduce__` in
`AlgebraicClosureFiniteField_pseudo_conway` that avoid the factory (but I
guess that it should be taken care by the `UniqueRepresentation`)
And then, it remains to find a nice way to avoid rebuilding new lattices
each time a user asks for
{{{
sage: GF(5).algebraic_closure()
}}}
What do you think?
Vincent
--
Ticket URL: <http://trac.sagemath.org/ticket/14990#comment:62>
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.