1 | initial version |

The following code is doing the job. (I hope the formula was retyped in an equivalent manner. For instance, `(y/x)^(1/2)`

was replaced for our purposes by `(y/x)^4`

.)

```
F8 = GF(8)
F2 = GF(2)
def f( x, y, field=F8, d=3 ):
if x == field(0): y_by_x = field(0)
else : y_by_x = y / x
return d^2 * ( y * ( y_by_x^3 + 1 ) + ( 1 + d + d^2 ) * y_by_x * ( y_by_x + 1 ) ) \
/ \
( y_by_x^4 + d^2 * y_by_x^2 + 1 ) \
+ \
y_by_x^4
print matrix( F2, 8, 8, [ [ f( x, y, F8, 3 ).trace() for y in F8 ] for x in F8 ] )
```

We get:

```
[0 0 0 1 0 1 1 1]
[0 1 1 1 0 0 1 0]
[0 0 1 0 1 1 1 0]
[0 0 1 1 0 0 1 1]
[0 1 0 1 1 1 0 0]
[0 1 0 1 0 1 0 1]
[0 0 0 0 1 1 1 1]
[0 1 1 0 1 0 0 1]
```

N.B. Which is the meaning of the above result?

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.