Processing math: 100%

First time here? Check out the FAQ!

Ask Your Question
0

find characteristic polynomial in a tower of extensions over Qp

asked 4 years ago

wltn gravatar image

We have a tower of extensions W/T/U where U is an unramified extension of Qp, T is given by an eisenstein polynomial fU[x] and W is given by an eisenstein polynomial gT[x]. Hence T is an deg(g)deg(f)dimensional Uvector space with basis consisting of products αiβj such that 0i<deg(f),0j<deg(g), where α is a root of f and β is a root of g.

Let γW be arbitrary. The goal is to compute the matrix of multiplication by γ wrt the above Ubasis. The issue is that the field W cannot be created as an extension of T in Sage, it seems that at the moment you cannot create an extension given by an eisenstein polynomial if T is already an eisenstein extension.

Example of how it does not work:

sage: U = Qq(2^2,names="u")
sage: R.<x> = U[]
sage: f = x^2 - U.uniformizer()
sage: T = U.extension(f,names="alpha")
sage: S.<x> = T[]
sage: g = x^2-T.uniformizer()
sage: W = T.extension(g,names="beta")
TypeError: Unable to coerce -alpha to a rational

We can create W as a quotient ring T[x]/(g), but I don't know how to get coefficients of γ w.r.t. the power basis 1,ˉx,ˉx2,,ˉxdeg(g)1.

sage: U = Qq(2^2,names="u")
sage: R.<x> = U[]
sage: f = x^2 - U.uniformizer()
sage: T = U.extension(f,names="alpha")
sage: S.<x> = T[]
sage: g = x^2-T.uniformizer()
sage: W = S.quotient_ring(g)
sage: V, map_to_W, map_from_W, = W.free_module()
NotImplementedError:

If the above were possible, we could simply map γ to the free module, then find coefficients wrt the power basis. Then we could do the same thing for each coefficient with W replaced by T to get the U-coefficients.

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
0

answered 4 years ago

wltn gravatar image

updated 4 years ago

So far, I managed to get around this by lifting γ to T[x] and taking the coefficients w.r.t the basis 1,x,x2,. Since the lift is the unique polynomial of degree less than deg(g), the coefficients are the ones I am looking for?

sage: gamma = W.an_element()
sage: coeffs = gamma.lift().coefficients(sparse=False)

and then padding coeffs with deg(g) - len(coeffs) zeroes.

Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 4 years ago

Seen: 290 times

Last updated: Jun 19 '20