# 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.FiniteFieldHomomorphism_givaro[source]#
class sage.rings.finite_rings.hom_finite_field_givaro.FrobeniusEndomorphism_givaro[source]#
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

class sage.rings.finite_rings.hom_finite_field_givaro.SectionFiniteFieldHomomorphism_givaro[source]#