[Math] Computing (on a computer) higher ramification groups and/or conductors of representations.

computer-algebralocal-fieldsnt.number-theorynumber-fields

I am supervising an undergraduate for a project in which he's going to talk about the relationship between Galois representations and modular forms. We decided we'd figure out a few examples of weight 1 modular forms and Galois representations and see them matching up. But I realised when working through some examples that computing the conductor of the Galois representation was giving me problems sometimes at small primes.

Here's an explicit question. Set $f=x^4 + 2x^2 – 1$ and let $K$ be the splitting field of $f$ over $\mathbf{Q}$. It's Galois over $\mathbf{Q}$ with group $D_8$. Let $\rho$ be the irreducible 2-dimensional representation of $D_8$. What is the conductor of $\rho$? Note that I don't particularly want to know the answer to this particular question, I want to know how to work these things out in general. In fact I think I could perhaps figure out the conductor of $\rho$ by doing calculations on the modular forms side, but I don't want to do that (somehow the point of the project is seeing that calculations done in 2 different ways match up, rather than using known modularity results to do the calculations).

Using pari or magma I see that $K$ is unramified outside 2, and the ideal (2) is an 8th power in the integers of $K$. To compute the conductor of $\rho$ the naive approach is to figure out the higher ramification groups at 2 and then just use the usual formula. But the only computer algebra package I know which will compute higher ramification groups is magma, and if I create the splitting field of $f$ over $\mathbf{Q}_2$ (computed using pari's "polcompositum" command)

Qx<x>:=PolynomialRing(Rationals());
g:=x^8 + 20*x^6 + 146*x^4 + 460*x^2 + 1681;
L := LocalField(pAdicField(2, 50),g);
DecompositionGroup(L);

then I get an instant memory overflow (magma wants 2.5 gigs to do this, apparently), and furthermore the other calculations I would have to do if I were to be following up this idea would be things like

RamificationGroup(L, 3);

which apparently need 11 gigs of ram to run. Ouch. Note also that if I pull the precision of the $p$-adic field down from 50 then magma complains that the precision isn't large enough to do some arithmetic in $L$ that it wants to do.

I think then my question must be: are there any computer algebra resources that will compute higher ramification groups for local fields without needing exorbitant amounts of memory? Or is it a genuinely an "11-gigs" calculation that I want to do?? And perhaps another question is: is there another way of computing the conductor of a (non-abelian finite image) Galois representation without having to compute these higher ramification groups (and without computing any modular forms either)?

Best Answer

You can also compute some higher ramification groups in Sage. At the moment it gives lower numbering, not upper numbering, but here it is anyway:

sage: Qx.<x> = PolynomialRing(QQ)

sage: g=x^8 + 20*x^6 + 146*x^4 + 460*x^2 + 1681

sage: L.<a> = NumberField(g)

sage: G = L.galois_group()

sage: G.ramification_breaks(L.primes_above(2)[0])

{1, 3, 5}

You can also get explicit presentations of G as a permutation group and generators for ramification and decomposition subgroups. The above only takes about half a second on my old laptop -- no 2.5 gigs computations here.

(The point is that it is much easier to do computations over a number field, because everything is exact, rather than over a p-adic field which is represented inexactly.)