Software for calculating automorphic forms for unitary groups ------------------------------------------------------------- David Loeffler These Sage/Python scripts were written to calculate automorphic forms for the definite unitary group in 3 variables attached to Q(sqrt(-7)), of full level G(Z-hat). To calculate the action of the Hecke operators at p in weight (a,b), which is understood to mean (a,b,c) with c = 0 or 1 and a + b + c even, use the command: > sage-python main.py p a b This will run the other scripts in the right order. Data is cached wherever possible, so if you've used (a,b) before it will remember the basis vectors, and if you've used p before it will remember the double coset decompositions. The individual files hecke_operator_1.py, hecke_operator_2.py, auto_forms.py, auto_forms2.py, and analyse.py can also be run independently (but are liable to grumble if data they expect to be ready cached isn't there). There is also an experimental hecke_operators_inert.py, which calculates *some* Hecke operator at inert primes p but I'm not sure it's the right one! To clean the cached data delete everything in the folder "data_sqrt7/". Note that most of the code is pure Sage, but the lattice enumeration in librgood.py is just a wrapper around librgood.magma, which was originally written by Michael Stoll (modified slightly by DL). Anyone who has the time and inclination to reimplement this in GAP, which is free and open-source and included with SAGE, would be most welcome to do so; but I don't speak fluent GAPese. For the time being, I have included pre-calculated data for p = 2, 3 and 11; for these primes, everything else will happily work without using Magma. Anyone wishing to change to working with unitary groups of a different dimension, or over a different base field, is welcome to contact me and I'll outline what needs to be changed. Unfortunately, the short answer is "quite a lot", since the K-class representatives are hard-coded in.