In an earlier post I discussed bent functions . In this post, I’d like to give some more examples, based on a recent paper with Caroline Melles, Charles Celerier, David Phillips, and Steven Walsh, based on computations using Sage/pythpn programs I wrote with Charles Celerier.

We start with any function . The *Cayley graph* of is defined to be the edge-weighted digraph

whose vertex set is and the set of edges is defined by

where the edge has weight . However, if is even then we can (and do) regard as an edge-weighted (undirected) graph.

We assume, unless stated otherwise, that is even.

For each , define

- to be the set of all neighbors of in ,
- to be the set of all neighbors of in for which the edge has weight (for each ),
- to be the set of all non-neighbors of in (i.e., we have ),
- the
*support* of is

Let be a connected edge-weighted graph which is regular as a simple (unweighted) graph. The graph is called *strongly regular* with parameters , , , , denoted , if it consists of vertices such that, for each

where , , are as above. Here, is the set of weights, including (recall an “edge” has weight if the vertices are not neighbors).

This example is intended to illustrate the bent function listed in the table below

Consider the finite field

The set of non-zero quadratic residues is given by

Let be the graph whose vertices are and whose edges are those pairs for which .

The graph looks like the Cayley graph for in the Figure below

Bent function b_8 on GF(3)^2

except

This is a strongly regular graph with parameters .

The axioms of an edge-weighted strongly regular graph can be directly verified using this table.

Let be a finite set and let denote binary relations on (subsets of ). The *dual* of a relation is the set

Assume . We say is an -class *association scheme* on if the following properties hold.

These constants are called the *intersection numbers* of the association scheme.

For this example of , we compute the adjacency matrix associated to the members and of the association scheme , where ,

and .

Consider the following Sage computation:

sage: attach "/home/wdj/sagefiles/hadamard_transform2b.sage"
sage: FF = GF(3)
sage: V = FF^2
sage: Vlist = V.list()
sage: flist = [0,2,2,0,0,1,0,1,0]
sage: f = lambda x: GF(3)(flist[Vlist.index(x)])
sage: F = matrix(ZZ, [[f(x-y) for x in V] for y in V])
sage: F ## weighted adjacency matrix
[0 2 2 0 0 1 0 1 0]
[2 0 2 1 0 0 0 0 1]
[2 2 0 0 1 0 1 0 0]
[0 1 0 0 2 2 0 0 1]
[0 0 1 2 0 2 1 0 0]
[1 0 0 2 2 0 0 1 0]
[0 0 1 0 1 0 0 2 2]
[1 0 0 0 0 1 2 0 2]
[0 1 0 1 0 0 2 2 0]
sage: eval1 = lambda x: int((x==1))
sage: eval2 = lambda x: int((x==2))
sage: F1 = matrix(ZZ, [[eval1(f(x-y)) for x in V] for y in V])
sage: F1
[0 0 0 0 0 1 0 1 0]
[0 0 0 1 0 0 0 0 1]
[0 0 0 0 1 0 1 0 0]
[0 1 0 0 0 0 0 0 1]
[0 0 1 0 0 0 1 0 0]
[1 0 0 0 0 0 0 1 0]
[0 0 1 0 1 0 0 0 0]
[1 0 0 0 0 1 0 0 0]
[0 1 0 1 0 0 0 0 0]
sage: F2 = matrix(ZZ, [[eval2(f(x-y)) for x in V] for y in V])
sage: F2
[0 1 1 0 0 0 0 0 0]
[1 0 1 0 0 0 0 0 0]
[1 1 0 0 0 0 0 0 0]
[0 0 0 0 1 1 0 0 0]
[0 0 0 1 0 1 0 0 0]
[0 0 0 1 1 0 0 0 0]
[0 0 0 0 0 0 0 1 1]
[0 0 0 0 0 0 1 0 1]
[0 0 0 0 0 0 1 1 0]
sage: F1*F2-F2*F1 == 0
True
sage: delta = lambda x: int((x[0]==x[1]))
sage: F3 = matrix(ZZ, [[(eval0(f(x-y))+delta([x,y]))%2 for x in V] for y in V])
sage: F3
[0 0 0 1 1 0 1 0 1]
[0 0 0 0 1 1 1 1 0]
[0 0 0 1 0 1 0 1 1]
[1 0 1 0 0 0 1 1 0]
[1 1 0 0 0 0 0 1 1]
[0 1 1 0 0 0 1 0 1]
[1 1 0 1 0 1 0 0 0]
[0 1 1 1 1 0 0 0 0]
[1 0 1 0 1 1 0 0 0]
sage: F3*F2-F2*F3==0
True
sage: F3*F1-F1*F3==0
True
sage: F0 = matrix(ZZ, [[delta([x,y]) for x in V] for y in V])
sage: F0
[1 0 0 0 0 0 0 0 0]
[0 1 0 0 0 0 0 0 0]
[0 0 1 0 0 0 0 0 0]
[0 0 0 1 0 0 0 0 0]
[0 0 0 0 1 0 0 0 0]
[0 0 0 0 0 1 0 0 0]
[0 0 0 0 0 0 1 0 0]
[0 0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 0 0 1]
sage: F1*F3 == 2*F2 + F3
True

The Sage computation above tells us that the adjacency matrix of is

the adjacency matrix of is

and the adjacency matrix of is

Of course, the adjacency matrix of is the identity matrix. In the above computation, Sage has also verified that they commute and satisfy

in the adjacency ring of the association scheme.

**Conjecture:**

Let be a bent function, with . If the level curves of give rise to a weighted partial difference set then is weakly regular, and the corresponding (unweighted) partial difference set is of (positive or negative) Latin square type.

For more details, see the paper [CJMPW] with Caroline Melles, Charles Celerier, David Phillips, and Steven Walsh.