Computing (on a computer) higher ramification groups and/or conductors of representations. 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)?
 A: Whilst it doesn't necessarily answer your question in full, John Jones' Database of Local Fields will cover some cases e.g. your example f over $\mathbf{Q}_2$ apparently has upper ramification jumps at 2,3 and 7/2. Looking at the papers about the database might point you to some more general code you could use...
A: It's rather late in the day, but there's an easy way of getting the whole Hasse-Herbrand function $\varphi^K_{\mathbb{Q}_p}(x)$ if you know the minimal polynomial $F$ of a prime element $\pi$. First, you write down the copolygon (valuation function) of $F(X+\pi)$ using the valuation normalized to have $v(p)=1$, then you stretch it horizontally by a factor of $[K\colon\mathbb{Q}_p]$, then you move it down and to the left by one unit, to get the numberings consistent with Serre's convention. The vertices in KB's case are $(1,1)$, $(3,2)$ and $(5,5/2)$. I couldn't figure out the prime of the Galois closure till I saw the extension as quadratic over $\mathbb{Q}_2(\zeta_8)$. At any rate, the chain of fields corresponding to the ramification filtration is $\mathbb{Q}_2\subset\mathbb{Q}_2(i)\subset\mathbb{Q}_2(\zeta_8) \subset K$. Needless to say, you don't need any kind of powerful package to do this kind of computation.
A: 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.)
