Ask Your Question

caruso's profile - activity

2021-04-14 11:26:33 +0100 answered a question Power Series Ring over p-adics: TypeError: unhashable

Depending on what you want to do, you can maybe also consider using the constructor TateAlgebra (it is not exactly the s

2021-01-24 19:23:30 +0100 received badge  Nice Answer (source)
2021-01-23 09:42:51 +0100 received badge  Editor (source)
2021-01-22 23:50:24 +0100 received badge  Teacher (source)
2021-01-22 23:49:55 +0100 answered a question How can I compute a fixed field over the p-adics

It's also possible to do the calculation in plain SageMath but we need to help it because creating arbitrary extensions of p-adic fields is currently not implemented.

First, we can create the field $F$:

sage: F.<t> = Qq(3^8)
sage: F
3-adic Unramified Extension Field in a
defined by x^8 + 2*x^5 + x^4 + 2*x^2 + 2*x + 2

Then we create $LF$. For this, we need to find an uniformizer. For this, we factor the polynomial $f(x) = x^4 - 3x^2 + 18$ over $F$.

Unfortunately, factorization is also not implemented. So we do it by hand as follows:

sage: S.<x> = F[]
sage: f = x^4 - 3*x^2 + 18
sage: g = x^2 - x + 2   # f(x) = 9 * g(x^2/3)
sage: b, c = g.roots(multiplicities=False)
sage: f0 = x^2 - 3*b
sage: f % f0
0

Now we can build the extension:

sage: LF.<alpha> = F.extension(f0)
sage: LF
3-adic Eisenstein Extension Field in alpha
defined by x^2 + 4236577851*a^7 + 26772/7805*a^6
- 117429/7789*a^5 - 175194/1681*a^4 - 111303/22931*a^3
+ 5787134532*a^2 + 8260845189*a + 109059/13295 over its base field
sage: f(alpha)
O(alpha^44)

In order to define $\varphi$, we first define the automorphism of $F$; it is actually just the Frobenius:

sage: Frob = F.frobenius_endomorphism()
sage: zeta5 = F.primitive_root_of_unity(5)
sage: Frob(zeta5) == zeta5^3
True

As noticed by saraedum, there are two possibilities for $\varphi$ depending on the choice of the square root of $-\frac 2 7$.

sage: beta = (2*alpha^2 - 3) * sqrt(F(-2/7)) / alpha
sage: phi1 = LF.hom([beta], base_map=Frob)
sage: phi2 = LF.hom([-beta], base_map=Frob)

Finally, we can check whether $\varphi_1$ (resp. $\varphi_2$) fixes $\sqrt 3$ or $\sqrt{-3}$:

sage: sqrt3 = sqrt(LF(3))
sage: phi1(sqrt3) == sqrt3
False
sage: phi2(sqrt3) == sqrt3
True

sage: sqrtm3 = sqrt(LF(-3))
sage: phi1(sqrtm3) == sqrtm3
True
sage: phi2(sqrtm3) == sqrtm3
False