Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
""" Sparse action of Hecke operators """ from __future__ import absolute_import
########################################################################## # # Copyright (C) 2008 William Stein <wstein@gmail.com> # # Distributed under the terms of the GNU General Public License (GPL) # # http://www.gnu.org/licenses/ # ##########################################################################
import sage.modular.hecke.hecke_operator from sage.arith.all import is_prime from . import heilbronn
class HeckeOperator(sage.modular.hecke.hecke_operator.HeckeOperator): def apply_sparse(self, x): """ Return the image of ``x`` under ``self``.
If ``x`` is not in ``self.domain()``, raise a ``TypeError``.
EXAMPLES::
sage: M = ModularSymbols(17,4,-1) sage: T = M.hecke_operator(4) sage: T.apply_sparse(M.0) 64*[X^2,(1,8)] + 24*[X^2,(1,10)] - 9*[X^2,(1,13)] + 37*[X^2,(1,16)] sage: [T.apply_sparse(x) == T.hecke_module_morphism()(x) for x in M.basis()] [True, True, True, True] sage: N = ModularSymbols(17,4,1) sage: T.apply_sparse(N.0) Traceback (most recent call last): ... TypeError: x (=[X^2,(0,1)]) must be in Modular Symbols space of dimension 4 for Gamma_0(17) of weight 4 with sign -1 over Rational Field """
else:
|