Here is a list of cyclic codes.

[Jump to code graph excerpt]

Code Description
Binary BCH code Cyclic binary code of odd length \(n\) whose zeroes are consecutive powers of a primitive \(n\)th root of unity \(\alpha\) (see Cyclic-to-polynomial correspondence). More precisely, the generator polynomial of a BCH code of designed distance \(\delta\geq 1\) is the lowest-degree monic polynomial with zeroes \(\{\alpha^b,\alpha^{b+1},\cdots,\alpha^{b+\delta-2}\}\) for some \(b\geq 0\). BCH codes are called narrow-sense when \(b=1\), and are called primitive when \(n=2^r-1\) for some \(r\geq 2\).
Binary duadic code Member of a pair of cyclic linear binary codes that satisfy certain relations, depending on whether the pair is even-like or odd-like duadic. Duadic codes exist for lengths \(n\) that are products of powers of primes, with each prime being \(\pm 1\) modulo \(8\) [1].
Binary quadratic-residue (QR) code Member of a quadruple of cyclic binary codes of prime length \(n=8m\pm 1\) for \(m\geq 1\) constructed using quadratic residues and nonresidues of \(n\).
Bose–Chaudhuri–Hocquenghem (BCH) code Cyclic \(q\)-ary code, with \(n\) and \(q\) relatively prime, whose zeroes are consecutive powers of a primitive \(n\)th root of unity \(\alpha\). More precisely, the generator polynomial of a BCH code of designed distance \(\delta\geq 1\) is the lowest-degree monic polynomial with zeroes \(\{\alpha^b,\alpha^{b+1},\cdots,\alpha^{b+\delta-2}\}\) for some \(b\geq 0\). BCH codes are called narrow-sense when \(b=1\), and are called primitive when \(n=q^r-1\) for some \(r\geq 2\). More general BCH codes can be defined for zeroes are powers of the form \(\{b,b+s,b+2s,\cdots,b+(\delta-2)s\}\) where gcd\((s,n)=1\).
Cyclic code A block code of length \(n\) over an alphabet is cyclic if, for each codeword \(c_1 c_2 \cdots c_n\), the cyclically shifted string \(c_n c_1 \cdots c_{n-1}\) is also a codeword.
Cyclic linear \(q\)-ary code A \(q\)-ary code of length \(n\) is cyclic if, for each codeword \(c_1 c_2 \cdots c_n\), the cyclically shifted string \(c_n c_1 \cdots c_{n-1}\) is also a codeword. A cyclic code is called primitive when \(n=q^r-1\) for some \(r\geq 2\). A shortened cyclic code is obtained from a cyclic code by taking only codewords with the first \(j\) zero entries, and deleting those zeroes.
Cyclic linear binary code A binary code of length \(n\) is cyclic if, for each codeword \(c_1 c_2 \cdots c_n\), the cyclically shifted string \(c_n c_1 \cdots c_{n-1}\) is also a codeword. A cyclic code is called primitive when \(n=2^r-1\) for some \(r\geq 2\). A shortened cyclic code is obtained from a cyclic code by taking only codewords with the first \(j\) zero entries, and deleting those zeroes.
Cyclic redundancy check (CRC) code A generalization of the single parity-check code in which the generalization of the parity bit is the remainder of the data string (mapped into a polynomial via the Cyclic-to-polynomial correspondence) divided by some generator polynomial. A notable family of codes is referred to as CRC-(\(m-1\)), where \(m\) is the length of the generator polynomial.
Difference-set cyclic (DSC) code Cyclic LDPC code constructed deterministically from a difference set. Certain DCS codes satisfy more redundant constraints than Gallager codes and thus can outperform them [2].
Narrow-sense RS code An \([q-1,k,n-k+1]_q\) RS code whose points \(\alpha_i\) are all \((i-1)\)st powers of a primitive element \(\alpha\) of \(\mathbb{F}_q\).
Octacode The unique self-dual linear \((8,4^4,6)_{\mathbb{Z}_4}\) code of Euclidean distance 8. Its shortened version is called the \((7,4^3,6)_{\mathbb{Z}_4}\) heptacode.
One-hot code A nonlinear binary code whose codewords are all those with Hamming weight one. The reverse of this code, where all codewords have Hamming weight \(n-1\) is called a one-cold code.
Primitive narrow-sense BCH code A \(q\)-ary BCH code for \(b=1\) and for \(n=q^r-1\) for some \(r\geq 2\).
Quadratic-residue (QR) code Member of a quadruple of cyclic \(q\)-ary codes of prime length \(n\) where \(q\) is prime and a quadratic-residue modulo \(n\). The codes are constructed using quadratic residues and nonresidues of \(n\). Extensions to prime-power \(q\) are also known [3,4].
Repetition code \([n,1,n]\) binary linear code encoding one bit of information into an \(n\)-bit string. The length \(n\) needs to be an odd number, since the receiver will pick the majority to recover the information. The idea is to increase the code distance by repeating the logical information several times. It is a \((n,1)\)-Hamming code. Its automorphism group is \(S_n\).
Zetterberg code Family of binary cyclic \([2^{2s}+1,2^{2s}-4s+1]\) codes with distance \(d>5\) generated by the minimal polynomial \(g_s(x)\) of \(\alpha\) over \(\mathbb{F}_2\), where \(\alpha\) is a primitive \(n\)th root of unity in the field \(\mathbb{F}_{2^{4s}}\). They are quasi-perfect codes and are one of the best known families of double-error correcting binary linear codes
\([11,6,5]_3\) Ternary Golay code A \([11,6,5]_3\) perfect ternary linear code with connections to various areas of mathematics, e.g., lattices [5] and sporadic simple groups [6]. Adding a parity bit to the code results in the self-dual \([12,6,6]_3\) extended ternary Golay code. Up to equivalence, both codes are unique for their respective parameters [7]. The dual of the ternary Golay code is a \([11,5,6]_3\) projective two-weight subcode.
\([23, 12, 7]\) Golay code A \([23, 12, 7]\) perfect binary linear code with connections to various areas of mathematics, e.g., lattices [5] and sporadic simple groups [6]. Up to equivalence, it is unique for its parameters [7]. The dual of the Golay code is its \([23,11,8]\) even-weight subcode [8,9].
\([2^m -1, 2^m - 1 - 2m, 5]\) Melas code Cyclic linear code with generator polynomial is \(g(x) = p(x)p(x)^{\star}\), where \(p(x)\) is a primitive polynomial of degree \(m\) that is the minimal polynomial over \(\mathbb{F}_2\) of an element \(\alpha\) of order \(2^m -1\) in \(\mathbb{F}_{2^m}\), \(m\) is odd and greater that five, and ‘\(\star\)‘ denotes reciprocation [10].
\([2^r-1, 2r ]\) Gold code A cyclic binary linear code characterized by the generator polynomial of degree \(r\) of two maximum-period sequences of period \(2^r-1\) with absolute cross-correlation \( \leq 2^{(r+2)/2}\). Gold codewords are generated using \(m\)-sequences \(x\) and \(y\), which are codewords of simplex codes with check polynomials of degree \(r\) [11].
\([2^r-1,2^r-r-1,3]\) Hamming code Member of an infinite family of perfect linear codes with parameters \([2^r-1,2^r-r-1, 3]\) for \(r \geq 2\). Their \(r \times (2^r-1) \) parity-check matrix \(H\) has all possible nonzero \(r\)-bit strings as its columns. Adding a parity check yields the \([2^r,2^r-r-1, 4]\) extended Hamming code.
\([2^{2r}-1, 3r, 2^{2r-1} - 2^{r-1} ]\) Kasami code Member of the family of \([2^{2r}-1, 3r, 2^{2r-1} - 2^{r-1} ]\) cyclic binary linear codes. Gold and Kasami codes are both constructed by picking a set of cyclically unrelated sequences of binary linear codes with low cross-correlation [12,13].
\([5,3,3]_4\) Shortened hexacode A perfect \([5,3,3]_4\) quaternary Hamming code that is the result of puncturing the hexacode [14].
\([7,4,3]\) Hamming code Second-smallest member of the Hamming code family.
\([n,n-1,2]\) Single parity-check (SPC) code An \([n,n-1,2]\) linear binary code whose codewords consist of the message string appended with a parity-check bit or parity bit such that the parity (i.e., sum over all coordinates of each codeword) is zero. If the Hamming weight of a message is odd (even), then the parity bit is one (zero). This code requires only one extra bit of overhead and is therefore inexpensive. Its codewords are all even-weight binary strings. Its automorphism group is \(S_n\).
\([n,n-1,2]_q\) \(q\)-ary parity-check code An \([n,n-1,2]_q\) linear \(q\)-ary code whose codewords consist of the message string appended with a parity-check or zero-sum check digit such that the sum over all coordinates of each codeword is zero.
\(q\)-ary duadic code Member of a pair of cyclic linear binary codes that satisfy certain relations, depending on whether the pair is even-like or odd-like duadic. Duadic codes exist only when \(q\) is a square modulo \(n\) [1].
\(q\)-ary repetition code An \([n,1,n]_q\) code encoding consisting of codewords \((j,j,\cdots,j)\) for \(j \in \mathbb{F}_q\).

