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