Goss polynomials#

Goss polynomials for the Carlitz module

AUTHORS:

  • David Ayotte (2022): initial version

drinfeld_modular_forms.goss_polynomials.bracket(n, polynomial_ring)#

Return the element \([n] = T^{q^n} - T\) where \(T\) is the generator of the polynomial ring.

EXAMPLES:

sage: from drinfeld_modular_forms import bracket
sage: A.<T> = GF(3)['T']
sage: bracket(1, A)
T^3 + 2*T
sage: bracket(2, A)
T^9 + 2*T
sage: bracket(0, A)
Traceback (most recent call last):
...
ValueError: the integer n (=0) must be postive.
drinfeld_modular_forms.goss_polynomials.goss_polynomial(n, polynomial_ring)#

Return the \(n\)-th Goss polynomial for the Carlitz module.

EXAMPLES:

sage: from drinfeld_modular_forms import goss_polynomial
sage: A.<T> = GF(3)['T']
sage: goss_polynomial(1, A)
X
sage: goss_polynomial(2, A)
X^2
sage: goss_polynomial(3, A)
X^3
sage: goss_polynomial(4, A)
X^4 + (1/(T^3 + 2*T))*X^2
sage: goss_polynomial(5, A)
X^5 + (2/(T^3 + 2*T))*X^3
sage: goss_polynomial(6, A)
X^6
drinfeld_modular_forms.goss_polynomials.lcm_of_monic_polynomials(n, polynomial_ring)#

Return the least common multiple of all monic polynomials of degree \(n\).

EXAMPLES:

sage: from drinfeld_modular_forms import lcm_of_monic_polynomials
sage: A.<T> = GF(3)['T']
sage: lcm_of_monic_polynomials(1, A)
T^3 + 2*T
sage: lcm_of_monic_polynomials(2, A)
T^12 + 2*T^10 + 2*T^4 + T^2
sage: lcm_of_monic_polynomials(3, A)
T^39 + 2*T^37 + 2*T^31 + T^29 + 2*T^13 + T^11 + T^5 + 2*T^3
drinfeld_modular_forms.goss_polynomials.product_of_monic_polynomials(n, polynomial_ring)#

Return the product of all monic polynomials of degree \(n\).

EXAMPLES:

sage: from drinfeld_modular_forms import product_of_monic_polynomials
sage: A.<T> = GF(3)['T']
sage: product_of_monic_polynomials(0, A)
1
sage: product_of_monic_polynomials(1, A)
T^3 + 2*T
sage: f = product_of_monic_polynomials(2, A); f
T^18 + 2*T^12 + 2*T^10 + T^4
sage: f.factor()
T^4 * (T + 1)^4 * (T + 2)^4 * (T^2 + 1) * (T^2 + T + 2) * (T^2 + 2*T + 2)