Hecke operators¶
- class sage.modular.hecke.hecke_operator.DiamondBracketOperator(parent, d)¶
Bases:
sage.modular.hecke.hecke_operator.HeckeAlgebraElement_matrix
The diamond bracket operator \(\langle d \rangle\) for some \(d \in \ZZ / N\ZZ\) (which need not be a unit, although if it is not, the operator will be zero).
- class sage.modular.hecke.hecke_operator.HeckeAlgebraElement(parent)¶
Bases:
sage.structure.element.AlgebraElement
Base class for elements of Hecke algebras.
- apply_sparse(x)¶
Apply this Hecke operator to x, where we avoid computing the matrix of x if possible.
EXAMPLES:
sage: M = ModularSymbols(11) sage: T = M.hecke_operator(23) sage: T.apply_sparse(M.gen(0)) 24*(1,0) - 5*(1,9)
- charpoly(var='x')¶
Return the characteristic polynomial of this Hecke operator.
INPUT:
var
- string (default: ‘x’)
OUTPUT: a monic polynomial in the given variable.
EXAMPLES:
sage: M = ModularSymbols(Gamma1(6),4) sage: M.hecke_operator(2).charpoly('x') x^6 - 14*x^5 + 29*x^4 + 172*x^3 - 124*x^2 - 320*x + 256
- codomain()¶
The codomain of this operator. This is the Hecke module associated to the parent Hecke algebra.
EXAMPLES:
sage: R = ModularForms(Gamma0(7), 4).hecke_algebra() sage: sage.modular.hecke.hecke_operator.HeckeAlgebraElement(R).codomain() Modular Forms space of dimension 3 for Congruence Subgroup Gamma0(7) of weight 4 over Rational Field
- decomposition()¶
Decompose the Hecke module under the action of this Hecke operator.
EXAMPLES:
sage: M = ModularSymbols(11) sage: t2 = M.hecke_operator(2) sage: t2.decomposition() [ Modular Symbols subspace of dimension 1 of Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field, Modular Symbols subspace of dimension 2 of Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field ]
sage: M = ModularSymbols(33, sign=1).new_submodule() sage: T = M.hecke_operator(2) sage: T.decomposition() [ Modular Symbols subspace of dimension 1 of Modular Symbols space of dimension 6 for Gamma_0(33) of weight 2 with sign 1 over Rational Field, Modular Symbols subspace of dimension 1 of Modular Symbols space of dimension 6 for Gamma_0(33) of weight 2 with sign 1 over Rational Field ]
- det()¶
Return the determinant of this Hecke operator.
EXAMPLES:
sage: M = ModularSymbols(23) sage: T = M.hecke_operator(3) sage: T.det() 100
- domain()¶
The domain of this operator. This is the Hecke module associated to the parent Hecke algebra.
EXAMPLES:
sage: R = ModularForms(Gamma0(7), 4).hecke_algebra() sage: sage.modular.hecke.hecke_operator.HeckeAlgebraElement(R).domain() Modular Forms space of dimension 3 for Congruence Subgroup Gamma0(7) of weight 4 over Rational Field
- fcp(var='x')¶
Return the factorization of the characteristic polynomial of this Hecke operator.
EXAMPLES:
sage: M = ModularSymbols(23) sage: T = M.hecke_operator(3) sage: T.fcp('x') (x - 4) * (x^2 - 5)^2
- hecke_module_morphism()¶
Return the endomorphism of Hecke modules defined by the matrix attached to this Hecke operator.
EXAMPLES:
sage: M = ModularSymbols(Gamma1(13)) sage: t = M.hecke_operator(2) sage: t Hecke operator T_2 on Modular Symbols space of dimension 15 for Gamma_1(13) of weight 2 with sign 0 over Rational Field sage: t.hecke_module_morphism() Hecke module morphism T_2 defined by the matrix [ 2 0 0 0 0 0 0 1 0 0 1 0 0 0 0] [ 0 2 0 1 0 1 0 0 -1 0 0 0 0 0 1] [ 0 1 2 0 0 0 0 0 0 0 0 -1 1 0 0] [ 1 0 0 2 0 -1 1 0 1 0 -1 1 -1 0 0] [ 0 0 1 0 2 0 -1 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0 0 0 0 1 -2 2 -1] [ 0 0 0 0 0 2 -1 0 -1 0 0 0 0 1 0] [ 0 0 0 0 1 0 0 2 0 0 0 0 0 0 -1] [ 0 0 0 0 0 1 0 0 -1 0 2 -1 0 2 -1] [ 0 0 0 0 0 1 1 0 0 -1 0 1 -1 2 0] [ 0 0 0 0 0 2 0 0 -1 -1 1 -1 0 1 0] [ 0 0 0 0 0 1 1 0 1 0 0 0 -1 1 0] [ 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0] [ 0 0 0 0 0 1 0 0 1 -1 2 0 0 0 -1] [ 0 0 0 0 0 0 0 0 0 1 0 -1 2 0 -1] Domain: Modular Symbols space of dimension 15 for Gamma_1(13) of weight ... Codomain: Modular Symbols space of dimension 15 for Gamma_1(13) of weight ...
- image()¶
Return the image of this Hecke operator.
EXAMPLES:
sage: M = ModularSymbols(23) sage: T = M.hecke_operator(3) sage: T.fcp('x') (x - 4) * (x^2 - 5)^2 sage: T.image() Modular Symbols subspace of dimension 5 of Modular Symbols space of dimension 5 for Gamma_0(23) of weight 2 with sign 0 over Rational Field sage: (T-4).image() Modular Symbols subspace of dimension 4 of Modular Symbols space of dimension 5 for Gamma_0(23) of weight 2 with sign 0 over Rational Field sage: (T**2-5).image() Modular Symbols subspace of dimension 1 of Modular Symbols space of dimension 5 for Gamma_0(23) of weight 2 with sign 0 over Rational Field
- kernel()¶
Return the kernel of this Hecke operator.
EXAMPLES:
sage: M = ModularSymbols(23) sage: T = M.hecke_operator(3) sage: T.fcp('x') (x - 4) * (x^2 - 5)^2 sage: T.kernel() Modular Symbols subspace of dimension 0 of Modular Symbols space of dimension 5 for Gamma_0(23) of weight 2 with sign 0 over Rational Field sage: (T-4).kernel() Modular Symbols subspace of dimension 1 of Modular Symbols space of dimension 5 for Gamma_0(23) of weight 2 with sign 0 over Rational Field sage: (T**2-5).kernel() Modular Symbols subspace of dimension 4 of Modular Symbols space of dimension 5 for Gamma_0(23) of weight 2 with sign 0 over Rational Field
- trace()¶
Return the trace of this Hecke operator.
sage: M = ModularSymbols(1,12) sage: T = M.hecke_operator(2) sage: T.trace() 2001
- class sage.modular.hecke.hecke_operator.HeckeAlgebraElement_matrix(parent, A)¶
Bases:
sage.modular.hecke.hecke_operator.HeckeAlgebraElement
An element of the Hecke algebra represented by a matrix.
- matrix()¶
Return the matrix that defines this Hecke algebra element.
EXAMPLES:
sage: M = ModularSymbols(1,12) sage: T = M.hecke_operator(2).matrix_form() sage: T.matrix() [ -24 0 0] [ 0 -24 0] [4860 0 2049]
- class sage.modular.hecke.hecke_operator.HeckeOperator(parent, n)¶
Bases:
sage.modular.hecke.hecke_operator.HeckeAlgebraElement
The Hecke operator \(T_n\) for some \(n\) (which need not be coprime to the level). The matrix is not computed until it is needed.
- index()¶
Return the index of this Hecke operator, i.e., if this Hecke operator is \(T_n\), return the int \(n\).
EXAMPLES:
sage: T = ModularSymbols(11).hecke_operator(17) sage: T.index() 17
- matrix(*args, **kwds)¶
Return the matrix underlying this Hecke operator.
EXAMPLES:
sage: T = ModularSymbols(11).hecke_operator(17) sage: T.matrix() [18 0 -4] [ 0 -2 0] [ 0 0 -2]
- matrix_form()¶
Return the matrix form of this element of a Hecke algebra.
sage: T = ModularSymbols(11).hecke_operator(17) sage: T.matrix_form() Hecke operator on Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field defined by: [18 0 -4] [ 0 -2 0] [ 0 0 -2]
- sage.modular.hecke.hecke_operator.is_HeckeAlgebraElement(x)¶
Return True if x is of type HeckeAlgebraElement.
EXAMPLES:
sage: from sage.modular.hecke.hecke_operator import is_HeckeAlgebraElement sage: M = ModularSymbols(Gamma0(7), 4) sage: is_HeckeAlgebraElement(M.T(3)) True sage: is_HeckeAlgebraElement(M.T(3) + M.T(5)) True
- sage.modular.hecke.hecke_operator.is_HeckeOperator(x)¶
Return True if x is of type HeckeOperator.
EXAMPLES:
sage: from sage.modular.hecke.hecke_operator import is_HeckeOperator sage: M = ModularSymbols(Gamma0(7), 4) sage: is_HeckeOperator(M.T(3)) True sage: is_HeckeOperator(M.T(3) + M.T(5)) False