The module action induced by a Drinfeld module¶
This module provides the class
sage.rings.function_field.drinfeld_module.action.DrinfeldModuleAction.
AUTHORS:
- Antoine Leudière (2022-04) 
- class sage.rings.function_field.drinfeld_modules.action.DrinfeldModuleAction(drinfeld_module)[source]¶
- Bases: - Action- This class implements the module action induced by a Drinfeld \(\mathbb{F}_q[T]\)-module. - Let \(\phi\) be a Drinfeld \(\mathbb{F}_q[T]\)-module over a field \(K\) and let \(L/K\) be a field extension. Let \(x \in L\) and let \(a\) be a function ring element; the action is defined as \((a, x) \mapsto \phi_a(x)\). - Note - In this implementation, \(L\) is \(K\). - Note - The user should never explicitly instantiate the class \(DrinfeldModuleAction\). - Warning - This class may be replaced later on. See issues #34833 and #34834. - INPUT: the Drinfeld module - EXAMPLES: - sage: Fq.<z2> = GF(11) sage: A.<T> = Fq[] sage: K.<z> = Fq.extension(2) sage: phi = DrinfeldModule(A, [z, 0, 0, 1]) sage: action = phi.action() sage: action Action on Finite Field in z of size 11^2 over its base induced by Drinfeld module defined by T |--> t^3 + z - >>> from sage.all import * >>> Fq = GF(Integer(11), names=('z2',)); (z2,) = Fq._first_ngens(1) >>> A = Fq['T']; (T,) = A._first_ngens(1) >>> K = Fq.extension(Integer(2), names=('z',)); (z,) = K._first_ngens(1) >>> phi = DrinfeldModule(A, [z, Integer(0), Integer(0), Integer(1)]) >>> action = phi.action() >>> action Action on Finite Field in z of size 11^2 over its base induced by Drinfeld module defined by T |--> t^3 + z - The action on elements is computed as follows: - sage: P = T + 1 sage: a = z sage: action(P, a) ... 4*z + 2 sage: action(0, K.random_element()) 0 sage: action(A.random_element(), 0) 0 - >>> from sage.all import * >>> P = T + Integer(1) >>> a = z >>> action(P, a) ... 4*z + 2 >>> action(Integer(0), K.random_element()) 0 >>> action(A.random_element(), Integer(0)) 0 - Finally, given a Drinfeld module action, it is easy to recover the corresponding Drinfeld module: - sage: action.drinfeld_module() is phi True - >>> from sage.all import * >>> action.drinfeld_module() is phi True - drinfeld_module()[source]¶
- Return the Drinfeld module defining the action. - OUTPUT: a Drinfeld module - EXAMPLES: - sage: Fq.<z2> = GF(11) sage: A.<T> = Fq[] sage: K.<z> = Fq.extension(2) sage: phi = DrinfeldModule(A, [z, 0, 0, 1]) sage: action = phi.action() sage: action.drinfeld_module() is phi True - >>> from sage.all import * >>> Fq = GF(Integer(11), names=('z2',)); (z2,) = Fq._first_ngens(1) >>> A = Fq['T']; (T,) = A._first_ngens(1) >>> K = Fq.extension(Integer(2), names=('z',)); (z,) = K._first_ngens(1) >>> phi = DrinfeldModule(A, [z, Integer(0), Integer(0), Integer(1)]) >>> action = phi.action() >>> action.drinfeld_module() is phi True