Cayley graphs of binary bent functions of dimension 8 and degree up to 3.
Import the controls module so that the time for the following operations can be shown. Enable the display of time.
Load all of the classifications for dimension 8, degree up to 3, based on "bent_function_extended_affine_representative_polynomials.sage"
. Set c
to be the list of these classifications, starting from 1. c[0]
is None
.
The reason why the classifications are loaded here rather than just computed and saved is that each of these classifications takes about 24 hours to compute on an Intel Core i5 class PC.
Display the length of c, the list of classifications.
Verify that c[0]
is None
.
for k from 1 to the end of c:
Print k;
Print the algebraic normal form of the bent function corresponding to
c[k]
;Produce a report on the classification
c[k]
;Produce a matrix plot of the
weight_class_matrix
;Produce a matrix plot of
bent_cayley_graph_index_matrix
, the matrix of indices of extended Cayley classes within the extended translation class;Produce a matrix plot of
dual_cayley_graph_index_matrix
, the matrix of indices of extended Cayley classes of dual bent functions within the extended translation class.
Now produce a reclassification r
by seeing which extended Cayley classes are repeated between extended translation classes.
Each entry in reclassification_table
has as row 0, the "global" index of each extended Cayley class in the extended translation class.
Row 1 contains the local index of each extended Cayley class in the extended translation class, as given by the corresponding bent functions.
Row 2 contains the size of each extended Cayley class in the extended translation class, as given by the corresponding bent functions.
Row 3 contains the local index of each extended Cayley class in the extended translation class, as given by the Walsh Hadamard dual of each of the corresponding bent functions.
Row 4 contains the size of each extended Cayley class in the extended translation class, as given by the Walsh Hadamard dual of each of the corresponding bent functions.
We see that:
Extended Cayley class 0 occurs in both Extended Translation class 1 (34816 Cayley graphs) and Extended Translation class 2 (6144 Cayley graphs).
Extended Cayley class 1 occurs in both Extended Translation class 1 (30720 Cayley graphs) and Extended Translation class 2 (2048 Cayley graphs).
Extended Translation class 5 and Extended Translation class 6 have the same Extended Cayley classes (16 to 24) with the same number of members of each class.
The list r.classification_list
contains the classifications in c
, but with each of the matrices bent_cayley_graph_index_matrix
and dual_cayley_graph_index_matrix
using the indices from row 0 of reclassification_table
corresponding to each index from row 1 and row 3 respectively.
Test to see if the bent functions corresponding to c[5]
and c[6]
are general linear equivalent