References

[1]
V. Pless, “Duadic Codes and Generalizations”, Eurocode ’92 3 (1993) DOI
[2]
D. J. C. MacKay and M. C. Davey, “Evaluation of Gallager Codes for Short Block Length and High Rate Applications”, The IMA Volumes in Mathematics and its Applications 113 (2001) DOI
[3]
J. van Lint and F. MacWilliams, “Generalized quadratic residue codes”, IEEE Transactions on Information Theory 24, 730 (1978) DOI
[4]
J. H. Lint, “Generalized quadratic-residue codes”, Algebraic Coding Theory and Applications 285 (1979) DOI
[5]
J. H. Conway and N. J. A. Sloane, Sphere Packings, Lattices and Groups (Springer New York, 1999) DOI
[6]
F. J. MacWilliams and N. J. A. Sloane. The theory of error correcting codes. Elsevier, 1977.
[7]
P. Delsarte and J. M. Goethals, “Unrestricted codes with the golay parameters are unique”, Discrete Mathematics 12, 211 (1975) DOI
[8]
W. Feit. Some remarks on weight functions of spaces over GF(2), unpublished (1972)
[9]
C. L. Mallows and N. J. A. Sloane, “Weight enumerators of self-orthogonal codes”, Discrete Mathematics 9, 391 (1974) DOI
[10]
A. Alahmadi, H. Alhazmi, T. Helleseth, R. Hijazi, N. Muthana, and P. Solé, “On the lifted Melas code”, Cryptography and Communications 8, 7 (2015) DOI
[11]
R. Gold, “Optimal binary sequences for spread spectrum multiplexing (Corresp.)”, IEEE Transactions on Information Theory 13, 619 (1967) DOI
[12]
D. V. Sarwate and M. B. Pursley, “Crosscorrelation properties of pseudorandom and related sequences”, Proceedings of the IEEE 68, 593 (1980) DOI
[13]
T. Helleseth, C. Li, “Pseudo-Noise Sequences.” Concise Encyclopedia of Coding Theory (Chapman and Hall/CRC, 2021) DOI
[14]
G. Höhn, “Self-dual Codes over the Kleinian Four Group”, (2000) arXiv:math/0005266
  • Home
  • Code graph
  • Code lists
  • Concepts glossary
  • Search

Classical Domain

  • Binary Kingdom
  • Galois-field Kingdom
  • Matrix Kingdom
  • Analog Kingdom
  • Spherical Kingdom
  • Ring Kingdom
  • Group Kingdom
  • Homogeneous-space Kingdom

Quantum Domain

  • Qubit Kingdom
  • Modular-qudit Kingdom
  • Galois-qudit Kingdom
  • Bosonic Kingdom
  • Spin Kingdom
  • Group quantum Kingdom
  • Homogeneous-space quantum Kingdom
  • Category Kingdom

Classical-quantum Domain

  • Binary c-q Kingdom
  • Analog c-q Kingdom

  • Add new code
  • Team
  • About

  • 🌒
≡
Error correction zoo by Victor V. Albert, Philippe Faist, and many contributors. This work is licensed under a CC-BY-SA License. See how to contribute.