Finite field morphisms using Givaro¶
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
¶ Bases:
sage.rings.finite_rings.hom_finite_field.FiniteFieldHomomorphism_generic
TESTS:
sage: from sage.rings.finite_rings.hom_finite_field_givaro import FiniteFieldHomomorphism_givaro sage: k.<t> = GF(3^2) sage: K.<T> = GF(3^4) sage: f = FiniteFieldHomomorphism_givaro(Hom(k, K)); f Ring morphism: From: Finite Field in t of size 3^2 To: Finite Field in T of size 3^4 Defn: t |--> 2*T^3 + 2*T^2 + 1 sage: k.<t> = GF(3^10) sage: K.<T> = GF(3^20) sage: f = FiniteFieldHomomorphism_givaro(Hom(k, K)); f Traceback (most recent call last): ... TypeError: The codomain is not an instance of FiniteField_givaro
-
class
sage.rings.finite_rings.hom_finite_field_givaro.
FrobeniusEndomorphism_givaro
¶ Bases:
sage.rings.finite_rings.hom_finite_field.FrobeniusEndomorphism_finite_field
TESTS:
sage: k.<t> = GF(5^3) sage: Frob = k.frobenius_endomorphism(); Frob Frobenius endomorphism t |--> t^5 on Finite Field in t of size 5^3 sage: type(Frob) <type 'sage.rings.finite_rings.hom_finite_field_givaro.FrobeniusEndomorphism_givaro'> sage: k.<t> = GF(5^20) sage: Frob = k.frobenius_endomorphism(); Frob Frobenius endomorphism t |--> t^5 on Finite Field in t of size 5^20 sage: type(Frob) <type 'sage.rings.finite_rings.hom_finite_field.FrobeniusEndomorphism_finite_field'>
-
fixed_field
()¶ Return the fixed field of
self
.OUTPUT:
- a tuple
, where
is the subfield of the domain consisting of elements fixed by
self
andis an embedding of
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 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) 4*t^5 + 2*t^4 + 4*t^2 + t
- a tuple
-
-
class
sage.rings.finite_rings.hom_finite_field_givaro.
SectionFiniteFieldHomomorphism_givaro
¶ Bases:
sage.rings.finite_rings.hom_finite_field.SectionFiniteFieldHomomorphism_generic
TESTS:
sage: from sage.rings.finite_rings.hom_finite_field_givaro import FiniteFieldHomomorphism_givaro sage: k.<t> = GF(3^2) sage: K.<T> = GF(3^4) sage: f = FiniteFieldHomomorphism_givaro(Hom(k, K)) sage: g = f.section(); g Section of Ring morphism: From: Finite Field in t of size 3^2 To: Finite Field in T of size 3^4 Defn: t |--> 2*T^3 + 2*T^2 + 1