Frobenius endomorphisms on p-adic fields#

class sage.rings.padics.morphism.FrobeniusEndomorphism_padics[source]#

Bases: RingHomomorphism

A class implementing Frobenius endomorphisms on p-adic fields.

is_identity()[source]#

Return True if this morphism is the identity morphism.

EXAMPLES:

sage: K.<a> = Qq(5^3)
sage: Frob = K.frobenius_endomorphism()
sage: Frob.is_identity()
False
sage: (Frob^3).is_identity()
True
>>> from sage.all import *
>>> K = Qq(Integer(5)**Integer(3), names=('a',)); (a,) = K._first_ngens(1)
>>> Frob = K.frobenius_endomorphism()
>>> Frob.is_identity()
False
>>> (Frob**Integer(3)).is_identity()
True
is_injective()[source]#

Return True since any power of the Frobenius endomorphism over an unramified p-adic field is always injective.

EXAMPLES:

sage: K.<a> = Qq(5^3)
sage: Frob = K.frobenius_endomorphism()
sage: Frob.is_injective()
True
>>> from sage.all import *
>>> K = Qq(Integer(5)**Integer(3), names=('a',)); (a,) = K._first_ngens(1)
>>> Frob = K.frobenius_endomorphism()
>>> Frob.is_injective()
True
is_surjective()[source]#

Return True since any power of the Frobenius endomorphism over an unramified p-adic field is always surjective.

EXAMPLES:

sage: K.<a> = Qq(5^3)
sage: Frob = K.frobenius_endomorphism()
sage: Frob.is_surjective()
True
>>> from sage.all import *
>>> K = Qq(Integer(5)**Integer(3), names=('a',)); (a,) = K._first_ngens(1)
>>> Frob = K.frobenius_endomorphism()
>>> Frob.is_surjective()
True
order()[source]#

Return the order of this endomorphism.

EXAMPLES:

sage: K.<a> = Qq(5^12)
sage: Frob = K.frobenius_endomorphism()
sage: Frob.order()
12
sage: (Frob^2).order()
6
sage: (Frob^9).order()
4
>>> from sage.all import *
>>> K = Qq(Integer(5)**Integer(12), names=('a',)); (a,) = K._first_ngens(1)
>>> Frob = K.frobenius_endomorphism()
>>> Frob.order()
12
>>> (Frob**Integer(2)).order()
6
>>> (Frob**Integer(9)).order()
4
power()[source]#

Return the smallest integer \(n\) such that this endomorphism is the \(n\)-th power of the absolute (arithmetic) Frobenius.

EXAMPLES:

sage: K.<a> = Qq(5^12)
sage: Frob = K.frobenius_endomorphism()
sage: Frob.power()
1
sage: (Frob^9).power()
9
sage: (Frob^13).power()
1
>>> from sage.all import *
>>> K = Qq(Integer(5)**Integer(12), names=('a',)); (a,) = K._first_ngens(1)
>>> Frob = K.frobenius_endomorphism()
>>> Frob.power()
1
>>> (Frob**Integer(9)).power()
9
>>> (Frob**Integer(13)).power()
1