Module: sage.modular.hecke.hecke_operator
Module-level Functions
x) |
x) |
Class: HeckeAlgebraElement
self, parent) |
Functions: apply_sparse,
charpoly,
codomain,
decomposition,
det,
domain,
fcp,
hecke_module_morphism,
image,
kernel,
trace
self, x) |
Apply this Hecke operator to x, where we avoid computing the matrix of x if possible.
sage: M = ModularSymbols(11) sage: T = M.hecke_operator(23) sage: T.apply_sparse(M.gen(0)) 24*(1,0) - 5*(1,9)
self) |
Return the characteristic polynomial of this Hecke operator.
sage: M = ModularSymbols(Gamma1(6),4) sage: M.hecke_operator(2).charpoly() x^6 - 14*x^5 + 29*x^4 + 172*x^3 - 124*x^2 - 320*x + 256
self) |
Decompose the Hecke module under the action of this Hecke operator.
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 ]
self) |
Return the determinant of this Hecke operator.
sage: M = ModularSymbols(23) sage: T = M.hecke_operator(3) sage: T.det() 100
self) |
Return the factorization of the characteristic polynomial of this Hecke operator.
sage: M = ModularSymbols(23) sage: T = M.hecke_operator(3) sage: T.fcp() (x - 4) * (x^2 - 5)^2
self) |
Return the endomorphism of Hecke modules defined by the matrix attached to this Hecke operator.
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 and over Rational Field sage: t.hecke_module_morphism() Hecke module morphism T_2 defined by the matrix (not printing 15 x 15 matrix) 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 ...
self) |
Return the image of this Hecke operator.
sage: M = ModularSymbols(23) sage: T = M.hecke_operator(3) sage: T.fcp() (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
self) |
Return the kernel of this Hecke operator.
sage: M = ModularSymbols(23) sage: T = M.hecke_operator(3) sage: T.fcp() (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
self) |
Return the trace of this Hecke operator.
sage: M = ModularSymbols(1,12) sage: T = M.hecke_operator(2) sage: T.trace() 2001
Special Functions: __add__,
__call__,
__rmul__,
__sub__,
_HeckeAlgebraElement__is_compatible
self, other) |
sage: M = ModularSymbols(11) sage: t = M.hecke_operator(2) sage: t Hecke operator T_2 on Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field sage: t + t Hecke operator on Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field defined by: [ 6 0 -2] [ 0 -4 0] [ 0 0 -4]
We can also add Hecke operators with different indexes:
sage: M = ModularSymbols(Gamma1(6),4) sage: t2 = M.hecke_operator(2); t3 = M.hecke_operator(3) sage: t2 - t3 Hecke operator on Modular Symbols space of dimension 6 for Gamma_1(6) of weight 4 with sign 0 and over Rational Field defined by: (not printing 6 x 6 matrix) sage: (t2 - t3).charpoly() x^6 + 36*x^5 + 104*x^4 - 3778*x^3 + 7095*x^2 - 3458*x
self, x) |
Apply this Hecke operator to
.
sage: M = ModularSymbols(11); t2 = M.hecke_operator(2) sage: t2(M.gen(0)) 3*(1,0) - (1,9)
sage: t2 = M.hecke_operator(2); t3 = M.hecke_operator(3) sage: t3(t2(M.gen(0))) 12*(1,0) - 2*(1,9) sage: (t3*t2)(M.gen(0)) 12*(1,0) - 2*(1,9)
self, left) |
sage: M = ModularSymbols(11); t2 = M.hecke_operator(2) sage: 2*t2 Hecke operator on Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field defined by: [ 6 0 -2] [ 0 -4 0] [ 0 0 -4]
self, other) |
Compute the difference of self and other.
sage: M = ModularSymbols(Gamma1(6),4) sage: t2 = M.hecke_operator(2); t3 = M.hecke_operator(3) sage: t2 - t3 Hecke operator on Modular Symbols space of dimension 6 for Gamma_1(6) of weight 4 with sign 0 and over Rational Field defined by: (not printing 6 x 6 matrix)
Class: HeckeAlgebraElement_matrix
self, parent, A) |
Functions: matrix
self) |
Return the matrix that defines this Hecke algebra element.
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]
Special Functions: __cmp__,
__mul__,
_latex_,
_repr_
Class: HeckeOperator
self, parent, n) |
sage: M = ModularSymbols(11) sage: M.hecke_operator(2005) Hecke operator T_2005 on Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field
Functions: index,
matrix,
matrix_form
self) |
Return the index of this Hecke operator, i.e., if
this Hecke operator is
, return the int
.
sage: T = ModularSymbols(11).hecke_operator(17) sage: T.index() 17
self) |
Return the matrix underlying this Hecke operator.
sage: T = ModularSymbols(11).hecke_operator(17) sage: T.matrix() [18 0 -4] [ 0 -2 0] [ 0 0 -2]
self) |
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]
Special Functions: __cmp__,
__mul__,
_latex_,
_repr_
self, other) |
We create the space of modular symbols of level
and weight
, then compute
and
on it, along with their composition.
sage: M = ModularSymbols(11) sage: t2 = M.hecke_operator(2); t3 = M.hecke_operator(3) sage: t2*t3 Hecke operator T_6 on Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field sage: t3.matrix() * t2.matrix() [12 0 -2] [ 0 2 0] [ 0 0 2] sage: (t2*t3).matrix() [12 0 -2] [ 0 2 0] [ 0 0 2]
When we compute
the result is not (easily seen to be)
a Hecke operator of the form
, so it is returned as a
Hecke module homomorphism defined as a matrix:
sage: t2**5 Hecke operator on Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field defined by: [243 0 -55] [ 0 -32 0] [ 0 0 -32]
See About this document... for information on suggesting changes.