Download - On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

Transcript
Page 1: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

The Selmer CenterDepartment of InformaticsUniversity of BergenNorway

Master of Science Thesis

On Boolean Functions, UnitaryTransforms, and Recursions

Dag Storøy

June 2005

Page 2: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly
Page 3: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 4: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly
Page 5: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 6: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly
Page 7: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 8: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 9: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 10: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly
Page 11: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 12: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly
Page 13: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 14: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 + x1x2

0 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

Page 15: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 x0x1x2

ANF 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

Page 16: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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<=i<j<n

xixj

Figure 1.4: Clique graph

Wheel

The wheel is defined as

xn−1x1 +n−2∑i=1

xixi+1 + x0xi

Figure 1.5: Wheel graph

Triangles

Triangles are defined as

x0x1 +n−3∑i=0

xixi+1 + xixi+2

4

Page 17: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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<j<=n

xixj

5

Page 18: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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<j<k<=n

xixjxk

Figure 1.10: Cubic Clique graph

Cubic Wheel

The cubic wheel is the function defined as

xi−2xi−1x1 + xi−1x1x2 +n−3∑i=1

xixi+1xi+2 + x0

i=n−1∑i=1,i<j<=n

xixj

Figure 1.11: Cubic Wheel graph

Cubic Triangles

The function of cubic triangles is defined as

x0x1x2 +n−3∑i=0

xixi+2xi+3 + xi+1xi+2xi+3

We can also think of other easy structures that we can examine. The two nextones are probably among the worst possible cryptographic functions. Howevertheir results might serve as boundaries, and are also very easy. This might beof help in exploring the more complex functions.

6

Page 19: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 x3

x0 − 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

Page 20: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 ak

b 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 × 2n

matrix such that

8

Page 21: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

1.2 Definitions

Mk =n−1⊗i=0

Pki

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

∑2n

i=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

Page 22: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 =

∑2n

i=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, 1, 1, ..

where ’j + k’ implies jt + kt, ∀t.

In the periodic and negaperiodic case, the original sequence is point multipliedwith a new sequence of the same length. Once a term in the sequences is shifted”out of bounds” it returns on the other side - hence the term periodic. In theaperiodic case this is different. Once an element is shifted outside the sequenceit is disregarded.

This metric comprises both the periodic and negaperiodic case in one auto-correlation function. The vector k is now ternary, and we get eight differentsub-permutations of the sequence.

This can be illustrated by the following:We have a sequence a,b,c,d, of length 22 = 4.

a b c d k for ak ak

a (−1,−1) ada b (−1, 0) ac + bdb (−1, 1) bc

a c (0,−1) ab + cdb d (0, 1) ab + cd

c (1,−1) bcc d (1, 0) ac + bdd (1, 1) ad

10

Page 23: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 ak2

1 (−1,−1) −1 11 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 =

∑2n

i=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

Page 24: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 × s

We 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

Page 25: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 26: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 27: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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,1k=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

Page 28: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 29: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 30: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly
Page 31: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 x3

x0 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

Page 32: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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, Bolloas 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

Page 33: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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) = x0x1

which 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

Page 34: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 xi

fixed 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

Page 35: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

will 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

Page 36: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 xi

in P, and let Vmi be the set of neighbors to xi in MThen 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) is

Note that in a binary spectra APF, p(x) will have no linear terms, butquadratic 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

Page 37: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 38: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 ak

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

= a

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

k=0 a2k)− 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

Page 39: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 ∗ Pindex

end if i ← i - 1index ← index + Ij

j ← j + 1end 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

Page 40: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 41: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 1

4 . It appears that for the shorter sequences the average MFµ isslightly higher than 1

4 , 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 cases

where 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

Page 42: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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µ = 1

8 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

Page 43: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

3.1 Periodic Sum of Squares

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

12 when nis 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 +3I

