Skip to content

Commit

Permalink
shortening/puncturing
Browse files Browse the repository at this point in the history
  • Loading branch information
valbert4 committed Jul 26, 2024
1 parent 8cc9544 commit d3d9b55
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 9 deletions.
9 changes: 9 additions & 0 deletions codes/classical/bits/binary_linear.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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}.'

Expand Down
8 changes: 6 additions & 2 deletions codes/classical/bits/easy/dual_hamming/hadamard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 2 additions & 4 deletions codes/classical/bits/easy/dual_hamming/simplex.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion codes/classical/bits/easy/hamming/hamming.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 0 additions & 2 deletions codes/classical/bits/reed_muller/biorthogonal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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.'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down

0 comments on commit d3d9b55

Please sign in to comment.