Changes between Initial Version and Version 3 of Ticket #14990
 Timestamp:
 08/15/13 14:38:57 (8 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

Ticket #14990

Property
Status
changed from
new
toneeds_review

Property
Dependencies
changed from
#14958
to#14958, #13214

Property
Authors
changed from
to
Peter Bruin

Property
Status
changed from

Ticket #14990 – Description
initial v3 1 Algebraic closures of finite fields should be implemented. Most importantly, we will needthe following:1 The goal of this ticket is a basic implementation of algebraic closures of finite fields. Most importantly, it provides the following: 2 2 3 3  class `AlgebraicClosureFiniteField` 4 4  method `subfield(n)` returning a tuple consisting of the subfield of order ''p^n^'' and a `RingHomomorphism_im_gens` giving the canonical embedding into the algebraic closure 5 5  class `AlgebraicClosureFiniteFieldElement` 6 ( should mostly bea wrapper around `FiniteFieldElement`, so actually an element of a finite subfield, but having the algebraic closure as its parent and taking care of coercion into larger subfields)6 (mostly a wrapper around `FiniteFieldElement`, so actually an element of a finite subfield, but having the algebraic closure as its parent and taking care of coercion into larger subfields) 7 7  method `FiniteField.algebraic_closure()` 8 8 9 9 (Alternative names: `FiniteFieldAlgebraicClosure`, `FiniteFieldAlgebraicClosureElement`, maybe with aliases `FFpbar`, `FFpbarElement`?) 10 10 11 An example using the new functionality would bethe following analogue of the example from #8335:11 An example using the new functionality is the following analogue of the example from #8335: 12 12 {{{ 13 13 sage: Fbar = GF(3).algebraic_closure('z') … … 29 29 True 30 30 }}} 31 It would be nice to do this without explicitly invoking the embeddings; as a shortcut, `Fbar` should havea method `gen(n)` returning the fixed generator of the subfield of degree ''n'', but as an element of `Fbar`:31 One can also do this without explicitly invoking the embeddings; as a shortcut, `Fbar` has a method `gen(n)` returning the fixed generator of the subfield of degree ''n'', but as an element of `Fbar`: 32 32 {{{ 33 33 sage: x2 == Fbar.gen(2) … … 37 37 }}} 38 38 39 (The above example assumes that an `AlgebraicClosureFiniteFieldElement` is printed in the same way as the underlying `FiniteFieldElement`; we do not necessarily have to do this.)39 (The above example shows that `AlgebraicClosureFiniteFieldElement` is printed in the same way as the underlying `FiniteFieldElement`.) 40 40 41 It is conceivable that there will be different coexisting implementations (classes deriving from an abstract `AlgebraicClosureFiniteField`). The first (and easiest) to implement should use Conway polynomials and the pseudoConway polynomials from #14958, probably using some of the code from #8335.41 It is conceivable that there will be different coexisting implementations (classes deriving from an abstract `AlgebraicClosureFiniteField`). The current implementation uses Conway polynomials and the pseudoConway polynomials from #14958, as well as the functionality for finite field homomorphisms provided by #13214.