2∗ (−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µ = 1

56 , 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µ = 1

12 iff n ∈ {4,10,16,22,...}. OtherwiseFµ =∞.

31

Page 44: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 ∗ 4n

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

Page 45: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 46: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

3 Results

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

Line∑n−2

i=0 xixi+1

16µn−24n

2 −(−4)n

218 for n even. Otherwise ∞.

Circle xn−1x1 +∑n−2

i=0 xixi+1

16µn−2

2 ∗ 4n + (−4)n

120 for n even. 1

12 for n odd.Clique

∑i=n−1i=0,j<i xixj

16µn−24n

2 −(−4)n

218 for n even. Otherwise ∞.

Star x0

∑n−1i=1 xi

12µn−1 − 32µn−2

−4n + 8n

40

Wheel xn−1x1 +∑n−2

i=1 xixi+1 + x0xi

256µn−4

128 ∗ 4n + 128 ∗ (−4)n − 96 ∗ (−4 ∗ I)n − 96 ∗ (4 ∗ I)n

156 for n ∈ {1, 5, 9, ...}. 18 for n ∈ {3, 7, 11, ...}.Otherwise ∞.

Triangles x0x1 +∑n−3

i=0 xixi+1 + xixi+2

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

(−2− 2I√

3)n ∗ (− 14 + I

√3

4 )+(−2 + 2I

√3)n ∗ (− 1

4 −I√

34 )

+(2 + 2I√

3)n ∗ (− 14 + I

√3

4 )+(2− 2I

√3)n ∗ (− 1

4 −I√

34 )

+4n

14 for n odd. 1

12 for n ∈ {4, 10, 16, 22, ...}. Otherwise ∞.

Table 3.2: Computational Results for the Periodic Sum of Squares of VariousQuadratic Constructions

34

Page 47: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

3.1 Periodic Sum of Squares

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

Cubic Line∑n−3

i=0 xixi+1xi+2

4µn−1 + 16µn−2 − 16µn−3 − 192µn−4

−769 4n

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<j<k<=n xixjxk

8µn−1 + 256µn−4 − 2048µn−58n

8 + 7∗4n

8 + (−4)n

8 − 3(−4)n

4 − 3∗4n

40

Cubic Star x0

∑i=n−1i=1,i<j<=n xixj

8µn−1 + 256µn−4 − 2048µn−58n

8 + 7∗4n

8 + (−4)n

8 − 3(−4)n

4 − 3∗4n

40

Cubic Triangles x0x1x2 +∑n−3

i=0 xixi+2xi+3 + xi+1xi+2xi+3

−Cubic Wheel xi−2xi−1x1 + xi−1x1x2

+∑n−3

i=1 xixi+1xi+2 + x0

∑i=n−1i=1,i<j<=n xixj

−Sing.Mon.Max.Deg. Πn−1

i=0 xi

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

8n + 24 ∗ 2n − 9 ∗ 4n − 160

Constant Function 012µn−1 − 32µn−2

−4n + 8n

0

Table 3.3: Computational Results for the Periodic Sum of Squares of Various Non-Quadratic Constructions

35

Page 48: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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ν = 1

2 . 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

Page 49: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

4 −I√

34 )− 2(−2− 2I

√3)n( 1

4 + I√

34 ) + 4n

3F ν = 1

2 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 ν = 1

2 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

Page 50: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

R

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 ν = 1

6 iff n ≡ 3(mod 5). F ν = 1

2 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

Page 51: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 52: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

3 Results

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

Line∑n−2

i=0 xixi+1

64νn−3

2(−2+2I√

3)n( 14−

I√

34 )−2(−2−2I

√3)n( 1

4+ I√

34 )+4n

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

Circle xn−1x1 +∑n−2

i=0 xixi+1

64νn−3

4n + (−2 + 2I√

3)n + (−2− 2I√

3)n

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

Clique∑i=n−1

i=0,j<i xixj

12νn−1 − 32νn−28n

2 − 4n

0Star x0

∑n−1i=1 xi

16νn−2(−4)n

2 + 4n

212 iff n is even, otherwise ∞.

Wheel xn−1x1 +∑n−2

i=1 xixi+1 + x0xi

−Triangles x0x1 +

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

1024νn−5

4n +∑

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

n)

1024R4+192R3+32R2+4 )R ∈ roots of (256Z4 + 64Z3 + 16Z2 + 4Z + 1)∞ iff n ≡ 0 or n ≡ 1(mod5).16 iff n ≡ 3(mod5).12 iff n ≡ 2 or n ≡ 4(mod5).

Table 3.5: Computational Results for the Negaperiodic Sum of Squares of VariousQuadratic Constructions

40

Page 53: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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<j<k<=n xixjxk

8νn−1 + 256νn−4 − 2048νn−5−∗4n+(−4)n+2(4∗I)n+2(−4I)n+8n

80

Cubic Star x0

∑i=n−1i=1,i<j<=n xixj

12νn−1 − 48νn−2 + 192νn−3 − 512νn−44n+I(4I)n−I(−4I)n

4 + 8n

160

Cubic Triangles x0x1x2 +∑n−3

i=0 xixi+2xi+3 + xi+1xi+2xi+3

−Cubic Wheel xi−2xi−1x1 + xi−1x1x2 +

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

+x0

∑i=n−1i=1,i<j<=n xixj

