Boolean-Cayley-graphs / papers-talks / TFAA-2018-Taipa / Leopardi-Bent-functions-Taipa-2018-talk.tex
22144 views\documentclass[pdf,sprung,slideColor,nocolorBG]{beamer}1%2%\documentclass[hyperref={pdfpagelabels=false}]{beamer}3\mode<presentation>45\newenvironment{colortheme}[1]{6\def\ProvidesPackageRCS $##1${\relax}7\renewcommand{\ProcessOptions}{\relax}8\makeatletter9\input beamercolortheme#1.sty10\makeatother11}{}1213\let\Tiny=\tiny14\usetheme{Adelaide}15\usefonttheme[stillsansseriftext]{serif}16\setbeamerfont{structure}{series=\bfseries}17\setbeamertemplate{frametitle}[default][center]18\usepackage[figurename={}]{caption}19\usepackage[latin1]{inputenc}20%\usepackage{amsmath} %needed for \begin{align}... \end{align} environment21\usepackage{amsfonts}22\usepackage{amssymb}23%\usepackage{amscd}24%\usepackage[all]{xy}25\usepackage{xcolor}26\usepackage{enumerate}27%28\newcommand{\slidecite}[1]{\tiny{(#1)}\normalsize{}}29\newcommand{\smallcite}[1]{\small{(#1)}\normalsize{}}3031\newcommand{\mb}[1]{\mathbb{#1}}32\newcommand{\mf}[1]{\mathbf{#1}}33\newcommand{\Emph}[1]{\emph{\textcolor{blue}{#1}}}34\newcommand{\Red}[1]{\mathbf{\textcolor{red}{#1}}}3536\newcommand{\abs}[1]{\left| #1 \right|}37\newcommand{\norm}[1]{\left\| #1 \right\|}38\newcommand{\To}{\rightarrow}3940\newcommand{\Cay}[1]{\operatorname{Cay}\left(#1\right)}41\newcommand{\Clique}[1]{\omega\left(#1\right)}42\newcommand{\dual}[1]{\widetilde{#1}}43\newcommand{\support}[1]{\operatorname{supp}\left(#1\right)}44\newcommand{\weight}[1]{\operatorname{wt}\left(#1\right)}45\newcommand{\weightclass}[1]{\operatorname{wc}\left(#1\right)}4647\newcommand{\F}{\mb{F}}48\newcommand{\G}{\mb{G}}49\newcommand{\R}{\mb{R}}50\newcommand{\Z}{\mb{Z}}51\newtheorem{Def}{Definition}52\newtheorem{Conjecture}{Conjecture}53\newtheorem{Question}{Question}54\newtheorem{Proposition}{Proposition}5556\title[Yet another database of strongly regular graphs]{Yet another database of57\\58strongly regular graphs:59\\60Classifying bent functions by61\\62their Cayley graphs}63\author{Paul Leopardi}6465\date{For Tight Frames and Approximation66\\67Taipa, February 2018}6869\institute{University of Melbourne70\\71Australian Government - Bureau of Meteorology}72\titlegraphic{73%\includegraphics[angle=0,width=10mm]{../../common/beamer-anu-colourlogo.png}74%\includegraphics[angle=0,width=20mm]{../../common/carma_logo.jpg}75}76\begin{document}7778\frame{\titlepage}79\begin{frame}80\frametitle{Acknowledgements}81\begin{center}82Robin Bowen,83An Braeken,84Nathan Clisby,85Robert Craigen,86Joanne Hall,87David Joyner,88Philippe Langevin,89Matthew Leingang,90William Martin,91Padraig {\'O} Cath{\'a}in,92Judy-anne Osborn,93Dima Pasechnik,94William Stein,95Natalia Tokareva, and96Sanming Zhou.9798~99100Australian National University. University of Newcastle, Australia. University of Melbourne.101102Australian Government - Bureau of Meteorology.103104~105106National Computational Infrastructure.107108~109110SageMath, CoCalc, Bliss, Nauty, MPI4py, SQLite3, DB Browser for SQLite, PostgreSQL, Psycopg2.111\end{center}112\end{frame}113114\begin{frame}115\frametitle{Serious Question}116\begin{center}117\vspace{+10mm}118\large{}119What would \Emph{you} do with a ``large'' database of strongly regular graphs?120\normalsize{}121\end{center}122\end{frame}123124\begin{frame}125\frametitle{Overview}126%\begin{center}127\begin{itemize}128\item129Classifing bent functions by their Cayley graphs.130\begin{itemize}131\item132Preliminaries.133\item134Cayley graphs and linear codes.135\item136Equivalence of bent functions.137\item138Computational results for quadratic forms.139\item140Block designs.141\item142Computational results for low dimensions.143\item144Questions.145\end{itemize}146147~148149\item150Databases of strongly regular graphs151\begin{itemize}152\item153Precedents: databases of strongly regular graphs.154155\item156Preliminary database designs.157158\item159Prototype databases.160161\item162Prospects.163164\item165Source code and documentation.166\end{itemize}167168\end{itemize}169170%\end{center}171\end{frame}172173\section{Classifying bent functions}174175\subsection{Preliminaries}176177\begin{colortheme}{jubata}178179\begin{frame}180\frametitle{Motivation}181182In a construction for Hada\-mard matrices, I encountered183two sequences of \Emph{bent} Boolean functions,184\begin{align*}185\sigma_m &: \F_2^{2m} \To \F_2, \quad \tau_m : \F_2^{2m} \To \F_2,186\end{align*}187whose Cayley graphs are \Emph{strongly regular} with parameters188\begin{align*}189(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}),190\end{align*}191but the graphs for $\sigma_m$ and $\tau_m$ are isomorphic only when192193$m=1,2$ or $3.$194195~196197Question: \Emph{Which strongly regular graphs arise as Cayley graphs of bent Boolean functions?}198199\slidecite{L 2014, 2015, 2017}200\end{frame}201\end{colortheme}202203\begin{colortheme}{seagull}204205\begin{frame}206\frametitle{Bent functions}207% Bent functions can be defined in a number of equivalent ways.208% The definition used here involves the Walsh Hadamard Transform.209\begin{Def}210\label{def-Walsh-Hadamard-transform}211The Walsh Hadamard transform of212a Boolean function $f : \F_2^{2m} \To \F_2$ is213\begin{align*}214W_f(x)215&:=216\sum_{y \in \F_2^{2m}} (-1)^{f(y) + \langle x, y \rangle}217\end{align*}218\end{Def}219220\begin{Def}221\label{def-Bent-function}222A Boolean function $f : \F_2^{2m} \To \F_2$ is \Emph{bent}223if and only if its Walsh Hada\-mard transform has constant absolute value $2^{m}$.224% \cite[p. 74]{Dil74}225% \cite[p. 300]{Rot76}.226\end{Def}227\slidecite{Dillon 1974; Rothaus 1976}228\end{frame}229\begin{frame}230\frametitle{Dual bent functions}231232\begin{Def}233\label{def-dual-Bent-function}234For a bent function $f : \F_2^{2m} \To \F_2$, the function $\dual{f}$, defined by235\begin{align*}236(-1)^{\dual{f}(x)} &:= 2^{-m} W_f(x)237\end{align*}238is called the \Emph{dual} of $f$.239\end{Def}240241~242243The function $\dual{f}$ is also a bent function on $\F_2^{2m}$.244245~246247~248249\slidecite{Dillon 1974; Rothaus 1976}250\end{frame}251252\begin{frame}253\frametitle{Example}254255The function $f : \F_2^2 \To \F_2$ defined by $f(x) := x_0 x_1$256is bent, since257\begin{align*}258W_f(x)259=&260\sum_{y \in \F_2^2} (-1)^{f(y) + \langle x, y \rangle}261\\262=&\ (-1)^{f(0,0) + \langle x, (0,0) \rangle}263+ (-1)^{f(1,0) + \langle x, (1,0) \rangle} +264\\265\phantom{=}&\ (-1)^{f(0,1) + \langle x, (0,1) \rangle}266+ (-1)^{f(1,1) + \langle x, (1,1) \rangle}267\\268=&\ (-1)^{0 + 0} + (-1)^{0 + x_0} + (-1)^{0 + x_1} + (-1)^{1 + x_0 + x_1}269\\270=&\ 1 + (-1)^{x_0} + (-1)^{x_1} - (-1)^{x_0 + x_1}271\\272=&\ 2 \times (-1)^{f(x)},273\end{align*}274so $\dual{f} = f$, and $f$ is \Emph{self-dual}.275%276\end{frame}277278\begin{frame}279\frametitle{Bent functions and affine functions}280Bent functions are at maximum Hamming distance from affine functions.281For $f : \F_2^2 \To \F_2,$ this distance is 1 \slidecite{Meier and Staffelbach 1989}.282\scriptsize{}283\begin{align*}284\begin{array}{|cccc|}285\hline286(0,0)& (1,0)& (0,1)& (1,1)287\\288\hline2890 & 0 & 0 & 0290\\291\Red{0}& \Red{0} & \Red{0} & \Red{1}292\\293\Red{0}& \Red{0} & \Red{1} & \Red{0}294\\2950 & 0 & 1 & 1296\\297\Red{0}& \Red{1} & \Red{0} & \Red{0}298\\2990 & 1 & 0 & 1300\\3010 & 1 & 1 & 0302\\303\Red{0}& \Red{1} & \Red{1} & \Red{1}304\\305\Red{1}& \Red{0} & \Red{0} & \Red{0}306\\3071 & 0 & 0 & 1308\\3091 & 0 & 1 & 0310\\311\Red{1}& \Red{0} & \Red{1} & \Red{1}312\\3131 & 1 & 0 & 0314\\315\Red{1}& \Red{1} & \Red{0} & \Red{1}316\\317\Red{1}& \Red{1} & \Red{1} & \Red{0}318\\3191 & 1 & 1 & 1320\\321\hline322\end{array}323\end{align*}324\normalsize{}325\end{frame}326327\end{colortheme}328329\begin{colortheme}{jubata}330331\begin{frame}332\frametitle{Weights and weight classes}333\begin{Def}334The \Emph{weight} of a binary function is the cardinality of its \Emph{support}.335For $f$ on $\F_2^{2m}$336\begin{align*}337\support{f} &:= \{x \in \F_2^{2m} \mid f(x)=1 \}.338\end{align*}339340A bent function $f$ on $\F_2^{2m}$ has weight341\begin{align*}342\weight{f} &= 2^{2 m - 1} - 2^{m-1} \quad (\text{weight class~} \weightclass{f}=0), \text{~or}343\\344\weight{f} &= 2^{2 m - 1} + 2^{m-1} \quad (\text{weight class~} \weightclass{f}=1).345\end{align*}346% If $f(0)=0$ then $\weightclass{\Cay{f}} := \weightclass{f}$.347\end{Def}348\end{frame}349350\end{colortheme}351352\subsection{Cayley graphs and linear codes}353354\begin{colortheme}{seagull}355356\begin{frame}357\frametitle{The Cayley graph of a Boolean function}358%\begin{center}359The \Emph{Cayley graph} $\Cay{f}$ of a Boolean function360361~362363\begin{align*}364%365f : \F_2^n \To \F_2 \quad \text{where} \quad f(0) = 0366%367\end{align*}368369~370371is372an undirected graph with373374\begin{align*}375V(\Cay{f}) &:= \F_2^n, \quad (x,y) \in E(\Cay{f}) \Leftrightarrow f(x+y) = 1.376\end{align*}377378~379380\slidecite{Bernasconi and Codenotti 1999}381\end{frame}382383\begin{frame}384\frametitle{Strongly regular graphs}385%\begin{center}386A simple graph $\Gamma$ of order $v$ is \Emph{strongly regular} with parameters387$(v,k,\lambda,\mu)$ if388389~390391\begin{itemize}392\item393each vertex has degree $k,$394395~396\item397each adjacent pair of vertices has $\lambda$ common neighbours, and398399~400\item401each nonadjacent pair of vertices has $\mu$ common neighbours.402\end{itemize}403404~405406~407408\slidecite{Brouwer, Cohen and Neumaier 1989}409410%\end{center}411\end{frame}412413\begin{frame}414\frametitle{Bent functions and strongly regular graphs}415416\begin{Proposition}417\smallcite{Bernasconi and Codenotti 1999}418419The Cayley graph $\Cay{f}$ of a bent function $f$ on $\F_2^{2m}$420421with $f(0)=0$ is a strongly regular graph with $\lambda = \mu.$422\end{Proposition}423424The parameters of $\Cay{f}$ are425\begin{align*}426(v,k,\lambda) = &(4^m, 2^{2 m - 1} - 2^{m-1}, 2^{2 m - 2} - 2^{m-1})427\\428\text{or} \quad &(4^m, 2^{2 m - 1} + 2^{m-1}, 2^{2 m - 2} + 2^{m-1}).429\end{align*}430431~432433\slidecite{Menon 1962; Dillon 1974; Bernasconi and Codenotti 1999}434%\end{center}435\end{frame}436437\begin{frame}438\frametitle{Projective two-weight binary codes}439440\begin{Def}441A \Emph{two-weight binary code} with parameters $[n,k,d]$ is a $k$ dimensional subspace of $\F_2^n$442with443minimum Hamming distance $d$, such that the set of Hamming weights of the non-zero vectors has size4442.445446~447448``A \Emph{generator matrix} $G$ of a linear code $[n, k]$ code $C$ is any matrix449of rank $k$ (over $\F_2$) with rows from $C.$''450451~452453``A linear $[n, k]$ code is called \Emph{projective} if no two columns of a generator matrix454$G$ are linearly dependent, i.e., if the columns of $G$ are pairwise different points in a455projective $(k-1)$-dimensional space.''456In the case of $\F_2$, no two columns are equal.457458~459460\end{Def}461462\slidecite{Tonchev 1996; Bouyukliev, Fack, Willems and Winne 2006}463464\end{frame}465466\begin{frame}467\frametitle{From bent function to linear code (1)}468\begin{Def}469470\smallcite{Carlet 2007; Ding and Ding 2015, Corollary 10}471472For a bent function $f : \F_2^{2m} \To \F_2$,473define the linear code $C(f)$ by the generator matrix474\begin{align*}475M C(f) &\in \F_2^{4^m \times \weight{f}},476\\477M C(f)_{x,y} &:= \langle x, \support{f}(y) \rangle,478\end{align*}479with $x$ in lexicographic order of $\F_2^{2m}$480and $\support{f}(y)$ in lexicographic order of $\support{f}$.481482The $4^m$ words of the code $C(f)$ are the rows of the generator matrix $M C(f)$.483\end{Def}484485\slidecite{Carlet 2007; Ding and Ding 2015, Corollary 10}486487\end{frame}488\begin{frame}489\frametitle{From bent function to linear code (2)}490\begin{Proposition}491\smallcite{Carlet 2007, Prop. 20; Ding and Ding 2015, Corollary 10}492493For a bent function $f : \F_2^{2m} \To \F_2$, the linear code $C(f)$494is a projective two-weight code.495496~497498The possible weights of non-zero code words are:499\begin{align*}500\begin{cases}5012^{2m-2}, 2^{2m-2} - 2^{m-1} & \text{if~} \weightclass{f}=0.502\\5032^{2m-2}, 2^{2m-2} + 2^{m-1} & \text{if~} \weightclass{f}=1.504\end{cases}505\end{align*}506507\end{Proposition}508509\slidecite{Carlet 2007, Prop. 20; Ding and Ding 2015, Corollary 10}510511\end{frame}512513\begin{frame}514\frametitle{From linear code to strongly regular graph}515\begin{Def}516\label{R-f-def}517Given $f : \F_2^{2m} \To \F_2$, form the linear code $C(f)$.518519The graph $R(f)$ is defined as:520521Vertices of $R(f)$ are code words of $C(f)$.522523For $v,w \in C(f)$, edge $(u,v) \in R(f)$ if and only if524\begin{align*}525\begin{cases}526\weight{u+v} = 2^{2m-2} - 2^{m-1} & (\text{if~}\weightclass{f}=0).527\\528\weight{u+v} = 2^{2m-2} + 2^{m-1} & (\text{if~}\weightclass{f}=1).529\end{cases}530\end{align*}531532\end{Def}533Since $C(f)$ is a projective two-weight code,534$R(f)$ is a strongly regular graph.535536\slidecite{Delsarte 1972, Theorem 2}537\end{frame}538539\end{colortheme}540541\begin{colortheme}{jubata}542543\begin{frame}544\frametitle{The strongly regular graph $R(f)$ is \\ the Cayley graph of the dual}545546\begin{Theorem}547For $f : \F_2^{2m} \To \F_2$, with $f(0)=0$,548\begin{align*}549R(f) &\equiv \Cay{\dual{f} + \dual{f}(0)} = \Cay{\dual{f} + \weightclass{f}}.550\end{align*}551\end{Theorem}552553\end{frame}554555\end{colortheme}556557\subsection{Equivalence of bent functions}558559\begin{colortheme}{seagull}560561\begin{frame}562\frametitle{Extended affine equivalence}563564\begin{Def}565For bent functions $f,g : \F_2^{2m} \To \F_2$,566567$f$ is \Emph{extended affine equivalent} to $g$ if and only if568\begin{align*}569g(x) &= f(A x + b) + \langle c, x \rangle + \delta570\end{align*}571for some $A \in GL(2m,2)$, $b, c \in \F_2^{2m}$, $\delta \in \F_2$.572\end{Def}573574~575576~577578\slidecite{Budaghyan, Carlet and Pott 2006; Carlet and Mesnager 2011}579\end{frame}580581\end{colortheme}582583\begin{colortheme}{jubata}584585\begin{frame}586\frametitle{General linear equivalence}587588\begin{Def}589For bent functions $f,g : \F_2^{2m} \To \F_2$,590$f$ is \Emph{general linear equivalent} to $g$ if and only if591\begin{align*}592g(x) &= f(A x)593\end{align*}594for some $A \in GL(2m,2)$.595\end{Def}596\end{frame}597\begin{frame}598\frametitle{Extended translation equivalence}599600\begin{Def}601For bent functions $f,g : \F_2^{2m} \To \F_2$,602603$f$ is \Emph{extended translation equivalent} to $g$ if and only if604\begin{align*}605g(x) &= f(x + b) + \langle c, x \rangle + \delta606\end{align*}607for $b, c \in \F_2^{2m}$, $\delta \in \F_2$.608\end{Def}609\end{frame}610611\begin{frame}612\frametitle{Cayley equivalence}613\begin{Def}614%615For $f, g : \F_2^{2m} \To \F_2$, with both $f$ and $g$ bent,616617we call $f$ and $g$ \Emph{Cayley equivalent},618and write $f \equiv g$,619620if and only if $f(0)=g(0)=0$ and $\Cay{f} \equiv \Cay{g}$ as graphs.621622~623624Equivalently, $f \equiv g$ if and only if $f(0)=g(0)=0$ and625626there exists a bijection $\pi : \F_2^{2m} \To \F_2^{2m}$ such that627\begin{align*}628g(x+y) &= f \big(\pi(x)+\pi(y)\big) \quad \text{for all~} x,y \in \F_2^{2m}.629\end{align*}630\end{Def}631\end{frame}632\begin{frame}633\frametitle{Extended Cayley equivalence}634\begin{Def}635For $f, g : \F_2^{2m} \To \F_2$, with both $f$ and $g$ bent,636637if there exist $\delta, \epsilon \in \{0,1\}$ such that $f + \delta \equiv g + \epsilon$,638639we call $f$ and $g$ \Emph{extended Cayley (EC) equivalent} and write $f \cong g$.640\end{Def}641Extended Cayley equivalence is an equivalence relation on the set of all bent functions on $\F_2^{2m}$.642\end{frame}643644\begin{frame}645\frametitle{General linear equivalence \\ implies Cayley equivalence}646647\begin{Theorem}648If $f$ is bent with $f(0)=0$ and $g(x) := f(A x)$ where $A \in GL(2m,2)$,649then $g$ is bent with $g(0)=0$ and $f \equiv g$.650\end{Theorem}651\begin{proof}652\begin{align*}653g(x+y) &= f\big(A(x+y)\big) = f(A x + A y)\quad \text{for all~} x,y \in \F_2^{2m}.654\end{align*}655\end{proof}656657\end{frame}658659\begin{frame}660\frametitle{Extended affine, extended translation, and extended Cayley equivalence (1)}661662\begin{Theorem}663For $A \in GL(2m,2)$, $b, c \in \F_2^{2m}$, $\delta \in \F_2$,664$f : \F_2^{2m} \To \F_2$,665666the function667\begin{align*}668h(x) &:= f(A x + b) + \langle c, x \rangle + \delta669\intertext{can be expressed as $h(x) = g(A x)$ where}670g(x) &:= f(x+b) + \langle (A^{-1})^T c, x \rangle + \delta,671\end{align*}672and therefore if $f$ is bent then $h \cong g$.673\end{Theorem}674\end{frame}675676\begin{frame}677\frametitle{Extended affine, extended translation, and extended Cayley equivalence (2)}678679Therefore, to determine the extended Cayley equivalence classes within the extended affine equivalence class of680a bent function $f : \F_2^{2m} \To \F_2$, for which $f(0)=0$, we need only examine681the extended translation equivalent functions of the form682\begin{align*}683f(x+b) + \langle c, x \rangle + f(b),684\end{align*}685for each $b, c \in \F_2^{2m}$.686\end{frame}687688\begin{frame}689\frametitle{Quadratic bent functions have two \\ extended Cayley classes}690\begin{Theorem}691For each $m>0$, the extended affine equivalence class of quadratic bent functions692$q : \F_2^{2m} \To \F_2$ contains exactly two extended Cayley equivalence classes,693corresponding to the two possible weight classes of $x \mapsto q(x+b) + \langle c, x \rangle + q(b)$.694\end{Theorem}695696\end{frame}697698\end{colortheme}699700\subsection{Computational results for quadratic bent functions in low dimensions}701702\begin{colortheme}{jubata}703704\begin{frame}705\frametitle{For 2 dimensions: quadratic case: $[f_{2,1}]$}706\begin{figure}707\centering708\begin{minipage}{.48\textwidth}709\centering710\includegraphics[width=.9\linewidth]{../matrix_plot/c2_1_bent_cayley_graph_index_matrix.png}711\captionof{figure}{$[f_{2,1}]$: 2 extended Cayley classes}712\label{fig:q2_1_bent_cayley_graph_index_matrix}713\end{minipage}714\end{figure}715\end{frame}716\begin{frame}717\frametitle{For 4 dimensions: quadratic case: $[f_{4,1}]$}718\begin{figure}719\centering720\begin{minipage}{.48\textwidth}721\centering722\includegraphics[width=.9\linewidth]{../matrix_plot/c4_1_bent_cayley_graph_index_matrix.png}723\captionof{figure}{$[f_{4,1}]$: 2 extended Cayley classes}724\label{fig:q4_1_bent_cayley_graph_index_matrix}725\end{minipage}726\end{figure}727\end{frame}728\begin{frame}729\frametitle{For 6 dimensions: quadratic case: $[f_{6,1}]$}730\begin{figure}731\centering732\begin{minipage}{.48\textwidth}733\centering734\includegraphics[width=.9\linewidth]{../matrix_plot/c6_1_bent_cayley_graph_index_matrix.png}735\captionof{figure}{$[f_{6,1}]$: 2 extended Cayley classes}736\label{fig:q6_1_bent_cayley_graph_index_matrix}737\end{minipage}738\end{figure}739\end{frame}740\begin{frame}741\frametitle{For 8 dimensions: quadratic case: $[f_{8,1}]$}742\begin{figure}743\centering744\begin{minipage}{.48\textwidth}745\centering746\includegraphics[width=.9\linewidth]{../matrix_plot/c8_1_bent_cayley_graph_index_matrix.png}747\captionof{figure}{$[f_{8,1}]$: 2 extended Cayley classes}748\label{fig:q8_1_bent_cayley_graph_index_matrix}749\end{minipage}750\end{figure}751~752\end{frame}753754\end{colortheme}755756\subsection{Block designs}757758\begin{colortheme}{seagull}759760\begin{frame}761\frametitle{The two block designs of a bent function}762763The first block design of a bent function $f$ is obtained by interpreting764the adjacency matrix of $\Cay{f}$ as the incidence matrix of a block design.765In this case we do not need $f(0)=0$.766767~768\begin{Def}769The second block design of a bent function $f$ is defined by the incidence matrix770$D(f)$ where771\begin{align*}772D(f)_{c,x} &:= f(x) + \langle c, x \rangle + \dual{f}(c).773\end{align*}774This is a symmetric block design with the \Emph{symmetric difference property},775called the \Emph{SDP design} of $f$.776\end{Def}777778~779780\slidecite{Kantor 1975; Dillon and Schatz 1987; Neumann 2006}781\end{frame}782783\end{colortheme}784785\begin{colortheme}{jubata}786787\begin{frame}788\frametitle{The weight class matrix is \\ the SDP design matrix}789\begin{Theorem}790For every bent function $f$, the \Emph{weight class matrix} of the ET class of $f$791equals the incidence matrix of the SDP design of $f$.792793~794795Specifically,796\begin{align*}797\weightclass{x \mapsto f(x+b) + \langle c, x \rangle + f(b)}798&=799f(b) + \langle c, b \rangle + \dual{f}(c)800\\801&=802D(f)_{c,b}.803\end{align*}804805\end{Theorem}806807\end{frame}808809\end{colortheme}810811\subsection{Computational results for low dimensions}812813\begin{colortheme}{jubata}814815\begin{frame}816\frametitle{For 2 dimensions: classes}817818One extended affine class, containing the extended translation class $[f_{2,1}]$,819where $f_{2,1}(x) := x_0 x_1$ is self dual.820821~822823Two extended Cayley classes:824\begin{align*}825\begin{array}{|cccl|}826\hline827\text{Class} &828\text{Parameters} &829\text{2-rank} &830\text{Clique polynomial}831\\832\hline8331 &834(4, 1, 0, 0) & 4 &8352t^{2} + 4t + 1836\\8372 &838K_4 & 4 &839t^{4} + 4t^{3} + 6t^{2} + 4t + 1840\\841\hline842\end{array}843\end{align*}844845\end{frame}846\begin{frame}847\frametitle{For ET class $[f_{2,1}]$: matrices}848\begin{figure}849\centering850\begin{minipage}{.48\textwidth}851\centering852\includegraphics[width=.9\linewidth]{../matrix_plot/c2_1_weight_class_matrix.png}853\captionof{figure}{$[f_{2,1}]$: weight classes}854\label{fig:c2_1_weight_class_matrix}855\end{minipage}%856\begin{minipage}{.48\textwidth}857\centering858\includegraphics[width=.9\linewidth]{../matrix_plot/c2_1_bent_cayley_graph_index_matrix.png}859\captionof{figure}{$[f_{2,1}]$: extended Cayley classes}860\label{fig:c2_1_bent_cayley_graph_index_matrix}861\end{minipage}862\end{figure}863\end{frame}864\begin{frame}865\frametitle{For 4 dimensions: classes}866867One extended affine class, containing the extended translation class $[f_{4,1}]$, where868$f_{4,1}(x) := x_0 x_1 + x_2 x_3$ is self dual.869870~871872Two extended Cayley classes:873\begin{align*}874\begin{array}{|cccl|}875\hline876\text{Class} &877\text{Parameters} &878\text{2-rank} &879\text{Clique polynomial}880\\881\hline8821 &883(16, 6, 2, 2) &8846 &8858t^{4} + 32t^{3} + 48t^{2} + 16t + 1886\\8872 &888(16, 10, 6, 6) &8896 &890\begin{array}{l}89116t^{5} + 120t^{4} + 160t^{3} +892\\89380t^{2} + 16t + 1894\end{array}895\\896\hline897\end{array}898\end{align*}899\end{frame}900\begin{frame}901\frametitle{For ET class $[f_{4,1}]$: matrices}902\begin{figure}903\centering904\begin{minipage}{.48\textwidth}905\centering906\includegraphics[width=.9\linewidth]{../matrix_plot/c4_1_weight_class_matrix.png}907\captionof{figure}{$[f_{4,1}]$: weight classes}908\label{fig:c4_1_weight_class_matrix}909\end{minipage}%910\begin{minipage}{.48\textwidth}911\centering912\includegraphics[width=.9\linewidth]{../matrix_plot/c4_1_bent_cayley_graph_index_matrix.png}913\captionof{figure}{$[f_{4,1}]$: extended Cayley classes}914\label{fig:c4_1_bent_cayley_graph_index_matrix}915\end{minipage}916\end{figure}917\end{frame}918919\end{colortheme}920921\begin{colortheme}{seagull}922923\begin{frame}924\frametitle{For 6 dimensions: ET classes}925926Four extended affine classes, containing the following extended translation classes:927928\begin{align*}929\def\arraystretch{1.2}930\begin{array}{|cl|}931\hline932\text{Class} &933\text{Representative}934\\935\hline936\,[f_{6,1}] & f_{6,1} :=937\begin{array}{l}938x_{0} x_{1} + x_{2} x_{3} + x_{4} x_{5}939\end{array}940\\941\,[f_{6,2}] & f_{6,2} :=942\begin{array}{l}943x_{0} x_{1} x_{2} + x_{0} x_{3} + x_{1} x_{4} + x_{2} x_{5}944\end{array}945\\946\,[f_{6,3}] & f_{6,3} :=947\begin{array}{l}948x_{0} x_{1} x_{2} + x_{0} x_{1} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{5}949\\950+\, x_{2} x_{4} + x_{3} x_{4}951\end{array}952\\953\,[f_{6,4}] & f_{6,4} :=954\begin{array}{l}955x_{0} x_{1} x_{2} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{5} + x_{2} x_{3} x_{5}956\\957+\, x_{2} x_{3} + x_{2} x_{4} + x_{2} x_{5} + x_{3} x_{4} + x_{3} x_{5}958\end{array}959\\960\hline961\end{array}962\end{align*}963\slidecite{Rothaus 1976; Tokareva 2015}964\end{frame}965966\end{colortheme}967968\begin{colortheme}{jubata}969970\begin{frame}971\frametitle{For ET class $[f_{6,1}]$: EC classes}972973Bent function974$f_{6,1}(x) = x_0 x_1 + x_2 x_3 + x_4 x_5$ is self dual.975976~977978Two extended Cayley classes corresponding to Tonchev's projective two-weight codes:979\begin{align*}980\def\arraystretch{1.2}981\begin{array}{|ccl|}982\hline983\text{Class} &984\text{Parameters} & \text{Reference}985\\986\hline9870 & [35,6,16] & \text{Table 1.156 1, 2 (complement)}988\\9891 & [27,6,12] & \text{Table 1.155 1 }990\\991\hline992\end{array}993\end{align*}994995Graph for class 0 is also isomorphic to the complement of Royle's $(64,35,18,20)$ strongly regular996graph $X$.997998\slidecite{Tonchev 1996, 2006; Royle 2008}999\end{frame}1000\begin{frame}1001\frametitle{For ET class $[f_{6,1}]$: matrices}1002\begin{figure}1003\centering1004\begin{minipage}{.48\textwidth}1005\centering1006\includegraphics[width=.9\linewidth]{../matrix_plot/c6_1_weight_class_matrix.png}1007\captionof{figure}{$[f_{6,1}]$: weight classes}1008\label{fig:6_1_weight_class_matrix}1009\end{minipage}%1010\begin{minipage}{.48\textwidth}1011\centering1012\includegraphics[width=.9\linewidth]{../matrix_plot/c6_1_bent_cayley_graph_index_matrix.png}1013\captionof{figure}{$[f_{6,1}]$: 2 extended Cayley classes}1014\label{fig:6_1_bent_cayley_graph_index_matrix}1015\end{minipage}1016\end{figure}1017\end{frame}1018\begin{frame}1019\frametitle{For ET class $[f_{6,2}]$: EC classes}10201021Bent function1022$f_{6,2}(x) = x_{0} x_{1} x_{2} + x_{0} x_{3} + x_{1} x_{4} + x_{2} x_{5}$.10231024~10251026Three extended Cayley classes corresponding to Tonchev's projective two-weight codes:1027\begin{align*}1028\def\arraystretch{1.2}1029\begin{array}{|ccl|}1030\hline1031\text{Class} &1032\text{Parameters} & \text{Reference}1033\\1034\hline10350 & [35,6,16] & \text{Table 1.156 1, 2 (complement)}1036\\10371 & [35,6,16] & \text{Table 1.156 3 (complement)}1038\\10392 & [27,6,12] & \text{Table 1.155 2 }1040\\1041\hline1042\end{array}1043\end{align*}10441045Graph for class 0 is also isomorphic to that of $[f_{6,1}]$ class 0.10461047\slidecite{Tonchev 1996, 2006}1048\end{frame}1049\begin{frame}1050\frametitle{For ET class $[f_{6,2}]$: matrices}1051\begin{figure}1052\centering1053\begin{minipage}{.48\textwidth}1054\centering1055\includegraphics[width=.9\linewidth]{../matrix_plot/c6_2_weight_class_matrix.png}1056\captionof{figure}{$[f_{6,2}]$: weight classes}1057\label{fig:6_2_weight_class_matrix}1058\end{minipage}%1059\begin{minipage}{.48\textwidth}1060\centering1061\includegraphics[width=.9\linewidth]{../matrix_plot/c6_2_bent_cayley_graph_index_matrix.png}1062\captionof{figure}{$[f_{6,2}]$: 3 extended Cayley classes}1063\label{fig:6_2_bent_cayley_graph_index_matrix}1064\end{minipage}1065\end{figure}1066\end{frame}1067\begin{frame}1068\frametitle{For ET class $[f_{6,3}]$: EC classes}10691070Bent function1071\begin{align*}1072f_{6,3}(x) &= x_{0} x_{1} x_{2} + x_{0} x_{1} + x_{0} x_{3} + x_{1} x_{3} x_{4}1073\\1074&+ x_{1} x_{5} + x_{2} x_{4} + x_{3} x_{4}.1075\end{align*}10761077Four extended Cayley classes corresponding to Tonchev's projective two-weight codes:1078\begin{align*}1079\def\arraystretch{1.2}1080\begin{array}{|ccl|}1081\hline1082\text{Class} &1083\text{Parameters} & \text{Reference}1084\\1085\hline10860 & [35,6,16] & \text{Table 1.156 4 (complement)}1087\\10881 & [27,6,12] & \text{Table 1.155 3 }1089\\10902 & [35,6,16] & \text{Table 1.156 5 (complement)}1091\\10923 & [27,6,12] & \text{Table 1.155 4 }1093\\1094\hline1095\end{array}1096\end{align*}10971098\slidecite{Tonchev 1996, 2006}1099\end{frame}1100\begin{frame}1101\frametitle{For ET class $[f_{6,3}]$: matrices}1102\begin{figure}1103\centering1104\begin{minipage}{.48\textwidth}1105\centering1106\includegraphics[width=.9\linewidth]{../matrix_plot/c6_3_weight_class_matrix.png}1107\captionof{figure}{$[f_{6,3}]$: weight classes}1108\label{fig:6_3_weight_class_matrix}1109\end{minipage}%1110\begin{minipage}{.48\textwidth}1111\centering1112\includegraphics[width=.9\linewidth]{../matrix_plot/c6_3_bent_cayley_graph_index_matrix.png}1113\captionof{figure}{$[f_{6,3}]$: 4 extended Cayley classes}1114\label{fig:6_3_bent_cayley_graph_index_matrix}1115\end{minipage}1116\end{figure}1117\end{frame}1118\begin{frame}1119\frametitle{For ET class $[f_{6,4}]$: EC classes}11201121Bent function1122\begin{align*}1123f_{6,4}(x) &= x_{0} x_{1} x_{2} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{5} + x_{2} x_{3} x_{5}1124\\1125&+ x_{2} x_{3} + x_{2} x_{4} + x_{2} x_{5} + x_{3} x_{4} + x_{3} x_{5}.1126\end{align*}11271128Three extended Cayley classes corresponding to Tonchev's projective two-weight codes:1129\begin{align*}1130\def\arraystretch{1.2}1131\begin{array}{|ccl|}1132\hline1133\text{Class} &1134\text{Parameters} & \text{Reference}1135\\1136\hline11370 & [35,6,16] & \text{Table 1.156 7 (complement)}1138\\11391 & [35,6,16] & \text{Table 1.156 6 (complement)}1140\\11412 & [27,6,12] & \text{Table 1.155 5 }1142\\1143\hline1144\end{array}1145\end{align*}11461147\slidecite{Tonchev 1996, 2006}1148\end{frame}1149\begin{frame}1150\frametitle{For ET class $[f_{6,4}]$: matrices}1151\begin{figure}1152\centering1153\begin{minipage}{.48\textwidth}1154\centering1155\includegraphics[width=.9\linewidth]{../matrix_plot/c6_4_weight_class_matrix.png}1156\captionof{figure}{$[f_{6,4}]$: weight classes}1157\label{fig:6_4_weight_class_matrix}1158\end{minipage}%1159\begin{minipage}{.48\textwidth}1160\centering1161\includegraphics[width=.9\linewidth]{../matrix_plot/c6_4_bent_cayley_graph_index_matrix.png}1162\captionof{figure}{$[f_{6,4}]$: 3 extended Cayley classes}1163\label{fig:6_4_bent_cayley_graph_index_matrix}1164\end{minipage}1165\end{figure}1166\end{frame}11671168\end{colortheme}11691170\begin{colortheme}{seagull}11711172\begin{frame}1173\frametitle{For 8 dimensions: \\ number of bent functions and EA classes}11741175According to Langevin and Leander (2011)1176there are $99\,270\,589\,265\,934\,370\,305\,785\,861\,242\,880 \approx 2^{106}$ bent functions in dimension 8.11771178~11791180The number of EA classes has not yet been published, let alone a list of representatives.11811182~11831184~11851186~11871188~11891190\slidecite{Langevin and Leander 2011}1191\end{frame}11921193\begin{frame}1194\frametitle{For 8 dimensions, up to degree 3: \\ extended translation classes}11951196Ten extended affine classes are listed in Braeken's thesis (2006),11971198containing the following extended translation classes:11991200\tiny{}1201\begin{align*}1202\def\arraystretch{1.2}1203\begin{array}{|cl|}1204\hline1205\text{Class} &1206\text{Representative}1207\\1208\hline1209\,[f_{ 8 , 1 }] & f_{ 8 , 1 } :=1210\begin{array}{l}1211x_{0} x_{1} + x_{2} x_{3} + x_{4} x_{5} + x_{6} x_{7}1212\end{array}1213\\1214\,[f_{ 8 , 2 }] & f_{ 8 , 2 } :=1215\begin{array}{l}1216x_{0} x_{1} x_{2} + x_{0} x_{3} + x_{1} x_{4} + x_{2} x_{5} + x_{6} x_{7}1217\end{array}1218\\1219\,[f_{ 8 , 3 }] & f_{ 8 , 3 } :=1220\begin{array}{l}1221x_{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}1222\end{array}1223\\1224\,[f_{ 8 , 4 }] & f_{ 8 , 4 } :=1225\begin{array}{l}1226x_{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}1227\end{array}1228\\1229\,[f_{ 8 , 5 }] & f_{ 8 , 5 } :=1230\begin{array}{l}1231x_{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}1232\end{array}1233\\1234\,[f_{ 8 , 6 }] & f_{ 8 , 6 } :=1235\begin{array}{l}1236x_{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}1237\end{array}1238\\1239\,[f_{ 8 , 7 }] & f_{ 8 , 7 } :=1240\begin{array}{l}1241x_{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}1242\\1243+\, x_{2} x_{4} + x_{6} x_{7}1244\end{array}1245\\1246\,[f_{ 8 , 8 }] & f_{ 8 , 8 } :=1247\begin{array}{l}1248x_{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}1249\end{array}1250\\1251\,[f_{ 8 , 9 }] & f_{ 8 , 9 } :=1252\begin{array}{l}1253x_{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}1254\end{array}1255\\1256\,[f_{ 8 , 10 }] & f_{ 8 , 10 } :=1257\begin{array}{l}1258x_{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}1259\\1260+\, x_{3} x_{7}1261\end{array}1262\\1263\hline1264\end{array}1265\end{align*}1266\slidecite{Braeken 2006; Tokareva 2015}1267\normalsize{}1268\end{frame}12691270\end{colortheme}12711272\begin{colortheme}{jubata}12731274\begin{frame}1275\frametitle{For ET class $[f_{8,1}]$: matrices}1276\begin{figure}1277\centering1278\begin{minipage}{.48\textwidth}1279\centering1280\includegraphics[width=.9\linewidth]{../matrix_plot/c8_1_weight_class_matrix.png}1281\captionof{figure}{$[f_{8,1}]$: weight classes}1282\label{fig:8_1_weight_class_matrix}1283\end{minipage}%1284\begin{minipage}{.48\textwidth}1285\centering1286\includegraphics[width=.9\linewidth]{../matrix_plot/c8_1_bent_cayley_graph_index_matrix.png}1287\captionof{figure}{$[f_{8,1}]$: 2 extended Cayley classes}1288\label{fig:8_1_bent_cayley_graph_index_matrix}1289\end{minipage}1290\end{figure}1291~1292\end{frame}1293\begin{frame}1294\frametitle{For ET class $[f_{8,2}]$: matrices}1295\begin{figure}1296\centering1297\begin{minipage}{.48\textwidth}1298\centering1299\includegraphics[width=.9\linewidth]{../matrix_plot/c8_2_weight_class_matrix.png}1300\captionof{figure}{$[f_{8,2}]$: weight classes}1301\label{fig:8_2_weight_class_matrix}1302\end{minipage}%1303\begin{minipage}{.48\textwidth}1304\centering1305\includegraphics[width=.9\linewidth]{../matrix_plot/c8_2_bent_cayley_graph_index_matrix.png}1306\captionof{figure}{$[f_{8,2}]$: 4 extended Cayley classes}1307\label{fig:8_2_bent_cayley_graph_index_matrix}1308\end{minipage}1309\end{figure}1310Graph for class 0 is isomorphic to graph for class 0 of $[f_{8,1}]$.1311\end{frame}1312\begin{frame}1313\frametitle{For ET class $[f_{8,3}]$: matrices}1314\begin{figure}1315\centering1316\begin{minipage}{.48\textwidth}1317\centering1318\includegraphics[width=.9\linewidth]{../matrix_plot/c8_3_weight_class_matrix.png}1319\captionof{figure}{$[f_{8,3}]$: weight classes}1320\label{fig:8_3_weight_class_matrix}1321\end{minipage}%1322\begin{minipage}{.48\textwidth}1323\centering1324\includegraphics[width=.9\linewidth]{../matrix_plot/c8_3_bent_cayley_graph_index_matrix.png}1325\captionof{figure}{$[f_{8,3}]$: 6 extended Cayley classes}1326\label{fig:8_3_bent_cayley_graph_index_matrix}1327\end{minipage}1328\end{figure}1329~1330\end{frame}1331\begin{frame}1332\frametitle{For ET class $[f_{8,4}]$: matrices}1333\begin{figure}1334\centering1335\begin{minipage}{.48\textwidth}1336\centering1337\includegraphics[width=.9\linewidth]{../matrix_plot/c8_4_weight_class_matrix.png}1338\captionof{figure}{$[f_{8,4}]$: weight classes}1339\label{fig:8_4_weight_class_matrix}1340\end{minipage}%1341\begin{minipage}{.48\textwidth}1342\centering1343\includegraphics[width=.9\linewidth]{../matrix_plot/c8_4_bent_cayley_graph_index_matrix.png}1344\captionof{figure}{$[f_{8,4}]$: 5 extended Cayley classes}1345\label{fig:8_4_bent_cayley_graph_index_matrix}1346\end{minipage}1347\end{figure}1348~1349\end{frame}1350\begin{frame}1351\frametitle{For ET class $[f_{8,5}]$: matrices}1352\begin{figure}1353\centering1354\begin{minipage}{.48\textwidth}1355\centering1356\includegraphics[width=.9\linewidth]{../matrix_plot/c8_5_weight_class_matrix.png}1357\captionof{figure}{$[f_{8,5}]$: weight classes}1358\label{fig:8_5_weight_class_matrix}1359\end{minipage}%1360\begin{minipage}{.48\textwidth}1361\centering1362\includegraphics[width=.9\linewidth]{../matrix_plot/c8_5_bent_cayley_graph_index_matrix.png}1363\captionof{figure}{$[f_{8,5}]$: 9 extended Cayley classes}1364\label{fig:8_5_bent_cayley_graph_index_matrix}1365\end{minipage}1366\end{figure}1367~1368\end{frame}1369\begin{frame}1370\frametitle{For ET class $[f_{8,6}]$: matrices}1371\begin{figure}1372\centering1373\begin{minipage}{.48\textwidth}1374\centering1375\includegraphics[width=.9\linewidth]{../matrix_plot/c8_6_weight_class_matrix.png}1376\captionof{figure}{$[f_{8,6}]$: weight classes}1377\label{fig:8_6_weight_class_matrix}1378\end{minipage}%1379\begin{minipage}{.48\textwidth}1380\centering1381\includegraphics[width=.9\linewidth]{../matrix_plot/c8_6_bent_cayley_graph_index_matrix.png}1382\captionof{figure}{$[f_{8,6}]$: 9 extended Cayley classes}1383\label{fig:8_6_bent_cayley_graph_index_matrix}1384\end{minipage}1385\end{figure}1386\end{frame}13871388\begin{frame}1389\frametitle{ET classes $[f_{8,5}]$ and $[f_{8,6}]$}1390\begin{figure}1391\centering1392\begin{minipage}{.48\textwidth}1393\centering1394\includegraphics[width=.9\linewidth]{../matrix_plot/re8_5_bent_cayley_graph_index_matrix.png}1395\captionof{figure}{$[f_{8,5}]$: 9 extended Cayley classes}1396\label{fig:re8_5_bent_cayley_graph_index_matrix}1397\end{minipage}%1398\begin{minipage}{.48\textwidth}1399\centering1400\includegraphics[width=.9\linewidth]{../matrix_plot/re8_6_bent_cayley_graph_index_matrix.png}1401\captionof{figure}{$[f_{8,6}]$: 9 extended Cayley classes}1402\label{fig:re8_6_bent_cayley_graph_index_matrix}1403\end{minipage}1404\end{figure}1405The same 9 EC classes, with the same frequencies!14061407\slidecite{colormap: gist\_stern, colours matched to extended Cayley classes}1408\end{frame}14091410\begin{frame}[fragile]1411\frametitle{Functions $f_{8,5}$ and $f_{8,6}$ are linearly equivalent}14121413\Emph{Proof}14141415~14161417Apply the permutation $\pi := (x_0\ x_5\ x_4)(x_1\ x_2\ x_3)(x_6\ x_7)$ to1418\footnotesize{1419\begin{align*}1420f_{8,5}1421&=1422x_{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}1423%\end{align*}1424%}\normalsize{}1425\intertext{\normalsize{to obtain}}1426%\small{1427%\begin{align*}1428\pi(f_{8,5})1429&=1430x_{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}1431\\1432&=1433x_{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}1434\\1435&= f_{8,6}.1436\\1437&\ \Box1438\end{align*}1439}\normalsize{}1440\end{frame}14411442\begin{frame}1443\frametitle{For ET class $[f_{8,7}]$: matrices}1444\begin{figure}1445\centering1446\begin{minipage}{.48\textwidth}1447\centering1448\includegraphics[width=.9\linewidth]{../matrix_plot/c8_7_weight_class_matrix.png}1449\captionof{figure}{$[f_{8,7}]$: weight classes}1450\label{fig:8_7_weight_class_matrix}1451\end{minipage}%1452\begin{minipage}{.48\textwidth}1453\centering1454\includegraphics[width=.9\linewidth]{../matrix_plot/c8_7_bent_cayley_graph_index_matrix.png}1455\captionof{figure}{$[f_{8,7}]$: 5 extended Cayley classes}1456\label{fig:8_7_bent_cayley_graph_index_matrix}1457\end{minipage}1458\end{figure}1459~1460\end{frame}1461\begin{frame}1462\frametitle{For ET class $[f_{8,8}]$: matrices}1463\begin{figure}1464\centering1465\begin{minipage}{.48\textwidth}1466\centering1467\includegraphics[width=.9\linewidth]{../matrix_plot/c8_8_weight_class_matrix.png}1468\captionof{figure}{$[f_{8,8}]$: weight classes}1469\label{fig:8_8_weight_class_matrix}1470\end{minipage}%1471\begin{minipage}{.48\textwidth}1472\centering1473\includegraphics[width=.9\linewidth]{../matrix_plot/c8_8_bent_cayley_graph_index_matrix.png}1474\captionof{figure}{$[f_{8,8}]$: 6 extended Cayley classes}1475\label{fig:8_8_bent_cayley_graph_index_matrix}1476\end{minipage}1477\end{figure}1478~1479\end{frame}1480\begin{frame}1481\frametitle{For ET class $[f_{8,9}]$: matrices}1482\begin{figure}1483\centering1484\begin{minipage}{.48\textwidth}1485\centering1486\includegraphics[width=.9\linewidth]{../matrix_plot/c8_9_bent_cayley_graph_index_matrix.png}1487\captionof{figure}{$[f_{8,9}]$: 8 extended Cayley classes ~~ ~~~~ ~~~~ ~~~~~~~~~}1488\label{fig:c8_9_bent_cayley_graph_index_matrix}1489\end{minipage}1490\begin{minipage}{.48\textwidth}1491\centering1492\includegraphics[width=.9\linewidth]{../matrix_plot/c8_9_dual_cayley_graph_index_matrix.png}1493\captionof{figure}{$[f_{8,9}]$: 8 extended Cayley classes of dual bent functions}1494\label{fig:c8_9_dual_cayley_graph_index_matrix}1495\end{minipage}%1496\end{figure}14974 of the 8 classes form 2 dual pairs of classes.1498\end{frame}1499\begin{frame}1500\frametitle{For ET class $[f_{8,10}]$: matrices}1501\begin{figure}1502\centering1503\begin{minipage}{.48\textwidth}1504\centering1505\includegraphics[width=.9\linewidth]{../matrix_plot/c8_10_bent_cayley_graph_index_matrix.png}1506\captionof{figure}{$[f_{8,10}]$: 10 extended Cayley classes ~~ ~~~~ ~~~~ ~~~~~~~~~}1507\label{fig:c8_10_bent_cayley_graph_index_matrix}1508\end{minipage}1509\begin{minipage}{.48\textwidth}1510\centering1511\includegraphics[width=.9\linewidth]{../matrix_plot/c8_10_dual_cayley_graph_index_matrix.png}1512\captionof{figure}{$[f_{8,10}]$: 10 extended Cayley classes of dual bent functions}1513\label{fig:c8_10_dual_cayley_graph_index_matrix}1514\end{minipage}%1515\end{figure}15166 of the 10 classes form 3 dual pairs of classes.1517\end{frame}15181519\end{colortheme}15201521\begin{colortheme}{seagull}15221523\begin{frame}[fragile]1524\frametitle{For 8 dimensions: Bent functions from CAST-128 S-boxes}15251526The CAST-128 encryption algorithm is used in PGP and elsewhere.15271528CAST-128, including the S-boxes, is specified by IETF RFC 2144:1529\begin{verbatim}1530https://www.ietf.org/rfc/rfc2144.txt1531\end{verbatim}15321533The algorithm uses 8 S-boxes,1534each of which consists of 32 binary bent functions of degree 4 in 8 dimensions,1535giving a total of 256 bent functions.15361537~15381539~15401541~15421543\slidecite{Adams 1997}1544\end{frame}15451546\end{colortheme}15471548\begin{colortheme}{jubata}15491550\begin{frame}1551\frametitle{CAST-128 ET class $[cast128_{1,0}]$}1552\begin{figure}1553\centering1554\begin{minipage}{.48\textwidth}1555\centering1556\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_1_0_weight_class_matrix.png}1557\captionof{figure}{$[cast128_{1,0}]$: weight classes ~~~~~~ ~~~~~~~~\\~~~~~}1558\label{fig:cast128_1_0_weight_class_matrix}1559\end{minipage}1560\begin{minipage}{.48\textwidth}1561\centering1562\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_1_0_bent_cayley_graph_index_matrix.png}1563\captionof{figure}{$[cast128_{1,0}]$: $65\,536$ extended Cayley classes.\\Total including duals is $131\,072$.}1564\label{fig:cast128_1_0_bent_cayley_graph_index_matrix}1565\end{minipage}%1566\end{figure}1567\slidecite{LHS colormap: gist\_stern; RHS colormap: jet}1568\end{frame}15691570\begin{frame}1571\frametitle{CAST-128 ET classes $[cast128_{2,1}]$ and $[cast128_{2,16}]$}1572\begin{figure}1573\centering1574\begin{minipage}{.48\textwidth}1575\centering1576\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_2_1_bent_cayley_graph_index_matrix.png}1577\captionof{figure}{$[cast128_{2,1}]$: $8\,256$ extended Cayley classes.\\Total including duals is $8\,256$.}1578\label{fig:cast128_2_1_bent_cayley_graph_index_matrix}1579\end{minipage}%1580\begin{minipage}{.48\textwidth}1581\centering1582\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_2_16_bent_cayley_graph_index_matrix.png}1583\captionof{figure}{$[cast128_{2,16}]$: $32\,768$ extended Cayley classes.\\Total including duals is $65\,536$.}1584\label{fig:cast128_2_16_bent_cayley_graph_index_matrix}1585\end{minipage}%1586\end{figure}1587\slidecite{colormap: jet}1588\end{frame}15891590\begin{frame}1591\frametitle{CAST-128 ET classes $[cast128_{4,27}]$ and $[cast128_{5,16}]$}1592\begin{figure}1593\centering1594\begin{minipage}{.48\textwidth}1595\centering1596\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_4_27_bent_cayley_graph_index_matrix.png}1597\captionof{figure}{$[cast128_{4,27}]$: $65\,536$ extended Cayley classes.\\Total including duals is $65\,536$.}1598\label{fig:cast128_4_27_bent_cayley_graph_index_matrix}1599\end{minipage}%1600\begin{minipage}{.48\textwidth}1601\centering1602\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_5_16_bent_cayley_graph_index_matrix.png}1603\captionof{figure}{$[cast128_{5,16}]$: $33\,280$ extended Cayley classes.\\Total including duals is $66\,560$.}1604\label{fig:cast128_5_16_bent_cayley_graph_index_matrix}1605\end{minipage}%1606\end{figure}1607\slidecite{colormap: jet}1608\end{frame}1609\begin{frame}1610\frametitle{CAST-128 ET classes $[cast128_{5,27}]$ and $[cast128_{6,17}]$}1611\begin{figure}1612\centering1613\begin{minipage}{.48\textwidth}1614\centering1615\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_5_27_bent_cayley_graph_index_matrix.png}1616\captionof{figure}{$[cast128_{5,27}]$: $6\,144$ extended Cayley classes.\\Total including duals is $6\,144$.}1617\label{fig:cast128_5_27_bent_cayley_graph_index_matrix}1618\end{minipage}%1619\begin{minipage}{.48\textwidth}1620\centering1621\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_6_17_bent_cayley_graph_index_matrix.png}1622\captionof{figure}{$[cast128_{6,17}]$: $65\,536$ extended Cayley classes.\\Total including duals is $65\,536$.}1623\label{fig:cast128_6_17_bent_cayley_graph_index_matrix}1624\end{minipage}%1625\end{figure}1626\slidecite{colormap: jet}1627\end{frame}16281629\begin{frame}1630\frametitle{CAST-128 ET classes $[cast128_{7,15}]$ and $[cast128_{7,21}]$}1631\begin{figure}1632\centering1633\begin{minipage}{.48\textwidth}1634\centering1635\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_7_15_bent_cayley_graph_index_matrix.png}1636\captionof{figure}{$[cast128_{7,15}]$: $32\,768$ extended Cayley classes.\\Total including duals is $65\,536$.}1637\label{fig:cast128_7_15_bent_cayley_graph_index_matrix}1638\end{minipage}%1639\begin{minipage}{.48\textwidth}1640\centering1641\includegraphics[width=.9\linewidth]{../matrix_plot/cast128_7_21_bent_cayley_graph_index_matrix.png}1642\captionof{figure}{$[cast128_{7,21}]$: $32\,768$ extended Cayley classes.\\Total including duals is $65\,536$.}1643\label{fig:cast128_7_21_bent_cayley_graph_index_matrix}1644\end{minipage}%1645\end{figure}1646\slidecite{colormap: jet}1647\end{frame}1648\end{colortheme}16491650\begin{colortheme}{seagull}16511652\begin{frame}[fragile]1653\frametitle{For 8 dimensions: number of partial spread \\ bent functions and EA classes}16541655According to Langevin and Hou (2011)1656there are $70\,576\,747\,237\,594\,114\,392\,064 \approx 2^{75.9}$ \Emph{partial spread} bent functions in dimension 8,1657contained in $14\,758$ EA classes, of which $14\,756$ have degree 4.16581659~16601661The EA class representatives are listed at Langevin's web site16621663\begin{verbatim}1664http://langevin.univ-tln.fr/project/spread/psp.html1665\end{verbatim}16661667~16681669\slidecite{Langevin and Hou 2011}1670\end{frame}16711672\end{colortheme}16731674\begin{colortheme}{jubata}16751676\begin{frame}1677\frametitle{Example partial spread ET class $[psf_{9,5439}]$}1678\begin{figure}1679\centering1680\begin{minipage}{.48\textwidth}1681\centering1682\includegraphics[width=.9\linewidth]{../matrix_plot/psf_9_5439_bent_cayley_graph_index_matrix.png}1683\captionof{figure}{$[psf_{9,5439}]$: 16 extended Cayley classes ~~ ~~~~ ~~~~ ~~~~~~~~~}1684\label{fig:psf_9_5439_bent_cayley_graph_index_matrix}1685\end{minipage}1686\begin{minipage}{.48\textwidth}1687\centering1688\includegraphics[width=.9\linewidth]{../matrix_plot/psf_9_5439_dual_cayley_graph_index_matrix.png}1689\captionof{figure}{$[psf_{9,5439}]$: 16 extended Cayley classes of dual bent functions}1690\label{fig:psf_9_5439_dual_cayley_graph_index_matrix}1691\end{minipage}%1692\end{figure}16936 of the 16 classes form 3 dual pairs of classes.16941695\slidecite{colormap: gist\_stern}1696\end{frame}16971698\end{colortheme}16991700\begin{colortheme}{jubata}17011702\begin{frame}1703\frametitle{For 4 dimensions: $[\sigma_2]$ and $[\tau_2]$}1704\begin{figure}1705\centering1706\begin{minipage}{.48\textwidth}1707\centering1708\includegraphics[width=.9\linewidth]{../matrix_plot/sigma_2_bent_cayley_graph_index_matrix.png}1709\captionof{figure}{$[\sigma_2]$: 2 extended Cayley classes}1710\label{fig:sigma_2_bent_cayley_graph_index_matrix}1711\end{minipage}%1712\begin{minipage}{.48\textwidth}1713\centering1714\includegraphics[width=.9\linewidth]{../matrix_plot/tau_2_bent_cayley_graph_index_matrix.png}1715\captionof{figure}{$[\tau_2]$: 2 extended Cayley classes}1716\label{fig:tau_2_bent_cayley_graph_index_matrix}1717\end{minipage}1718\end{figure}1719\end{frame}17201721\begin{frame}1722\frametitle{For 6 dimensions: $[\sigma_3]$ and $[\tau_3]$}1723\begin{figure}1724\centering1725\begin{minipage}{.48\textwidth}1726\centering1727\includegraphics[width=.9\linewidth]{../matrix_plot/sigma_3_bent_cayley_graph_index_matrix.png}1728\captionof{figure}{$[\sigma_3]$: 2 extended Cayley classes}1729\label{fig:sigma_3_bent_cayley_graph_index_matrix}1730\end{minipage}%1731\begin{minipage}{.48\textwidth}1732\centering1733\includegraphics[width=.9\linewidth]{../matrix_plot/tau_3_bent_cayley_graph_index_matrix.png}1734\captionof{figure}{$[\tau_3]$: 3 extended Cayley classes}1735\label{fig:tau_3_bent_cayley_graph_index_matrix}1736\end{minipage}1737\end{figure}1738\end{frame}17391740\begin{frame}1741\frametitle{For 8 dimensions: $[\sigma_4]$ and $[\tau_4]$}1742\begin{figure}1743\centering1744\begin{minipage}{.48\textwidth}1745\centering1746\includegraphics[width=.9\linewidth]{../matrix_plot/sigma_4_bent_cayley_graph_index_matrix.png}1747\captionof{figure}{$[\sigma_4]$: 2 extended Cayley classes}1748\label{fig:sigma_4_bent_cayley_graph_index_matrix}1749\end{minipage}%1750\begin{minipage}{.48\textwidth}1751\centering1752\includegraphics[width=.9\linewidth]{../matrix_plot/tau_4_bent_cayley_graph_index_matrix.png}1753\captionof{figure}{$[\tau_4]$: 5 extended Cayley classes}1754\label{fig:tau_4_bent_cayley_graph_index_matrix}1755\end{minipage}1756\end{figure}1757\end{frame}1758\end{colortheme}17591760\subsection{Questions}17611762\begin{colortheme}{jubata}17631764\begin{frame}1765\frametitle{Open problems (1)}1766Settled only for dimensions up to 6:1767\begin{enumerate}1768\item1769How many EC classes are there for each dimension?1770Are there ``Exponential numbers'' of classes?1771\item1772In $n$ dimensions,1773which ET classes contain the maximum number, $4^n$, of different EC classes?1774\item1775Which EC classes overlap more than one ET class?1776\item1777Which bent functions are Cayley equivalent to their dual?1778\item1779Which bent functions are EA equivalent to their dual?1780\end{enumerate}17811782\slidecite{Kantor 1983; Jungnickel and Tonchev 1991; Langevin, Leander and McGuire 2008}1783\end{frame}17841785\begin{frame}1786\frametitle{Open problems (2)}1787Also:17881789~17901791\begin{enumerate}1792\item1793What are the remaining EA and EC classes of binary bent functions of dimension 8 and degree 4?17941795~17961797\item1798How do extended Cayley classes of bent functions generalize to bent functions over $\F_p$, $p \neq 2$?1799\end{enumerate}18001801\slidecite{Langevin and Leander 2011; Chee, Tan and Zhang 2011}1802\end{frame}18031804\end{colortheme}18051806\section{Databases of strongly regular graphs}18071808\subsection{Precedents}18091810\begin{colortheme}{seagull}1811\begin{frame}1812\frametitle{Precedents: databases of strongly regular graphs}1813\begin{itemize}1814\item1815Spence's lists of strongly regular graphs on at most 64 vertices.1816\begin{itemize}1817\item1818Exhaustive lists of non-isomorphic graphs for some tuples of feasible parameters.1819\item1820Flat text files.1821\end{itemize}18221823~18241825\item1826Brouwer's database of parameters of strongly regular graphs.18271828~18291830\item1831Cohen and Pasechnik's Sage implementation of Brouwer's database, with constructions.1832\begin{itemize}1833\item1834Includes an example for each tuple of feasible parameters, if known.1835\item1836Sage interface.1837\end{itemize}1838\end{itemize}1839\slidecite{Spence 1995-2006; Brouwer 2008-2017; Cohen and Pasechnik 2016-2017}1840\end{frame}18411842\begin{frame}1843\frametitle{Other recent mathematical databases}1844\begin{itemize}1845\item1846ISGCI - Information System on Graph Classes and their Inclusions1847\begin{itemize}1848\item1849``\ldots an encyclopaedia of graph classes with an accompanying Java application that helps you to research what's known about particular graph classes.''1850\item1851Web-based and Java interfaces.1852\end{itemize}18531854~18551856\item1857LMFDB - The L-functions and modular forms database1858\begin{itemize}1859\item1860``The LMFDB is an extensive database of mathematical objects arising in Number Theory.''1861\item1862Based on MongoDB and Python.1863\item1864Web-based and Sage interfaces.1865\end{itemize}1866\end{itemize}1867\slidecite{H.N. de Ridder et al. 2001-2016; The LMFDB Collaboration 2007-2017}1868\end{frame}18691870\end{colortheme}18711872\subsection{Preliminary designs}18731874\begin{colortheme}{jubata}18751876\begin{frame}1877\frametitle{Database tables}1878\begin{figure}1879\centering1880\begin{minipage}{\textwidth}1881\centering1882\includegraphics[width=.75\linewidth]{../graphics/Classification-schema-SQLite.png}1883\captionof{figure}{Database schema for SQLite version of the classification database.}1884\label{fig:Classification_schema_SQLite}1885\end{minipage}%1886\end{figure}1887\end{frame}18881889\begin{frame}[fragile]1890\frametitle{Sage interface: insert function}18911892\begin{verbatim}1893insert_classification(conn, bfcgc, name=None):1894\end{verbatim}18951896\begin{itemize}1897\item \texttt{conn}: Database connection.18981899~19001901\item \texttt{bfcgc}: Cayley graph classification of the ET class of \\a bent function.19021903~19041905\item \texttt{name}: Name of the ET class (optional).1906\end{itemize}19071908\end{frame}19091910\begin{frame}[fragile]1911\frametitle{Sage interface: select functions}19121913\begin{verbatim}1914select_classification_where_bent_function(1915conn, bentf):1916\end{verbatim}1917\begin{itemize}1918\item \texttt{conn}: Database connection.1919\item \texttt{bentf}: Bent function representing an ET class.1920\end{itemize}19211922~19231924\begin{verbatim}1925select_classification_where_name(conn, name):1926\end{verbatim}1927\begin{itemize}1928\item \texttt{conn}: Database connection.1929\item \texttt{name}: Name of the ET class.1930\end{itemize}19311932\end{frame}19331934\end{colortheme}19351936\subsection{Prototype databases}19371938\begin{colortheme}{jubata}19391940\begin{frame}1941\frametitle{Prototype databases}1942Three prototype relational databases, using SQLite:19431944\begin{itemize}1945\item\normalsize{}1946Bent functions in 6 dimensions.1947\begin{itemize}1948\item\footnotesize{}1949Database of 11 strongly regular graphs from 4 ET classes.1950\item\footnotesize{}1951About 20 CPU minutes to calculate (2.93 GHz Intel Core i7, serial).1952\item\footnotesize{}1953Database size 780 KB.1954\end{itemize}19551956\item\normalsize{}1957Bent functions in 8 dimensions, up to degree 3.1958\begin{itemize}1959\item\footnotesize{}1960Database of 55 strongly regular graphs from 9 ET classes.1961\item\footnotesize{}1962About 250 CPU hours to calculate (2.93 GHz Intel Core i7, serial).1963\item\footnotesize{}1964Database size 65 MB.1965\end{itemize}19661967\item\normalsize{}1968Bent functions from the 8 S-boxes of CAST-128.1969\begin{itemize}1970\item\footnotesize{}1971Database of more than \Emph{32 million} ($32\,914\,496$) strongly regular graphs from 256 ET classes and their duals.1972\item\footnotesize{}1973About \Emph{9000 CPU hours} to calculate1974(4500 CPU hours on\\NCI Raijin, MPI, 16 ranks, for 128 ET classes and their duals).1975\item\footnotesize{}1976Database size \Emph{195 GB}.1977\end{itemize}1978\end{itemize}19791980\normalsize{}1981\end{frame}19821983\begin{frame}1984\frametitle{Time to create SQLite CAST-128 database}1985\begin{figure}1986\centering1987\begin{minipage}{.49\textwidth}1988\centering1989\includegraphics[width=1.0\linewidth]{../graphics/CAST128-database-insert-times-by-existing.png}1990\label{fig:CAST128_database_insert_times_by_existing}1991\end{minipage}1992\begin{minipage}{.49\textwidth}1993\centering1994\includegraphics[width=1.0\linewidth]{../graphics/CAST128-database-insert-times-by-time-of-day.png}1995\label{fig:CAST128_database_insert_times-By_time_of_day}1996\end{minipage}%1997\end{figure}1998It took almost 3 days to insert 256 classifications \Emph{sequentially} into the SQLite version of the CAST-128 database.1999\end{frame}20002001\begin{frame}2002\frametitle{Using DB Browser with a prototype database}2003\begin{figure}2004\centering2005\begin{minipage}{\textwidth}2006\centering2007\includegraphics[width=1.00\linewidth]{../graphics/Browser-session-SQLite.png}2008% \captionof{figure}{DB Browser session with a prototype classification database.}2009\label{fig:Browser_session_SQLite}2010\end{minipage}%2011\end{figure}2012\end{frame}20132014\end{colortheme}20152016\subsection{Prospects}20172018\begin{colortheme}{jubata}20192020\begin{frame}[fragile]2021\frametitle{Possible next steps}20222023\begin{itemize}2024\item2025Submit ``Classifying bent functions by their Cayley graphs.''20262027~20282029\item2030Submit code to Sage project for review.20312032~20332034\item2035Gauge demand for the database. Find collaborators.20362037~20382039\item2040Arrange for hosting. Research Data Services?20412042~20432044\item2045Scale up to the partial spread bent functions?20462047\begin{itemize}2048\item2049This could be a database of about \Emph{2 billion SRGs},2050\\2051from 14\,758 ET classes, taking about \Emph{500\,000 CPU hours}2052\\2053to calculate and about \Emph{10 TB} to store.2054\end{itemize}2055\end{itemize}2056\end{frame}20572058\end{colortheme}20592060\subsection{Source code}20612062\begin{colortheme}{jubata}20632064\begin{frame}[fragile]2065\frametitle{Source code and documentation}2066~20672068CoCalc: Public worksheets, Sage and Python source code20692070\begin{verbatim}2071http://tinyurl.com/Boolean-Cayley-graphs2072\end{verbatim}20732074~20752076GitHub: Sage and Python source code20772078\begin{verbatim}2079https://github.com/penguian/Boolean-Cayley-graphs2080\end{verbatim}20812082~20832084SourceForge: Documentation20852086\begin{verbatim}2087https://boolean-cayley-graphs.sourceforge.io/2088\end{verbatim}2089\end{frame}20902091\end{colortheme}20922093\end{document}209420952096