#14990: Implement algebraic closures of finite fields
-------------------------------------+-------------------------------------
       Reporter:  pbruin             |        Owner:
           Type:  enhancement        |       Status:  needs_work
       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 jpflori):

 Replying to [comment:65 vdelecroix]:
 > Hello,
 >
 > Thanks Peter and Luca for the lights.
 >
 > 1) For the comparison of `AlgebraicClosureFiniteField` you rely on the
 equality in `PseudoConwayLattice`... which is not exactly what you want.
 It compares the nodes which is something dynamical by definition. We have
 for example
 > {{{
 > sage: P1 = PseudoConwayLattice(5, use_database=False)
 > sage: P2 = PseudoConwayLattice(5, use_database=False)
 > sage: P1 == P2
 > True
 > sage: _ = P1.polynomial(1)
 > sage: P1 == P2     # hum!?
 > False
 > sage: _ = P2.polynomial(1)
 > sage: P1 == P2     # hum hum!!??
 > True
 > }}}
 > It is fine for the lattices but not for the fields. The simplest fix
 would be
 Is it really fine for lattices?
 I would say lattices with different polynomials shouldn't evaluate equal.
 > {{{
 > class AlgebraicClosureFiniteField_pseudo_conway:
 >    ...
 >    def __cmp___(self, other):
 >       ...
 >       return self._pseudo_conway_lattice is other._pseudo_conway_lattice
 > }}}
 >
 > 2) It makes sense to have something more flexible like
 > {{{
 > sage: AC = AlgebraicClosureFiniteField_pseudo_conway
 > sage: AC(GF(3), lattice=my_pc_lattice)
 > }}}
 > where "my_pc_lattice" is an instance of a subclass or
 `PseudoConwayLattice` or something with the same specifications (i.e. at
 least a method `polynomial`). That way we can already have two
 implementations of the algebraic closure (calling `PseudoConwayLattice`
 with the option `use_database=True` or `use_database=False`).
 >
 That sounds like a good idea.
 > 3) In the example above, there is some redundancy as the pseudo-Conway
 lattice already knows the finite field... so it would be nice if the
 pseudo-Conway lattice implements a method `base_ring` that returns the
 finite field it is based on.
 >
 +1
 > 4) It would also make sense in `PseudoConwayLattice` to have a method
 `associated_finite_field_algebraic_closure` (with a better name if
 possible).
 >
 Would that be really useful?
 That does not really make sense, but one might want to create a lattice
 without the corresponding algebraic closure :)

--
Ticket URL: <http://trac.sagemath.org/ticket/14990#comment:66>
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