MathGroup Archive 1997

[Date Index] [Thread Index] [Author Index]

Search the Archive

trace over finite field extension

Pantelimon Stanica wrote:
> Hello, everyone!
> I would like to compute the function f(x)=Trace(x^(15)) defined on an
> extension of degree 8 of a field of char=2, i.e. Z_2. The field of degree 8
> could be defined by the polynomial x^8+x^6+x^5+x^4+1 over Z_2.
> I would like to write the function as a string of 0,1. Can anyone help?
> I would appreciate any input.
> P. Stanica
> --
> anon

Apologies if I already responded to this. You can do it as below (I
think I have it correct, but better double check). I do not know what
you have in mind re writing as a string of 0,1 (back in the old days, I
might have asked what machine you had in mind, and whether Assembler was
allowable). If you mean want to translate the result to a bit vector in
this form, it is not difficult to do so.
In[34]:= poly = x^8+x^6+x^5+x^4+1;

In[35]:= InputForm[elem = PolynomialReduce[x^15, poly, Modulus->2][[2]]]
Out[35]//InputForm= 1 + x^6 + x^7

In[36]:= frob[z_] := z^2

In[37]:= InputForm[trace = PolynomialReduce[Apply[Plus,
  Table[frob[elem]^k, {k,8}]], poly, Modulus->2][[2]]]
Out[37]//InputForm= x + x^2 + x^3 + x^4 + x^6
Note that for larger fields one can do this more efficiently using the
standard package Algebra`PolynomialPowerMod`, or any other strategy that
computes the successive powers of the Frobenius automorphism more

Daniel Lichtblau
Wolfram Research
danl at

  • Prev by Date: Re: Multiple convert to EPSF
  • Next by Date: Re: Saving edited packages
  • Previous by thread: Re: Re: "Null" placed after each axis lable, what did I do wrong?
  • Next by thread: Mathematica Win95 and Cyrix chips