On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean...

of 70/70
The Selmer Center Department of Informatics University of Bergen Norway Master of Science Thesis On Boolean Functions, Unitary Transforms, and Recursions Dag Storøy June 2005
  • date post

    31-Mar-2021
  • Category

    Documents

  • view

    1
  • download

    0

Embed Size (px)

Transcript of On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean...

  • The Selmer CenterDepartment of InformaticsUniversity of BergenNorway

    Master of Science Thesis

    On Boolean Functions, UnitaryTransforms, and Recursions

    Dag Storøy

    June 2005

  • Abstract

    This thesis deals with various binary and ternary sequences and different cryp-tographic metrics of these sequences. The first part is a summary of some termsand definitions related to sequences, Boolean functions, autocorrelation func-tions and unitary transforms. We also present several specific constructions ofBoolean functions. The sequences and Boolean functions are the objects westudy, while the autocorrelation functions and unitary transforms are the met-rics we apply to these objects. The main focus of the thesis is the numericalresults we get when measuring the objects. Our results show that the numericalresults have a recursive relationship as the sequence constructions grow larger.This makes it possible to compute measures of a very long, or even infinite se-quence, which is infeasible to do piece by piece. The challenge of this work is tocompute many enough values to discover these recursions. The sequences growexponentially with the number of variables in a Boolean function, which quicklyleads to a complexity problem in the computations. We have tried to attackthis problem from different angles, and we present these different approaches.

    Keywords: Boolean functions, Multidimensional Periodic, Negaperiodic, andAperiodic Autocorrelation, {I,H, N}n-transform, Hadamard and Negahadamardtransforms, Algebraic Polar Form, Interlace Polynomial, L4-Norm, Merit Fac-tor.

    i

  • Acknowledgements

    I thank my supervisor Matthew G. Parker for all his help in writing this the-sis. His advice and suggestions has been essential to all my work. Thanks tomaster student Lars E. Danielsen for helping me with layout and design of thethesis. Also thanks to the Selmer Center and Department of Informatics at theUniversity of Bergen.

    Dag StorøyBergen, June 2005

    iii

  • Contents

    Abstract i

    Acknowledgements iii

    1 Theory 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.2.1 Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2.2 Boolean functions . . . . . . . . . . . . . . . . . . . . . . 21.2.3 Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2.4 Other Constructions . . . . . . . . . . . . . . . . . . . . . 51.2.5 Adjacency Matrix Representation . . . . . . . . . . . . . . 71.2.6 Tensor Product . . . . . . . . . . . . . . . . . . . . . . . . 71.2.7 Autocorrelation and Sum of Squares . . . . . . . . . . . . 81.2.8 Unitary Transforms . . . . . . . . . . . . . . . . . . . . . 121.2.9 Merit Factors . . . . . . . . . . . . . . . . . . . . . . . . . 16

    2 Computing the Transforms 192.1 Computing from adjacency matrix . . . . . . . . . . . . . . . . . 192.2 Interlace Polynomial . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.2.1 Interlace polynomial q(G) . . . . . . . . . . . . . . . . . . 202.2.2 Interlace polynomial Q(G) . . . . . . . . . . . . . . . . . . 202.2.3 The HN-interlace polynomial . . . . . . . . . . . . . . . . 21

    2.3 Algebraic Polar Form . . . . . . . . . . . . . . . . . . . . . . . . 212.4 IH-transform as graph-operations . . . . . . . . . . . . . . . . . . 222.5 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    2.5.1 C programming . . . . . . . . . . . . . . . . . . . . . . . . 252.5.2 C# programming . . . . . . . . . . . . . . . . . . . . . . . 27

    3 Results 293.1 Periodic Sum of Squares . . . . . . . . . . . . . . . . . . . . . . . 29

    3.1.1 Global classification . . . . . . . . . . . . . . . . . . . . . 293.1.2 Recursions of Periodic Sum of Squares . . . . . . . . . . . 30

    3.2 Negaperiodic Sum of Squares . . . . . . . . . . . . . . . . . . . . 363.2.1 Global classification . . . . . . . . . . . . . . . . . . . . . 363.2.2 Recursions of Negaperiodic Sum of Squares . . . . . . . . 37

    3.3 Aperiodic Sum of Squares . . . . . . . . . . . . . . . . . . . . . . 42

    v

  • Contents

    3.3.1 Global classification . . . . . . . . . . . . . . . . . . . . . 423.3.2 Recursion of AperiodicSum of Squares . . . . . . . . . . . 42

    3.4 Fixed Aperiodic Sum of Squares . . . . . . . . . . . . . . . . . . 453.4.1 Global classification . . . . . . . . . . . . . . . . . . . . . 453.4.2 Recursions of Fixed Aperiodic Sum of Squares . . . . . . 45

    3.5 The {I,H}-transform . . . . . . . . . . . . . . . . . . . . . . . . . 503.5.1 Global classification . . . . . . . . . . . . . . . . . . . . . 503.5.2 Recursions of the {I,H}-transform . . . . . . . . . . . . . 50

    3.6 Multiplication of Boolean functions . . . . . . . . . . . . . . . . . 53

    4 Conclusion 55

    Bibliography 57

    vi

  • List of Tables

    3.1 Complete Set of MFµ for n = 2 to n = 4 . . . . . . . . . . . . . 293.2 Computational Results for the Periodic Sum of Squares of Vari-

    ous Quadratic Constructions . . . . . . . . . . . . . . . . . . . . 343.3 Computational Results for the Periodic Sum of Squares of Vari-

    ous Non-Quadratic Constructions . . . . . . . . . . . . . . . . . 353.4 Complete Set of MFν for n = 2 to n = 4 . . . . . . . . . . . . . 363.5 Computational Results for the Negaperiodic Sum of Squares of

    Various Quadratic Constructions . . . . . . . . . . . . . . . . . . 403.6 Computational Results for the Negaperiodic Sum of Squares of

    Various Non-Quadratic Constructions . . . . . . . . . . . . . . . 413.7 Complete Set of MMF for n = 2 to n = 4 . . . . . . . . . . . . 423.8 Results for the Multidimensional Merit Factor of Various Con-

    structions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.9 Computational Results for the Aperiodic Sum of Squares of Var-

    ious Non-Quadratic Constructions . . . . . . . . . . . . . . . . . 463.10 Complete Set of CMF for n = 2 to n = 4 . . . . . . . . . . . . . 473.11 Computational Results for the Fixed Aperiodic Sum of Squares

    of Various Quadratic Constructions . . . . . . . . . . . . . . . . 493.12 Complete Set of MFξ for n = 2 to n = 4 . . . . . . . . . . . . . 50

    vii

  • List of Figures

    1.1 Line graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Circle graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Star graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Clique graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.5 Wheel graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.6 Triangles graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.7 Cubic Line graph . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.8 Cubic Circle graph . . . . . . . . . . . . . . . . . . . . . . . . . . 51.9 Cubic Star graph . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.10 Cubic Clique graph . . . . . . . . . . . . . . . . . . . . . . . . . . 61.11 Cubic Wheel graph . . . . . . . . . . . . . . . . . . . . . . . . . . 61.12 Cubic Triangles graph . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.1 Graph operation ⊕. . . . . . . . . . . . . . . . . . . . . . . . . . 232.2 Graph operation ]. . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3 Example of bipartite graph . . . . . . . . . . . . . . . . . . . . . 242.4 Graph operations IIII to HIII . . . . . . . . . . . . . . . . . . . . 252.5 Graph operations HIII to HHII . . . . . . . . . . . . . . . . . . . 25

    3.1 MFµ-samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.2 MFν-samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3 MMF-values of 10 000 sample sequences, n = 6, 8, and 10 . . . . 423.4 CMF-values of all length 16 sequences, and 10 000 sample se-

    quences of n = 6 and 8 . . . . . . . . . . . . . . . . . . . . . . . . 453.5 MFξ-values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    ix

  • Chapter 1Theory

    1.1 IntroductionSingle dimensional periodic and aperiodic autocorrelation are well-known met-rics on binary sequences. These metrics play a very important role in com-munication engineering, and also other areas. They provide a means of tellinghow ”good” or ”bad” a sequence is from a coding theoretical point of view. Ingeneral, sequences with well-distributed spectra are preferred, and a good dis-tribution is indicated by a set of low-magnitude autocorrelation values.In thisthesis we explore the natural multi-dimensional expansion of these metrics.

    We present various sequences created from Boolean functions. The lengthof these sequences is exponential in relation to the number of Boolean terms,so they grow very fast. An obvious problem with such long sequences is to”measure” them exactly, bit by bit, as our computing power is limited. Howeverwe have found that our measures create recursive values as the sequences growin size. This enables us to tell the values of even infinite sequences. A largepart of this thesis is devoted to finding such recursions for different metrics andfunctions. We believe that the knowledge we gain from exploring the simplefunctions will be applicable towards designing functions and sequences that are”good” with respect to our metrics.

    1.1.1 MotivationTraditional autocorrelation has been used to identify linear biases through S-boxes [11]. This is used as a means of attack, and as a measure of quality of theS-box construction. This thesis reviews and propose several multidimensionalautocorrelation functions. We believe these can be apllied in the same mannerin cryptanalysis. The multidimensional aspect provides a different point ofview, or the ability to look at a cryptographic object from a different angle.

    In this thesis bipolar, or quadratic graphs are used to represent Boolean func-tions and sequences. These graphs are also used to represent quantum clusterstates [12], which is a model of quantum computations. The metrics in this the-sis thus relates to the spectral properties of the cluster state quantum computer.We also study properties of non-quadratic graphs, hypergraphs. These resultswill relate to hyper-cluster state quantum computers, which to our knowledgeare not yet considered in the physics literature.

    Parker have proposed a quantum merit factor in [8], and showed that thiscan be expressed by the Clifford merit factor. This indicates that the merit

    1

  • 1 Theory

    factors presented in this thesis can be used to evaluate quantum entanglement[3], [4] of a graph based multipartite quantum state.

    1.2 Definitions

    1.2.1 SequenceA sequence is defined as an ordered collection of mathematical objects [19]. Inthis thesis we study binary sequences which are sequences built from a set oftwo different mathematical objects, in our case either the set {-1,1} or {0,1}.An example is this binary sequence {1,1,1,-1,1,-1,-1,-1} of length 8.

    1.2.2 Boolean functionsA Boolean variable is a variable with two different possible values, commonlyvalues {true, false} or {0,1}. In this thesis we always use the latter represen-tation. A Boolean function is built from a set x of Boolean variables usingaddition and multiplication. An example is f(x) = x0x1 + x1x2 + x0x2 whichis a function built from the set x = {x0, x1, x2}. A Boolean function is evalu-ated at a specific set of values for the variables in x. We can evaluate f(x) at{0,1,1} which means x0 = 0, x1 = 1, x2 = 1. Addition is performed modulus 2and we write f(0, 1, 1) = 0 ∗ 1 + 1 ∗ 1 + 0 ∗ 1 = 1. We define n to be the numberof variables in x . This means that a Boolean function can be evaluated at 2n

    different input values. We express these possibilities and the result in a truthtable. We arrange the different values for x lexicographically. The functionabove leads to the following truth table:

    x2 x1 x0 x0x1 + x1x20 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

    The last column {0,0,0,1,0,1,1,1} is thus a sequence of length 2n generatedby the function f(x)

    When we explore binary sequences in this paper we use the form (−1)f(x),whichmeans raising -1 to the power of each element in the truth table evaluation off(x). This means changing the 0’s to 1’s, and the 1’s to -1’s, so from the aboveexample we get the sequence {1,1,1,-1,1,-1,-1,-1}.

    Algebraic Normal Form (ANF)

    The simplest way to represent a Boolean function is to as in the examplef(x) = x0x1 + x1x2 + x0x2. This is called Algebraic Normal Form (ANF). Forn Boolean variables there are 2n different possible products. For n=3 these are{1, x0, x1, x0x1, x2, x0x2, x1x2, x0x1x2}, arranged lexicographically. A Booleanfunction is the sum of a subset of these products, mod 2. We use this lexi-cographical ordering to represent a function in Algebraic Normal Form, by anANF-sequence. This is a sequence of length 2n which corresponds to the possi-ble products made from the set of variables. If a product is part of the function

    2

  • 1.2 Definitions

    this is marked with 1, otherwise 0. For example, the function f(x) gives thefollowing:

    1 x0 x1 x0x1 x2 x0x2 x1x2 x0x1x2ANF 0 0 0 1 0 1 1 0

    This means that the ANF-sequence {0,0,0,1,0,1,1,0} generates the sequence{0,0,0,1,0,1,1,1}

    1.2.3 GraphsQuadratic Boolean functions are functions where all the terms have degree = 2.These functions have can be interpreted as bipolar graphs. Then each vertexrepresent one Boolean variable, and an edge represent the multiplication ofthe two variables it connects. Bipolar graphs are also used to model quantumsystems of qubits, and how they interact [10] [3]. This goes to show how themetrics we explore can have application to many different topics in areas such asphysics, number theory, communication engineering, cryptography etc. Most ofthe sequences we have looked at are based on well known graph structures, suchas a clique or line, which can be generalized as the number of nodes (Booleanvariables) increases.

    The following are the quadratic functions explored in this thesis. The namesof the functions describes what they look like when represented as graphs.

    Line

    The line is the function x0x1 + x1x2 + ... + xn−2xn−1 and is defined as

    n−2∑i=0

    xixi+1

    Figure 1.1: Line graph

    Circle

    The circle is the function x0x1 + x1x2 + ... + xn−2xn−1 + xn−1x0 and is definedas

    xn−1x0 +n−2∑i=0

    xixi+1

    Figure 1.2: Circle graph

    3

  • 1 Theory

    Star

    The star is the function x0x1 + x0x2 + ... + x0xn−1 and is defined asn−1∑i=1

    x0xi

    Figure 1.3: Star graph

    Clique

    The clique is the function consisting of all possible quadratic terms and isdefined as ∑

    ∀i,j|0

  • 1.2 Definitions

    Figure 1.6: Triangles graph

    1.2.4 Other ConstructionsWhen the functions are of higher degree than two, then we replace the graphinterpretation with the hypergraph interpretaion. We can still make orderedconstructions in the same way. We here present some higher degree functionswhich we will explore later. The cubic functions considered in this thesis arefunctions built from cubic terms only, i.e. they are ”homogenous cubic func-tions”. In order to visualize the cubic functions we introduce a hyperedge whichis connecting three vertices.

    Cubic Line

    The cubic line is the function x0x1x2 + x1x2x3 + ... + xn−3xn−2xn−1 and isdefined as

    n−3∑i=0

    xixi+1xi+2

    Figure 1.7: Cubic Line graph

    Cubic Circle

    The cubic circle is defined as

    xi−2xi−1x0 + xi−1x0x1 +n−3∑i=0

    xixi+1xi+2

    Figure 1.8: Cubic Circle graph

    Cubic Star

    The cubic star is defined as

    x0

    i=n−1∑i=1,i

  • 1 Theory

    Figure 1.9: Cubic Star graph

    Cubic Clique

    The cubic clique is the construction of all possible cubic terms. This functionis defined as

    i=n−2∑i=0,i

  • 1.2 Definitions

    Figure 1.12: Cubic Triangles graph

    Single Monomial of Maximal Degree

    The Single Monomial of Maximal Degree is defined as the functionf(x) = x0x1..xn−2xn−1

    Πn−1i=0 xi

    Constant Function

    f(x) = 0

    1.2.5 Adjacency Matrix Representation

    An adjacency matrix is a very common way to represent graphs. A bipolargraph of n nodes is represented by a n × n matrix M, such that if there is avertex between the nodes i and j, then Mi,j = Mj,i = 1, otherwise Mi,j = 0;

    This is a representation whose complexity is bounded by the degree of theBoolean functions, and is thus very suitable for quadratic functions. We caneasily picture a three-dimensional matrix to describe homogenous cubic func-tions, and this method can also be generalized to functions of degree d, by usinga matrix of dimension d, but this becomes less effective as d grow large. To min-imize the use of space, half of the matrix can be excluded, since it is symmetricacross the diagonal axis. The n=4 circle graph, x0x1 +x1x2 +x2x3 +x0x3, willthen have the representation:

    x0 x1 x2 x3x0 − 1 0 1x1 − 1 0x2 − 1x3 −

    1.2.6 Tensor Product

    Tensor Product, also known as the Kronecker product, is a matrix operationdefined as follows:

    Definition 1.1. Let R be a i × j matrix and S be a k × l matrix. Then thetensor product is defined as the u× v matrix T, such that u = (i× k) and v =(j × l). The values in T are defined

    Tu,v = R(u/k),(v/k) ∗ Su(mod k),v(mod l)

    ’/’ means integer division.

    The tensor product is denoted R⊗

    S = TWe will visualize this with an example:

    7

  • 1 Theory

    [a bc d

    ] ⊗ j kl mn o

    =

    aj ak bj bkal am bl bman ao bn bocj ck dj dkcl cm dl dmcn co dn do

    1.2.7 Autocorrelation and Sum of SquaresAutocorrelation is used to measure self similarity of a sequence. The term iscommonly synonymous to single-dimensional periodic autocorrelation, which issimply the sequence itself point multiplied by a cyclic shift of the sequence.To make this a useful metric, the terms in the autocorrelation sequence canbe squared and added together. This is done over all different cyclic shiftsand we get what is referred to as the Sum of Squares, or more precisely thesingle-dimensional periodic sum of squares.

    In this thesis we explore some other variants of autocorrelation and sum ofsquares.

    Multidimensional Periodic Autocorrelation

    Multivariate sum of squares is mentioned by Zhang and Zheng in [22]. Wedefine the periodic sum of squares of a sequence s of length 2n is defined as

    Definition 1.2.

    µ =1,1,..,1,1∑

    k=0,0,..,0,1

    ak2

    where

    ak =1,1,..∑

    j=0,0,..

    sk+j ∗ sj

    k and j are bit vectors of size n indexing the sequence s. k+j means bitwiseaddition of the two. sk+j represents each term in a dyadic permutation of s,while sj is each term in s, in the original order.

    This can be illustrated by the following:We have a sequence a,b,c,d, of length 22 = 4. Then k will take on the values

    01, 10 and 11 and we get three permutations of the sequence. Each permutationis point multiplied with the original sequence to produce ak.

    a b c d k for ak akb a d c (0, 1) ab + ab + cd + cdc d a b (1, 0) ac + bd + ac + bdd c b a (1, 1) ad + bc + bc + ad

    Another way to describe this is by using tensor products of the two matrices

    P0 :[1 00 1

    ]P1 :

    [0 11 0

    ]The matrix P0 is the identity matrix, while P1 can be recognized as one of the

    Pauli matrices[18], also known as the bitflip matrix. This gives an equivalentway to compute ak.

    As above k is a vector of length n, such that ki ∈ {0,1}. Let M be a 2n × 2nmatrix such that

    8

  • 1.2 Definitions

    Mk =n−1⊗i=0

    Pki

    Then s′ = (s×Mk)and ak =

    ∑2ni=0 s

    ′i × si This means that for k = {0,1} we get

    s′ = s× P0 ⊗ P1 = [a, b, c, d]×

    0 1 0 01 0 0 00 0 0 10 0 1 0

    = [b, a, d, c]and ak = ab + ab + cd + cd, just as in the first example.

    Multidimensional Negaperiodic Autocorrelation

    The term negaperiodic was used by Parker in [7] (and previos authors) to de-fine single dimensional negaperiodic autocorrelation. Periodic autocorrelationis well known, and can be described via cyclic shifts of a sequence. The negape-riodic counterpart is defined the same way, but with one significant difference.When a cyclic shift on a sequence is performed, then the element shifted fromthe last position of the sequence to the first position, it is also multiplied by-1. As for single dimension autocorrelation, this can also be defined for themultidimensional case.

    Definition 1.3. Multidimensional negaperiodic sum of squares of a sequenceof length 2n is defined as:

    ν =1,1,..,1,1∑

    k=0,0,..,0,1

    ak2

    where

    ak =1,1,..∑

    j=0,0,..

    sk+j × sj × (−1)1+wt(k∗j)

    k and j are bit vectors of size n indexing the sequence s. k+j means bitwiseaddition of the two, while k * j means bitwise multiplication of the two vectors.wt(vector) is the weight of ”vector”, i.e the number of 1’s. The last term in theequation for ak follows from the negaperiodic property.

    This can be illustrated by the following:We have a sequence a,b,c,d, of length 22 = 4. Then k wil take on the values

    01, 10 and 11 and we get three permutations of the sequence. Each permutationis point multiplied with the sequence to produce ak.

    a b c d k for ak ak−b a −d c (0, 1) −ab + ab− cd + cd−c −d a b (1, 0) −ac− bd + ac + bdd −c −b a (1, 1) ad− bc− bc + ad

    The negaperiodic autocorrelation also has an equivalent definition using thefollowing matrices.

    P0 :[1 00 1

    ]P−1 :

    [0 1−1 0

    ]Again P0 is the identity matrix, while P−1 is the product of two Pauli

    matrices[18], phase flip then bitflip.

    9

  • 1 Theory

    We get a definition analogous to the periodic case: k is a vector of length n,such that ki ∈ {0,1}. M is a 2n × 2n matrix such that

    Mk =n−1⊗i=0

    P−ki

    Then s′ = (s×Mk)and ak =

    ∑2ni=0 s

    ′i × si This means that for k = {0,1} we get

    s′ = s× P0 ⊗ P1 = [a, b, c, d]×

    0 1 0 0−1 0 0 00 0 0 10 0 −1 0

    = [−b, a,−d, c]and ak = −ab + ab− cd + cd

    Multidimensional Aperiodic Autocorrelation

    Kristiansen proposed aperiodic autcorrelation in [6] as an extension to his workon univariate merit factor. This metric was slightly different from the onedefined in this thesis, but they do have a certain relation. Danielsen, Gulliver,and Parker [4] use a different defintion, which is the same used in this thesis.

    Definition 1.4. The aperiodic sum of squares is defined by

    2σ =1,1,1,..∑

    k=−1,−1,−1,..k 6=0,0,..,0

    where

    ak =1,1,1,..∑

    j=0,0,0,..

    sjs(j+k), − 1,−1,−1, .. ≤ k

  • 1.2 Definitions

    As we can see the ak values form a symmetry around the middle of the array(around the place where k = 0,0,...,0 would have been). This can easily beproven and enables us to simplify the definition of σ to:

    Definition 1.5.

    σ =0,0,..,0,−1∑

    k=−1,−1,−1,..

    ak2

    An easy numerical example of σ is the length 22 sequence 1,1,1,-1 formed bythe function p(x) = x0x1:

    1 1 1 −1 k ak ak21 (−1,−1) −1 1

    1 1 (−1, 0) 0 01 (−1, 1) 1 1

    1 1 (0,−1) 0 0σ 2

    The equivalent definition to σ is via these matrices.

    Q0 :[1 00 1

    ]Q1 :

    [0 01 0

    ]Q−1 :

    [0 10 0

    ]k is a vector of length n, such that ki ∈ {-1,0,1}. M is a 2n × 2n matrix such

    that

    Mk =n−1⊗i=0

    Qki

    Then s′ = (s×Mk)and ak =

    ∑2ni=0 s

    ′i × si This means that for k = {0,1} we get

    s′ = s×Q0 ⊗Q1 = [a, b, c, d]×

    0 0 0 01 0 0 00 0 0 00 0 1 0

    = [b, 0, d, 0]and ak = ab + cd

    Fixed Multidimensional Aperiodic Autocorrelation

    The fixed aperiodic sum of squares is an extension of the aperiodic sum ofsquares. This is also described in [4]. We denote this metric E and define it as

    Definition 1.6.E =

    12((

    ∑∀s′∈S(p(x))

    σ(s′))− 6n)

    S(p(x)) means the set of sequences generated from all possible variable fixingsof p(x). Recall that the sequence s of length 2n is created from a Booleanfunction p(x) of n variables. A Boolean variable xj can be fixed to either 1 or 0,and this will create a new function p’(x) of (n-1) variables and a new sequences’ of length 2n−1. We compute σ of s’ and continue in this manner with allpossible fixing combinations. We define fixing scope as a size n vector v, suchthat vj = 1 if variable xj is fixed, otherwise vj = 0. This means that there are2n different fixing scopes. The binary weight w of v is then the number of fixed

    11

  • 1 Theory

    variables in that scope, so each fixing scope has 2w different fixing combinations.In total this leads to 3n different sequences.

    Example: We start with the function p(x) = x0x1 + x1x2. Let the fixingscope v be [1,0,0] which means that we are fixing variable x0. There are twopossible fixings within this fixing scope: x0 = 0 which means that p’(x) = x1x2,and x1 = 1 which gives p’(x) = x1 + x1x2.

    Note that when p(x) has degree 2, then the terms associated multiplicativelywith a fixed variable will have degree lower or equal to 1. This means thatthe fixed term only contributes to a linear offset of p’(x). And since all linearoffsets of a function have the same σ-values, all sequences within the same fixingscope have the same values. This simplifies the computation of E for quadraticfunctions.

    1.2.8 Unitary Transforms

    Definition 1.7. A Unitary Matrix is a square matrix U such that UU† = I,where † means conjugate transpose and I is the identity matrix [20].

    Definition 1.8. A matrix that can be written as a tensor product of 2 × 2unitary matrices is a Local Unitary Matrix [3].

    We can multiply a sequence s of length 2n by a local unitary matrix U andget a new sequence s’ of the same length, thus transforming s to s’. This s’ isessentially s viewed from a different angle. Such a transform has a close relationto the autocorrelation functions i have just described.

    H - Hadamard Transform

    Definition 1.9. The Hadamard matrix H is defined as

    H = 1√2

    [1 11 −1

    ]The Hadamard transform is the application of this matrix, and this can be

    used to compute the multidimensional periodic autocorrelationWe define Hn to be the tensor product of n H-matrices and s′ = Hn × sWe can then define µ (see Definition 1.2) as :

    µ = (1,1,..,1∑

    k=0,0,..,0

    |s′k|4 − 2n) ∗ 2n

    We will illustrate this with a simple numerical example, the function x0x1:s = (1,1,1,-1)

    s′ = ( 1√2)2

    1 1 1 11 −1 1 −11 1 −1 −11 −1 −1 1

    ∗s = [1, 1, 1,−1]

    µ = ((1 + 1 + 1 + 1)− 22) ∗ 22 = 0

    12

  • 1.2 Definitions

    N - Nega-Hadamard Transform

    Definition 1.10. The Nega-Hadamard matrix N is defined as

    N = 1√2

    [1 i1 −i

    ]This can be used to compute the multidimensional negaperiodic autocorre-

    lation. As with the periodic case, we define Nn to be the tensor product of nN-matrices and s′ = Nn ∗ s

    We can then define ν (see Definition 1.3) as:

    ν = (1,1,..,1∑

    k=0,0,..,0

    |s′k|4 − 2n) ∗ 2n

    We will illustrate this with the same numerical example as for the periodiccase:

    s = (1,1,1,-1)

    s′ = ( 1√2)2

    1 i i −11 −i i 11 i −i 11 −i −i −1

    ∗s = [1 + i, 0, 0, 1− i]ν = ((4 + 0 + 0 + 4)− 22) ∗ 22 = 16

    I - Identity Transform

    I is simply the identity matrix,

    Definition 1.11.

    I =[1 00 1

    ]

    and on it’s own leaves the sequence unchanged. This matrix is used when wewant to apply a transform to specific variables in a function, but not to all. Sayif we have a sequence s generated from a function f(x0, x1, x2). Then applyingthe transform U = I ⊗H ⊗ I, mean that we apply the Hadamard transform tox1, while fixing x0 and x2, in other words leaving them unchanged.

    HN-transform

    The multidimensional aperiodic sum of squares of a sequence s can also becomputed via the set of {H,N}n transforms.

    We define the set U to be all possible tensor product combinations U of Hand N, such that each U is built from n matrices. Then each matrix U in U isof size 2n by 2n, and 2n is also the number of different matrices in U. We thendefine the set S of sequences s’ = U*s ∀ U ∈ U.

    We can then define σ (see Definition refdef:sigma) as:

    2σ =∑∀s′∈S

    (1,1,..,1∑

    k=0,0,..,0

    |s′k|4)− 4n

    Again we will illustrate this with the simple numerical example from before:s = (1,1,1,-1)

    13

  • 1 Theory

    U =

    12

    1 1 1 11 −1 1 −11 1 −1 −11 −1 −1 1

    , 12

    1 i 1 i1 −i 1 −i1 i −1 −i1 −i −1 i

    ,

    12

    1 1 i i1 −1 i −i1 1 −i −i1 −1 −i i

    , 12

    1 i i −11 −i i 11 i −i 11 −i −i −1

    S =

    [1 1 1 −1

    ],

    [1 i 1 −i

    ],[

    1 1 i −i]

    ,[1 + i 0 0 1 + i

    ]

    We then get the full computation:

    2σ = ((1+1+1+1)+(1+1+1+1)+(1+1+1+1)+(4+0+0+4))−16 = 4

    σ = 2

    IHN-transform

    The metric E (see Definition 1.6) of sequence s can also be defined through theuse of unitary matrices.

    We define the set U to be all possible tensor product combinations U of H,N and I, such that each combination is built from n matrices.

    We then define the set S of sequences s’ to be U*s ∀ U ∈ U.We can then define E as:

    E =12((

    ∑∀s′∈S

    (1,1,..,1∑

    k=0,0,..,0

    |s′k|4))− 6n)

    Again we will illustrate this with the simple numerical example from before:

    s = (1,1,1,-1)

    14

  • 1.2 Definitions

    Transform U s∑1,1

    k=0,0 |sk|4

    H ⊗H =

    1 1 1 11 −1 1 −11 1 −1 −11 −1 −1 1

    [1, 1, 1,−1] 4

    H ⊗N =

    1 i 1 i1 −i 1 −i1 i −1 −i1 −i −1 i

    [1, 1, i,−i] 4

    H ⊗ I =

    1 0 1 00 1 0 11 0 −1 00 1 0 −1

    [√2, 0, 0,√2] 8

    N ⊗H =

    1 1 i i1 −1 i −i1 1 −i −i1 −1 −i i

    [1, i, 1,−i] 4

    N ⊗N =

    1 i i −11 −i i 11 i −i 11 −i −i −1

    [1 + i, 0, 0, 1− i] = 8

    N ⊗ I =

    1 0 i 00 1 0 i1 0 −i 00 1 0 −i

    [ 1+i√2 , 1−i√2 , 1−i√2 , 1+i√2 ] 4

    I ⊗H =

    1 1 0 01 −1 0 00 0 1 10 0 1 −1

    [√2, 0, 0,√2] 8

    I ⊗N =

    1 i 0 01 −i 0 00 0 1 i0 0 1 −i

    [ 1+i√2 , 1−i√2 , 1−i√2 , 1+i√2 ] 4

    I ⊗ I =

    1 0 0 00 1 0 00 0 1 00 0 0 1

    [1, 1, 1,−1] 4∑

    ∀s∈S(∑1,1

    k=0,0 |sk|4) = 48

    E =12(48− 36) = 6

    IH-transform

    We have also explored the {IH}n transform for quadratic constructions anduse the metric ξ.

    Let s be the sequence to explore. Let U to be all possible tensor productcombinations of I and H, such that each matrix in U is a product of n matrices.Let S be the set of all vectors U*s. We then define ξ as:

    15

  • 1 Theory

    Definition 1.12.

    ξ =∑∀s∈S

    (1,1,..,1∑

    k=0,0,..,0

    |sk|4)

    1.2.9 Merit Factors

    Golay Merit Factor (or Univariate Merit Factor, or simply Merit Factor) is acommon metric used to measure sequences with low autocorrelation. This wasintroduced by Golay in [5] and has been relatively well studied. Merit factor(MF) is related to the single dimensional sum of squares, such that high sumof squares value gives low MF. A random binary sequence will have MF of1.0 with high probability. In [8] Parker has proposed multidimensional MeritFactors which relate to multidimensional sum of squares.

    Multivariate Merit Factor

    Recall Definition 1.4 of σ. We recite the definitions from [8]:

    Definition 1.13. The multivariate merit factor, MMF, of a sequence s, is givenby

    MMF =4n

    Definition 1.14. Let sA be a length 2n multivariate sequence generated by aconstruction A. Then the asymptotic multivariate merit factor of sA is givenby

    FM = limn→∞

    MMF (sA)

    Clifford Merit Factor

    The Clifford merit factor is an extension of the multivariate merit factor. Againdefinition is recited from [8]

    Definition 1.15. The Clifford merit factor, CMF, of a sequence s, is given by

    CMF =6n

    2E

    Definition 1.16. Let sA be a length 2n multivariate sequence generated byconstruction A. Then the asymptotic Clifford merit factor of sA is given by

    FC = limn→∞

    CMF (sA)

    16

  • 1.2 Definitions

    Multidimensional Periodic Merit Factor

    The merit factors are very suitable to express the findings in this thesis. Theymake it possible to compare the values of sequences with different length. Inan similar fashion we define merit factor and asymptotic merit factor for theperiodic and negaperiodic sum of squares.

    Definition 1.17. The multidimensional periodic merit factor, MFµ, of a se-quence s, is given by

    MFµ =4n

    2µ, µ 6= 0

    MFµ =∞, µ = 0

    Definition 1.18. Let sA be a length 2n multivariate sequence generated byconstruction A. Then the asymptotic periodic merit factor of sA is given by

    Fµ = limn→∞

    MFµ(sA)

    Multidimensional Negaperiodic Merit Factor

    Definition 1.19. The multidimensional negaperiodic merit factor, MFν , of asequence s, is given by

    MFν =4n

    2ν, ν 6= 0

    MFν =∞, ν = 0

    Definition 1.20. Let sA be a length 2n multivariate sequence generated byconstruction A. Then the asymptotic negaperiodic merit factor of sA is givenby

    F ν = limn→∞

    MFν(sA)

    IH Merit Factor

    Definition 1.21. The IH merit factor, MFξ, of a sequence s, is given by

    MFξ =4n

    2ξ, ξ 6= 0

    MFξ =∞, ξ = 0

    Definition 1.22. Let sA be a length 2n multivariate sequence generated byconstruction A. Then the asymptotic IH merit factor of sA is given by

    F ξ = limn→∞

    MFξ(sA)

    Note that Definition 1.21.31.12 includes the special case where the denomi-nator is zero. This means that the autocorrelation is zero everywhere and thatthe sequence is optimal with respect to that metric. Definition 1.131.15 doesnot include this, since the denominator can never be zero in those cases.

    17

  • Chapter 2Computing the Transforms

    The sequences are generated from Boolean functions. The measure of our inputsize is thus the number of Boolean variables used, n. We have tried severalapproaches in computing the autocorrelations and transforms. First we haveimplemented the operations as they are defined. That enables the program tocompute values for any sequence, regardless of structure, but it quickly leads tocomplexity problems. First of all the sequence itself must be stored. The lengthof the sequence is 2n so the use of memory is exponential. A general algorithmhas to exam all the bits in the sequence, which means that the time complexityalso is exponential, just to look at the sequence once. A complete transforminvolving two different unitary matrices will be comprised of 2n different singletransforms. This means that in many of the cases the number of operations onthe sequence is also exponential.

    However there are simplifications that can be made given certain limitationson the Boolean function. First of all the quadratic functions can be simplifieda lot. As we have seen a quadratic function can be represented by a n by nmatrix, reducing memory complexity from 2n to n2. This also means that wecan evaluate a sequence in polynomial time instead of exponential time.

    We now present some representations and computational approaches that wehave used to compute autocorrelation and spectral values.

    2.1 Computing from adjacency matrixFor quadratic functions we can modify the adjacency matrix to create newways of calculating σ. We will demonstrate this with the circle of size n=4. Weuse the full adjacency matrix and we add w in the diagonal. Now we have agenerator matrix for a self dual additive code over GF(4). (GF(4) = {0,1,w,u}| w3 = 1, w2 = u )

    x0 x1 x2 x3x0 w 1 0 1x1 1 w 1 0x2 0 1 w 1x3 1 0 1 w

    This can be used to calculate σ in the following way: We look at the set Cof all codewords: {0000, w101, 1w10, uu11, 01w1, w0w0, 1uu1, uwu0, 101w,u11u, 0w0w, wu0u, 11uu, u0uw, 0uwu, wwww}. We then define the set A to

    19

  • 2 Computing the Transforms

    be all codewords c from C such that every element is in {0,w,u}, excluding thezero-codeword. In our example we get A = {w0w0, uwu0, 0w0w, wu0u, u0uw,0uwu, wwww}. We can now compute σ in this way:

    2σ =∑∀c∈A

    (2n−k)2 ∗ 2k

    where n is the length of the codeword and k is the weight of the codeword.

    2.2 Interlace PolynomialThe interlace polynomial was first introduced by Arratia, Bolloás and Sorkinin [2]. This is a special polynomial q(G) generated from a graph G. The poly-nomial is defined through a recurrence formula, which is very suitable for ourpurposes. Aigner and van der Holst refined the theory of interlace polynomi-als in [1], and introduced a new related interlace polynomial Q(G). They alsointroduced a simpler way of constructing the polynomials. Riera and Parker re-lated these interlace polynomials to the spectra of quadratic Boolean functionsin [14]. We have used their theory to implement computations of the {I,H}nand {I,H, N}n transforms. We summarize the theory and definitions neededto explain the computations.

    Recall from the definition of unitary transforms, that the set U is defined asall possible tensor product combinations of the unitary matrices in the transformset. This means that a matrix U ∈U is on the form U =

    ⊗n−10 Mi,M ∈{H,N,I}.

    The sets RH,RN, and RI are defined in relation to a specific U. They are setsof integers partitioning {0,1,...,n-1} such that i ∈ RH iff Mi = H, i ∈ RN iffMi = N, and i ∈ RI iff Mi = I.

    2.2.1 Interlace polynomial q(G)The interlace polynomial q(G) relates to the {I,H}n transform as defined in[14].

    Definition 2.1. The interlace polynomial q of a graph G in n variables is

    qn(G; z) =∑

    U∈{I,H}n(z − 1)co(ΓU ),

    where co(ΓU ) stands for the corank mod 2 of the modified adjacency matrix ofthe graph w.r.t. the transform U ∈ {I,H}n, ΓU , obtained by erasing from theadjacency matrix of the graph the rows and columns whose indices are in RI.

    2.2.2 Interlace polynomial Q(G)The interlace polynomial Q(G) relates to the {I,H, N}n transform as definedin [14].

    Definition 2.2. The interlace polynomial Q of a graph G in n variables is

    qn(G; z) =∑

    V ∈{I,H,N}n(z − 2)co(ΓV ),

    where co(ΓV ) stands for the corank mod 2 of the modified adjacency matrix ofthe graph w.r.t. the transform V ∈ {I, H, N}n, ΓV , obtained by substituting 0by 1 in the diagonal, in those indices i ∈ RN, and then erasing the rows andcolumns whose indices are in RI.

    20

  • 2.3 Algebraic Polar Form

    The relation to the {I,H, N}n transform and the fixed aperiodic sum ofsquares is then given by the evaluation of Q at 4:

    2E = 2nQ(4)− 6n (2.1)

    2.2.3 The HN-interlace polynomial

    The interlace polynomial QHN (G) relates to the {H,N}n transform as definedin [14].

    Definition 2.3. The interlace polynomial QHN of a graph G in n variables is

    QHNn (G; z) =∑

    W∈{H,N}n(z − 2)co(ΓW ),

    where co(ΓW ) stands for the corank mod 2 of the modified adjacency matrix ofthe graph w.r.t. the transform W ∈ {H,N}n, ΓW , obtained by substituting 0by 1 in the diagonal, in those indices i ∈ RN.

    The relation to the {H,N}n transform and the aperiodic sum of squares isthen given by the evaluation of QHN at 4:

    2σ = 2nQHN (4)− 4n (2.2)

    2.3 Algebraic Polar FormParker and Rijmen [10] has proposed Algebraic Polar Form (APF) which rep-resent a sequence s such that

    s = s(x) = m(x)(−1)p(x)

    where m(x) and p(x) are both Boolean Algebraic Normal Forms (ANFs) in nbinary variables x = {x0, x1, x2, ..., xn−1}. For example s(x) = x0(−1)x0x1 .This means that m(x) = x0 which is the sequence 0,1,0,1, and p(x) = x0x1which is the sequence 0,0,0,1. The resulting sequence s is then 0,1,0,-1. APFis thus separating the magnitude, m(x), and the phase, p(x), in two functions.The coefficients of s are in the set {-1,0,1}. We will study the case wherep(x) has degree ≤ 2, and m(x) is decomposed to Πkh(x)k such that degree ofh(x)k ≤ 1. These APFs are refered to as a binary spectra APF

    A special case of APFs is when m(x) = 1. This gives a sequence s overthe alphabet {-1,1}. Most of this thesis is concerned with such functions. Avector V of length N with coefficients {p0, p1, ..pN−1}, is said to be flat iff|pi| = |pj |∀(i, j) ∈ {0, 1, ..N − 1} [3][13]. We thus define a flat APF, or a flatfunction s(x), as one where the magnitude function m(x) is a constant function.

    Parker And Rijmen shows that the Hadamard transform of a sequence canbe expressed in a very effective manner using APF. They define the action ofH(i) as applying the H-transform to variable xi from the set x, and the identitytransform I to the other variables in x.

    We recite the definitions and theorems from [10] that are vital for our calcu-lations.

    Definition 2.4. The expression xk ∈ g(x) indicates that g(x) is a function ofxk.

    21

  • 2 Computing the Transforms

    Definition 2.5. For a certain xi, let R be a subset of the integers such thatxi /∈ h(x)k,∀k ∈ R. Similarly, let V be a subset of the integers such thatxi ∈ h(x)k,∀k ∈ V. Then m(x) = r(x)v(x) where r(x) = Πk∈Rh(x)k, andv(x) = Πk∈Vh(x)k, and where r(x) = 1 if R = ∅, and v(x) = 1 if V = ∅.

    Let g(x)|xi=t mean the polynomial g(x) evaluated at xi = t.

    Definition 2.6. m0 = m(x)|xi=0,m1 = m(x)|xi=1, where i ∈ {0,1,...,n-1}. Wesimilarly define v0, v1, p0, p1 as being the evaluations of v(x) and p(x) with xifixed to 0 and 1 respectively.

    Theorem 2.7. Let s = m(−1)p. Then the action of H(i) on s is s’,

    s′ = m′(−1)p′= r((v0 + v1)⊕ 2(v0v1(p0 + p1 + xi + 1)))

    ×(−1)v0v1((p0+1)(p0+p1+xi)+p0)+v0p0+v1(p1+xi)

    where ⊕ indicates conventional, non-modular addition.

    The previous theorem is general and applies to all sequences. We have im-plemented this for certain binary APF’s, which means that two simplified casesof the theorem applies. These theorems are also from [10]:

    Theorem 2.8. If v0 + v1 = 0, then xi /∈ m(x), and vice versa, and

    s′ = m(x)(p0 + p1 + xi + 1)(−1)p0

    Theorem 2.9. If v0v1 = 0, then

    s′ = r(x)(v0 + v1)(−1)p0+h1,z(p0+p1+xi)

    where z is an integer chosen arbitrarily from V, and h1,z means h(x)z|xi=1

    These last two theorems shows that the set of binary spectra APF is closedunder the action of H(i). This means that p(x) wil always have degree ≤ 2, andthus can be represented by a vector of length n2 + 1. m(x) can be represented byk vectors of length n. This means that the memory complexity for computingthe {I,H} transform is polynomial, and not exponential. The theorems alsoimprove the time complexity for a single transform to be a linear operation.However, to perform the full transform is still exponential, since there are 2n

    different transforms.

    2.4 IH-transform as graph-operationsThe action of H(i) on certain APFs can also be described via graph operations.

    We look at the set of binary spectra APF, s = s(x) = m(x)(−1)p(x) wherem(x) = Πkh(x)k such that the degree of h(x) = 1 for all k, and p(x) =

    ∑k q(x)k

    such that the degree of q(x) = 2 for all k. In short m(x) is a product of k linearfunctions, and p(x) is a sum of quadratic terms. The function p(x) is representedby a regular undirected graph as previously shown for quadratic functions. Thefunction m(x) is represented by a colored bipartite graph.

    The following graph operations are used:

    Definition 2.10. Graph operation ⊕: Let G1 and G2 be two regular undirectedgraphs with the same set of vertices, represented by their adjacency matricesM1 and M2. Then the graph sum modulo 2 ,G1⊕G2, is defined as the graph Grepresented by the adjacency matrix M = M1 + M2 where ’+’ means regularmatrix addition performed modulo 2.

    22

  • 2.4 IH-transform as graph-operations

    Figure 2.1: Graph operation ⊕.

    This can alternatively be defined as follows: Let G1 = (V1, E1) and G2 =(V2, E2) be two regular undirected graphs with the same set of vertices V1 = V2.Then the graph sum modulo 2, G1 ⊕ G2, is defined as the graph G = (V, E)such that V = V1 = V2, and E is the set of edges e such that e ∈ E1 or e ∈ E2,but not in both.

    Definition 2.11. Graph operation ]: Let V1 and V2 be two sets of vertices.Then the graph join, V1 ] V2, is defined as the graph G = (V, E) such thatV = V1 ∪ V2, and E is the set of edges e = (i, j),∀xi ∈ V1,∀xj ∈ V2.

    Figure 2.2: Graph operation ].

    The graph on Figure 2.2 is called the complete bipartite graph, Km,n in theliterature [16], in this case K3,2.

    Let P =(V,E) be a regular undirected graph with a set of vertices V = x, andedges E, such that e = (i, j) ∈ E ∀xixj ∈ p(x). In other words, each quadraticterm xixj in p(x) is represented in the graph P by the nodes i and j, and anedge between them.

    Let M =(V,E) be a colored bipartite graph with V = x, and edges E obtainedin the following way: Remember that m(x) = Πh(x)k and that |x| = n. Thenm(x) can be represented by a k× n matrix Tk,n such that, for all k, Tk,i = 1 iffh(x)k is a function of xi, otherwise Tk,i = 0. This means that the matrix hasone row for each of the k linear functions in m(x). The linear function h(x)kwill be of the form h(x)k = c0x0 + c1x1 + ...cn−1xn−1 + cn where ci ∈ {0, 1}∀i ∈ {0, 1, ..n}. Then each of the k rows in T will be a vector [c0, c1, .., cn−1].The constant term cn will always be 1 for the binary spectra APF and is omittedfrom the graph operations.

    We can now perform Gaussian elimination on Tk,n and eliminate some re-dundant rows. Then T will be a l × n matrix with l ≤ k. The number ofrows removed is k − l. By elementary row and column operations, includinginterchanging two rows or columns [17], we can arrange the matrix T such that∀i, j < l, Ti,j = 1 iff i = j, otherwise Ti,j = 0. This means that the left handside l× l quadrant of the matrix T from T0,0 to Tl−1,l−1 is the identity matrix.This new ordering implies that columns may have switched places. Keep theoriginal labeling i on the columns. Another index will be used to address thecolumns by their new ordering. Thus we denote xi,j as variable xi, represented

    23

  • 2 Computing the Transforms

    in the jth column. We can now build the graph M shown in Figure 2.3. Theleft (red) nodes are xi,j∀j < l. The right (blue) nodes are xi,j∀j ≥ l. There isan edge e = (xi,j , xr,s) ∈ E iff Tk,j = 1 and Tk,s = 1, j < l, s ≥ l, ∀k. We willclarify with an example:

    Let m(x) = (x0 + x1 + x3 + 1)(x1 + x2 + 1) This gives the matrix

    i 0 1 2 31 1 0 10 1 1 0

    switching columns 1 and 2 gives

    j 0 1 2 3i 0 2 1 3

    1 0 1 10 1 1 0

    and we get the graph

    Figure 2.3: Example of bipartite graph

    We can now represent the binary spectra APF s = (P,M) where P is said tobe the phase graph and M is the magnitude graph, both defined as above. Theaction H(i) will the give a new binary spectra APF s’ = (P’,M’) as follows.

    Let Pi be the subgraph of P consisting of the vertex xi, the edges xixj ∈ Pand the vertices xj . Let Mi be the subgraph of M consisting of the vertex xi,the edges xixj ∈M and the vertices xj . Let Vpi be the set of neighbours to xiin P, and let Vmi be the set of neighbors to xi in M

    Then the action of H(i) on s gives the new phase graph P’:

    P ′ = P ⊕ Pi ⊕Mi ⊕ (Vpi ] Vmi) (2.3)For M’ there are two cases. If Vmi = ∅, i.e. there are no edges to xi in M:

    M ′ = M ⊕ Pi (2.4)

    otherwise

    M ′ = M ⊕Mi (2.5)We will illustrate this with a small example. Consider the linegraph with n

    = 4. The action H(0) isNote that in a binary spectra APF, p(x) will have no linear terms, but

    quadratic terms only. The next figure shows the action H(1) continuing fromthe previous figure. First M is adjusted so that vertex 1 is colored red.

    Note that the two steps together is the IIHH transform applied to the flatfunction of the line graph, and that the result is another flat function. This isactually also generated by the line graph, but x0 and x1 has swapped places.In between there is a stage where the function is not flat. Also note that inthat case the graph P is not connected.

    24

  • 2.5 Software

    Figure 2.4: Graph operations IIII to HIII

    The figure shows in graph operations the action H(0).p(x) = x0x1 + x1x2 + x2x3 is taken to p’(x) = x1x2 + x2x3.

    m(x) = 1 is taken to m(x) = x0 + x1.

    Figure 2.5: Graph operations HIII to HHII

    The figure shows in graph operations the action H(1).p(x) = x1x2 + x2x3 is taken to p’(x) = x0x1 + x0x2 + x2x3.

    m(x) = x0 + x1 is taken to m’(x) = 1

    2.5 Software

    Most of our efforts in this thesis have been writing software implementing thevarious algorithms. The largest part is implemented in c# using MicrosoftViaual Studio.NET as developers platform, but we have also implemented somealgorithms using c as programming language. The different languages havedifferent strengths and weaknesses, and we find it useful to use both in differentsituations. We will give a brief introduction to the software packages we havemade. The full source code for the software can be found on this thesis webpage [15].

    2.5.1 C programming

    The sum of squares functions (Definition 1.21.31.41.6) are implemented usingc as programming language. The biggest challenge of these is to compute σin an effective way. µ and ν are less complex, and E is computed via the σ-computation. We have presented various approaches which are possible givencertain limitations on the sequence. We have also worked on algorithms thatcan handle all sequences. We have not found a solution to this problem withbetter than exponential complexity, but we will present the algorithm with thebest results. In the definition of σ (Definition 1.4), k = 0,0,...,0 is excluded.Recall the example of aperiodic sum of squares from section 1.2.7. Extend this

    25

  • 2 Computing the Transforms

    with k = 0,0 and write it from bottom to top and we get

    a b c d k for ak akd (1, 1) adc d (1, 0) ac + bd

    c (1,−1) bcb d (0, 1) ab + cda b c d (0, 0) aa + bb + cc + dd

    a c (0,−1) ab + cdb (−1, 1) bca b (−1, 0) ac + bd

    a (−1,−1) ad

    Note that the term resulting from k = 0,0 is the sequence multiplied byitself, so this will always have the sum 2n for a sequence of the alphabet {-1,1}.Adding or removing this term is thus just a matter of adding or subtracting aconstant.

    We can rewrite computation of aperiodic sum of squares of the sequence s tothe following matrix operation:

    s × M = a

    [a b c d

    d c 0 b a 0 0 0 00 d c 0 b a 0 0 00 0 0 d c 0 b a 00 0 0 0 d c 0 b a

    = awhere a is a vector [a0, a1, ..an−1] and 2σ = (

    ∑n−1k=0 a

    2k)− 22n, Definition 1.4

    Note the pattern of matrix M. If a value other than 0 is represented by 1, thenthe top row in M can be described as the tensor product of n matrices

    ⊗n−10 T

    where

    T =[1 1 0

    ]The other rows in M is a cyclic shift of the top row. This means that the top

    row holds all the information needed to compute σ. Once the pattern of thetop row is computed from T, we can easily use this to create the top row of Mby looping throw the sequence s and correct the signing.

    Let ls be the length of s, ls = 2n. Let P be the pattern vector P =⊗n−1

    0 TLet I be the top row vector of M. Let lp be the length of P = the length of I= 3n Let D be a vector of integers of length ls, such that Di = k − j, whereIk = s(i+1) and Ij = s(i). Dn−1 = 1. In other words Di is the distance betweens(i) and s(i + 1), with respect to their position in I. In the example above Dwould be the vector [1,2,1,1]. The remaining computations are explained indetail in Algorithm 2.1.

    The main advantage of Algorithm 2.1 is that only the terms contributing avalue other than 0 is computed, and that these terms are accessed directly. Pand D tells us where these terms are. The example above involving matrixmultiplication would compute a lot of 0-values and Definition 1.4 implies com-puting a lot of indeces that are out of bounds and must be discarded. Alsothe algorithm requires memory which has a linear complexity with respect tothe length of the sequence. For an algorithm evaulating any sequence, with nolimitations, that is the best complexity acchievable.

    The full source of the c code used in this thesis can be found in [15]

    26

  • 2.5 Software

    Algorithm 2.1 Computing σ

    Input s : the sequence to evaluatels : the length of s, ls = 2n.P : the pattern vector P =

    ⊗n−10 T

    I : the top row vector of M.lp : the length of P = the length of I = 3n

    D : the vector of distances between nonzero entries in POutput sos: the aperiodic sum of squares of s

    procedure AperiodicSOS(s,ls,P,I,lp,D)for offset ← 1 to lp-1 do

    ak ← 0i ← (ls-1)j ← 0index ← offsetwhile index < lp do

    if Pindex != 0 then ak ← ak + si ∗ Pindexend if i ← i - 1index ← index + Ijj ← j + 1

    end whilesos ← sos + (ak * ak);

    end forreturn sos

    end procedure

    2.5.2 C# programmingC# and MS Visual Studio.NET is good for making graphical user interfaces,and the environment also provide several libraries to store and manipulate data.This makes it easier to implement more complex algorithms without makingmistakes. There are two main applications in the c#-package. One is a Win-dows application, master.exe, which is a transform calculator. A graphicalinterface enables the user to input a Boolean function and compute the trans-form of the sequence generated by the function. It is also possible to computethe different interlace polynomials (section 2.2). The user can select from achoice of the Boolean functions and transforms presented in this thesis, butthere is also the option of defining new fenctions and transforms to compute.The program can output the resulting numerical result, but can also show thedetails of the transform computations. Master.exe make use of Mathematica1 to perform certain computations. Outsourcing mathematical tasks makes iteasier to focus on solving the specific problems related to transforms instead ofsolving previously solved math problems.

    The second application in the c#-package is a web application, webmas-ter.aspx. This is quite similar to master.exe. The user can specify sequencesand compute transforms and interlace polynomials, but there is a little less op-tions than in the windows application. The advantage of the webapplication isthat there is no need to install any software on the local machine.

    All the c# code is arranged in a MS Visual Studio.NET solution, master.sln.In addition to the above mentioned applications the solution includes two classlibraries, InPol.dll and APF.dll. The first is a library to create interlace polyno-

    1Mathematica is a computational engine made by Wolfram Research [21]

    27

  • 2 Computing the Transforms

    mials and the other is a library to represent sequences in algebraic polar form(section 2.3), and do computations on them. The windows application mas-ter.exe and the solution master.sln can be downloaded from this thesis’ website[15]. There is also a link to the online transform calculator webmaster.aspx.

    28

  • Chapter 3Results

    3.1 Periodic Sum of Squares

    3.1.1 Global classification

    As an introduction to the multidimensional periodic sum of squares and MFµ(Definition Definition 1.17) we have looked at the values obtained from shortsequences. We have searched through all sequences of length N = 2n for n ∈{2,3,4}, and we have also searched through many random sequences for n ∈{6,8,10}. The results for the short sequences are given in Table 3.1. Note thatthere are relatively few distinct values. For n = 4, there are 65 536 differentsequences, but only 8 different MFµ values.

    n distinct MFµ MFµvalues2 2 0.167,∞3 3 0.072, 0.286, 0.54 8 0.033, 0.059, 0.111, 0.205, 0.167, 0.333, 0.533,∞

    Table 3.1: Complete Set of MFµ for n = 2 to n = 4

    The values are rounded to three decimals.

    For higher values of n, we have searched through samples of 10 000 randomsequences. The results from these sequences are presented in Figure 3.1. Thex-axis shows the value of MFµ, while the y-axis shows the number of sequenceswith the same value. Note that the values of the random sequences seem tocenter round 14 . It appears that for the shorter sequences the average MFµ isslightly higher than 14 , but becomes closer to

    14 as n grows higher. In other

    words it seems as Fµ (Definition 1.18) is 14 for a random sequence. The caseswhere MFµ = ∞ is excluded from Figure 3.1. This value cannot be displaydin a graph, and cannot be included in computations of average MFµ. We canbypass this problem by averaging the µ values, and then postulate an averageMFµ on that basis. We will point that as n grows higher, µ = 0 in very fewcases.

    Conjecture 3.1. Fµ of a random binary sequence is 14

    29

  • 3 Results

    (a) Samples for n = 6 (b) Samples for n = 8

    (c) Samples for n = 10

    Figure 3.1: MFµ-samples

    MFµ-values of 10 000 sample sequences, n = 6, 8, and 10

    3.1.2 Recursions of Periodic Sum of SquaresWe have computed µ (Definition 1.2) of the previously presented sequence con-structions. Most of these yield recursions and a defined value for Fµ. All therecursions are identified computationally. To prove them mathematically is stillan open problem.

    Line

    µ-values, starting at n = 1:

    4, 0, 64, 0, 1024, 0, 16384, 0, 262144, 0, 4194304, 0, 67108864, 0, 1073741824, 0, ..

    recursion:µn = 16µn−2

    closed form recursion:

    µn =4n

    2− (−4)

    n

    2which means that Fµ = 18 when n is an even number. Otherwise F

    µ =∞.

    Circle

    µ-values, starting at n = 1:

    4, 0, 64, 768, 1024, 12288, 16384, 196608, 262144, 3145728, 4194304, 50331648, ..

    recursion:µn = 16µn−2

    closed form recursion:µn = 2 ∗ 4n + (−4)n

    30

  • 3.1 Periodic Sum of Squares

    which means that Fµ = 120 when n is an even number and Fµ = 112 when n

    is an odd number.

    Star

    µ-values, starting at n = 1:

    4, 0, 64, 768, 7168, 61440, 507904, 4128768,

    33292288, 267386880, 2143289344, 17163091968, ..

    recursion:µn = 12µn−1 − 32µn−2

    closed form recursion:µn = −4n +

    8n

    4In this case the asymptote vanishes, Fµ = 0

    Clique

    The clique has the exact same values as the line.

    Wheel

    µ-values, starting at n = 4:

    0, 7168, 0, 16384, 0, 1835008, 0, 4194304, 0, 469762048, 0, 1073741824, ..

    recursion:µn = 256µn−4

    closed form recursion:

    µn = 2 ∗ 4n − 2 ∗ (−4)n +3I2∗ (−4 ∗ I)n − 3I

    2∗ (4 ∗ I)n

    where I =√−1

    This means that Fµ has the following asymptotic values: For n even, Fµ =∞.Iff n ∈ {1,5,9,...} then Fµ = 156 , and iff n ∈ {3,7,11,...} then F

    µ = 18

    Triangles

    µ-values, starting at n = 3:

    64, 768, 1024, 0, 16384, 0, 262144, 3145728, 4194304, 0, 67108864, 0, ..

    recursion:

    µn = 4µn−1 − 16µn−2 + 64µn−3 − 256µn−4 + 1024µn−5

    closed form recursion:

    µn = (−2− 2I√

    3)n ∗ (−14

    +I√

    34

    ) + (−2 + 2I√

    3)n ∗ (−14− I√

    34

    )

    +(2 + 2I√

    3)n ∗ (−14

    +I√

    34

    ) + (2− 2I√

    3)n ∗ (−14− I√

    34

    ) + 4n

    Then Fµ = 14 iff n is odd. Fµ = 112 iff n ∈ {4,10,16,22,...}. Otherwise

    Fµ =∞.

    31

  • 3 Results

    Cubic Line

    µ-values starting at n=3:

    112, 1152, 4864, 26880, 145408, 712704, 3813376,

    19169280, 98369536, 502333440, 2544369664, 12960399360, ..

    recursion:µn = 4µn−1 + 16µn−2 − 16µn−3 − 192µn−4

    closed form recursion:

    µn = −7694n

    12+

    ∑(−

    (−10951 + 8256R− 50432R2)( 1R )n

    34992R3 + 7776R2)

    where R = RootOf (48Z3 + 16Z2 − 1)Fµ = 0

    Cubic Circle

    µ-values:112, 384, 4864, 11520, 80896, 387072, 1896448,

    10272768, 50151424, 262176768, 1329725440, 6761742336, ..

    No recursion so far

    Cubic Clique

    µ-values, n starting at 3:

    112, 384, 4864, 43008, 274432, 2064384, 16973824,

    136839168, 1076887552, 8581545984, 8581545984, ..

    recursion:µn = 8µn−1 + 256µn−4 − 2048µn−5

    closed form recursion:

    8n

    8+

    7 ∗ 4n

    8+

    (−4)n

    8− 3(−4)

    n

    4− 3 ∗ 4

    n

    4

    Fµ = 0

    Cubic Star

    The cubic star has the same values as the cubic clique

    Cubic Triangles

    µ-values:112, 384, 1792, 14592, 53248, 221184, 913408,

    4915200, 20512768, 91029504, 389545984, 1833959424, ..

    No recursion found yet.

    32

  • 3.1 Periodic Sum of Squares

    Single Polynomial of Maximal Degree

    µ-values, n starting at 1:

    4, 0, 112, 2160, 24304, 226800, 1952752, 16193520,

    131870704, 1064329200, 8552234992, 68568580080, ..

    recursion:µn = 15µn−1 − 70µn−2 + 120µn−3 − 64µn−4

    closed form recursion:

    µn = 8n + 24 ∗ 2n − 9 ∗ 4n − 16

    Fµ = 0

    Constant Function

    µ-values, n starting at 1:

    4, 48, 448, 3840, 31744, 258048, 2080768, 16711680, 133955584, 1072693248, ..

    recursion:µn = 12µn−1 − 32µn−2

    closed form recursion:µn = −4n + 8n

    Fµ = 0

    33

  • 3 Results

    Graph p(x)µn: Recursionµn: Closed-FormAsymp.

    Line∑n−2

    i=0 xixi+116µn−24n

    2 −(−4)n

    218 for n even. Otherwise ∞.

    Circle xn−1x1 +∑n−2

    i=0 xixi+116µn−22 ∗ 4n + (−4)n120 for n even.

    112 for n odd.

    Clique∑i=n−1

    i=0,j

  • 3.1 Periodic Sum of Squares

    Graph p(x)µn: Recursionµn: Closed-FormAsymp.

    Cubic Line∑n−3

    i=0 xixi+1xi+24µn−1 + 16µn−2 − 16µn−3 − 192µn−4−769 4

    n

    12 +∑

    (− (−10951+8256R−50432R2)( 1R )

    n

    34992R3+7776R2 )R ∈ roots of (48Z3 + 16Z2 − 1)0

    Cubic Circle∑n−1

    i=0 xixi+1(mod(n−1))xi+2(mod(n−1))−−−

    Cubic Clique∑i=n−2

    i=0,i

  • 3 Results

    (a) Samples for n = 6 (b) Samples for n = 8

    (c) Samples for n = 10

    Figure 3.2: MFν-samples

    MFν-values of 10 000 sample sequences, n = 6, 8, and 10

    3.2 Negaperiodic Sum of Squares

    3.2.1 Global classificationAs for the periodic case we start with an extensive search through the shortersequences. We have computed MFν (Definition 1.19) for all sequences of lengthN = 2n for n ∈ {2,3,4}. These results are given in Table 3.4.

    n distinct MFν MFνvalues2 2 0.5,∞3 4 0.167, 0.5, 0.667,∞4 13 0.071, 0.127, 0.167, 0.2, 0.258, 0.286, 0.333

    0.5, 0.533, 0.667, 1.0, 1.143,∞

    Table 3.4: Complete Set of MFν for n = 2 to n = 4

    Values are rounded to three decimals.

    We have also searched through 10 000 sample sequences for n ∈ {6,8,10}.The results from these sequences are presented in Figure 3.2. The x-axis showsthe value of MFν , while the y-axis shows the number of sequences with thesame value. In this case the values seem to foucus round MFν = 12 . RecallDefinition 1.20 of F ν . Again we have discarded the cases where ν = 0. Theaverage F ν is conjectured from average ν. This means that average ν is half theaverage µ. An explanation to this is that the negaperiodic property of swithingthe sign of some bits (Definition 1.3. That will result in a more even distributionof 1s and -1s in s’ (See explanation of s’ in section 1.2.7, which again results inlower sum of squares.

    Conjecture 3.2. F ν of a random binary sequence is 12 .

    36

  • 3.2 Negaperiodic Sum of Squares

    3.2.2 Recursions of Negaperiodic Sum of SquaresWe have computed ν (Definition 1.3) for the various graph constructions. Inthe following we present the values and their recursions if they are identified.Again the recursions are only identified computationally. Mathematical proofsare left to future work.

    Line

    ν-values, starting at n = 1:

    0, 16, 0, 0, 1024, 0, 0, 65536, 0, 0, 4194304, 0, 0, 268435456, ..

    recursion:νn = 64νn−3

    closed form recursion:

    νn =2(−2 + 2I

    √3)n( 14 −

    I√

    34 )− 2(−2− 2I

    √3)n( 14 +

    I√

    34 ) + 4

    n

    3F ν = 12 for n ∈ {2,5,8,11}, otherwise F

    ν =∞.

    Circle

    ν-values, starting at n = 3:

    192, 0, 0, 12288, 0, 0, 786432, 0, 0, 50331648, 0, 0, 3221225472, 0, 0, ..

    recursion:νn = 64νn−3

    closed form recursion:

    νn = 4n + (−2 + 2I√

    3)n + (−2− 2I√

    3)n

    F ν = 16 iff n ∈ {2,5,8,11}, otherwise Fν =∞.

    Star

    ν-values, starting at n = 1:

    0, 16, 0, 256, 0, 4096, 0, 65536, 0, 1048576, ..

    recursion:νn = 16νn−2

    closed form recursion:

    νn =(−4)n

    2+

    4n

    2F ν = 12 iff n is an even number, otherwise F

    ν =∞.

    Clique

    ν-values, starting at n = 1:

    0, 16, 192, 1792, 15360, 126976, 1032192, 8323072, 66846720, 535822336, ..

    recursion:νn = 12νn−1 − 32νn−2

    closed form recursion:νn =

    8n

    2− 4n

    F ν = 0.

    37

  • 3 Results

    Wheel

    ν-values, starting at n = 4:

    1792, 0, 4096, 49152, 65536, 0, 7340032, 0,

    16777216, 201326592, 2684354560, 0, 30064771072, 0, ..

    No recursion found this far

    Triangles

    ν-values, starting at n = 3:

    192, 256, 0, 0, 16384, 196608, 262144, 0, 0, 16777216, 201326592, 268435456, ..

    recursion:νn = 1024νn−5

    closed form recursion:

    νn = 4n +∑

    (−(−1− 8R− 32R2)( 1R

    n)1024R4 + 192R3 + 32R2 + 4

    )

    where R = RootOf (256Z4 + 64Z3 + 16Z2 + 4Z + 1)This means that F ν = ∞ when n ≡ 0 or n ≡ 1 (mod 5). F ν = 16 iff n ≡ 3

    (mod 5). F ν = 12 iff n ≡ 2 or n ≡ 4 (mod 5). ≡ is the congruence symbol.

    Cubic Line

    ν values, starting at n = 3:

    48, 128, 512, 2304, 13312, 57344, 241664,

    1114112, 5111808, 22478848, 99090432, 438829056

    No recursion is identified.

    Cubic Circle

    ν values, starting at n = 3:

    48, 640, 0, 5376, 14336, 92160, 233472,

    1228800, 4866048, 22577152, 88604672, 414711808

    No recursion is identified.

    Cubic Clique

    ν-values, starting at n = 4:

    640, 3840, 30720, 258048, 2129920, 16711680, 133693440,

    1072693248, 8598323200, 68702699520, 549621596160, ..

    recursion:νn = 8νn−1 + 256νn−4 − 2048νn−5

    closed form recursion:

    νn =− ∗ 4n + (−4)n + 2(4 ∗ I)n + 2(−4I)n + 8n

    8F ν = 0.

    38

  • 3.2 Negaperiodic Sum of Squares

    Cubic Star

    ν-values, starting at n = 4:

    448, 2304, 15360, 135168, 1097728, 8454144,

    66846720, 537919488, 4307550208, 34376515584, ..

    recursion:νn = 12νn−1 − 48νn−2 + 192νn−3 − 512νn−4

    closed form recursion:

    νn =4n + I(4I)n − I(−4I)n

    4+

    8n

    16

    F ν = 0.

    Cubic Triangles

    ν-values, starting at n = 4:

    448, 1536, 6400, 21504, 102400, 471040,

    2146304, 9764864, 39911424, 175898624, 757071872, ..

    No recursion is identified.

    Single Polynomial of Maximal Degree

    ν-values, starting at n = 3:

    48, 112, 240, 496, 1008, 2032, 4080, 8176, 16368, 32752, ..

    recursion:νn = 3νn−1 − 2νn−2

    closed form recursion:νn = 8 ∗ 2n − 16

    In this case F ν is not bounded, but takes on the value F ν = 2n

    16

    Constant Function

    The ν values are all 0’s as n grows, which means that F ν =∞

    39

  • 3 Results

    Graph p(x)µn: Recursionµn: Closed-FormAsymp.

    Line∑n−2

    i=0 xixi+164νn−32(−2+2I

    √3)n( 14−

    I√

    34 )−2(−2−2I

    √3)n( 14+

    I√

    34 )+4

    n

    312 iff n ∈ {2, 5, 8, 11} otherwise ∞

    Circle xn−1x1 +∑n−2

    i=0 xixi+164νn−34n + (−2 + 2I

    √3)n + (−2− 2I

    √3)n

    16 iff n ∈ {2, 5, 8, 11}, otherwise ∞

    Clique∑i=n−1

    i=0,j

  • 3.2 Negaperiodic Sum of Squares

    Graph p(x)µn: Recursionµn: Closed-FormAsymp.

    Cubic Line∑n−3

    i=0 xixi+1xi+2

    −Cubic Circle xi−2xi−1x0 + xi−1x0x1 +

    ∑n−3i=0 xixi+1xi+2

    −Cubic Clique

    ∑i=n−2i=0,i

  • 3 Results

    (a) Samples for n = 6 (b) Samples for n = 8

    (c) Samples for n = 10

    Figure 3.3: MMF-values of 10 000 sample sequences, n = 6, 8, and 10

    3.3 Aperiodic Sum of SquaresThe aperiodic sum of squares and multivariate merit factor MMF was intro-duced by Parker and Gulliver in [9]. They also found the recursive σ-values ofthe quadratic constructions explored in this thesis. We recite their results togive the complete picture

    3.3.1 Global classificationTable 3.7 shows the results of a complete search for all sequences of lengthN = 2n for n ∈ {2,3,4}.

    n distinct MFν MFνvalues2 2 0.8, 4.03 3 0.421, 1.143, 2.6674 18 0.246, 0.40, 0.552, 0.64, 0.670, 0.727,

    0.8, 0.842, 0.941, 1.0, 1.067, 1.143,1.231, 1.333, 1.455, 1.6, 1.778, 3.2

    Table 3.7: Complete Set of MMF for n = 2 to n = 4

    Figure 3.3 shows 10 000 sample sequences for n ∈ {6,8,10}.

    3.3.2 Recursion of AperiodicSum of SquaresTable 3.8 shows findings for quadratic functions from [9].

    We have focused on the cubic Boolean functions. The simplifications appli-cable to quadratic functions are of no use here, something which makes the

    42

  • 3.3 Aperiodic Sum of Squares

    Graph p(x) σn: Recursion FM

    σn: Closed-Form

    Line∑n−2

    i=0 xixi+1 2σn−1 + 8σn−2 34n

    6 −(−2)n

    6

    Circle xn−1x1 +∑n−2

    i=0 xixi+1 2σn−1 + 8σn−2 1(−2)n

    2 +4n

    2

    Clique∑i=n−1

    i=0,j

  • 3 Results

    Cubic Clique

    σ values, starting at n = 3:

    28, 104, 976, 6880, 35008, 193664, 1259776, 7820800, 45349888,

    267905024, 1632587776, 9862635520, 58773127168, 351565021184, ..

    This indicates the recursion:

    σn = 6σn−1 − 12σn−2 + 72σn−3 + 64σn−4 − 384σn−5

    closed Form:

    σn =6n + (−2)n + 2 ∗ 2n − (−4i)n − (4i)n

    8

    FM = 0

    Cubic Star

    σ values, starting at n = 3:

    28, 152, 976, 5920, 35008, 209792, 1259776, 7559680, 45349888,

    272095232, 1632587776, 9795543040, 58773127168, 352638697472, ..

    recursion:σn = 6σn−1 + 16σn−4 − 96σn−5

    closed form:

    σn =6n + (−2)n + 2 ∗ 2n − 4(−2i)n − 4(2i)n

    8FM = 0

    Cubic Triangles

    σ values, starting at n = 3:

    28, 152, 688, 3168, 12736, 56448, 243968, 1063424, 4563968,

    19789824, 85151744, 366649344, 1573765120, 6756990976, ..

    no recursion

    singleMonomialOfMaxDegreeSigma

    σ values:1, 2, 28, 320, 2656, 18872, 124048, 782840,

    4833136, 29480792, 178609168, 1077909560, ..

    σn = 16σn−1 − 95σn−2 + 260σn−3 − 324σn−4 + 144σn−5Closed Form:

    σn =6n

    2− 4

    n

    2− 4 ∗ 3n + 8 ∗ 2n − 4

    FM = 0

    44

  • 3.4 Fixed Aperiodic Sum of Squares

    (a) All sequences, n = 4 (b) Samples for n = 6

    (c) Samples for n = 8

    Figure 3.4: CMF-values of all length 16 sequences, and 10 000 sample sequences ofn = 6 and 8

    Constant Function

    σ values:

    1, 14, 148, 1400, 12496, 107744, 908608, 7548800, 62070016, ..

    σn = 14σn−1 − 48σn−2Closed Form:

    σn =8n

    2− 6

    n

    2

    FM = 0

    3.4 Fixed Aperiodic Sum of Squares

    3.4.1 Global classificationAgain we start with a complete search through the shortest sequences. CMF iscomputed for all sequences of length N = 2n for n ∈ {2,3,4} - Table 3.10.

    We have also searched through 10 000 sample sequences for n ∈ {6,8}. Theresults, together with the complete search for n = 4, are presented in Figure 3.4.Again the values focus round CMF = 1.

    Conjecture 3.3. CMF of a random binary sequence is 1.0

    3.4.2 Recursions of Fixed Aperiodic Sum of SquaresAs with the other metrics, E form recursions as the sequences grow larger, andhere we present our numerical results for the different functions.

    45

  • 3 Results

    Graph p(x)µn: Recursionµn: Closed-FormAsymp.

    Cubic Line∑n−3

    i=0 xixi+1xi+28σn−1 − 12σn−2 − 16σn−3 − 32σn−4+128σn−5 − 128σn−6 + 512σn−7− 4

    n

    2 +∑

    R(−(1+2R+8R2−48R3+32R4−128R5)( 1R

    n)

    1536R5+256R3−16R−8 )R ∈ roots of (128Z6 + 32Z4 − 4Z2 − 4Z + 1)

    0Cubic Circle xi−2xi−1x0 + xi−1x0x1 +

    ∑n−3i=0 xixi+1xi+2

    −Cubic Clique

    ∑i=n−2i=0,i

  • 3.4 Fixed Aperiodic Sum of Squares

    n distinct CMF CMFvalues2 2 1.286, 3.03 4 0.730, 1.286, 1.421, 2.0774 12 0.463, 0.675, 0.730, 0.786, 0.976, 0.920,

    1.025, 1.080, 1.125, 1.141, 1.209, 1.266,1.286, 1.373, 1.446, 1.473, 1.588, 1.723

    Table 3.10: Complete Set of CMF for n = 2 to n = 4

    This suggests the recursion

    En = 10En−1 − 8En−2 − 96En−3

    Closed form:

    En =6n

    2+ (

    14− 3√

    520

    ) ∗ (2− 2√

    5)n + (14

    +3√

    520

    ) ∗ (2 + 2√

    5)n

    Circle

    The actual seqence of E as the graph increases for the circle is:

    1, 6, 52, 376, 2256, 15584, 105792, 733056,

    5053696, 34778624, 238031872, 1621129216, ..

    This suggests the recursion

    En = 14En−1 − 48En−2 − 64En−3 + 384En−4

    Closed form:

    En =4n

    2+

    (2− 2√

    5)n

    2+

    (2 + 2√

    5)n

    2− 6

    n

    2

    Clique

    The actual sequence of E as the graph increases for the clique is:

    1, 6, 52, 504, 4816, 44256, 392512, 3387264, 28646656, 238726656, ..

    This suggests the recursion

    En = 18En−1 − 104En−2 − En−3

    Closed form:En =

    8n

    4− 6

    n

    2+

    4n

    2

    Triangles

    The actual sequence of E as the graph increases for the triangles is:

    (1, 6, )52, 376, 2256, 15584, 105792, 700288,

    4660480, 30584320, 200283136, 1310750720, 8535592960, ..

    47

  • 3 Results

    This suggests the recursion

    En = 10E−1 − 24En−2 + 64En−3 − 384En−4 + 1024En−5 − 6144En−6

    Closed form:

    En = −6n

    2+ (

    ∑r

    (−(−1− 4r − 16r2 − 64r3 − 256r4)( 1r )

    n

    (10240r4 + 384r2 + 8)r))

    r ∈ roots of 1024z5 + 64z3 + 4z − 1

    Star

    The actual sequence of E as the graph increases for the star is:

    1, 6, 52, 504, 4816, 44256, 392512, 3387264, 28646656, 238726656, ..

    This suggests the recursion

    En = 18En−1 − 104En−2 − 192En−3

    Closed form:En = −

    6n

    2+

    8n

    4+

    4n

    2This is exactly the same as for the clique

    Wheel

    The actual sequence of E as the graph increases for the wheel is:

    1, 6, 52, 504, 2768, 13536, 97600, 634752, 4005120, 26390016, ..

    This yields no recursion.

    Cubic Line

    E values, starting at n = 3:

    76, 664, 4848, 35168, 255680, 1819008, 12873472, 90412544, ..

    No recursion is found so far.

    Cubic Clique

    E values, starting at n = 3:

    76, 504, 4336, 34784, 266176, 2097024, 16842496, 134741504, ..

    No recursion found.

    Cubic Star

    E values, starting at n = 3:

    76, 600, 5104, 42464, 350656, 2881920, 23551744, 191512064, ..

    No recursion found.

    48

  • 3.4 Fixed Aperiodic Sum of Squares

    Graph p(x)En: RecursionEn: Closed-FormAsymp.

    Line∑n−2

    i=0 xixi+110En−1 − 8En−2 − 96En−36n

    2 + (14 −

    3√

    520 ) ∗ (2− 2

    √5)n + ( 14 +

    3√

    520 ) ∗ (2 + 2

    √5)n

    −Circle xn−1x1 +

    ∑n−2i=0 xixi+1

    14En−1 − 48En−2 − 64En−3 + 384En−44n

    2 +(2−2

    √5)n

    2 +(2+2

    √5)n

    2 −6n

    2−

    Clique∑i=n−1

    i=0,j

  • 3 Results

    Closed Form:

    En =8n

    2− 6

    n

    2+ 4 ∗ 2n + 8 ∗ 3n − 4 ∗ 4n

    Constant Function

    We have looked at the E values for the constant function

    f(x) = 0

    as n grows larger. These are

    1, 14, 148, 1400, 12496, 107744, 908608, 7548800, 62070016, ..

    This implies the recursion

    En = 14 ∗ En−1 − 48 ∗ En−2

    Closed Form:

    En =8n

    2− 6

    n

    2

    3.5 The {I,H}-transform3.5.1 Global classificationTable 3.12 shows the MFξ values (Definition 1.21) of the short sequences.

    n distinct ξ ξvalues2 2 0.222, 0.3333 5 0.148, 0.222, , 0.232, 0.267, 0.3334 26 0.099, 0.135, , 0.148, 0.155, 0.172, 0.174, 0.178,

    0.187, 0.191, , 0.193, 0.198, 0.200, 0.201, 0.213,0.217, 0.218, , 0.222, 0.226, 0.232, 0.236, 0.237,0.243, 0.259, , 0.260, 0.267, 0.333

    Table 3.12: Complete Set of MFξ for n = 2 to n = 4

    Values are rounded to three decimals.

    We have also searched through 10 000 sample sequences for n ∈ {5,6,7}. Theresults, are presented in Figure 3.5. The average value seems to be a little morethan 16 , but getting closer to

    16 as n gets larger. Again the average MFξ is

    estimated via the average ξ values.

    3.5.2 Recursions of the {I,H}-transformImplementing the use of algebraic polar form is a great improvement in com-putational power with respect to the {I,H}-transform. We have computed thistransform for the quadratic functions, and we have found recursions for allthese constructions. This way of computing was crucial in order to obtain adeep recursion as that for the wheel. We denote the {I,H}-transform values byξ.

    50

  • 3.5 The {I,H}-transform

    (a) Samples for n = 5 (b) Samples for n = 6

    (c) Samples for n = 7

    Figure 3.5: MFξ-values

    MFξ-values of 10 000 sample sequences for n ∈ {6,7,8}

    Line

    ξ-values, starting at n = 1:

    24, 120, 528, 2496, 11328, 52608, 241152, 1113600,

    5121024, 23605248, 108662784, 500588544, ..

    recursion:ξn = 2ξn−1 + 12ξn−2

    closed form recursion:

    (12− 5√

    1326

    )(1−√

    13)n + (12

    +5√

    1326

    )(1 +√

    13)n

    F ξ = 0.

    Circle

    ξ-values, starting at n = 1:

    24, 96, 528, 2016, 9984, 43392, 205056, 927744,

    4310016, 19740672, 91176960, 419192832, 1932410880, ..

    recursion:ξn = 4ξn−1 + 8ξn−2 − 24ξn−3

    closed form recursion:

    ξn = 2 ∗ 2n + (1 +√

    13)n + (1−√

    13)n

    F ξ = 0.

    51

  • 3 Results

    Star

    ξ-values, starting at n = 1:

    24, 120, 672, 3936, 23424, 140160, 840192, 5039616,

    30234624, 181401600, 1088397312, 6530359296, 39182106624, ..

    recursion:ξn = 8ξn−1 − 12ξn−2

    closed form recursion:

    ξn =6n + 3 ∗ 2n

    2

    F ξ = 0.

    Clique

    ξ-values, starting at n = 1:

    24, 96, 384, 1536, 6144, 24576, 98304, 393216,

    1572864, 6291456, 25165824, 100663296, 402653184, ..

    recursion:ξn = 4ξn−1

    closed form recursion:

    ξn =3 ∗ 4n

    2

    F ξ = 13 .

    Wheel

    ξ-values, starting at n = 4:

    24, 96, 384, 2400, 8064, 35328, 152064, 714240, 3121152, 14039040, 63283200, 289112064,

    1313832960, 5995462656, 27400863744, 125565272064, 575632048128, 2641725751296, ..

    recursion:

    ξn = 6ξn−1 − 32ξn−3 + 64ξn−4 − 256ξn−5 − 192ξn−6 + 1152ξn−7

    closed form recursion:

    ξn = 2 ∗ 4n − 2 ∗ (−4)n +3I2∗ (−4 ∗ I)n − 3I

    2∗ (4 ∗ I)n

    where I =√−1

    F ξ = 0.

    52

  • 3.6 Multiplication of Boolean functions

    Triangles

    ξ-values, starting at n = 3:

    24, 96, 480, 2016, 8256, 37632, 162816, 691200, 3056640,

    13277184, 57040896, 249200640, 1083408384, 4683694080, ..

    recursion:

    ξn = 4ξn−1 − 8ξn−2 + 48ξn−3 − 96ξn−4 + 288ξn−5

    closed form recursion:

    ξn =∑R

    ((−144 ∗R4 − 24 ∗R2 − 3)( 1R )

    n

    2− 8R + 72R2 − 192R3 + 720R4)

    where R ∈ Roots Of 288Z5 + 48Z3 − 96Z4 − 8Z2 + 4Z − 1)F ξ = 0.

    3.6 Multiplication of Boolean functionsTwo Boolean functions can be multiplied together to form a new Boolean func-tion. We have looked at the product of a few of the functions presented earlier.Then we have computed σ and E of the new sequence generated by this product.We have then looked for a relation between the σ and E values of the originalfunctions and the σ and E values of their product function.

    Line * Star

    We know from before the Line function

    L(x) = x0x1 + x1x2 + x2x3 + ...

    and the Star function

    S(x) = x0x1 + x0x2 + x0x3 + ...

    We define a new Boolean function

    LS(x) = L(x) ∗ S(x)

    This function produce the following σ values starting at n=1:

    1, 2, 28, 184, 2064, 9936, 60736, 290432,

    1758208, 10003392, 63900672, 384112640, ..

    So far this yields no linear recursion.The E values are:

    1, 6, 76, 664, 8368, 57472, 470464, 3248000, 26311936, 204568576, ..

    This also yields no linear recursion.

    53

  • 3 Results

    Line * Clique

    We define the function for the clique:

    C(x) =i=n−1∑

    i=0,i

  • Chapter 4Conclusion

    In this thesis we have looked at several autocorrelation functions and their corre-sponding merit factors. Multidimensional periodic and negaperiodic autocorre-lations are defined, and their relation to the unitary transforms of the hadamardand the negahadamerd matrix have been shown. The autocorrelations are ex-pressed through merit factors MFµ, MFν and MFξ. We have reviewed themultidimensional aperiodic autocorrelation, with and without variable fixing,and the corresponding multivariate merit factor (MMF) and the Clifford meritfactor (CMF).

    We have presented various binary sequence constructions created from Booleanfunctions. Focus have been on Boolean functions of degree 2 and 3, i.e. quadraticand cubic functions. Different approaches to representing functions and se-quences have been reviewed. We have shown how such constructions can beused to produce sequences of long lengths by increasing the number of Booleanvariables. We have found that the autocorrelation values of a given sequenceconstruction form can be expressed as recursions as the number of variables inthe Boolean function increases.

    Finding recursions is a matter of computing autocorrelations or transformof an initial set of sequences large enough to reveal their relationship. Wehave implemented different algorithms in combination with different sequencerepresentations to push the limits of complexity and computational power.

    The results from the thesis is a classification of shorter binary sequences withthe respect to the different merit factors. We have presented samples meritfactors of longer sequences. Via the recursive autocorrelation values We haveidentified asymptotic merit factors as the length of the sequences goes to infinity.

    We propose some topics to explore in the extension of this thesis.

    • Develop mathematical proofs that the identified recursions are correct.

    • Further research to discover specific sequence constructions with highMFµ and MFν .

    • Develop theory and software to use the different autocorrelations in dif-ferential cryptanalysis.

    • Extend representations and algorithms to achieve faster autocorrelationcomputations for functions of degree higher than two.

    55

  • Bibliography

    [1] Aigner, M. and van der Holst, H.: “Interlace polynomials”. LinearAlgebra and its Applications, 377, pp. 11–30, January 2004.

    [2] Arratia, R., Bollobás, B., and Sorkin, G. B.: “The interlace poly-nomial of a graph”. Journal of Combinatorial Theory, Series B , 92(2),pp. 199–233, November 2004. http://arxiv.org/pdf/math/0209045.

    [3] Danielsen, L. E.: “On the properties and symmetries of self-dual quan-tum codes, graphs, and boolean functions”. March 2005. Master’s Thesis,Department of Informatics, University of Bergen, Norway.

    [4] Danielsen, L. E., Gulliver, T. A., and Parker, M. G.: “Aperiodicpropagation criteria for Boolean functions”, Aug 2004. ECRYPT InternalDocument, STVL-UiB-1-APC-1.0. http://www.ii.uib.no/~matthew/GenDiff4.pdf.

    [5] Golay, M. J. E.: “The merit factor of long low autocorrelation binarysequences”. IEEE Trans. Inform. Theory , 28(3), pp. pp. 543–549, May1982.

    [6] Kristiansen, R. A.: On the Aperiodic Autocorrelation of Binary Se-quences. Master’s thesis, Selmer Centre, Inst. for Informatics, Univer-sity of Bergen, Norway, March 2003. http://www.ii.uib.no/~matthew/Masters/notes.ps.

    [7] Parker, M. G.: “Even length binary sequence families with low negape-riodic autocorrelation”. November 2001. Presented at AAECC-14, Nov26-30, Melbourne, Australia, 2001. http://www.ii.uib.no/~matthew/NPAutMel4.pdf.

    [8] Parker, M. G.: “Univariate and multivariate merit factors”, January2005. To appear in the proceedings of Sequences and Their Applications,SETA’04, Lecture Notes in Computer Science, Springer-Verlag. http://www.ii.uib.no/~matthew/seta04-mf.pdf.

    [9] Parker, M. G. and Gulliver, A. T.: “The multivariate merit factor ofa boolean function”. January 2005. Submitted to ITW2005. http://www.ii.uib.no/~matthew/NZRecursions1.pdf.

    [10] Parker, M. G. and Rijmen, V.: “The quantum entanglement of binaryand bipolar sequences”. In Sequences and Their Applications, Proceedingsof SETA’01 .

    57

    http://arxiv.org/pdf/math/0209045http://www.ii.uib.no/~matthew/GenDiff4.pdfhttp://www.ii.uib.no/~matthew/GenDiff4.pdfhttp://www.ii.uib.no/~matthew/Masters/notes.pshttp://www.ii.uib.no/~matthew/Masters/notes.pshttp://www.ii.uib.no/~matthew/NPAutMel4.pdfhttp://www.ii.uib.no/~matthew/NPAutMel4.pdfhttp://www.ii.uib.no/~matthew/seta04-mf.pdfhttp://www.ii.uib.no/~matthew/seta04-mf.pdfhttp://www.ii.uib.no/~matthew/NZRecursions1.pdfhttp://www.ii.uib.no/~matthew/NZRecursions1.pdf

  • Bibliography

    [11] Preneel, B., Van Leekwijck, W., Van Linden, L., Govaerts, R.,and Vandewalle, J.: “Propagation characteristics of boolean functions”.1990. Advances in Cryptology – EUROCRYPT ’90. 161-173.

    [12] Raussendorf, R. and Briegel, H. J.: “A one-way quantum computer”.Phys. Rev. Lett., 86, pp. pp. 5188–5191, 2001.

    [13] Riera, C. and Parker, M. G.: “Generalised bent criteria for Booleanfunctions (I)”, December 2004. Submitted to IEEE Transactions on Infor-mation Theory. http://arxiv.org/pdf/cs.IT/0502049.

    [14] Riera, C. and Parker, M. G.: “Spectral interpretations of the interlacepolynomial”, March 2005. Accepted for WCC 2005. http://www.ii.uib.no/~matthew/WCC7.pdf.

    [15] Storøy, D. K.: “Master’s thesis web site”. Online documentation of mas-ter’s thesis, 20