Perfect code
Description
An \((n,K,2t+1)_q\) code is perfect if parameters \(n\), \(K\), \(t\), and \(q\) are such that the Hamming (a.k.a. sphere-packing) bound \begin{align} \sum_{j=0}^{t}(q-1)^{j}{n \choose j}\leq q^{n}/K \tag*{(1)}\end{align} becomes an equality. For example, for a binary \(q=2\) code with one logical bit (\(K=2\)) and \(t=1\), the bound becomes \(n+1 \leq 2^{n-1}\). Perfect codes are those for which balls of Hamming radius \(t\) exactly fill the space of all \(n\) \(q\)-ary strings.
Any perfect linear code is either a repetition code, a Hamming code, or a binary or ternary Golay code [1]. If \(q\) is a prime power, any distance-three code is either a Hamming code or a nonlinear code with the same parameters; see Ref. [2], pg. 100, for more details.
Parent
- Covering code — Perfect codes are covering codes with minimum number of codewords
Children
- Perfect binary code
- \(q\)-ary Hamming code
- Ternary Golay Code — The ternary Golay code is perfect.
Cousin
- Perfect quantum code — A classical (quantum) perfect code saturates the classical (quantum) Hamming bound.
References
Page edit log
- Victor V. Albert (2022-07-19) — most recent
- Mustafa Doger (2022-04-01)
- Victor V. Albert (2022-03-21)
- Victor V. Albert (2021-12-01)
Cite as:
“Perfect code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/perfect