#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:66 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.
 Ok, I answered too quickly here.
 The problem is that polynomials are added to the lattices but not at the
 same time.

 In this case, the fact that when the polynomials of the same degree added
 to the two lattices are actually the same is pure luck.
 As Luca remarked, there is some randomness (ok, maybe not so random if you
 look at what is actually happenning, but it is designed in a way it should
 be random), and the polynomials may be different.

 Anyway, I do agree with the fact that the lattice are once equal, then
 different and then equal again.
 The only sensible thing to do to compare the lattices is to chek they have
 the same polynomials at every degree.
 Maybe in the case where `database=True` or conway polynomials are used we
 could make the lattice unique or consider two lattices with different
 degrees computed equal (but then we should also forbid lattices with
 `database=True` to overflow the database limits) and whatsoever that's not
 really the issue here.
 In the case of algebraic closure, I feel the same is enough. We don't
 really need identity of the underlying lattices.
 It's dynamical indeed, but there's no other way to do that (except for
 construction where you have something canonical or at least unique, let's
 say with Conway polynomials).
 But if we have that's even better (and would be easier to test: only a
 pointers comparison).

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