−Sing.Mon.Max.Deg. Πn−1

i=0 xi

3νn−1 − 2νn−2

8 ∗ 2n − 162n

16

Constant Function 000∞

Table 3.6: Computational Results for the Negaperiodic Sum of Squares of VariousNon-Quadratic Constructions

41

Page 54: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 55: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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<i xixj 10σn−1 − 20σn−2 0−40σn−3 + 96σn−4

2n

2 + 6n

4 −4n

2 −(−2)n

4

Star x0

∑n−1i=1 xi 12σn−1 − 44σn−2 + 48σn−3 0

2n − 4n

2 + 6n

6

Triangles x0x1 +∑n−3

i=0 xixi+2 + xi+1xi+2 2σn−1 + 16σn−3 + 256σn−553

( 584 i√

7− 112 )(1 +

√7i)n − ( 5

84 i√

7 + 112 )(1−

√7i)n

−( 115 + 2

15 i)(−2 + 2i)n − ( 115 −

215 i)(−2− 2i)n + 3

104n

Wheel xn−1x1 +∑n−2

i=1 xixi+1 + x0xi 4σn−2 + 32σn−3 + 64σn−4 14n

2 −(−2)n

2 − ( 14 + 1

4 i√

7)(−1 +√

7i)n + (− 14 + 1

4 i√

7)(−1−√

7i)n

Table 3.8: Results for the Multidimensional Merit Factor of Various Constructions

computations more difficult. The aperiodic sum of squares is also a more com-plex metric compared to the periodic and negaperiodic case, something whichmakes computations significantly more time consuming. We have been able tocompute recursions for some of the constructions.

Cubic Line

σ values, starting at n = 3:

28, 184, 816, 3872, 18496, 85376, 398080, 1835520, 8434688,

38639616, 176336896, 802824192, 3646111744, 16525656064, ..

This indicates the recursion:

σn = 8σn−1 − 12σn−2 − 16σn−3 − 32σn−4 + 128σn−5 − 128σn−6 + 512σn−7

Remark that this is a recursion of depth 7, and we have only 14 σ-values, soat this point the recursion can’t really be trusted.

Then the closed form is:

σn = −4n

2+

∑R

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

R

n)1536R5 + 256R3 − 16R− 8

)

where R ∈ roots of (128Z6 + 32Z4 − 4Z2 − 4Z + 1)FM = 0

Cubic Circle

σ values, starting at n = 3:

28, 104, 656, 2464, 10816, 52864, 236800, 1098240, 5047296, 23324672, ..

No recursion found.

43

Page 56: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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−5

Closed Form:

σn =6n

2− 4n

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

FM = 0

44

Page 57: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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−2

Closed Form:σn =

8n

2− 6n

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

Page 58: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

3 Results

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

Cubic Line∑n−3

i=0 xixi+1xi+2

8σn−1 − 12σn−2 − 16σn−3 − 32σn−4

+128σn−5 − 128σn−6 + 512σn−7

− 4n

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<j<k<=n xixjxk

6σn−1 − 12σn−2 + 72σn−3 + 64σn−4 − 384σn−56n+(−2)n+2∗2n−(−4i)n−(4i)n

80

Cubic Star x0

∑i=n−1i=1,i<j<=n xixj

6σn−1 + 16σn−4 − 96σn−56n+(−2)n+2∗2n−4(−2i)n−4(2i)n

80

Cubic Triangles x0x1x2 +∑n−3

i=0 xixi+2xi+3 + xi+1xi+2xi+3

−Cubic Wheel xi−2xi−1x1 + xi−1x1x2 +

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

+x0

∑i=n−1i=1,i<j<=n xixj

−Single Πn−1

i=0 xi

Monomial 16σn−1 − 95σn−2 + 260σn−3 − 324σn−4 + 144σn−5

of Maximal 6n

2 −4n

2 − 4 ∗ 3n + 8 ∗ 2n − 4Degree −Constant Function 0

14σn−1 − 48σn−28n

2 −6n

2−

Table 3.9: Computational Results for the Aperiodic Sum of Squares of Various Non-Quadratic Constructions

Line

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

1, 6, 52, 376, 2768, 19680, 138560, 962432, 6626560, 45264384, 307237888, ..

46

Page 59: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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− 6n

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− 6n

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

Page 60: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

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

Page 61: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

3.4 Fixed Aperiodic Sum of Squares

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

Line∑n−2

i=0 xixi+1

10En−1 − 8En−2 − 96En−36n

2 + ( 14 −

3√

520 ) ∗ (2− 2

√5)n + ( 1

4 + 3√

520 ) ∗ (2 + 2

√5)n

