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_genericTESTS:
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_fieldTESTS:
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 selfand
is 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_genericTESTS:
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
