Long code (mathematics) explained

Math logic
Block Length:

2n

for some

n\in\N

Message Length:

logn

Alphabet Size:

2

Notation:

(2n,logn)2

-code

In theoretical computer science and coding theory, the long code is an error-correcting code that is locally decodable. Long codes have an extremely poor rate, but play a fundamental role in the theory of hardness of approximation.

Definition

Let

f1,...,f

2n

:\{0,1\}k\to\{0,1\}

for

k=logn

be the list of all functions from

\{0,1\}k\to\{0,1\}

.Then the long code encoding of a message

x\in\{0,1\}k

is the string

f1(x)\circf2(x)\circ...\circ

f
2n

(x)

where

\circ

denotes concatenation of strings.This string has length

2n=2

2k
.

The Walsh-Hadamard code is a subcode of the long code, and can be obtained by only using functions

fi

that are linear functions when interpreted as functions
k\toF
F
2
on the finite field with two elements. Since there are only

2k

such functions, the block length of the Walsh-Hadamard code is

2k

.

An equivalent definition of the long code is as follows:The Long code encoding of

j\in[n]

is defined to be the truth table of the Boolean dictatorship function on the

j

th coordinate, i.e., the truth table of

f:\{0,1\}n\to\{0,1\}

with

f(x1,...,xn)=xj

.[1] Thus, the Long code encodes a

(logn)

-bit string as a

2n

-bit string.

Properties

The long code does not contain repetitions, in the sense that the function

fi

computing the

i

th bit of the output is different from any function

fj

computing the

j

th bit of the output for

ji

.Among all codes that do not contain repetitions, the long code has the longest possible output.Moreover, it contains all non-repeating codes as a subcode.

Notes and References

  1. Definition 7.3.1 in Limits of Approximation Algorithms: PCPs and Unique Games (DIMACS Tutorial Lecture Notes)