Open af34da7a-5b1a-45c9-aac1-252621303487 opened 14 years ago
Code to implement dimensions of Atkin-Lehner eigenspaces for the ModularForms class
Attachment: atkin_lehner_decomposition_dimensions.sage.gz
Description changed:
---
+++
@@ -5,3 +5,16 @@
These methods do not rely on computing explicit bases of newforms, instead using formulae about the ramification points of the Atkin-Lehner operator.
These functions use the class number method qfbclassno() from Pari/GP.
+
+NOTES: the functions for newforms are really slow right now (much slower than MAGMA).
+
+The public methods supplied here are:
+
+{{{def modular_genusX0(self,w):
+def atkin_lehner_eigenspace_dimensions(self):
+def new_subspace_dimensionX0(self):
+def atkin_lehner_new_eigenspace_dimension(self,w):
+def old_subspace_dimension(self,M,R,w):
+def atkin_lehner_new_eigenspace_dimensions(self):
+}}}
+Is this too many? the most important two are atkin_lehner_eigenspace_dimensions and atkin_lehner_new_eigenspace_dimension as those give the really important data about spaces of modular forms. We could make the others private if we wanted to and not lose (too) much.
Description changed:
---
+++
@@ -10,11 +10,12 @@
The public methods supplied here are:
-{{{def modular_genusX0(self,w):
+```
+def modular_genusX0(self,w):
def atkin_lehner_eigenspace_dimensions(self):
def new_subspace_dimensionX0(self):
def atkin_lehner_new_eigenspace_dimension(self,w):
def old_subspace_dimension(self,M,R,w):
def atkin_lehner_new_eigenspace_dimensions(self):
-}}}
+```
Is this too many? the most important two are atkin_lehner_eigenspace_dimensions and atkin_lehner_new_eigenspace_dimension as those give the really important data about spaces of modular forms. We could make the others private if we wanted to and not lose (too) much.
Attachment: trac_9455_atkin_lehner_dim.patch.gz
I have tried to maker a clean patch starting with the given file
Some doctests are still failing.
for the bot: apply only trac_9455_atkin_lehner_dim.patch
Changed keywords from none to atkin lehner
Description changed:
---
+++
@@ -19,3 +19,5 @@
def atkin_lehner_new_eigenspace_dimensions(self):
Is this too many? the most important two are atkin_lehner_eigenspace_dimensions and atkin_lehner_new_eigenspace_dimension as those give the really important data about spaces of modular forms. We could make the others private if we wanted to and not lose (too) much. + +Apply attachment: trac_9455_atkin_lehner_dim.patch
New commits:
743dc9b | trac 9455 dimensions of eigenspaces of Atkin Lehner operators |
Branch: u/chapoton/9455
Now all tests pass. But maybe this is too slow.
Branch pushed to git repo; I updated commit sha1. New commits:
1736e94 | trac #9455 faster using libgap |
Changed author from ljpk to L. J. P. Kilford
Branch pushed to git repo; I updated commit sha1. New commits:
311782f | trac #9455 fine tuning in order.py |
Changed author from L. J. P. Kilford to Lloyd Kilford
This needs some serious work.
sage: ModularForms(1000003, 4).atkin_lehner_eigenspace_dimensions()
and it will silently return wrong output. More importantly, lots of these methods (e.g. atkin_lehner_ramification
) are computing geometric properties of the underlying modular curves, so they belong in sage.modular.arithgroup.congroup_gamma0
. Similarly, "primitive_ideal_number" should probably be a method of order objects, not a standalone function.
Many function names are mysterious or downright misleading, e.g. the method modular_genus_X0
is not actually computing the genus of anything in most cases.
The documentation is poor. What on earth is the "(M, R)-old subspace"? What are "cyclic ideals"? Docstrings for each method should explain what the arguments mean. The docstring for old_subspace_dimension(self, M, R, w)
does not even mention Atkin--Lehner involutions!
Why is a line of code in the number fields module (in absolute_order_from_module_generators
) deleted without explanation?
Branch pushed to git repo; I updated commit sha1. New commits:
d984ba4 | Merge branch 'u/chapoton/9455' into 7.1.b5 |
Branch pushed to git repo; I updated commit sha1. New commits:
81c4d3a | Merge branch 'u/chapoton/9455' in 7.3.rc0 |
Branch pushed to git repo; I updated commit sha1. New commits:
05115d1 | Merge branch 'u/chapoton/9455' in 8.2.b8 |
This is a port of David Kohel's MAGMA code to compute dimensions of the eigenspaces for the Atkin-Lehner operators acting on spaces of cusp forms of weight 2 (see here for the original):
http://echidna.maths.usyd.edu.au/echidna/dbs/atkin-lehner/index.html
These methods do not rely on computing explicit bases of newforms, instead using formulae about the ramification points of the Atkin-Lehner operator.
These functions use the class number method qfbclassno() from Pari/GP.
NOTES: the functions for newforms are really slow right now (much slower than MAGMA).
The public methods supplied here are:
Is this too many? the most important two are atkin_lehner_eigenspace_dimensions and atkin_lehner_new_eigenspace_dimension as those give the really important data about spaces of modular forms. We could make the others private if we wanted to and not lose (too) much.
Apply attachment: trac_9455_atkin_lehner_dim.patch
CC: @williamstein
Component: modular forms
Keywords: atkin lehner
Author: Lloyd Kilford
Branch/Commit: u/chapoton/9455 @
05115d1
Issue created by migration from https://trac.sagemath.org/ticket/9455