Open in CoCalc with one click!

We create the number field K=Q[ζ3,i]K = \QQ[\zeta_3,i] and the unique 33-adic valuation vKv_K on KK. We normalize vKv_K such that vK(πK)=1v_K(\pi_K)=1.

K.<zeta,ii> = NumberField([x^2+x+1,x^2+1]) v_3 = QQ.valuation(3) vK = 2*v_3.extension(K) # vK is normalized piK = vK.uniformizer() piK vK(piK)
zeta + 2 1

We create the extension M1/KM_1/K by adjoining a 33rd root of 4=1+34=1+3 and the unique extension vM1v_{M_1} of vKv_K.

R.<x> = K[] M1.<alpha> = K.extension(x^3-4) vM1 = vK.extension(M1) piM1 = vM1.uniformizer() vM1(piM1)
1/3

We check that M1/KM_1/K has ramification jump 11, which means that vM1(πM1σ(πM1))=2/3v_{M_1}(\pi_{M_1}-\sigma(\pi_{M_1}))=2/3.

roots = piM1.minpoly().roots(M1,multiplicities=False) vM1(roots[0]-roots[1]) vM1(roots[0]-roots[2]) vM1(roots[1]-roots[2])
2/3 2/3 2/3

We create the extension M/KM/K by adjoining a 33rd root of 1+πK1+\pi_K and the unique extension vMv_M of vKv_K.

We check that M/KM/K has ramification jump 22, which means that vM(πMτ(πM))=1v_M(\pi_M-\tau(\pi_M))=1.

f = x^3-(1+piK) M.<alpha1> = K.extension(f) vM = vK.extension(M) piM = vM.uniformizer() vM(piM)
1/3
roots = piM.minpoly().roots(M,multiplicities=False) vM(roots[0]-roots[1]) vM(roots[0]-roots[2]) vM(roots[1]-roots[2])
1 1 1

We create the extension L=MM1/ML=MM_1/M and the unique extension vLv_L of vMv_M.

L.<beta> = M.extension(x^3-4) vL = vM.extension(L) piL = vL.uniformizer() vL(piL)
1/9

We check that the extension L/ML/M has ramification jump 11, which means that vL(σ(πL)πL)=2/9v_L(\sigma(\pi_L)-\pi_L)=2/9.

from sage.geometry.newton_polygon import NewtonPolygon F = piL.minpoly()(x+piL) NP = NewtonPolygon([(i,vL(F[i])) for i in range(4)]) NP.slopes(False) NP.vertices()
[-2/9] [(1, 4/9), (3, 0)]

We check that the extension L/KL/K has ramification jumps 11 and 44. This means that (in addition to the calculation in the previous cell) vL(τ(πL)πL)=5/9v_L(\tau(\pi_L)-\pi_L) = 5/9. To check this, we compute the Newton polygon of f(x+πL)f(x+\pi_L), where ff is the minimal polynomial of πL\pi_L over KK.

f = piL.absolute_minpoly().change_ring(K).factor()[1][0] # compute the *absolute* minimal polynomial and factor it over K. Choose one factor. f(piL) # check that f is the correct factor F = f(x+piL) NP = NewtonPolygon([(i,vL(F[i])) for i in range(10)]) NP.slopes(False)
0 [-5/9, -2/9]

We define the element ξ=πM+iπM2πL2L\xi= \pi_M+i\cdot\pi_M^2\pi_L^2\in L. It has valuation vL(ξ)=1/3v_L(\xi)=1/3.

xi = piM+ii*piM^2*piL^2 vL(xi)
1/3

We compute the minimal polynomial hh of ξ\xi over KK.

h = xi.absolute_minpoly().change_ring(K).factor()[0][0] h(xi) # check that h is the correct factor
0

We compute the slopes of the Newton polygon of h(ξ+x)h(\xi+x), which should give the two values vL(σ(ξ)ξ)v_L(\sigma(\xi)-\xi) and vL(τ(ξ)ξ)v_L(\tau(\xi)-\xi).

F = h(x+xi) NP = NewtonPolygon([(i,vL(F[i])) for i in range(10)]) NP.slopes(False) NP.vertices()
[-1] [(1, 8), (9, 0)]
roots = h.roots(L,multiplicities=False) len(roots) [vL(roots[0]-roots[i]) for i in range(9)]
9 [+Infinity, 1, 1, 1, 1, 1, 1, 1, 1]

