diff --git a/codes/classical/bits/binary_linear.yml b/codes/classical/bits/binary_linear.yml index 7c8229b81..9a7b03dd7 100644 --- a/codes/classical/bits/binary_linear.yml +++ b/codes/classical/bits/binary_linear.yml @@ -27,6 +27,15 @@ protection: | The decision problem corresponding to finding the minimum distance is also \(NP\)-complete \cite{doi:10.1109/18.641542}, and approximating the weight enumerator is \(\#P\)-complete \cite{arxiv:cs/0304044}. + There are several standard procedures for increasing or decreasing the length of an \([n,k,d]\) code \cite[Ch. 1]{preset:MacSlo}: + \begin{enumerate}[(1)] + \item \textit{Puncturing}: removing a coordinate to yield a code whose length is shorter by one and whose distance is \(\geq d-1\). + \item \textit{Expurgating}: removing odd-weight codewords of a non-even-weight code to yield a code whose dimension is \(k-1\). + \item \textit{Augmenting}: adding the all-ones codeword to a code without it to yield a code whose dimension is \(k+1\). + \item \textit{Lengthening}: adding a the all-ones codeword and then adding a parity check to yield a code whose size and dimension increase by one. + \item \textit{Shortening}: keeping only codewords which have a zero in a fixed coordinate and removing that coordinate to yield a code whose length is shorter by one. + \end{enumerate} + features: rate: 'A family of linear codes \(C_i = [n_i,k_i,d_i]\) is \textit{asymptotically good} if the asymptotic rate \(\lim_{i\to\infty} k_i/n_i\) and asymptotic distance \(\lim_{i\to\infty} d_i/n_i\) are both positive. Nearly all good linear binary codes for the asymmetric channel are also good for the symmetric channel \cite{manual:{Varshamov, R. R. "Some features of linear codes that correct asymmetric errors." Soviet Physics Doklady. Vol. 9. 1965.}}; this is not the case for non-binary codes \cite{arxiv:1310.7536}.' diff --git a/codes/classical/bits/easy/dual_hamming/hadamard.yml b/codes/classical/bits/easy/dual_hamming/hadamard.yml index b46490a07..c122c5126 100644 --- a/codes/classical/bits/easy/dual_hamming/hadamard.yml +++ b/codes/classical/bits/easy/dual_hamming/hadamard.yml @@ -34,11 +34,15 @@ relations: - code_id: long detail: 'The Hadamard code is a subcode of the long code and can be obtained by restricting the long-code construction to only linear functions.' - code_id: reed_muller - detail: 'The \([2^m,m+1,2^{m-1}]\) augmented Hadamard code is the first-order RM code (a.k.a. RM\((1,m)\)), while the \([2^m-1,m,2^{m-1}]\) shortened Hadamard code is the simplex code (a.k.a. RM\(^*(1,m)\)).' + detail: 'The \([2^m,m+1,2^{m-1}]\) augmented Hadamard code is the first-order RM code (a.k.a. RM\((1,m)\)). The \([2^m-1,m,2^{m-1}]\) shortened Hadamard code is the simplex code (a.k.a. RM\(^*(1,m)\)).' + - code_id: simplex + detail: 'The \([2^m-1,m,2^{m-1}]\) shortened Hadamard code is the simplex code (a.k.a. RM\(^*(1,m)\)).' + - code_id: biorthogonal + detail: 'The \([2^m,m+1,2^{m-1}]\) augmented Hadamard code is the first-order RM code (a.k.a. RM\((1,m)\)).' - code_id: delsarte_optimal_q-ary detail: 'Hadamard codes for \(q=4r\) are sharp configurations \cite[Table 12.1]{preset:HKSbounds}.' - code_id: univ_opt_q-ary - detail: 'Several punctured versions of Hadamard codes are LP universally optimal codes \cite{arxiv:1212.1913}.' + detail: 'Several punctured Hadamard codes are LP universally optimal codes \cite{arxiv:1212.1913}.' # Begin Entry Meta Information diff --git a/codes/classical/bits/easy/dual_hamming/simplex.yml b/codes/classical/bits/easy/dual_hamming/simplex.yml index fe05667b0..f9d581806 100644 --- a/codes/classical/bits/easy/dual_hamming/simplex.yml +++ b/codes/classical/bits/easy/dual_hamming/simplex.yml @@ -37,8 +37,6 @@ relations: - code_id: q-ary_simplex detail: '\(q\)-ary simplex codes reduce to simplex codes for \(q=2\).' cousins: - - code_id: hadamard - detail: 'Binary simplex codes are shortened Hadamard codes.' - code_id: extended_reed_solomon detail: 'Simplex codes are extended RS codes \cite{manual:{Rudolf Schürer and Wolfgang Ch. Schmid. “Simplex Code.” From MinT—the database of optimal net, code, OA, and OOA parameters. Version: 2015-09-03. http://mint.sbg.ac.at/desc_CSimplex.html}}.' - code_id: hamming @@ -47,8 +45,8 @@ relations: detail: 'Hamming and simplex codes are dual to each other.' - code_id: simplex_spherical detail: 'Binary simplex codes map to \((2^m,2^m+1)\) simplex spherical codes under the \hyperref[topic:antipodal-mapping]{antipodal mapping} \cite[Sec. 6.5.2]{manual:{Forney, G. D. (2003). 6.451 Principles of Digital Communication II, Spring 2003.}}\cite[pg. 18]{preset:EricZin}. In other words, simplex (simplex spherical) codes form simplices in Hamming (Euclidean) space.' - - code_id: reed_muller - detail: 'Binary simplex codes can be constructed from the generator matrix of RM\((1,m)\) by removing first the all-ones row, and then the all-zero column. Punctured RM codes and simplex codes are interconvertible via expurgation and augmentation (\cite{preset:MacSlo}, pg. 31).' + - code_id: biorthogonal + detail: 'First-order RM codes and simplex codes are interconvertible via shortening and lengthening \cite[pg. 31]{preset:MacSlo}. Punctured first-order RM codes and simplex codes are interconvertible via expurgation and augmentation \cite[pg. 31]{preset:MacSlo}.' # Begin Entry Meta Information diff --git a/codes/classical/bits/easy/hamming/hamming.yml b/codes/classical/bits/easy/hamming/hamming.yml index 46ee87cd3..e6afd45e1 100644 --- a/codes/classical/bits/easy/hamming/hamming.yml +++ b/codes/classical/bits/easy/hamming/hamming.yml @@ -44,7 +44,7 @@ relations: - code_id: constantin_rao detail: 'The nonlinear CR codes for \(G = \mathbb{Z}_2^r\) reduce to Hamming codes at lengths \(n = 2^r - 1\) \cite{manual:{Kløve, Torleiv. Error correcting codes for the asymmetric channel. Department of Pure Mathematics, University of Bergen, 1981.}}; see Ref. \cite{arxiv:1310.7536}.' - code_id: extended_hamming - detail: 'Extended Hamming codes are extensions of Hamming codes by a parity-check bit.' + detail: 'Extended Hamming codes are extensions of Hamming codes by a parity-check bit. Puncturing extended Hamming codes yields the Hamming codes.' - code_id: reed_muller detail: 'Binary Hamming codes are equivalent to RM\(^*(r-2,r)\).' - code_id: nearly_perfect diff --git a/codes/classical/bits/reed_muller/biorthogonal.yml b/codes/classical/bits/reed_muller/biorthogonal.yml index 31246a312..a5b1a046d 100644 --- a/codes/classical/bits/reed_muller/biorthogonal.yml +++ b/codes/classical/bits/reed_muller/biorthogonal.yml @@ -39,8 +39,6 @@ relations: parents: - code_id: reed_muller cousins: - - code_id: hadamard - detail: 'First-order RM codes are augmented Hadamard codes.' - code_id: biorthogonal_spherical detail: 'Each first-order RM code maps to a \((2^m,2^{m+1})\) biorthogonal spherical code under the \hyperref[topic:antipodal-mapping]{antipodal mapping} \cite{doi:10.1109/18.720542}\cite[Sec. 6.4]{manual:{Forney, G. D. (2003). 6.451 Principles of Digital Communication II, Spring 2003.}}\cite[pg. 19]{preset:EricZin}. In other words, first-order RM (biorthogonal spherical) codes form orthoplexes in Hamming (Euclidean) space.' diff --git a/codes/classical/q-ary_digits/q-ary_digits_into_q-ary_digits.yml b/codes/classical/q-ary_digits/q-ary_digits_into_q-ary_digits.yml index 2e60a2a68..595f1a86a 100644 --- a/codes/classical/q-ary_digits/q-ary_digits_into_q-ary_digits.yml +++ b/codes/classical/q-ary_digits/q-ary_digits_into_q-ary_digits.yml @@ -105,6 +105,8 @@ protection: | \end{align} \end{defterm} + + features: rate: 'The rate of a \(q\)-ary code is usually defined as \(R=\frac{1}{n}\log_q K\) dits per symbol. The maximum rate of a \(q\)-ary code with linear distance is lower bounded by the \hyperref[topic:gv-bound]{asymptotic GV bound} and upper bounded by the \(q\)-ary version of the MRRW LP bound \cite{doi:10.1016/0012-365X(90)90002-Y}.' decoders: