Description
Code designed for transmission of classical information through classical channels.
A code is a subset of a set or alphabet \(\Sigma\), with each element called a codeword. An error-correcting code consists of \(K\) codewords over an alphabet with \(N\) elements such that it is possible to recover the codewords from errors \(E\) from some error set \(\mathcal{E}\). The table below lists the most common alphabets, along with names of the corresponding codewords of a block code, i.e., a code on \(n\) copies of the alphabet.
| alphabet \(\Sigma\) | codewords |
|---|---|
| \(\mathbb{Z}_{2}=\mathbb{F}_2\) | bitstrings |
| \(\mathbb{F}_q\) | \(q\)-ary strings |
| \(\mathbb{Z}_{q}\) | \(q\)-ary strings over \(\mathbb{Z}_{q}\) |
| \(\mathbb{R}\) | sphere packings |
| \(G\) | group elements |
| \(G/H\) | cosets |
Table I: Table listing the most common alphabets used in ECCs. Here, \(\mathbb{F}_q\) is a finite field, \(G\) is a group, and \(H\) is a subgroup of \(G\).
Finite-field alphabet
Finite fields: The most common and useful [1] alphabets used in block codes are Galois or finite fields \(\mathbb{F}_q\), which are sets of \(q\) elements closed under addition and multiplication. They are finite analogues of the real or complex numbers, and a unique field exists for every power \(q=p^m\) of a prime \(p\). The prime-field case reduces to \(\mathbb{Z}_p\), a group under addition that is promoted to a field by defining multiplication modulo \(p\); the case \(p=2\) yields the binary field \(\mathbb{Z}_2\). Every finite field comes with a 0 element (additive identity), a 1 element (multiplicative identity), and additive (multiplicative) inverses for all (nonzero) elements. An element whose powers exhaust all nonzero field elements is called primitive. Fields come with a trace operation, the field trace, which maps elements \(\gamma \in \mathbb{F}_q\) to elements of \(\mathbb{F}_p\) as \begin{align}
Any field \(\mathbb{F}_{q=p^m}\) can be thought of as an \(m\)-dimensional vector space over \(\mathbb{F}_p\) a.k.a. the \(m\)th extension of \(\mathbb{F}_p\) (similar to the complex numbers being an extension of the reals). Conversely, \(\mathbb{F}_p\) is an example of a subfield of \(\mathbb{F}_q\). Certain field elements are chosen to be the basis of \(\mathbb{F}_q\) over \(\mathbb{F}_p\), and all other elements are expressed as linear combinations of these basis elements. More generally, elements of fields such as \(\mathbb{F}_{p^{ml}}\) can be written as \(m\)-dimensional vectors over \(\mathbb{F}_{p^l}\) or \((m\times l)\)-dimensional matrices over \(\mathbb{F}_p\). This idea is used to convert between ordinary block codes and matrix-based codes such as disk array codes and rank-metric codes. The field norm and field trace can likewise be defined for fields \(\mathbb{F}_{q^m}\) that are extensions of \(\mathbb{F}_q\) for non-prime \(q\).
An example of a field is the quaternary Galois field \(\mathbb{F}_4 = \{0,1,\omega, \omega^2=\bar{\omega}\}\) with \(p=m=2\). In this case, \(\omega\) can be interpreted as a third root of unity, but more formally it is defined as a solution to the polynomial equation \(1+x+x^2=0\). Field elements can be represented as two-dimensional vectors with binary elements, \(\mathbb{F}_4=\mathbb{F}_2^2\), using the basis \(1\cong(1,0)\) and \(\omega\cong(0,1)\): \begin{align}
Rate
The Shannon channel capacity (the maximum of the mutual information over input distributions) is the highest rate of information transmission through a classical (i.e., non-quantum) channel with arbitrarily small error rate [3]. The fault-tolerant capacity is the capacity for the more general case where the encoding and decoding maps are also assumed to undergo noise [4].
Corrections to the capacity and tradeoff between decoding error, code rate and code length are determined using small [5–7], moderate [8–10] and large [11–14] deviation analysis. Sometimes the difference from the asymptotic rate at finite block length can be characterized by the channel dispersion [7,15]. Doeblin coefficients [16] for classical channels have been studied [17].
Notes
See Ref. [18] for a list of open problems in coding theory.See Refs. [19,20] for reviews of coding theory.Classical systems such as RAM [21], HPC systems [22–24], and data centers [25] suffer from noise.Cousins
- Two-point homogeneous-space code— ECCs and \(t\)-designs on two-point homogeneous spaces are intimately related via association schemes [26,27].
- \(t\)-design— ECCs and \(t\)-designs on two-point homogeneous spaces are intimately related via association schemes [26,27].
- Quantum error-correcting code (QECC)— Quantum information cannot be copied using a linear process [28], so one cannot send several copies of a quantum state through a channel as can be done for classical information. The Knill-Laflamme conditions can similarly be formulated for classical codes [29; Sec. 3], although they are not as widely used as those for quantum codes.
Member of code lists
Primary Hierarchy
References
- [1]
N. Levinson, “Coding Theory: A Counterexample to G. H. Hardy’s Conception of Applied Mathematics”, The American Mathematical Monthly 77, 249 (1970) DOI
- [2]
F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes (Elsevier, 1977)
- [3]
C. E. Shannon, “A Mathematical Theory of Communication”, Bell System Technical Journal 27, 379 (1948) DOI
- [4]
M. Christandl and A. Müller-Hermes, “Fault-Tolerant Coding for Quantum Communication”, IEEE Transactions on Information Theory 70, 282 (2024) arXiv:2009.07161 DOI
- [5]
V. Strassen, “Asymptotische Absch¨atzungen in Shannons Informationstheorie”, Trans. Third Prague Conference on Information Theory, Prague, 689–723, (1962)
- [6]
M. Hayashi, “Information Spectrum Approach to Second-Order Coding Rate in Channel Coding”, IEEE Transactions on Information Theory 55, 4947 (2009) arXiv:0801.2242 DOI
- [7]
Y. Polyanskiy, H. V. Poor, and S. Verdu, “Channel Coding Rate in the Finite Blocklength Regime”, IEEE Transactions on Information Theory 56, 2307 (2010) DOI
- [8]
Y. Altug and A. B. Wagner, “Moderate Deviations in Channel Coding”, (2012) arXiv:1208.1924
- [9]
Y. Polyanskiy and S. Verdu, “Channel dispersion and moderate deviations limits for memoryless channels”, 2010 48th Annual Allerton Conference on Communication, Control, and Computing (Allerton) 1334 (2010) DOI
- [10]
C. T. Chubb, V. Y. F. Tan, and M. Tomamichel, “Moderate Deviation Analysis for Classical Communication over Quantum Channels”, Communications in Mathematical Physics 355, 1283 (2017) arXiv:1701.03114 DOI
- [11]
R. Gallager, Information Theory and Reliable Communication (Springer Vienna, 1972) DOI
- [12]
I. Csiszár and J. Körner, Information Theory (Cambridge University Press, 2011) DOI
- [13]
S. Arimoto, “On the converse to the coding theorem for discrete memoryless channels (Corresp.)”, IEEE Transactions on Information Theory 19, 357 (1973) DOI
- [14]
G. Dueck and J. Korner, “Reliability function of a discrete memoryless channel at rates above capacity (Corresp.)”, IEEE Transactions on Information Theory 25, 82 (1979) DOI
- [15]
S. H. Hassani, K. Alishahi, and R. L. Urbanke, “Finite-Length Scaling for Polar Codes”, IEEE Transactions on Information Theory 60, 5875 (2014) DOI
- [16]
W. Doeblin, “Sur les propriétés asymptotiques de mouvement régis par certains types de chaines simples”, Bulletin mathématique de la Société roumaine des sciences 39(1), 57-115 (1937)
- [17]
A. Makur and J. Singh, “Doeblin Coefficients and Related Measures”, IEEE Transactions on Information Theory 70, 4667 (2024) arXiv:2309.08475 DOI
- [18]
S. Dougherty, J.-L. Kim, and P. Solé, “Open Problems in Coding Theory”, Contemporary Mathematics 79 (2015) DOI
- [19]
A. R. Calderbank, “The art of signaling: fifty years of coding theory”, IEEE Transactions on Information Theory 44, 2561 (1998) DOI
- [20]
D. J. Costello and G. D. Forney, “Channel Coding: The Road to Channel Capacity”, (2006) arXiv:cs/0611112
- [21]
B. Schroeder, E. Pinheiro, and W.-D. Weber, “DRAM errors in the wild”, Communications of the ACM 54, 100 (2011) DOI
- [22]
S. Levy, K. B. Ferreira, N. DeBardeleben, T. Siddiqua, V. Sridharan, and E. Baseman, “Lessons Learned from Memory Errors Observed Over the Lifetime of Cielo”, SC18: International Conference for High Performance Computing, Networking, Storage and Analysis 554 (2018) DOI
- [23]
K. B. Ferreira, S. Levy, J. Hemmert, and K. Pedretti, “Understanding Memory Failures on a Petascale Arm System”, Proceedings of the 31st International Symposium on High-Performance Parallel and Distributed Computing 84 (2022) DOI
- [24]
C. Di Martino, Z. Kalbarczyk, R. K. Iyer, F. Baccanico, J. Fullop, and W. Kramer, “Lessons Learned from the Analysis of System Failures at Petascale: The Case of Blue Waters”, 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks 610 (2014) DOI
- [25]
J. Meza, Q. Wu, S. Kumar, and O. Mutlu, “Revisiting Memory Errors in Large-Scale Production Data Centers: Analysis and Modeling of New Trends from the Field”, 2015 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks 415 (2015) DOI
- [26]
P. Delsarte and V. I. Levenshtein, “Association schemes and coding theory”, IEEE Transactions on Information Theory 44, 2477 (1998) DOI
- [27]
R. A. Bailey, Association Schemes (Cambridge University Press, 2004) DOI
- [28]
W. K. Wootters and W. H. Zurek, “A single quantum cannot be cloned”, Nature 299, 802 (1982) DOI
- [29]
B. Yoshida, “Decoding the Entanglement Structure of Monitored Quantum Circuits”, (2021) arXiv:2109.08691
- [30]
M. K. Patra and S. L. Braunstein, “An algebraic framework for information theory: Classical Information”, (2009) arXiv:0910.1536
- [31]
G. Kuperberg and N. Weaver, “A von Neumann algebra approach to quantum metrics”, (2010) arXiv:1005.0353
- [32]
J. H. Conway and N. J. A. Sloane, “Orbit and coset analysis of the Golay and related codes”, IEEE Transactions on Information Theory 36, 1038 (1990) DOI
Page edit log
- Victor V. Albert (2026-06-08) — most recent
- Victor V. Albert (2022-11-06)
Cite as:
“Error-correcting code (ECC)”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2026. https://errorcorrectionzoo.org/c/ecc, arXiv:2606.11484
Github: https://github.com/errorcorrectionzoo/eczoo_data/edit/main/codes/classical/ecc.yml.