CoCalc Public FilesBoolean-Cayley-graphs / sage-code / cayley_graphs_boolean_dimension_8.ipynbOpen with one click!

1

In [1]:

import os

2

In [2]:

load("boolean_dimension_cayley_graph_classifications.py")

3

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

4

In [3]:

import boolean_cayley_graphs.cayley_graph_controls as controls controls.timing = True

5

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.

6

In [4]:

c = load_boolean_dimension_cayley_graph_classifications(8,dir=os.path.join("..","sobj"))

7

Display the length of c, the list of classifications.

8

In [5]:

len(c)

9

11

Verify that `c[0]`

is `None`

.

10

In [6]:

print(c[0])

11

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.

12

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()

13

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.