|
|
Next: Modular Forms Over Imaginary
Up: Arithmetic Geometry (Modular Forms)
Previous: Modular Symbols
Changes:
- The package has been extensively revised.
The code (for NewSubspace in particular) is now organised
more logically (and correctly), avoiding premature computation,
caching spaces appropriately, and so on.
- Many speed-ups have been achieved in the ``definite'' case,
by means of some additional tricks in the precomputation phase,
and by more careful coding throughout.
- The field over which Hecke operators are expressed is now the
natural one, determined by the Galois structure of the weight
(it is always
Q in parallel weight).
New Features:
- The dimension of spaces is now computed by a ``formula'': in the
definite case this involves a sum of class numbers, and in the
indefinite case is basically the genus formula for Fuchsian groups.
- The restriction to squarefree level has been lifted; the
NewSubspace relative to any level can now be obtained.
A general procedure has been implemented for obtaining new (and old)
spaces of a given Hecke module. This works by determining the dimensions,
and the Hecke action, for the relevant spaces of lower level, and
using that information to split off the oldspaces.
- In the ``indefinite'' case, code has been developed to use the
fundamental domain of a single Fuchsian group of some discriminant D
to compute spaces whose level is a multiple of D. This is a huge
improvement compared with directly computing fundamental domains
of the Eichler orders with discriminant equal to the desired levels.
The precomputed fundamental domain may be reused when creating a
new space by setting the optional argument QuaternionOrder.
The computation of the fundamental domain, which remains the bottleneck,
has itself been improved.
- In the ``indefinite'' case, the computation of Hecke operators has
been greatly sped up by use of new techniques for finding a generator
of a principal ideal. In particular, the reduction algorithm utilizes
knowledge of the fundamental domain of the Fuchsian group.
The function IsPrincipal(I, Gamma) calls this code.
- A parallelized version of the precomputation in the ``definite case''
is available on request.
Bug Fixes:
- Various minor bugs have been fixed.
Next: Modular Forms Over Imaginary
Up: Arithmetic Geometry (Modular Forms)
Previous: Modular Symbols
|
|