Givaro finite field morphisms¶
Special implementation for givaro finite fields of:
embeddings between finite fields
frobenius endomorphisms
SEEALSO:
:mod:`sage.rings.finite_rings.hom_finite_field`
AUTHOR:
Xavier Caruso (2012-06-29)
- class sage.rings.finite_rings.hom_finite_field_givaro.FrobeniusEndomorphism_givaro[source]¶
Bases:
FrobeniusEndomorphism_finite_field
- fixed_field()[source]¶
Return the fixed field of
self
.OUTPUT:
a tuple \((K, e)\), where \(K\) is the subfield of the domain consisting of elements fixed by
self
and \(e\) is an embedding of \(K\) into the domain.
Note
The name of the variable used for the subfield (if it is not a prime subfield) is suffixed by
_fixed
.EXAMPLES:
sage: k.<t> = GF(5^6) sage: f = k.frobenius_endomorphism(2) sage: kfixed, embed = f.fixed_field() sage: kfixed Finite Field in t_fixed of size 5^2 sage: embed # random Ring morphism: From: Finite Field in t_fixed of size 5^2 To: Finite Field in t of size 5^6 Defn: t_fixed |--> 4*t^5 + 2*t^4 + 4*t^2 + t sage: tfixed = kfixed.gen() sage: embed(tfixed) # random 4*t^5 + 2*t^4 + 4*t^2 + t
>>> from sage.all import * >>> k = GF(Integer(5)**Integer(6), names=('t',)); (t,) = k._first_ngens(1) >>> f = k.frobenius_endomorphism(Integer(2)) >>> kfixed, embed = f.fixed_field() >>> kfixed Finite Field in t_fixed of size 5^2 >>> embed # random Ring morphism: From: Finite Field in t_fixed of size 5^2 To: Finite Field in t of size 5^6 Defn: t_fixed |--> 4*t^5 + 2*t^4 + 4*t^2 + t >>> tfixed = kfixed.gen() >>> embed(tfixed) # random 4*t^5 + 2*t^4 + 4*t^2 + t