In
theoretical computer science
Theoretical computer science is a subfield of computer science and mathematics that focuses on the Abstraction, abstract and mathematical foundations of computation.
It is difficult to circumscribe the theoretical areas precisely. The Associati ...
and
coding theory
Coding theory is the study of the properties of codes and their respective fitness for specific applications. Codes are used for data compression, cryptography, error detection and correction, data transmission and computer data storage, data sto ...
, the long code is an
error-correcting code
In computing, telecommunication, information theory, and coding theory, forward error correction (FEC) or channel coding is a technique used for controlling errors in data transmission over unreliable or noisy communication channels.
The centra ...
that is
locally decodable
A locally decodable code (LDC) is an error-correcting code that allows a single bit of the original message to be decoded with high probability by only examining (or querying) a small number of bits of a possibly corrupted codeword.Sergey Yekhan ...
. Long codes have an extremely poor rate, but play a fundamental role in the theory of
hardness of approximation.
Definition
Let
for
be the list of ''all'' functions from
.
Then the long code encoding of a message
is the string
where
denotes concatenation of strings.
This string has length
.
The
Walsh-Hadamard code is a subcode of the long code, and can be obtained by only using functions
that are
linear function
In mathematics, the term linear function refers to two distinct but related notions:
* In calculus and related areas, a linear function is a function whose graph is a straight line, that is, a polynomial function of degree zero or one. For di ...
s when interpreted as functions
on the
finite field
In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field (mathematics), field that contains a finite number of Element (mathematics), elements. As with any field, a finite field is a Set (mathematics), s ...
with two elements. Since there are only
such functions, the block length of the Walsh-Hadamard code is
.
An equivalent definition of the long code is as follows:
The Long code encoding of
Limits of Approximation Algorithms: PCPs and Unique Games (DIMACS Tutorial Lecture Notes)/ref>
Thus, the Long code encodes a
(\log n)-bit string as a
2^n-bit string.
Properties
The long code does not contain repetitions, in the sense that the function
f_i computing the
ith bit of the output is different from any function
f_j computing the
jth bit of the output for
j\neq i.
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.
References
{{reflist
Coding theory
Error detection and correction