#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:
-------------------------------------+-------------------------------------
Changes (by vdelecroix):
* status: needs_review => needs_work
Comment:
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
{{{
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`).
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.
4) It would also make sense in `PseudoConwayLattice` to have a method
`associated_finite_field_algebraic_closure` (with a better name if
possible).
Vincent
PS: will see later for the unique representation problems.
--
Ticket URL: <http://trac.sagemath.org/ticket/14990#comment:65>
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.