1 | initial version |
We can start with a default version of $F=\Bbb F_q$, $q=p^{12}$, construct $w$ inside it, ask for the minimal polynomial $P$ of $w$, and work further with $F$. Or construct $K\cong F$ by using $K=\Bbb F_p[X]/(P)$. Let us construct $w$ in the "default" world.
F = GF(0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab)
p = F.characteristic()
F12.<G> = GF(p^12) # G is the generator, we will not need it below
u = sqrt(F12(-1))
R12.<Y> = PolynomialRing(F12)
v = (Y^3 - (u+1)).roots(multiplicities=False)[0]
w = sqrt(v)
P = w.minpoly()
As expected, we get a polynomial P
of degree $12$, and now we may want to switch to
K.<W> = GF(p^12, modulus=P)
Here,
sage: P
x^12 + 4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559785*x^6 + 2
sage: