trace over finite field extension

• To: mathgroup at smc.vnet.net
• Subject: [mg6274] trace over finite field extension
• From: Daniel Lichtblau <danl>
• Date: Thu, 6 Mar 1997 09:49:19 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```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
efficiently.

Daniel Lichtblau
Wolfram Research
danl at wolfram.com

```

• 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