Let $f(X) = X^4 + a_3X^3 + a_2X^2 + a_1X + a_0$ be an Eisenstein polynomial over the $2$-adic numbers $\mathbb{Q}_2$. Let $\mathbb{Q}_2(\pi)/\mathbb{Q}_2$ be the totally ramified extension defined by $f(X)$, where $\pi$ is a root of $f(X)$. Write $v$ for the normalised valuation on $\mathbb{Q}_2(\pi)$ with $v(\pi) = 1$. Since $f(X)$ is Eisenstein, we have $v(a_0) = 4$. Assume that also $v(a_1) = 8, v(a_2) = 4, v(a_3) \geq 8$. Define $$ b_0^{(3)} = f(\pi + \pi^2 + \pi^3). $$ On Page $238$ of his paper, "On the construction of normal wildly ramified extensions over $\mathbb{Q}_2$", Lbekkouri states that "The computation gives" $$ b_0^{(3)} \equiv (a_2 + a_3 + \pi^4 + \pi^6 + \pi^8)\pi^4 \pmod{\pi^{13}}. $$ I have managed to do this by hand, but it's quite long and messy. A lot of it is routine though. For example, you start by expanding out the multinomials in $$ a_0 + a_1(\pi + \pi^2 + \pi^3) + a_2(\pi + \pi^2 + \pi^3)^2 + \ldots , $$ using $a_0 + a_1\pi + a_2\pi + \ldots = 0$, and then ignoring any terms with valuation more than $13$. This tidies things up a lot, and then you use some ad-hoc tricks to get it into the form stated by Lbekkouri. The ad-hoc tricks are probably hard to do in MAGMA, but it feels like at least the first part (expanding and removing high valuation terms) should be easy to do symbolically. I'm not very good with MAGMA though, so I don't know how to approach this. Currently do it for specific polynomials as follows:
k := ChangePrecision(pAdicField(2), 100);
S<X> := PolynomialRing(k);
f := X^4 + 2*X^3 + 6*X^2 + 4*X + 2;
L<pi> := SplittingField(f);
Evaluate(f, pi + pi^2 + pi^3);
What I'd like is the ability to declare symbolic variables a0,a1,a2,a3, ideally specifying their valuations, and define
f := X^4 + a3*X^3 + a2*X^2 + a1*X + a0;
Does anyone know how to do this?
Only a partial answer but maybe this can set you on the right track.
After defining $k$, you can define a multivariate polynomial ring in
a0,a1,a2,a3over $k$, and then defineS<x>to be a polynomial ring:After this, I would suggest computing
and then working from there. But Magma can't compute the splitting field of
fin this context so you may have to come up with something clever. Also the result from Magma looks really ugly, maybe you can just usek = Rationals()and then do these computations to get a simplified version of the polynomial to work with before moving to the 2-adic numbers.