Loading [MathJax]/jax/output/HTML-CSS/jax.js
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

answered 7 years ago

dan_fulea gravatar image

A possible construction in the sens of the posting is as follows:

sage: R.<x> = PolynomialRing( GF(2) )
sage: F8.<t> = GF( 2**3, modulus=x^3+x+1 )
sage: F8
Finite Field in t of size 2^3
sage: RF8 = PolynomialRing( F8 )

We have so far F8, realized so that t is a generator of the multiplicative group F×8 with 7=(81) elements. Starting from it, we can extend, by explicitly introducing also a root of order nine (but not 3) of unity. So that we have one of order 63=(81)(8+1)=641.

So we extend:

sage: RF8.<y> = PolynomialRing( F8 )
sage: factor( y^9-1 )
(y + 1) * (y^2 + y + 1) * (y^2 + t*y + 1) * (y^2 + t^2*y + 1) * (y^2 + (t^2 + t)*y + 1)
sage: F64.<u> = F8.extension( y^2 + t*y + 1 )  
sage: F64.is_field()
True
sage: F64.order()
64
sage: u^3, u^9
((t^2 + 1)*u + t, 1)
sage: g = u*t
sage: g^7, g^9, g^63
(t*u + t^2 + 1, t^2, 1)

So u has multiplicative order 9, and g=ut correpsondingly 63. The modulus for the constucted field, so that g is a root of it is:

sage: for f,_ in factor( x^63-1 ):
    if f(g) == 0:
        print f
....:         
x^6 + x^4 + x^3 + x + 1
sage: g^6 + g^4 + g^3 + g + 1
0