−Circle xn−1x1 +

∑n−2i=0 xixi+1

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

4n

2 + (2−2√

5)n

2 + (2+2√

5)n

2 − 6n

2−

Clique∑i=n−1

i=0,j<i xixj

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

En = 8n

4 −6n

2 + 4n

2−

Star x0

∑n−1i=1 xi

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

− 6n

2 + 8n

4 + 4n

2−

Wheel xn−1x1 +∑n−2

i=1 xixi+1 + x0xi

−Triangles x0x1 +

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

10En−1 − 24En−2 + 64En−3 − 384En−4

+1024En−5 − 6144En−6

6n

2 + (∑

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

r )n

(10240r4+384r2+8)r ))r ∈ roots of 1024z5 + 64z3 + 4z − 1−

Table 3.11: Computational Results for the Fixed Aperiodic Sum of Squares of Vari-ous Quadratic Constructions

Cubic Triangles

E values, starting at n = 3:

76, 600, 4080, 28896, 193984, 1334144, 9020160, 61027840, ..

No recursion found.

Single Monomial of Maximal Degree

The E values are:

1, 6, 76, 960, 10216, 96936, 860056, 7338120, 61176856, 502911816, 4098200536, ..

This suggests the recursion

E(n) = 23 ∗ En−1 − 200 ∗ En−2 + 820 ∗ En−3 − 1584 ∗ En−4 + 1152 ∗ En−5

49

Page 62: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

3 Results

Closed Form:

En =8n

2− 6n

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− 6n

2

3.5 The {I,H}-transform

3.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 1

6 , 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

Page 63: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 64: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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 +3I

2∗ (−4 ∗ I)n − 3I

2∗ (4 ∗ I)n

where I =√−1

F ξ = 0.

52

Page 65: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

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

Page 66: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

3 Results

Line * Clique

We define the function for the clique:

C(x) =i=n−1∑

i=0,i<j<=n

xixj

Then we calculate σ and E for the function LC(x) = L(x)*C(x).We get the following σ values:

1, 2, 12, 80, 336, 2224, 19392, 124384, 721920, 3814848, 19977344, 106582144, ..

and the E values:

1, 6, 52, 448, 3120, 21760, 207680, 1589760, 11911936, 84054016, ..

None of these sequences yield any recursion either.We wanted to see if we could find a relation between recursions of the product

functions and the recursions of the building blocks. So far we haven’t establishedany recursions for the products, but we will speculate based on the numbers wehave found. As seen in the first section the E values for the star and the cliqueare equal. We see here that the E values of LC(x) and LS(x) are different,even though both are built from functions with equal E values. This does notsupport an obvious connection between E(L(x)), E(C(X)) and E(LC(x)) and soon.

We cannot use the same argument for σ since the values are different andwe have not found the recursions for the product functions. This seems to bevery hard as these functions areo not only limited to cubic terms, but also havequadruple terms.

54

Page 67: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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

Page 68: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly
Page 69: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

Bibliography

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

[2] Arratia, R., Bollobas, 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

Page 70: On Boolean Functions, Recursions and Unitary Transformsmatthew/Masters/Dag.pdf · 1.2.2 Boolean functions A Boolean variable is a variable with two different possible values, commonly

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, 2005. http://rasmus.uib.no/~dst033/index.html.

[16] Weisstein, E. W.: “Complete bipartite graph”. MathWorld–A Wolfram Web Resource, 1999. http://mathworld.wolfram.com/CompleteBipartiteGraph.html.

[17] Weisstein, E. W.: “Elementary row and column operations”.MathWorld–A Wolfram Web Resource, 1999. http://mathworld.wolfram.com/ElementaryRowandColumnOperations.html.

[18] Weisstein, E. W.: “Pauli matrices”. MathWorld–A Wolfram Web Re-source, 1999. http://mathworld.wolfram.com/PauliMatrices.html.

[19] Weisstein, E. W.: “Sequence”. MathWorld–A Wolfram Web Resource,1999. http://mathworld.wolfram.com/Sequence.html.

[20] Weisstein, E. W.: “Unitary matrix”. MathWorld–A Wolfram Web Re-source, 1999. http://mathworld.wolfram.com/UnitaryMatrix.html.

[21] Wolfram Research, I.: “What is mathematica”. Online introduction toMathematica, 2005. http://www.wolfram.com/products/mathematica/introduction.html.

[22] Zhang, X. M. and Zheng, Y.: “Gac - the criterion for global avalanchecharacteristics of cryptographic functions”. J. Universal Computer Science,1(5), pp. pp. 320–337, 1995.

58