11.3.2.1 HeckeAlgebraElement Objects

class HeckeAlgebraElement
HeckeAlgebraElement( parent)

Instances of class HeckeAlgebraElement have the following methods (in addition to inherited methods and special methods):

apply_sparse,$  $ charpoly,$  $ codomain,$  $ decomposition,$  $ det,$  $ domain,$  $ fcp,$  $ hecke_module_morphism,$  $ image,$  $ kernel,$  $ trace

Further documentation:

apply_sparse( 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)

charpoly( )

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

decomposition( )

Decompose the Hecke module under the action of this Hecke operator.

sage: M = ModularSymbols(11)
sage: t2 = M.hecke_operator(2)
sage: t2.decomposition()
[Dimension 1 subspace of a modular symbols space of level 11, Dimension 2
subspace of a modular symbols space of level 11]

det( )

Return the determinant of this Hecke operator.

sage: M = ModularSymbols(23)
sage: T = M.hecke_operator(3)
sage: T.det()
100

fcp( )

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

hecke_module_morphism( )

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 Full Modular Symbols space for Gamma_1(13) of weight
2 with sign 0 and dimension 15 over Rational Field
sage: t.hecke_module_morphism()
Hecke module morphism T_2 defined by the matrix
(not printing 15 x 15 matrix)
Domain: Full Modular Symbols space for Gamma_1(13) of weight 2 with sign
...
Codomain: Full Modular Symbols space for Gamma_1(13) of weight 2 with sign
...

image( )

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()
Dimension 5 subspace of a modular symbols space of level 23
sage: (T-4).image()
Dimension 4 subspace of a modular symbols space of level 23
sage: (T**2-5).image()
Dimension 1 subspace of a modular symbols space of level 23

kernel( )

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()
Dimension 0 subspace of a modular symbols space of level 23
sage: (T-4).kernel()
Dimension 1 subspace of a modular symbols space of level 23
sage: (T**2-5).kernel()
Dimension 4 subspace of a modular symbols space of level 23

trace( )

Return the trace of this Hecke operator.

sage: M = ModularSymbols(1,12)
sage: T = M.hecke_operator(2)
sage: T.trace()
2001

Instances of class HeckeAlgebraElement also have the following special methods:

__add__,$  $ __call__,$  $ __rmul__,$  $ __sub__,$  $ _HeckeAlgebraElement__is_compatible

Further documentation:

__add__( other)

sage: M = ModularSymbols(11)
sage: t = M.hecke_operator(2)
sage: t
Hecke operator T_2 on Full Modular Symbols space for Gamma_0(11) of weight
2 with sign 0 and dimension 3 over Rational Field
sage: t + t
Hecke operator on Full Modular Symbols space for Gamma_0(11) of weight 2
with sign 0 and dimension 3 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 Full Modular Symbols space for Gamma_1(6) of weight 4
with sign 0 and dimension 6 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

__call__( x)

Apply this Hecke operator to $ x$ .

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)

__rmul__( left)

sage: M = ModularSymbols(11); t2 = M.hecke_operator(2)
sage: 2*t2
Hecke operator on Full Modular Symbols space for Gamma_0(11) of weight 2
with sign 0 and dimension 3 over Rational Field defined by:
[ 6  0 -2]
[ 0 -4  0]
[ 0  0 -4]

__sub__( 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 Full Modular Symbols space for Gamma_1(6) of weight 4
with sign 0 and dimension 6 over Rational Field defined by:
(not printing 6 x 6 matrix)

See About this document... for information on suggesting changes.