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

Reply via email to