CoCalc Public FilesBoolean-Cayley-graphs / sage-code / cayley_graphs_boolean_dimension_8.ipynb
Author: Paul Leopardi
Compute Environment: Ubuntu 18.04 (Deprecated)

# Cayley graphs of binary bent functions of dimension 8 and degree up to 3.

In [1]:
import os

In [2]:
load("boolean_dimension_cayley_graph_classifications.py")


Import the controls module so that the time for the following operations can be shown. Enable the display of time.

In [3]:
import boolean_cayley_graphs.cayley_graph_controls as controls
controls.timing = True


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.

In [4]:
c = load_boolean_dimension_cayley_graph_classifications(8,dir=os.path.join("..","sobj"))


Display the length of c, the list of classifications.

In [5]:
len(c)

11

Verify that c[0] is None.

In [6]:
print(c[0])

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.
In [7]:
#sage_server.MAX_OUTPUT_MESSAGES = 10000
for k in range(1,len(c)):
print("")
print("Classification", k)
print("")
print(c[k].algebraic_normal_form)
c[k].report()
matrix_plot(c[k].weight_class_matrix,cmap='gist_stern').show()
matrix_plot(c[k].bent_cayley_graph_index_matrix,cmap='gist_stern').show()
matrix_plot(c[k].dual_cayley_graph_index_matrix,cmap='gist_stern').show()

Classification 1 x0*x1 + x2*x3 + x4*x5 + x6*x7 Algebraic normal form of Boolean function: x0*x1 + x2*x3 + x4*x5 + x6*x7 Function is bent. SDP design incidence structure t-design parameters: (True, (2, 256, 120, 56)) Classification of Cayley graphs and classification of Cayley graphs of duals are the same: There are 2 extended Cayley classes in the extended translation class.
Classification 2 x0*x1*x2 + x0*x3 + x1*x4 + x2*x5 + x6*x7 Algebraic normal form of Boolean function: x0*x1*x2 + x0*x3 + x1*x4 + x2*x5 + x6*x7 Function is bent. SDP design incidence structure t-design parameters: (True, (2, 256, 120, 56)) Classification of Cayley graphs and classification of Cayley graphs of duals are the same: There are 4 extended Cayley classes in the extended translation class.
Classification 3 x0*x1*x2 + x0*x6 + x1*x3*x4 + x1*x5 + x2*x3 + x4*x7 Algebraic normal form of Boolean function: x0*x1*x2 + x0*x6 + x1*x3*x4 + x1*x5 + x2*x3 + x4*x7 Function is bent. SDP design incidence structure t-design parameters: (True, (2, 256, 120, 56)) Classification of Cayley graphs and classification of Cayley graphs of duals are the same: There are 6 extended Cayley classes in the extended translation class.
Classification 4 x0*x1*x2 + x0*x2 + x0*x4 + x1*x3*x4 + x1*x5 + x2*x3 + x6*x7 Algebraic normal form of Boolean function: x0*x1*x2 + x0*x2 + x0*x4 + x1*x3*x4 + x1*x5 + x2*x3 + x6*x7 Function is bent. SDP design incidence structure t-design parameters: (True, (2, 256, 120, 56)) Classification of Cayley graphs and classification of Cayley graphs of duals are the same: There are 6 extended Cayley classes in the extended translation class.
Classification 5 x0*x1*x2 + x0*x6 + x1*x3*x4 + x1*x4 + x1*x5 + x2*x3*x5 + x2*x4 + x3*x7 Algebraic normal form of Boolean function: x0*x1*x2 + x0*x6 + x1*x3*x4 + x1*x4 + x1*x5 + x2*x3*x5 + x2*x4 + x3*x7 Function is bent. SDP design incidence structure t-design parameters: (True, (2, 256, 120, 56)) Classification of Cayley graphs and classification of Cayley graphs of duals are the same: There are 9 extended Cayley classes in the extended translation class.
Classification 6 x0*x1*x2 + x0*x2 + x0*x3 + x1*x3*x4 + x1*x6 + x2*x3*x5 + x2*x4 + x5*x7 Algebraic normal form of Boolean function: x0*x1*x2 + x0*x2 + x0*x3 + x1*x3*x4 + x1*x6 + x2*x3*x5 + x2*x4 + x5*x7 Function is bent. SDP design incidence structure t-design parameters: (True, (2, 256, 120, 56)) Classification of Cayley graphs and classification of Cayley graphs of duals are the same: There are 9 extended Cayley classes in the extended translation class.
Classification 7 x0*x1*x2 + x0*x1 + x0*x2 + x0*x3 + x1*x3*x4 + x1*x4 + x1*x5 + x2*x3*x5 + x2*x4 + x6*x7 Algebraic normal form of Boolean function: x0*x1*x2 + x0*x1 + x0*x2 + x0*x3 + x1*x3*x4 + x1*x4 + x1*x5 + x2*x3*x5 + x2*x4 + x6*x7 Function is bent. SDP design incidence structure t-design parameters: (True, (2, 256, 120, 56)) Classification of Cayley graphs and classification of Cayley graphs of duals are the same: There are 6 extended Cayley classes in the extended translation class.