So, indeed, the roots of hh are equidistant. We now find the inductive description of the valuation vv corresponding to the smallest closed discoid containing all the roots of hh. In particular, v(h)=9v(h)=9.

v_2 = vK.mac_lane_approximants(h)[0] v_2
[ Gauss valuation induced by 2 * 3-adic valuation, v(x) = 1/3, v(x^3 + ((3*ii + 6)*zeta + 3*ii + 6)*x^2 + (6*zeta + 6)*x + 2*zeta + 4) = 26/9 ]
v = v_2.augmentation(h, 9) v
[ Gauss valuation induced by 2 * 3-adic valuation, v(x) = 1/3, v(x^3 + ((3*ii + 6)*zeta + 3*ii + 6)*x^2 + (6*zeta + 6)*x + 2*zeta + 4) = 26/9, v(x^9 + (74602670811792/3512479453921*ii*zeta + 146986584778983/3512479453921*ii - 18)*x^8 + ((-1222485266930784/3512479453921*ii - 4008186705411751344596199936/12337511914217166362274241)*zeta - 2557856643579120/3512479453921*ii - 964597146359375724085346292/12337511914217166362274241)*x^7 + ((-21583298674312903018973205448573812418944/43335257111193343900365036083324748961*ii + 71719289159882035280184405789/12337511914217166362274241)*zeta + 273824864118563533833252260482968200143572/43335257111193343900365036083324748961*ii + 43049777314608595284840071247/12337511914217166362274241)*x^6 + ((1705352989934099596738405413442366201406418/43335257111193343900365036083324748961*ii - 1225968286958867252774624274003320181932508/43335257111193343900365036083324748961)*zeta - 1196505810197375269482325978716962855898810/43335257111193343900365036083324748961*ii - 1147153372683541514766635380728115120032006/43335257111193343900365036083324748961)*x^5 + ((-11928490296651303171673786573971897643001940/43335257111193343900365036083324748961*ii - 1854761985118034365823143199659123546079367/43335257111193343900365036083324748961)*zeta + 2491733677171895696235393815215943774812230/43335257111193343900365036083324748961*ii + 2664337064789362976442801515047708464278175/43335257111193343900365036083324748961)*x^4 + ((32040266800632365447338743594500379468557076/43335257111193343900365036083324748961*ii + 34980109525673272202253315061246446899535975/43335257111193343900365036083324748961)*zeta - 4369276508883843456080979560040077865194292/43335257111193343900365036083324748961*ii + 7383399832555383620416670802245096344860732/43335257111193343900365036083324748961)*x^3 + ((-22478848747486807782641038124155003319901957/43335257111193343900365036083324748961*ii - 113589465707005692375468274592162219742579903/43335257111193343900365036083324748961)*zeta + 18378184432679757733572537139534812833805732/43335257111193343900365036083324748961*ii - 52436384011971244056800117557923480424365255/43335257111193343900365036083324748961)*x^2 + ((-40222932846171372341535168224480352480220458/43335257111193343900365036083324748961*ii + 135812887152645474910221339921134204672546427/43335257111193343900365036083324748961)*zeta - 47375643405570773544668000986580882342882826/43335257111193343900365036083324748961*ii + 99445203029101904779168036802713697007629517/43335257111193343900365036083324748961)*x + (52565441391170988315281193378144505924561815/43335257111193343900365036083324748961*ii - 33972292363890387895228582376360723971923921/43335257111193343900365036083324748961)*zeta + 41243915434968400554917375560900055419255659/43335257111193343900365036083324748961*ii - 61479708860330861057788774767469482819700920/43335257111193343900365036083324748961) = 9 ]

As expected, vv is of the form v=[v0,v1(x)=1/3,v2(phi2)=26/9,v(h)=9]v=[v_0,v_1(x)=1/3, v_2(phi_2)=26/9, v(h)=9].

We check that the minimal polynomial of πM\pi_M cannot take the role of ϕ2\phi_2.

g = piM.minpoly() g v(g)
x^3 - 6*x^2 + 12*x - zeta - 11 8/3
g = v_2.phi() g v(g)
x^3 + ((3*ii + 6)*zeta + 3*ii + 6)*x^2 + (6*zeta + 6)*x + 2*zeta + 4 26/9
G = g(x+xi) NP = NewtonPolygon([(i,vL(G[i])) for i in range(4)]) NP.slopes(False) NP.vertices()
[-26/27] [(0, 26/9), (3, 0)]