Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
22144 views
1
\documentclass[pdf,sprung,slideColor,nocolorBG]{beamer}
2
%
3
%\documentclass[hyperref={pdfpagelabels=false}]{beamer}
4
\mode<presentation>
5
6
\newenvironment{colortheme}[1]{
7
\def\ProvidesPackageRCS $##1${\relax}
8
\renewcommand{\ProcessOptions}{\relax}
9
\makeatletter
10
\input beamercolortheme#1.sty
11
\makeatother
12
}{}
13
14
\let\Tiny=\tiny
15
\usetheme{Adelaide}
16
\usefonttheme[stillsansseriftext]{serif}
17
\setbeamerfont{structure}{series=\bfseries}
18
\setbeamertemplate{frametitle}[default][center]
19
\usepackage[figurename={}]{caption}
20
\usepackage[latin1]{inputenc}
21
%\usepackage{amsmath} %needed for \begin{align}... \end{align} environment
22
\usepackage{amsfonts}
23
\usepackage{amssymb}
24
%\usepackage{amscd}
25
%\usepackage[all]{xy}
26
\usepackage{xcolor}
27
\usepackage{enumerate}
28
%
29
\newcommand{\slidecite}[1]{\tiny{(#1)}\normalsize{}}
30
\newcommand{\smallcite}[1]{\small{(#1)}\normalsize{}}
31
32
\newcommand{\mb}[1]{\mathbb{#1}}
33
\newcommand{\mf}[1]{\mathbf{#1}}
34
\newcommand{\Emph}[1]{\emph{\textcolor{blue}{#1}}}
35
\newcommand{\Red}[1]{\mathbf{\textcolor{red}{#1}}}
36
37
\newcommand{\abs}[1]{\left| #1 \right|}
38
\newcommand{\norm}[1]{\left\| #1 \right\|}
39
\newcommand{\To}{\rightarrow}
40
41
\newcommand{\Cay}[1]{\operatorname{Cay}\left(#1\right)}
42
\newcommand{\Clique}[1]{\omega\left(#1\right)}
43
\newcommand{\dual}[1]{\widetilde{#1}}
44
\newcommand{\support}[1]{\operatorname{supp}\left(#1\right)}
45
\newcommand{\weight}[1]{\operatorname{wt}\left(#1\right)}
46
\newcommand{\weightclass}[1]{\operatorname{wc}\left(#1\right)}
47
48
\newcommand{\F}{\mb{F}}
49
\newcommand{\G}{\mb{G}}
50
\newcommand{\R}{\mb{R}}
51
\newcommand{\Z}{\mb{Z}}
52
\newtheorem{Def}{Definition}
53
\newtheorem{Conjecture}{Conjecture}
54
\newtheorem{Question}{Question}
55
\newtheorem{Proposition}{Proposition}
56
57
\title{Yet another database of strongly regular graphs}
58
\author{Paul Leopardi}
59
60
\date{For 5th International Combinatorics Conference (5ICC)
61
\\
62
Monash University
63
\\
64
December 2017}
65
66
\institute{University of Melbourne
67
\\
68
Australian Government - Bureau of Meteorology}
69
\titlegraphic{
70
%\includegraphics[angle=0,width=10mm]{../../common/beamer-anu-colourlogo.png}
71
%\includegraphics[angle=0,width=20mm]{../../common/carma_logo.jpg}
72
}
73
\begin{document}
74
75
\frame{\titlepage}
76
\begin{frame}
77
\frametitle{Acknowledgements}
78
\begin{center}
79
Robin Bowen,
80
An Braeken,
81
Nathan Clisby,
82
Robert Craigen,
83
Joanne Hall,
84
David Joyner,
85
Philippe Langevin,
86
Matthew Leingang,
87
William Martin,
88
Padraig {\'O} Cath{\'a}in,
89
Judy-anne Osborn,
90
Dima Pasechnik,
91
William Stein,
92
Natalia Tokareva, and
93
Sanming Zhou.
94
95
~
96
97
Australian National University. University of Newcastle, Australia. University of Melbourne.
98
99
Australian Government - Bureau of Meteorology.
100
101
~
102
103
National Computational Infrastructure.
104
105
~
106
107
SageMath, CoCalc, Bliss, Nauty, MPI4py, SQLite3, DB Browser for SQLite, PostgreSQL, Psycopg2.
108
\end{center}
109
\end{frame}
110
111
\begin{frame}
112
\frametitle{Serious Question}
113
\begin{center}
114
\vspace{+10mm}
115
\large{}
116
What would \Emph{you} do with a ``large'' database of strongly regular graphs?
117
\normalsize{}
118
\end{center}
119
\end{frame}
120
121
\begin{frame}
122
\frametitle{Overview}
123
%\begin{center}
124
\begin{itemize}
125
\item
126
Preliminaries: bent functions and their Cayley graphs.
127
128
~
129
130
\item
131
Some results in 8 dimensions.
132
133
~
134
135
\item
136
Precedents: other databases.
137
138
~
139
140
\item
141
Preliminary database and interface designs.
142
143
~
144
145
\item
146
Prototype databases.
147
148
~
149
150
\item
151
Prospects.
152
153
~
154
155
\item
156
Source code and documentation.
157
\end{itemize}
158
159
%\end{center}
160
\end{frame}
161
162
\section{Preliminaries}
163
164
\begin{colortheme}{jubata}
165
166
\begin{frame}
167
\frametitle{Motivation}
168
169
In a construction for Hada\-mard matrices, I encountered
170
two sequences of \Emph{bent} Boolean functions,
171
\begin{align*}
172
\sigma_m &: \F_2^{2m} \To \F_2, \quad \tau_m : \F_2^{2m} \To \F_2,
173
\end{align*}
174
whose Cayley graphs are \Emph{strongly regular} with parameters
175
\begin{align*}
176
(v,k,\lambda,\mu) &= (4^m, 2^{2 m - 1} - 2^{m-1}, 2^{2 m - 2} - 2^{m-1}, 2^{2 m - 2} - 2^{m-1}),
177
\end{align*}
178
but the graphs for $\sigma_m$ and $\tau_m$ are isomorphic only when
179
180
$m=1,2$ or $3.$
181
182
~
183
184
Question: \Emph{Which strongly regular graphs arise as Cayley graphs of bent Boolean functions?}
185
186
\slidecite{L 2014, 2015, 2017}
187
\end{frame}
188
\end{colortheme}
189
190
\begin{colortheme}{seagull}
191
192
\begin{frame}
193
\frametitle{Bent functions}
194
% Bent functions can be defined in a number of equivalent ways.
195
% The definition used here involves the Walsh Hadamard Transform.
196
\begin{Def}
197
\label{def-Walsh-Hadamard-transform}
198
The Walsh Hadamard transform of
199
a Boolean function $f : \F_2^{2m} \To \F_2$ is
200
\begin{align*}
201
W_f(x)
202
&:=
203
\sum_{y \in \F_2^{2m}} (-1)^{f(y) + \langle x, y \rangle}
204
\end{align*}
205
\end{Def}
206
207
\begin{Def}
208
\label{def-Bent-function}
209
A Boolean function $f : \F_2^{2m} \To \F_2$ is \Emph{bent}
210
if and only if its Walsh Hada\-mard transform has constant absolute value $2^{m}$.
211
% \cite[p. 74]{Dil74}
212
% \cite[p. 300]{Rot76}.
213
\end{Def}
214
\slidecite{Dillon 1974; Rothaus 1976}
215
\end{frame}
216
\begin{frame}
217
\frametitle{Dual bent functions}
218
219
\begin{Def}
220
\label{def-dual-Bent-function}
221
For a bent function $f : \F_2^{2m} \To \F_2$, the function $\dual{f}$, defined by
222
\begin{align*}
223
(-1)^{\dual{f}(x)} &:= 2^{-m} W_f(x)
224
\end{align*}
225
is called the \Emph{dual} of $f$.
226
\end{Def}
227
228
~
229
230
The function $\dual{f}$ is also a bent function on $\F_2^{2m}$.
231
232
~
233
234
~
235
236
\slidecite{Dillon 1974; Rothaus 1976}
237
\end{frame}
238
239
\begin{frame}
240
\frametitle{Example}
241
242
The function $f : \F_2^2 \To \F_2$ defined by $f(x) := x_0 x_1$
243
is bent, since
244
\begin{align*}
245
W_f(x)
246
=&
247
\sum_{y \in \F_2^2} (-1)^{f(y) + \langle x, y \rangle}
248
\\
249
=&\ (-1)^{f(0,0) + \langle x, (0,0) \rangle}
250
+ (-1)^{f(1,0) + \langle x, (1,0) \rangle} +
251
\\
252
\phantom{=}&\ (-1)^{f(0,1) + \langle x, (0,1) \rangle}
253
+ (-1)^{f(1,1) + \langle x, (1,1) \rangle}
254
\\
255
=&\ (-1)^{0 + 0} + (-1)^{0 + x_0} + (-1)^{0 + x_1} + (-1)^{1 + x_0 + x_1}
256
\\
257
=&\ 1 + (-1)^{x_0} + (-1)^{x_1} - (-1)^{x_0 + x_1}
258
\\
259
=&\ 2 \times (-1)^{f(x)},
260
\end{align*}
261
so $\dual{f} = f$, and $f$ is \Emph{self-dual}.
262
%
263
\end{frame}
264
265
\begin{frame}
266
\frametitle{Bent functions and affine functions}
267
Bent functions are at maximum Hamming distance from affine functions.
268
For $f : \F_2^2 \To \F_2,$ this distance is 1 \slidecite{Meier and Staffelbach 1989}.
269
\scriptsize{}
270
\begin{align*}
271
\begin{array}{|cccc|}
272
\hline
273
(0,0)& (1,0)& (0,1)& (1,1)
274
\\
275
\hline
276
0 & 0 & 0 & 0
277
\\
278
\Red{0}& \Red{0} & \Red{0} & \Red{1}
279
\\
280
\Red{0}& \Red{0} & \Red{1} & \Red{0}
281
\\
282
0 & 0 & 1 & 1
283
\\
284
\Red{0}& \Red{1} & \Red{0} & \Red{0}
285
\\
286
0 & 1 & 0 & 1
287
\\
288
0 & 1 & 1 & 0
289
\\
290
\Red{0}& \Red{1} & \Red{1} & \Red{1}
291
\\
292
\Red{1}& \Red{0} & \Red{0} & \Red{0}
293
\\
294
1 & 0 & 0 & 1
295
\\
296
1 & 0 & 1 & 0
297
\\
298
\Red{1}& \Red{0} & \Red{1} & \Red{1}
299
\\
300
1 & 1 & 0 & 0
301
\\
302
\Red{1}& \Red{1} & \Red{0} & \Red{1}
303
\\
304
\Red{1}& \Red{1} & \Red{1} & \Red{0}
305
\\
306
1 & 1 & 1 & 1
307
\\
308
\hline
309
\end{array}
310
\end{align*}
311
\normalsize{}
312
\end{frame}
313
314
\end{colortheme}
315
316
\begin{colortheme}{jubata}
317
318
\begin{frame}
319
\frametitle{Weights and weight classes}
320
\begin{Def}
321
The \Emph{weight} of a binary function is the cardinality of its \Emph{support}.
322
For $f$ on $\F_2^{2m}$
323
\begin{align*}
324
\support{f} &:= \{x \in \F_2^{2m} \mid f(x)=1 \}.
325
\end{align*}
326
327
A bent function $f$ on $\F_2^{2m}$ has weight
328
\begin{align*}
329
\weight{f} &= 2^{2 m - 1} - 2^{m-1} \quad (\text{weight class~} \weightclass{f}=0), \text{~or}
330
\\
331
\weight{f} &= 2^{2 m - 1} + 2^{m-1} \quad (\text{weight class~} \weightclass{f}=1).
332
\end{align*}
333
% If $f(0)=0$ then $\weightclass{\Cay{f}} := \weightclass{f}$.
334
\end{Def}
335
\end{frame}
336
337
\end{colortheme}
338
339
%\section{Cayley graphs and linear codes}
340
341
\begin{colortheme}{seagull}
342
343
\begin{frame}
344
\frametitle{The Cayley graph of a Boolean function}
345
%\begin{center}
346
The \Emph{Cayley graph} $\Cay{f}$ of a Boolean function
347
348
~
349
350
\begin{align*}
351
%
352
f : \F_2^n \To \F_2 \quad \text{where} \quad f(0) = 0
353
%
354
\end{align*}
355
356
~
357
358
is
359
an undirected graph with
360
361
\begin{align*}
362
V(\Cay{f}) &:= \F_2^n, \quad (x,y) \in E(\Cay{f}) \Leftrightarrow f(x+y) = 1.
363
\end{align*}
364
365
~
366
367
\slidecite{Bernasconi and Codenotti 1999}
368
\end{frame}
369
370
\begin{frame}
371
\frametitle{Strongly regular graphs}
372
%\begin{center}
373
A simple graph $\Gamma$ of order $v$ is \Emph{strongly regular} with parameters
374
$(v,k,\lambda,\mu)$ if
375
376
~
377
378
\begin{itemize}
379
\item
380
each vertex has degree $k,$
381
382
~
383
\item
384
each adjacent pair of vertices has $\lambda$ common neighbours, and
385
386
~
387
\item
388
each nonadjacent pair of vertices has $\mu$ common neighbours.
389
\end{itemize}
390
391
~
392
393
~
394
395
\slidecite{Brouwer, Cohen and Neumaier 1989}
396
397
%\end{center}
398
\end{frame}
399
400
\begin{frame}
401
\frametitle{Bent functions and strongly regular graphs}
402
403
\begin{Proposition}
404
\smallcite{Bernasconi and Codenotti 1999}
405
406
The Cayley graph $\Cay{f}$ of a bent function $f$ on $\F_2^{2m}$
407
408
with $f(0)=0$ is a strongly regular graph with $\lambda = \mu.$
409
\end{Proposition}
410
411
The parameters of $\Cay{f}$ are
412
\begin{align*}
413
(v,k,\lambda) = &(4^m, 2^{2 m - 1} - 2^{m-1}, 2^{2 m - 2} - 2^{m-1})
414
\\
415
\text{or} \quad &(4^m, 2^{2 m - 1} + 2^{m-1}, 2^{2 m - 2} + 2^{m-1}).
416
\end{align*}
417
418
~
419
420
\slidecite{Menon 1962; Dillon 1974; Bernasconi and Codenotti 1999}
421
%\end{center}
422
\end{frame}
423
\end{colortheme}
424
425
\begin{colortheme}{seagull}
426
427
\begin{frame}
428
\frametitle{Extended affine equivalence}
429
430
\begin{Def}
431
For bent functions $f,g : \F_2^{2m} \To \F_2$,
432
433
$f$ is \Emph{extended affine equivalent} to $g$ if and only if
434
\begin{align*}
435
g(x) &= f(A x + b) + \langle c, x \rangle + \delta
436
\end{align*}
437
for some $A \in GL(2m,2)$, $b, c \in \F_2^{2m}$, $\delta \in \F_2$.
438
\end{Def}
439
440
~
441
442
~
443
444
\slidecite{Budaghyan, Carlet and Pott 2006; Carlet and Mesnager 2011}
445
\end{frame}
446
447
\end{colortheme}
448
449
\begin{colortheme}{jubata}
450
451
\begin{frame}
452
\frametitle{General linear equivalence}
453
454
\begin{Def}
455
For bent functions $f,g : \F_2^{2m} \To \F_2$,
456
$f$ is \Emph{general linear equivalent} to $g$ if and only if
457
\begin{align*}
458
g(x) &= f(A x)
459
\end{align*}
460
for some $A \in GL(2m,2)$.
461
\end{Def}
462
\end{frame}
463
\begin{frame}
464
\frametitle{Extended translation equivalence}
465
466
\begin{Def}
467
For bent functions $f,g : \F_2^{2m} \To \F_2$,
468
469
$f$ is \Emph{extended translation equivalent} to $g$ if and only if
470
\begin{align*}
471
g(x) &= f(x + b) + \langle c, x \rangle + \delta
472
\end{align*}
473
for $b, c \in \F_2^{2m}$, $\delta \in \F_2$.
474
\end{Def}
475
\end{frame}
476
477
\begin{frame}
478
\frametitle{Cayley equivalence}
479
\begin{Def}
480
%
481
For $f, g : \F_2^{2m} \To \F_2$, with both $f$ and $g$ bent,
482
483
we call $f$ and $g$ \Emph{Cayley equivalent},
484
and write $f \equiv g$,
485
486
if and only if $f(0)=g(0)=0$ and $\Cay{f} \equiv \Cay{g}$ as graphs.
487
488
~
489
490
Equivalently, $f \equiv g$ if and only if $f(0)=g(0)=0$ and
491
492
there exists a bijection $\pi : \F_2^{2m} \To \F_2^{2m}$ such that
493
\begin{align*}
494
g(x+y) &= f \big(\pi(x)+\pi(y)\big) \quad \text{for all~} x,y \in \F_2^{2m}.
495
\end{align*}
496
\end{Def}
497
\end{frame}
498
\begin{frame}
499
\frametitle{Extended Cayley equivalence}
500
\begin{Def}
501
For $f, g : \F_2^{2m} \To \F_2$, with both $f$ and $g$ bent,
502
503
if there exist $\delta, \epsilon \in \{0,1\}$ such that $f + \delta \equiv g + \epsilon$,
504
505
we call $f$ and $g$ \Emph{extended Cayley (EC) equivalent} and write $f \cong g$.
506
\end{Def}
507
Extended Cayley equivalence is an equivalence relation on the set of all bent functions on $\F_2^{2m}$.
508
\end{frame}
509
510
\begin{frame}
511
\frametitle{General linear equivalence \\ implies Cayley equivalence}
512
513
\begin{Theorem}
514
If $f$ is bent with $f(0)=0$ and $g(x) := f(A x)$ where $A \in GL(2m,2)$,
515
then $g$ is bent with $g(0)=0$ and $f \equiv g$.
516
\end{Theorem}
517
\begin{proof}
518
\begin{align*}
519
g(x+y) &= f\big(A(x+y)\big) = f(A x + A y)\quad \text{for all~} x,y \in \F_2^{2m}.
520
\end{align*}
521
\end{proof}
522
523
\end{frame}
524
525
\begin{frame}
526
\frametitle{Extended affine, extended translation, and extended Cayley equivalence (1)}
527
528
\begin{Theorem}
529
For $A \in GL(2m,2)$, $b, c \in \F_2^{2m}$, $\delta \in \F_2$,
530
$f : \F_2^{2m} \To \F_2$,
531
532
the function
533
\begin{align*}
534
h(x) &:= f(A x + b) + \langle c, x \rangle + \delta
535
\intertext{can be expressed as $h(x) = g(A x)$ where}
536
g(x) &:= f(x+b) + \langle (A^{-1})^T c, x \rangle + \delta,
537
\end{align*}
538
and therefore if $f$ is bent then $h \cong g$.
539
\end{Theorem}
540
\end{frame}
541
542
\begin{frame}
543
\frametitle{Extended affine, extended translation, and extended Cayley equivalence (2)}
544
545
Therefore, to determine the extended Cayley equivalence classes within the extended affine equivalence class of
546
a bent function $f : \F_2^{2m} \To \F_2$, for which $f(0)=0$, we need only examine
547
the extended translation equivalent functions of the form
548
\begin{align*}
549
f(x+b) + \langle c, x \rangle + f(b),
550
\end{align*}
551
for each $b, c \in \F_2^{2m}$.
552
\end{frame}
553
554
\end{colortheme}
555
556
\section{Some results in 8 dimensions}
557
558
559
\begin{colortheme}{seagull}
560
561
\begin{frame}
562
\frametitle{For 8 dimensions: \\ number of bent functions and EA classes}
563
564
According to Langevin and Leander (2011)
565
there are $99\,270\,589\,265\,934\,370\,305\,785\,861\,242\,880 \approx 2^{106}$ bent functions in dimension 8.
566
567
~
568
569
The number of EA classes has not yet been published, let alone a list of representatives.
570
571
~
572
573
~
574
575
~
576
577
~
578
579
\slidecite{Langevin and Leander 2011}
580
\end{frame}
581
582
\begin{frame}
583
\frametitle{For 8 dimensions, up to degree 3: \\ extended translation classes}
584
585
Ten extended affine classes are listed in Braeken's thesis (2006),
586
587
containing the following extended translation classes:
588
589
\tiny{}
590
\begin{align*}
591
\def\arraystretch{1.2}
592
\begin{array}{|cl|}
593
\hline
594
\text{Class} &
595
\text{Representative}
596
\\
597
\hline
598
\,[f_{ 8 , 1 }] & f_{ 8 , 1 } :=
599
\begin{array}{l}
600
x_{0} x_{1} + x_{2} x_{3} + x_{4} x_{5} + x_{6} x_{7}
601
\end{array}
602
\\
603
\,[f_{ 8 , 2 }] & f_{ 8 , 2 } :=
604
\begin{array}{l}
605
x_{0} x_{1} x_{2} + x_{0} x_{3} + x_{1} x_{4} + x_{2} x_{5} + x_{6} x_{7}
606
\end{array}
607
\\
608
\,[f_{ 8 , 3 }] & f_{ 8 , 3 } :=
609
\begin{array}{l}
610
x_{0} x_{1} x_{2} + x_{0} x_{6} + x_{1} x_{3} x_{4} + x_{1} x_{5} + x_{2} x_{3} + x_{4} x_{7}
611
\end{array}
612
\\
613
\,[f_{ 8 , 4 }] & f_{ 8 , 4 } :=
614
\begin{array}{l}
615
x_{0} x_{1} x_{2} + x_{0} x_{2} + x_{0} x_{4} + x_{1} x_{3} x_{4} + x_{1} x_{5} + x_{2} x_{3} + x_{6} x_{7}
616
\end{array}
617
\\
618
\,[f_{ 8 , 5 }] & f_{ 8 , 5 } :=
619
\begin{array}{l}
620
x_{0} x_{1} x_{2} + x_{0} x_{6} + x_{1} x_{3} x_{4} + x_{1} x_{4} + x_{1} x_{5} + x_{2} x_{3} x_{5} + x_{2} x_{4} + x_{3} x_{7}
621
\end{array}
622
\\
623
\,[f_{ 8 , 6 }] & f_{ 8 , 6 } :=
624
\begin{array}{l}
625
x_{0} x_{1} x_{2} + x_{0} x_{2} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{6} + x_{2} x_{3} x_{5} + x_{2} x_{4} + x_{5} x_{7}
626
\end{array}
627
\\
628
\,[f_{ 8 , 7 }] & f_{ 8 , 7 } :=
629
\begin{array}{l}
630
x_{0} x_{1} x_{2} + x_{0} x_{1} + x_{0} x_{2} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{4} + x_{1} x_{5} + x_{2} x_{3} x_{5}
631
\\
632
+\, x_{2} x_{4} + x_{6} x_{7}
633
\end{array}
634
\\
635
\,[f_{ 8 , 8 }] & f_{ 8 , 8 } :=
636
\begin{array}{l}
637
x_{0} x_{1} x_{2} + x_{0} x_{5} + x_{1} x_{3} x_{4} + x_{1} x_{6} + x_{2} x_{3} x_{5} + x_{2} x_{4} + x_{3} x_{7}
638
\end{array}
639
\\
640
\,[f_{ 8 , 9 }] & f_{ 8 , 9 } :=
641
\begin{array}{l}
642
x_{0} x_{1} x_{6} + x_{0} x_{3} + x_{1} x_{4} + x_{2} x_{3} x_{6} + x_{2} x_{5} + x_{3} x_{4} + x_{4} x_{5} x_{6} + x_{6} x_{7}
643
\end{array}
644
\\
645
\,[f_{ 8 , 10 }] & f_{ 8 , 10 } :=
646
\begin{array}{l}
647
x_{0} x_{1} x_{2} + x_{0} x_{3} x_{6} + x_{0} x_{4} + x_{0} x_{5} + x_{1} x_{3} x_{4} + x_{1} x_{6} + x_{2} x_{3} x_{5} + x_{2} x_{4}
648
\\
649
+\, x_{3} x_{7}
650
\end{array}
651
\\
652
\hline
653
\end{array}
654
\end{align*}
655
\slidecite{Braeken 2006; Tokareva 2015}
656
\normalsize{}
657
\end{frame}
658
659
\end{colortheme}
660
661
\begin{colortheme}{jubata}
662
663
\begin{frame}
664
\frametitle{ET classes $[f_{8,5}]$ and $[f_{8,6}]$}
665
\begin{figure}
666
\centering
667
\begin{minipage}{.48\textwidth}
668
\centering
669
\includegraphics[width=.9\linewidth]{../matrix_plot/re8_5_bent_cayley_graph_index_matrix.png}
670
\captionof{figure}{$[f_{8,5}]$: 9 extended Cayley classes}
671
\label{fig:re8_5_bent_cayley_graph_index_matrix}
672
\end{minipage}%
673
\begin{minipage}{.48\textwidth}
674
\centering
675
\includegraphics[width=.9\linewidth]{../matrix_plot/re8_6_bent_cayley_graph_index_matrix.png}
676
\captionof{figure}{$[f_{8,6}]$: 9 extended Cayley classes}
677
\label{fig:re8_6_bent_cayley_graph_index_matrix}
678
\end{minipage}
679
\end{figure}
680
The same 9 EC classes, with the same frequencies!
681
682
\slidecite{colormap: gist\_stern, colours matched to extended Cayley classes}
683
\end{frame}
684
685
\begin{frame}[fragile]
686
\frametitle{Functions $f_{8,5}$ and $f_{8,6}$ are linearly equivalent}
687
688
\Emph{Proof}
689
690
~
691
692
Apply the permutation $\pi := (x_0\ x_5\ x_4)(x_1\ x_2\ x_3)(x_6\ x_7)$ to
693
\footnotesize{
694
\begin{align*}
695
f_{8,5}
696
&=
697
x_{0} x_{1} x_{2} + x_{0} x_{6} + x_{1} x_{3} x_{4} + x_{1} x_{4} + x_{1} x_{5} + x_{2} x_{3} x_{5} + x_{2} x_{4} + x_{3} x_{7}
698
%\end{align*}
699
%}\normalsize{}
700
\intertext{\normalsize{to obtain}}
701
%\small{
702
%\begin{align*}
703
\pi(f_{8,5})
704
&=
705
x_{5} x_{2} x_{3} + x_{5} x_{7} + x_{2} x_{1} x_{0} + x_{2} x_{0} + x_{2} x_{4} + x_{3} x_{1} x_{4} + x_{3} x_{0} + x_{1} x_{6}
706
\\
707
&=
708
x_{0} x_{1} x_{2} + x_{0} x_{2} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{6} + x_{2} x_{3} x_{5} + x_{2} x_{4} + x_{5} x_{7}
709
\\
710
&= f_{8,6}.
711
\\
712
&\ \Box
713
\end{align*}
714
}\normalsize{}
715
\end{frame}
716
717
\end{colortheme}
718
719
\begin{colortheme}{seagull}
720
721
\begin{frame}[fragile]
722
\frametitle{For 8 dimensions: Bent functions from CAST-128 S-boxes}
723
724
The CAST-128 encryption algorithm is used in PGP and elsewhere.
725
726
CAST-128, including the S-boxes, is specified by IETF RFC 2144:
727
\begin{verbatim}
728
https://www.ietf.org/rfc/rfc2144.txt
729
\end{verbatim}
730
731
The algorithm uses 8 S-boxes,
732
each of which consists of 32 binary bent functions of degree 4 in 8 dimensions,
733
giving a total of 256 bent functions.
734
735
~
736
737
~
738
739
~
740
741
\slidecite{Adams 1997}
742
\end{frame}
743
744
\end{colortheme}
745
746
\begin{colortheme}{jubata}
747
748
\begin{frame}
749
\frametitle{CAST-128 ET class $[cast128_{1,0}]$}
750
\begin{figure}
751
\centering
752
\begin{minipage}{.48\textwidth}
753
\centering
754
\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_1_0_weight_class_matrix.png}
755
\captionof{figure}{$[cast128_{1,0}]$: weight classes ~~~~~~ ~~~~~~~~\\~~~~~}
756
\label{fig:cast128_1_0_weight_class_matrix}
757
\end{minipage}
758
\begin{minipage}{.48\textwidth}
759
\centering
760
\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_1_0_bent_cayley_graph_index_matrix.png}
761
\captionof{figure}{$[cast128_{1,0}]$: $65\,536$ extended Cayley classes.\\Total including duals is $131\,072$.}
762
\label{fig:cast128_1_0_bent_cayley_graph_index_matrix}
763
\end{minipage}%
764
\end{figure}
765
\slidecite{LHS colormap: gist\_stern; RHS colormap: jet}
766
\end{frame}
767
768
\begin{frame}
769
\frametitle{CAST-128 ET classes $[cast128_{2,1}]$ and $[cast128_{2,16}]$}
770
\begin{figure}
771
\centering
772
\begin{minipage}{.48\textwidth}
773
\centering
774
\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_2_1_bent_cayley_graph_index_matrix.png}
775
\captionof{figure}{$[cast128_{2,1}]$: $8\,256$ extended Cayley classes.\\Total including duals is $8\,256$.}
776
\label{fig:cast128_2_1_bent_cayley_graph_index_matrix}
777
\end{minipage}%
778
\begin{minipage}{.48\textwidth}
779
\centering
780
\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_2_16_bent_cayley_graph_index_matrix.png}
781
\captionof{figure}{$[cast128_{2,16}]$: $32\,768$ extended Cayley classes.\\Total including duals is $65\,536$.}
782
\label{fig:cast128_2_16_bent_cayley_graph_index_matrix}
783
\end{minipage}%
784
\end{figure}
785
\slidecite{colormap: jet}
786
\end{frame}
787
788
\begin{frame}
789
\frametitle{CAST-128 ET classes $[cast128_{4,27}]$ and $[cast128_{5,16}]$}
790
\begin{figure}
791
\centering
792
\begin{minipage}{.48\textwidth}
793
\centering
794
\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_4_27_bent_cayley_graph_index_matrix.png}
795
\captionof{figure}{$[cast128_{4,27}]$: $65\,536$ extended Cayley classes.\\Total including duals is $65\,536$.}
796
\label{fig:cast128_4_27_bent_cayley_graph_index_matrix}
797
\end{minipage}%
798
\begin{minipage}{.48\textwidth}
799
\centering
800
\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_5_16_bent_cayley_graph_index_matrix.png}
801
\captionof{figure}{$[cast128_{5,16}]$: $33\,280$ extended Cayley classes.\\Total including duals is $66\,560$.}
802
\label{fig:cast128_5_16_bent_cayley_graph_index_matrix}
803
\end{minipage}%
804
\end{figure}
805
\slidecite{colormap: jet}
806
\end{frame}
807
808
\begin{frame}
809
\frametitle{CAST-128 ET classes $[cast128_{5,27}]$ and $[cast128_{6,17}]$}
810
\begin{figure}
811
\centering
812
\begin{minipage}{.48\textwidth}
813
\centering
814
\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_5_27_bent_cayley_graph_index_matrix.png}
815
\captionof{figure}{$[cast128_{5,27}]$: $6\,144$ extended Cayley classes.\\Total including duals is $6\,144$.}
816
\label{fig:cast128_5_27_bent_cayley_graph_index_matrix}
817
\end{minipage}%
818
\begin{minipage}{.48\textwidth}
819
\centering
820
\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_6_17_bent_cayley_graph_index_matrix.png}
821
\captionof{figure}{$[cast128_{6,17}]$: $65\,536$ extended Cayley classes.\\Total including duals is $65\,536$.}
822
\label{fig:cast128_6_17_bent_cayley_graph_index_matrix}
823
\end{minipage}%
824
\end{figure}
825
\slidecite{colormap: jet}
826
\end{frame}
827
828
\begin{frame}
829
\frametitle{CAST-128 ET classes $[cast128_{7,15}]$ and $[cast128_{7,21}]$}
830
\begin{figure}
831
\centering
832
\begin{minipage}{.48\textwidth}
833
\centering
834
\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_7_15_bent_cayley_graph_index_matrix.png}
835
\captionof{figure}{$[cast128_{7,15}]$: $32\,768$ extended Cayley classes.\\Total including duals is $65\,536$.}
836
\label{fig:cast128_7_15_bent_cayley_graph_index_matrix}
837
\end{minipage}%
838
\begin{minipage}{.48\textwidth}
839
\centering
840
\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_7_21_bent_cayley_graph_index_matrix.png}
841
\captionof{figure}{$[cast128_{7,21}]$: $32\,768$ extended Cayley classes.\\Total including duals is $65\,536$.}
842
\label{fig:cast128_7_21_bent_cayley_graph_index_matrix}
843
\end{minipage}%
844
\end{figure}
845
\slidecite{colormap: jet}
846
\end{frame}
847
\end{colortheme}
848
849
\begin{colortheme}{seagull}
850
851
\begin{frame}[fragile]
852
\frametitle{For 8 dimensions: number of partial spread \\ bent functions and EA classes}
853
854
According to Langevin and Hou (2011)
855
there are $70\,576\,747\,237\,594\,114\,392\,064 \approx 2^{75.9}$ \Emph{partial spread} bent functions in dimension 8,
856
contained in $14\,758$ EA classes, of which $14\,756$ have degree 4.
857
858
~
859
860
The EA class representatives are listed at Langevin's web site
861
862
\begin{verbatim}
863
http://langevin.univ-tln.fr/project/spread/psp.html
864
\end{verbatim}
865
866
~
867
868
\slidecite{Langevin and Hou 2011}
869
\end{frame}
870
871
\end{colortheme}
872
873
\begin{colortheme}{jubata}
874
875
\begin{frame}
876
\frametitle{Example partial spread ET class $[psf_{9,5439}]$}
877
\begin{figure}
878
\centering
879
\begin{minipage}{.48\textwidth}
880
\centering
881
\includegraphics[width=.9\linewidth]{../matrix_plot/psf_9_5439_bent_cayley_graph_index_matrix.png}
882
\captionof{figure}{$[psf_{9,5439}]$: 16 extended Cayley classes ~~ ~~~~ ~~~~ ~~~~~~~~~}
883
\label{fig:psf_9_5439_bent_cayley_graph_index_matrix}
884
\end{minipage}
885
\begin{minipage}{.48\textwidth}
886
\centering
887
\includegraphics[width=.9\linewidth]{../matrix_plot/psf_9_5439_dual_cayley_graph_index_matrix.png}
888
\captionof{figure}{$[psf_{9,5439}]$: 16 extended Cayley classes of dual bent functions}
889
\label{fig:psf_9_5439_dual_cayley_graph_index_matrix}
890
\end{minipage}%
891
\end{figure}
892
6 of the 16 classes form 3 dual pairs of classes.
893
894
\slidecite{colormap: gist\_stern}
895
\end{frame}
896
897
\end{colortheme}
898
899
\section{Precedents}
900
901
\begin{colortheme}{seagull}
902
\begin{frame}
903
\frametitle{Precedents: databases of strongly regular graphs}
904
\begin{itemize}
905
\item
906
Spence's lists of strongly regular graphs on at most 64 vertices.
907
\begin{itemize}
908
\item
909
Exhaustive lists of non-isomorphic graphs for some tuples of feasible parameters.
910
\item
911
Flat text files.
912
\end{itemize}
913
914
~
915
916
\item
917
Brouwer's database of parameters of strongly regular graphs.
918
919
~
920
921
\item
922
Cohen and Pasechnik's Sage implementation of Brouwer's database, with constructions.
923
\begin{itemize}
924
\item
925
Includes an example for each tuple of feasible parameters, if known.
926
\item
927
Sage interface.
928
\end{itemize}
929
\end{itemize}
930
\slidecite{Spence 1995-2006; Brouwer 2008-2017; Cohen and Pasechnik 2016-2017}
931
\end{frame}
932
933
\begin{frame}
934
\frametitle{Other recent mathematical databases}
935
\begin{itemize}
936
\item
937
ISGCI - Information System on Graph Classes and their Inclusions
938
\begin{itemize}
939
\item
940
``\ldots an encyclopaedia of graph classes with an accompanying Java application that helps you to research what's known about particular graph classes.''
941
\item
942
Web-based and Java interfaces.
943
\end{itemize}
944
945
~
946
947
\item
948
LMFDB - The L-functions and modular forms database
949
\begin{itemize}
950
\item
951
``The LMFDB is an extensive database of mathematical objects arising in Number Theory.''
952
\item
953
Based on MongoDB and Python.
954
\item
955
Web-based and Sage interfaces.
956
\end{itemize}
957
\end{itemize}
958
\slidecite{H.N. de Ridder et al. 2001-2016; The LMFDB Collaboration 2007-2017}
959
\end{frame}
960
961
\end{colortheme}
962
963
\section{Preliminary designs}
964
965
\begin{colortheme}{jubata}
966
967
\begin{frame}
968
\frametitle{Database tables}
969
\begin{figure}
970
\centering
971
\begin{minipage}{\textwidth}
972
\centering
973
\includegraphics[width=.75\linewidth]{Classification-schema-SQLite.png}
974
\captionof{figure}{Database schema for SQLite version of the classification database.}
975
\label{fig:Classification_schema_SQLite}
976
\end{minipage}%
977
\end{figure}
978
\end{frame}
979
980
\begin{frame}[fragile]
981
\frametitle{Sage interface: insert function}
982
983
\begin{verbatim}
984
insert_classification(conn, bfcgc, name=None):
985
\end{verbatim}
986
987
\begin{itemize}
988
\item \texttt{conn}: Database connection.
989
990
~
991
992
\item \texttt{bfcgc}: Cayley graph classification of the ET class of \\a bent function.
993
994
~
995
996
\item \texttt{name}: Name of the ET class (optional).
997
\end{itemize}
998
999
\end{frame}
1000
1001
\begin{frame}[fragile]
1002
\frametitle{Sage interface: select functions}
1003
1004
\begin{verbatim}
1005
select_classification_where_bent_function(
1006
conn, bentf):
1007
\end{verbatim}
1008
\begin{itemize}
1009
\item \texttt{conn}: Database connection.
1010
\item \texttt{bentf}: Bent function representing an ET class.
1011
\end{itemize}
1012
1013
~
1014
1015
\begin{verbatim}
1016
select_classification_where_name(conn, name):
1017
\end{verbatim}
1018
\begin{itemize}
1019
\item \texttt{conn}: Database connection.
1020
\item \texttt{name}: Name of the ET class.
1021
\end{itemize}
1022
1023
\end{frame}
1024
1025
\end{colortheme}
1026
1027
\section{Prototype databases}
1028
1029
\begin{colortheme}{jubata}
1030
1031
\begin{frame}
1032
\frametitle{Prototype databases}
1033
Three prototype relational databases, using SQLite:
1034
1035
\begin{itemize}
1036
\item\normalsize{}
1037
Bent functions in 6 dimensions.
1038
\begin{itemize}
1039
\item\footnotesize{}
1040
Database of 11 strongly regular graphs from 4 ET classes.
1041
\item\footnotesize{}
1042
About 20 CPU minutes to calculate (2.93 GHz Intel Core i7, serial).
1043
\item\footnotesize{}
1044
Database size 780 KB.
1045
\end{itemize}
1046
1047
\item\normalsize{}
1048
Bent functions in 8 dimensions, up to degree 3.
1049
\begin{itemize}
1050
\item\footnotesize{}
1051
Database of 55 strongly regular graphs from 9 ET classes.
1052
\item\footnotesize{}
1053
About 250 CPU hours to calculate (2.93 GHz Intel Core i7, serial).
1054
\item\footnotesize{}
1055
Database size 65 MB.
1056
\end{itemize}
1057
1058
\item\normalsize{}
1059
Bent functions from the 8 S-boxes of CAST-128.
1060
\begin{itemize}
1061
\item\footnotesize{}
1062
Database of more than \Emph{32 million} ($32\,914\,496$) strongly regular graphs from 256 ET classes and their duals.
1063
\item\footnotesize{}
1064
About \Emph{9000 CPU hours} to calculate
1065
(4500 CPU hours on\\NCI Raijin, MPI, 16 ranks, for 128 ET classes and their duals).
1066
\item\footnotesize{}
1067
Database size \Emph{195 GB}.
1068
\end{itemize}
1069
\end{itemize}
1070
1071
\normalsize{}
1072
\end{frame}
1073
1074
\begin{frame}
1075
\frametitle{Time to create SQLite CAST-128 database}
1076
\begin{figure}
1077
\centering
1078
\begin{minipage}{.49\textwidth}
1079
\centering
1080
\includegraphics[width=1.0\linewidth]{CAST128-database-insert-times-by-existing.png}
1081
\label{fig:CAST128_database_insert_times_by_existing}
1082
\end{minipage}
1083
\begin{minipage}{.49\textwidth}
1084
\centering
1085
\includegraphics[width=1.0\linewidth]{CAST128-database-insert-times-by-time-of-day.png}
1086
\label{fig:CAST128_database_insert_times-By_time_of_day}
1087
\end{minipage}%
1088
\end{figure}
1089
It took almost 3 days to insert 256 classifications \Emph{sequentially} into the SQLite version of the CAST-128 database.
1090
\end{frame}
1091
1092
\begin{frame}
1093
\frametitle{Using DB Browser with a prototype database}
1094
\begin{figure}
1095
\centering
1096
\begin{minipage}{\textwidth}
1097
\centering
1098
\includegraphics[width=1.00\linewidth]{Browser-session-SQLite.png}
1099
% \captionof{figure}{DB Browser session with a prototype classification database.}
1100
\label{fig:Browser_session_SQLite}
1101
\end{minipage}%
1102
\end{figure}
1103
\end{frame}
1104
1105
\end{colortheme}
1106
1107
\section{Prospects}
1108
1109
\begin{colortheme}{jubata}
1110
1111
\begin{frame}[fragile]
1112
\frametitle{Possible next steps}
1113
1114
\begin{itemize}
1115
\item
1116
Submit ``Classifying bent functions by their Cayley graphs.''
1117
1118
~
1119
1120
\item
1121
Submit code to Sage project for review.
1122
1123
~
1124
1125
\item
1126
Gauge demand for the database. Find collaborators.
1127
1128
~
1129
1130
\item
1131
Arrange for hosting. Research Data Services?
1132
1133
~
1134
1135
\item
1136
Scale up to the partial spread bent functions?
1137
1138
\begin{itemize}
1139
\item
1140
This could be a database of about \Emph{2 billion SRGs},
1141
\\
1142
from 14\,758 ET classes, taking about \Emph{500\,000 CPU hours}
1143
\\
1144
to calculate and about \Emph{10 TB} to store.
1145
\end{itemize}
1146
\end{itemize}
1147
\end{frame}
1148
1149
\end{colortheme}
1150
1151
\section{Source code}
1152
1153
\begin{colortheme}{jubata}
1154
1155
\begin{frame}[fragile]
1156
\frametitle{Source code and documentation}
1157
~
1158
1159
CoCalc: Public worksheets, Sage and Python source code
1160
1161
\begin{verbatim}
1162
http://tinyurl.com/Boolean-Cayley-graphs
1163
\end{verbatim}
1164
1165
~
1166
1167
GitHub: Sage and Python source code
1168
1169
\begin{verbatim}
1170
https://github.com/penguian/Boolean-Cayley-graphs
1171
\end{verbatim}
1172
1173
~
1174
1175
SourceForge: Documentation
1176
1177
\begin{verbatim}
1178
https://boolean-cayley-graphs.sourceforge.io/
1179
\end{verbatim}
1180
\end{frame}
1181
1182
\end{colortheme}
1183
1184
\end{document}
1185
1186