Fourier Expansion of a Non-Solvable Algebraic Maass Form – Open Project

computational-number-theorylanglands-conjecturesnt.number-theory

OK so let's see if I can use MO to explicitly compute an example of something, by getting other people to join in. Sort of "one level up"—often people answer questions here but I'm going to see if I can make people do a more substantial project. Before I start, note

(1) the computation might have been done already [I'd love to hear of a reference, if it has]

(2) the computation may or may not be worth publishing

(3) If it is worth publishing, there may or may not be a debate as to who the authors are.

I personally don't give a hang about (2) or (3) at this point, but others might. Let me get on to the mathematics. Oh—just a couple more things before I start—this project is related to the mathematics at this question, but perhaps pushes it a bit further (if we can get it to work). I had initially thought about these issues because I was going to give them to an undergraduate, but the undergraduate tells me today that he's decided to do his project on the holomorphic case, and it seemed a bit daft to let my initial investment in the problem go to waste, so I thought I'd tell anyone who was interested. If no-one takes the bait here, I'll probably just make this another UG project.

OK so here's the deal. Say $K/\mathbf{Q}$ is a finite Galois extension, and $\rho:Gal(K/\mathbf{Q})\to GL(2,\mathbf{C})$ is an irreducible 2-dimensional representation. General conjectures in the Langlands philosophy predict that $\rho$ comes from an automorphic form on $GL(2)$ over $\mathbf{Q}$. The idea is that we are going to "see" this form in an explicit example where general theory does not yet prove that it exists.

Now the determinant of $\rho$ is a 1-dimensional Galois representation, and it makes sense to ask whether $det(\rho(c))$ is $+1$ or $-1$, where $c$ is complex conjugation. It has to be one of these, because $c^2=1$. The nature of the automorphic form predicted to exist depends on the sign.

If the determinant is $-1$ then the form should be holomorphic, and a classical weight 1 cusp form. In this case the existence of the form is known, because it is implied by Serre's conjecture, which is now a theorem of Khare and Wintenberger.

If the determinant is $+1$ then the conjectural form should be a real-analytic function on the upper half plane, invariant under a congruence subgroup, and satisfying a certain differential equation (which is not the Cauchy-Riemann equations in this case). If the image of $\rho$ is a solvable group then the existence of this form is known by old work of Langlands and Tunnell.

So in summary then, the one case where the form is not known to exist is when the determinant of complex conjugation is $+1$ and the image of Galois is not solvable.

Here is an explicit example. The polynomial

g5=344 + 3106*x - 1795*x^2 - 780*x^3 - x^4 + x^5

has splitting field $L$, an $A_5$-extension of $\mathbf{Q}$ ramified only at the prime 1951. Now $A_5$ is isomorphic to the quotient of $SL(2,\mathbf{F}_5)$ by its centre $\pm 1$, and $L$ has a degree two extension $K_0$, also unramified outside 1951, with $Gal(K_0/\mathbf{Q})$ being $SL(2,\mathbf{F}_5)$. Turns out that $K_0$ can be taken to be the splitting field of the rather messier polynomial

g24 = 14488688572801 - 2922378139308818*x^2 + 134981448876235615*x^4 -   1381768039105642956*x^6 + 4291028045077743465*x^8 -   2050038614413776542*x^10 + 287094814384960835*x^12 - 9040633522810414*x^14 + 63787035668165*x^16 - 158664037068*x^18 +   152929135*x^20 - 50726*x^22 + x^24

I should perhaps say that David Roberts told me these polynomials in Jan 2008; they're in a paper by him and John Jones—but they learnt about them from a paper of Doud and Moore.

Now $SL(2,\mathbf{F}_5)$ has two faithful 2-dimensional complex representations; the traces of each representation take values in $\mathbf{Q}(\sqrt{5})$ and one is of course the conjugate of the other. The determinant of both representations is trivial so in fact they are $SL(2,\mathbf{C})$-valued. Oh—also, all the roots of g24 are real—and hence $K_0$ is totally real. So what we have here is a representation
$$\rho_0:Gal(K_0/\mathbf{Q})\to GL(2,\mathbf{C})$$
which is conjectured to come from automorphic forms, but, as far as I know, the conjecture is not known in this case.

Unfortunately the conductor of $\rho_0$ is $1951^2$, which is a bit big. In fact let me say something more about what is going on at 1951. In the $A_5$ extension the decomposition and inertia groups at 1951 are both cyclic of order 5. If my understanding of what David Roberts told me is correct, in the $SL(2,\mathbf{F}_5)$ extension the decomposition and inertia groups are both cyclic of order 10 (in fact I just got magma to check this). But the upshot is that $\rho_0$ restricted to a decomposition group at 1951 is of the form $\psi+\psi^{-1}$ with $\psi$ of order 10. Which character of order 10? Well there are four characters $(\mathbf{Z}/1951\mathbf{Z})^\times\to\mathbf{C}^\times$ of order 10, and two of them will do, and two won't, and which ones will do depends on which 2-dimensional representation of $SL(2,\mathbf{F}_5)$ you chose.

The key point though is that if you get $\psi$ right, then the twist $\rho:=\rho_0\otimes\psi$ will have conductor 1951, which is tiny for these purposes.

Now, as Marty did in an $A_4$ example and as I did and Junkie did in a dihedral example
in the Maass form question cited above, it is possible to figure out explicitly numbers $b_1$, $b_2$, $b_3$,…, with the property that

$$L(\rho,s)=\sum_{n\geq1}b_n/n^s.$$

If one had a computer program that could calculate $b_n$ for $n\geq1$, then there are not one but two ways that one could attempt to give computational evidence for the predictions given by the Langlands philosophy:

(A) one could use techniques that Fernando Rodriguez-Villegas explained to me a few months ago to try and get computational evidence that $L(\rho,s)$ had analytic continuation to the complex plane and satisfied the correct functional equation, and

(B) one could compute the corresponding real analytic function on the upper half plane, evaluate it at various places to 30 decimal places, and see if the function was invariant under the group $\Gamma_1(1951)$.

I don't know much about (A) but I once tried, and failed, to do (B), and my gut feeling is that my mistake is in the computer program I wrote to compute the $b_n$. But as junkie's response in the previous question indicates, there now seem to be several ways to compute the $b_n$ and one thing I am wondering is whether we can use the methods he/she indicated in this question.

Let me speak more about how I tried to compute the $b_n$. The character of the Maass form is $\psi^2$, the determinant of $\rho$. General theory tells us that $b_n$ is a multiplicative function of $n$ so we only need compute $b_n$ for $n$ a prime power. Again general theory (consider the local $L$-functions) says that for $p\not=1951$ one can compute $b_{p^n}$ from $b_p$. If $p=1951$ then $b_{p^n}=1$ for all $n$, because the decomposition and inertia groups coincide for 1951 in $K_0$ [EDIT: This part of the argument is wrong, and it explains why my programs didn't work. I finally discovered my mistake after comparing the output of mine and Junkie's programs and seeing where they differed. It's true that decomposition and inertia coincide in $K_0$ but when one twists by the order 10 character this stops being true. In fact $b_{1951}$ is a primitive 5th root of unity that I don't know how to work out using my method other than by trial and error.]. Finally, if the $L$-function of $\rho_0$ is $\sum_n a_n/n^s$ then $b_n=\psi(n)a_n$ for all $n$ prime to 1951, so it suffices to compute $a_p$ for $p\not=1951$.

To compute $a_p$ I am going to compute the trace of $\rho_0(Frob_p)$. I first compute the GCD of the degrees of the irreducible factors of g24 mod $p$. If $p$ doesn't divide the discriminant of g24 then this GCD is the order of $Frob_p$ in $SL(2,\mathbf{F}_5)$. If $p$ does divide the discriminant of g24 then rotten luck, I need to factorize $p$ in the ring of integers of the number field generated by a root of g24. I did this using magma. Here are the results:

                                                   prime   order
                                                     2       6
                                                     3      10
                                                     5       4
                                                   163       5
                                                 16061       1
                                                889289      10
                                          451400586583       2
                             1188493301983785760551727       2
120450513180827412314298160097013390669723824832697847       1

Now unfortunately just computing the order of the conj class of Frobenius is not enough to determine the trace of the Galois representation, because $SL(2,\mathbf{F}_5)$ contains two conj classes of elements of order 5, and two of order 10. However, in both cases, the conj classes remain distinct in $A_5$ and so it suffices to have an algorithm which can distinguish between the two conjugacy classes in $A_5$. More precisely, we have to solve the following problem: we label the conj classes of elements of order 5 in $A_5$ as C1 and C2, and we want an algorithm which, given a prime $p$ for which g5 is irreducible mod $p$, we want the algorithm to return "C1" or "C2" depending on which class $Frob_p$ is in. Here is a beautiful way of doing it, explained to me by Bjorn Poonen: if g5 is irreducible mod $p$ then its roots in an alg closure of $\mathbf{F}_p$ are $x,x^p,x^{p^2},…$. Set $x_i=x^{p^i}$ and compute $\prod_{i<j}(x_i-x_j)$. This product is a square root of the discriminant of g5. Choose once and for all a square root of the discriminant of g5 in the integers; if the product is congruent to this mod $p$ return "C1", else return "C2".

That's it! I implemented this. I had a program which returned a bunch of $a_n$'s, and hence a bunch of $b_n$'s. I built the function on the upper half plane as the usual sum involving Bessel functions and so on, but it computationally did not come out to be invariant under $\Gamma_1(1951)$.

If anyone wants to take up the challenge of computing the $b_n$ that would be great. I have explained one way to do it above, but I am well aware that there might be other ways to compute the $b_n$ analogous to junkie's approach from the previous question.

Best Answer

Here is Magma code that gets you the answer in a few seconds. I made a special case for the bad primes, and did them by hand.

_<x> := PolynomialRing(Rationals());
f5 := 344 + 3106*x - 1795*x^2 - 780*x^3 - x^4 + x^5;
g24 := 14488688572801 - 2922378139308818*x^2 + 134981448876235615*x^4 -
       1381768039105642956*x^6 + 4291028045077743465*x^8 -
       2050038614413776542*x^10 + 287094814384960835*x^12 -
       9040633522810414*x^14 + 63787035668165*x^16 - 158664037068*x^18 +
       152929135*x^20 - 50726*x^22 + x^24;
K := NumberField(f5);
_,D := IsSquare(Integers()!Discriminant(f5));
prec := 30;
CHAR_TABLE := CharacterTable(GaloisGroup(g24));
chi := CHAR_TABLE[2];

BAD_FACTORS :=
 [ <2,Polynomial([1,-1,1])>,
   <3,Polynomial([1,-ComplexField(prec)!chi[9],1])>,
   <5,Polynomial([1,0,1])>,
   <7,Polynomial([1,0,1])>,
   <71,Polynomial([1,0,1])>,
   <137,Polynomial([1,1,1])>,
   <163,Polynomial([1,-ComplexField(prec)!chi[5],1])>,
   <1951,Polynomial([1])>,
   <16061,Polynomial([1,-2,1])>,
   <889289,Polynomial([1,-ComplexField(prec)!chi[8],1])> ];
BAD := [bf[1] : bf in BAD_FACTORS];
FACTORS := [bf[2] : bf in BAD_FACTORS];

function LOCAL(p,d : Precision:=prec)
  if p in BAD then return FACTORS[Position(BAD,p)]; end if;
  R := Roots(ChangeRing(f5,GF(p)));
  if #R eq 1 then return Polynomial([1,0,1]); end if;
  if #R eq 2 then
    ord := Lcm([Degree(f[1]) : f in Factorization(Polynomial(GF(p),g24))]);
    return Polynomial([1,ord eq 3 select 1 else -1,1]); end if;
  if #R eq 5 then
    ord := Lcm([Degree(f[1]) : f in Factorization(Polynomial(GF(p),g24))]);
    return Polynomial([1,ord eq 1 select -2 else 2,1]); end if;
  r := Roots(ChangeRing(f5,GF(p^5)));
  x := r[1][1];
  prod := GF(p)!&*[x^(p^i)-x^(p^j) : j in [(i+1)..4], i in [0..4]];
  wh := prod eq GF(p)!D;
  ord := Lcm([Degree(f[1]) : f in Factorization(Polynomial(GF(p),g24))]);
  if ord eq 10 then class := wh select 8 else 9; // compatible with FACTORS
  else class := wh select 6 else 5; end if;
  return Polynomial([1,-ComplexField(prec)!chi[class],1]);
 end function;

L := LSeries(1, [0,0], 1951^2, LOCAL : Precision:=prec);
// s->1-s, Gamma(s/2)^2
psi := DirichletGroup(1951, CyclotomicField(10)).1;
p1951 := Polynomial([1,-ComplexField(prec)!CyclotomicField(5).1]);
TP := TensorProduct(L, LSeries(psi : Precision:=prec), [<1951, 1, p1951>]);
CheckFunctionalEquation(TP);

Here is the special values:

ev := Evaluate(TP,0); // 2-1.453085056...
rel := PowerRelation(ev,4 : Al:="LLL");
NF := NumberField(rel);
Q5<zeta5> := CyclotomicField(5);
assert IsIsomorphic(NF,Q5);
Q5!NF.1;

So $L(\rho,0)=-4\zeta_5(1+\zeta_5)$ for Marty. I get $L(\rho_0,-1)=32(48723\sqrt{5} - 778741)$ as an algebraic. I get $L(\rho,-2)=8800\zeta_5^3 - 14444\zeta_5^2 + 35604\zeta_5 + 17412$ with more precision. I determined the TensorProduct factor at 1951 via trial and error, making the obvious guesses until one worked (the failure is at 100-110 digits). With this, I take it to 240 digits and I can even get $$L(\rho,-4)=-18475535360\zeta_5^3 - 11142861380\zeta_5^2 - 12091894020\zeta_5 - 7107607296$$ and $$L(\rho,-6)=25255057273186244\zeta_5^3 - 1015274469604000\zeta_5^2 - 15695788409197884\zeta_5 + 9459547822189412$$ The precision can go higher if you want more.

Finally, the Maass form:

function MaassEval(L,z)
  x:=Real(z); y:=Imaginary(z);                                                   
  printf "Using %o coefficients\n", Ceiling(11/y);                               
  C := LGetCoefficients(L,Ceiling(11/y));                                        
  pi := Pi(RealField());                                                         
  a := Sqrt(y)*&+[C[n]*KBessel(0,2*pi*n*y)*Sin(2*pi*n*x) : n in [1..#C]];        
  return a;                                                                      
end function;                                                                   
zz:=0.0001+0.0001*ComplexField().1;
MaassEval(TP,zz);   
// Using 110000 coefficients
// -1.71477211817772949974178783985E-8 + 9.01673609747756708674470686948E-9*i
MaassEval(TP,zz/(1951*zz+1));
// Using 161297 coefficients
// -1.71477211817772949974179078240E-8 + 9.01673609747756708674496293450E-9*i