Skip to content

Commit

Permalink
~
Browse files Browse the repository at this point in the history
  • Loading branch information
valbert4 committed Jul 23, 2024
1 parent 4a44d98 commit 43f8e8e
Show file tree
Hide file tree
Showing 13 changed files with 29 additions and 34 deletions.
11 changes: 1 addition & 10 deletions codes/classical/bits/easy/dual_hamming/hadamard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ alternative_names:
- 'Walsh-Hadamard code'

description: |
An \([2^m,m,2^{m-1}]\) balanced binary code dual to an extended Hamming code.
An \([2^m,m,2^{m-1}]\) balanced binary code.
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)\)).
Expand All @@ -33,15 +33,6 @@ relations:
cousins:
- 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: dual
detail: 'The Hadamard code is the dual of the extended Hamming Code.
Conversely, the shortened Hadamard code is the dual of the Hamming Code.'
- code_id: hamming
detail: 'The Hadamard code is the dual of the extended Hamming Code.
Conversely, the shortened Hadamard code is the dual of the Hamming Code.'
- code_id: extended_hamming
detail: 'The Hadamard code is the dual of the extended Hamming Code.
Conversely, the shortened Hadamard code is the dual of the Hamming Code.'
- 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)\)).'
- code_id: delsarte_optimal_q-ary
Expand Down
6 changes: 5 additions & 1 deletion codes/classical/bits/easy/hamming/extended_hamming.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ code_id: extended_hamming
physical: bits
logical: bits

name: 'Extended Hamming code'
name: '\([2^r,2^r-r-1,4]\) Extended Hamming code'
introduced: '\cite{doi:10.1002/j.1538-7305.1948.tb01338.x,doi:10.1002/j.1538-7305.1950.tb00463.x,manual:{M. J. E. Golay, \emph{Notes on digital coding}, Proc. IEEE, 37 (1949) 657.}}'

description: |
Expand All @@ -20,6 +20,10 @@ relations:
cousins:
- code_id: univ_opt_q-ary
detail: 'Several extended Hamming codes are LP universally optimal codes \cite{arxiv:1212.1913}.'
- code_id: biorthogonal
detail: 'Extended Hamming and first-order RM codes are dual to each other.'
- code_id: dual
detail: 'Extended Hamming and first-order RM codes are dual to each other.'


# Begin Entry Meta Information
Expand Down
3 changes: 2 additions & 1 deletion codes/classical/bits/easy/hamming/hamming.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ alternative_names:
description: |
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 non-zero \(r\)-bit strings as its columns.
Adding a parity check yields the \([2^r,2^r-r-1, 4]\) \textit{extended Hamming code}.
Adding a parity check yields the \([2^r,2^r-r-1, 4]\) extended Hamming code.
protection: 'Can detect 1-bit and 2-bit errors, and can correct 1-bit errors.'
Expand Down Expand Up @@ -44,6 +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.'
- code_id: reed_muller
detail: 'Binary Hamming codes are equivalent to RM\(^*(r-2,r)\).'
- code_id: nearly_perfect
Expand Down
2 changes: 1 addition & 1 deletion codes/classical/bits/polar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ relations:
detail: 'Polar codes can be represented as generalized concatenations of their kernels.'
cousins:
- code_id: reed_muller
detail: 'RM codes rely on the same generator matrix, but place message bits in different coordinates; see Ref. \cite{doi:10.1109/ITWKSPS.2010.5503223}. There are families interpolating between the two codes \cite{doi:10.1109/TCOMM.2014.2345069}.'
detail: 'The generator matrices of RM and polar codes are different submatrices of Kronecker products of Hadamard matrices; see Ref. \cite{doi:10.1109/ITWKSPS.2010.5503223}. There are families interpolating between the two codes \cite{doi:10.1109/TCOMM.2014.2345069}.'
- code_id: polar_for_quantum
detail: 'Quantum-classical polar codes generalize polar codes for transmission through channels with quantum output.'

Expand Down
4 changes: 3 additions & 1 deletion codes/classical/bits/reed_muller/biorthogonal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ realizations:
- 'The \([32, 6, 16]\) RM\((1,5)\) code was used for the 1971 Mariner 9 spacecraft \cite{doi:10.1109/ITWKSPS.2010.5503223}.'

notes:
- 'See Ref. \cite{doi:10.1109/TIT.1972.1054732} for the weight distribution of the \(2^{26}\) cosets of the \([32,6]\) first-order RM code, obtained in part by hand computation.'
- 'See Ref. \cite{doi:10.1109/TIT.1972.1054732} for the weight distribution of the \(2^{26}\) cosets of the \([32,6]\) first-order RM code.'

# , obtained in part by hand computation.'


relations:
Expand Down
4 changes: 2 additions & 2 deletions codes/classical/bits/reed_muller/reed_muller.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ introduced: '\cite{doi:10.1109/irepgelc.1954.6499441,doi:10.1109/tit.1954.105746
description: |
Member of the RM\((r,m)\) family of linear binary codes derived from multivariate polynomials. The code parameters are \([2^m,\sum_{j=0}^{r} {m \choose j},2^{m-r}]\), where \(r\) is the \textit{order} of the code satisfying \(0\leq r\leq m\).
First-order RM codes are also called biorthogonal codes, while \(m\)th order RM codes are also called \textit{universe} codes.
\textit{Punctured RM codes} RM\(^*(r,m)\) are obtained from RM codes by deleting one or more coordinates from each codeword.
\textit{Punctured RM codes} RM\(^*(r,m)\) are obtained from RM codes by deleting one coordinate from each codeword.
Generator matrices of RM codes are constructed using the \((u|u+v)\) construction by starting from the \(2^m\)-dimensional matrix \(F^{(m)}=\left(\begin{smallmatrix}1 & 0\\
1 & 1
Expand All @@ -40,7 +40,7 @@ realizations:
- 'Deep-space communication \cite{doi:10.1007/bfb0036046,manual:{E.C. Posner, \emph{Combinatorial Structures in Planetary Reconnaissance} in Error Correcting Codes, ed. H.B. Mann, Wiley, NY 1968.}}.'

notes:
- 'See Chs. 13-15 of Ref. \cite{preset:MacSlo} for details of RM codes and their variants.'
- 'See \cite[Chs. 13-15]{preset:MacSlo}\cite{doi:10.1017/CBO9781316529836} for details of RM codes and their variants.'

# If mobing to evaluation, then remove "nontrivial" in that entry
relations:
Expand Down
2 changes: 1 addition & 1 deletion codes/classical/q-ary_digits/ag/ag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ description: |
In alternative conventions (not used here), AG codes are restricted to be linear and/or include \hyperref[code:evaluation_varieties]{evaluation} codes defined using algebraic varieties more general than curves.
features:
rate: 'Several sequences of linear AG codes beat the Gilbert-Varshamov bound and/or are asymptotically good \cite{doi:10.1007/BF01884295,doi:10.1006/jnth.1996.0147} (see Ref. \cite{preset:HPAlgCodes} for details).
rate: 'Several sequences of linear AG codes beat the Gilbert-Varshamov bound and/or are asymptotically good \cite{doi:10.1002/mana.19821090103,doi:10.1007/BF01884295,doi:10.1006/jnth.1996.0147} (see Ref. \cite{preset:HPAlgCodes} for details).
The rate of any linear AG code satisfies
\begin{align}
\frac{k}{n} \geq 1 - \frac{d}{n} - \frac{1}{\sqrt{q}-1}~,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ name: 'Klein-quartic code'
introduced: '\cite{doi:10.1109/TIT.1987.1057365}'

description: |
Evaluation AG code over \(GF(8)\) of rational functions evaluated on points lying in the Klein quartic, which is defined by the equation \(x^3 y + y^3 z + z^3 x = 0\) (\cite{preset:HPAlgCodes}, Ex. 2.75).
Evaluation AG code over \(GF(8)\) of rational functions evaluated on points lying on the Klein quartic, which is defined by the equation \(x^3 y + y^3 z + z^3 x = 0\) (\cite{preset:HPAlgCodes}, Ex. 2.75).
protection: 'Dimension \(k=8\) and distance \(d \geq 13\). Concatenation with the \([4,3,2]\) single parity check code, conversion to a binary code by expressing \(GF(8)\) elements as vectors over \(GF(2)\), and puncturing yields a \([91,24,25]\) binary code that held the world record for codes of length 91 \cite{manual:{A. M. Barg, G. L. Katsman, M. A. Tsfasman, “Algebraic-Geometric Codes from Curves of Small Genus”, Probl. Peredachi Inf., 23:1 (1987), 42–46; Problems Inform. Transmission, 23:1 (1987), 34–38}}.'
protection: 'Dimension \(k=8\) and distance \(d \geq 13\). Concatenation with the \([4,3,2]\) single parity check code, conversion to a binary code by expressing \(GF(8)\) elements as vectors over \(GF(2)\), and puncturing yields a \([91,24,25]\) binary code that set the world record for codes of length 91 \cite{manual:{A. M. Barg, G. L. Katsman, M. A. Tsfasman, “Algebraic-Geometric Codes from Curves of Small Genus”, Probl. Peredachi Inf., 23:1 (1987), 42–46; Problems Inform. Transmission, 23:1 (1987), 34–38}}.'

relations:
parents:
Expand Down
4 changes: 2 additions & 2 deletions codes/classical/q-ary_digits/ag/generalized_reed_muller.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ short_name: 'GRM'
introduced: '\cite{doi:10.1109/TIT.1968.1054127,doi:10.1109/TIT.1968.1054128,doi:10.1016/S0019-9958(70)90214-7}'

description: |
Reed-Muller code GRM\(_q(r,m)\) of length \(n=q^m\) over \(GF(q)\) with \(0\leq r\leq m(q-1)\). Its codewords are evaluations of the set of all degree-\(\leq r\) polynomials in \(m\) variables at a set of distinct points \(\{\alpha_1,\cdots,\alpha_n\}\) in \(GF(q)\).
Reed-Muller code GRM\(_q(r,m)\) of length \(n=q^m\) over \(GF(q)\) with \(0\leq r\leq m(q-1)\). Its codewords are evaluations of the set of all degree-\(\leq r\) polynomials in \(m\) variables at the points of \(GF(q)\).
Since \(\beta^q=\beta\) for any \(\beta\in GF(q)\), the above definition is not injective. Replacing each factor in each polynomial as \(x^q\to x\), the above set reduces to the set of all degree-\(\leq r\) polynomials in \(m\) variables such that no term has an exponent \(q\) or higher on any variable.
Expand All @@ -38,9 +38,9 @@ relations:
detail: 'Applying a special case of the matrix-product procedure yields GRM codes \cite{doi:10.1007/PL00004226}.'
- code_id: q-ary_lcc
detail: 'GRM codes are LDCs and LCCs \cite{doi:10.1561/0400000030,manual:{Gopi, Sivakanth. Locality in coding theory. Diss. Princeton University, 2018.}}.'
cousins:
- code_id: group
detail: 'GRM codes over prime-power fields are group-algebra codes \cite{doi:10.1007/BF01072842,manual:{Charpin, Pascale. Codes idéaux de certaines algèbres modulaires. Diss. 1982.},doi:10.1007/BF00141972}\cite[Ex. 16.4.11]{preset:HKSalgebra}.'
cousins:
- code_id: q-ary_cyclic
detail: 'GRM codes with nonzero evaluation points are cyclic \cite[pg. 52]{doi:10.1007/978-94-011-3810-9}.'
- code_id: q-ary_ltc
Expand Down
2 changes: 1 addition & 1 deletion codes/classical/q-ary_digits/ag/projective_reed_muller.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ short_name: 'PRM'
introduced: '\cite{doi:10.1016/0012-365X(90)90155-B,doi:10.1109/18.104317}'

description: |
Reed-Muller code for nonzero points \(\{\alpha_1,\cdots,\alpha_n\}\) whose leftmost nonzero coordinate is one, corresponding to an evaluation code of polynomials over projective coordinates.
Reed-Muller code for nonzero points \(\{\alpha_1,\cdots,\alpha_n\}\) with \(n=m+1\) whose leftmost nonzero coordinate is one, corresponding to an evaluation code of polynomials over projective coordinates.
PRM codes PRM\(_q(r,m)\) for \(r<q\) are injective evaluation codes with parameters \cite{doi:10.1515/9783110811056.77}
\begin{align}
Expand Down
5 changes: 2 additions & 3 deletions codes/classical/q-ary_digits/ag/residueAG/residue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,8 @@ description: |
protection: 'Riemann-Roch theorem yields code length \(n\), dimension \(k\), and a lower bound on distance in terms of features of \(L\) and genus of the curve \(\cal X\) \cite[Corr. 15.3.13]{preset:HKSag}. Distance bounds can also be derived from how an algebraic curve \(\cal X\) is embedded in the ambient projective space \cite{arxiv:0905.2345}.'

realizations:
- 'Improvements over the McEliece public-key cryptosystem to linear AG codes on curves of arbitrary genus \cite{doi:10.1023/A:1027351723034}.
Only the subfield subcode proposal remains resilient to attacks \cite[Sec. 15.7.5.3]{preset:HKSag}.'
- 'Algebraic secret-sharing schemes \cite{doi:10.1007/11818175_31}.'
- 'Improvements over the McEliece public-key cryptosystem to linear AG codes on curves of arbitrary genus \cite{doi:10.1023/A:1027351723034}. Only the subfield subcode proposal remains resilient to attacks \cite[Sec. 15.7.5.3]{preset:HKSag}.'
- 'Algebraic geometric secret-sharing schemes \cite{doi:10.1007/11818175_31}.'

relations:
parents:
Expand Down
4 changes: 3 additions & 1 deletion codes/classical/q-ary_digits/ag/residueAG/shimura.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ features:
relations:
parents:
- code_id: residue

cousins:
- code_id: ag
detail: 'TVZ codes exceed the GV bound \cite{doi:10.1002/mana.19821090103}.'

# Begin Entry Meta Information
_meta:
Expand Down
12 changes: 4 additions & 8 deletions codes/classical/q-ary_digits/ag/rs/reed_solomon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ description: |
\mu\to\left( f_{\mu}\left(\alpha_{1}\right),f_{\mu}\left(\alpha_{2}\right),\cdots,f_{\mu}\left(\alpha_{n}\right)\right) \,.
\end{align}
An RS code with length \(n=q-1\) whose points \(\alpha_i\) are \(i-1\)st powers of a primitive \(n\)th root of unity is a \textit{narrow-sense RS code}.
In an alternative convention (not used here), the primitive-root case is called an RS code, and the general-root case is a generalized RS code.
An RS code with length \(n=q-1\) whose points \(\alpha_i\) are all \((i-1)\)st powers of a primitive element of \(GF(q)\) is a \textit{narrow-sense RS code}.
In an alternative convention (not used here), the primitive case is called an RS code, and the general-root case is a generalized RS code.
protection: 'Since each polynomial \(f_{\mu}\) is of degree less than \(k\), it has less than \(k\) roots; this is called the \textit{degree mantra}.
Expand All @@ -43,11 +43,7 @@ features:
- 'Berlekamp-Welch decoder with runtime of order \(O(n^3)\) \cite{manual:{E. R. Berlekamp and L. Welch, Error Correction of Algebraic Block Codes. U.S. Patent, Number 4,633,470 1986.}} (see exposition in Ref. \cite{doi:10.1016/0020-0190(92)90195-2}), assuming that \(t \geq (n+k)/2\).'
- 'Gao decoder using extended Euclidean algorithm \cite{doi:10.1007/978-1-4757-3789-9_5}.'
- 'Fast-Fourier-transform decoder with runtime of order \(O(n \text{polylog}n)\) \cite{doi:10.1109/TIT.1978.1055816}.'
- 'List decoders try to find a low-degree bivariate polynomial \(Q(x,y)\) such that evaluation of \(Q\) at \((\alpha_i,y_i)\) is zero. By choosing proper degrees, it can be shown such polynomial exists by drawing an analogy between evaluation of \(Q(\alpha_i,y_i)\) and solving a homogenous linear equation (interpolation). Once this is done, one lists roots of \(y\) that agree at \(\geq t\) points. The breakthrough Sudan list-decoding algorithm corrects up to \(1-\sqrt{2R}\) fraction of errors \cite{doi:10.1006/JCOM.1997.0439}. Roth and Ruckenstein proposed a modified key equation that allows for correction of more than \(\left\lfloor (n-k)/2 \right\rfloor\) errors \cite{doi:10.1109/18.817522}.
The Guruswami-Sudan algorithm improved the Sudan algorithm to \(1-\sqrt{R}\) \cite{doi:10.1109/SFCS.1998.743426}, meaning that RS codes achieve list-decoding capacity; see Ref. \cite{doi:10.1109/TIT.2006.878164} for bounds.
It was later shown that generic Reed-Solomon codes achieve list-decoding capacity \cite{arxiv:2206.05256}.
A modification of the Guruswami-Sudan algorithm by Koetter and Vardy is used for soft-decision decoding \cite{doi:10.1109/TIT.2003.819332} (see also Ref. \cite{doi:10.1109/26.79287}).
Subcodes of RS codes whose evaluation points lie in a subfield can be decoded up to the \(1-R\) \cite{doi:10.1145/2488608.2488715}.'
- 'List decoders try to find a low-degree bivariate polynomial \(Q(x,y)\) such that evaluation of \(Q\) at \((\alpha_i,y_i)\) is zero. By choosing proper degrees, it can be shown such polynomial exists by drawing an analogy between evaluation of \(Q(\alpha_i,y_i)\) and solving a homogenous linear equation (interpolation). Once this is done, one lists roots of \(y\) that agree at \(\geq t\) points. The breakthrough Sudan list-decoding algorithm corrects up to \(1-\sqrt{2R}\) fraction of errors asymptotically in \(n\) \cite{doi:10.1006/JCOM.1997.0439}. Roth and Ruckenstein proposed a modified key equation that allows for correction of more than \(\left\lfloor (n-k)/2 \right\rfloor\) errors \cite{doi:10.1109/18.817522}. The Guruswami-Sudan algorithm improved the Sudan algorithm to \(1-\sqrt{R}\) \cite{doi:10.1109/SFCS.1998.743426}, meaning that RS codes achieve list-decoding capacity; see Ref. \cite{doi:10.1109/TIT.2006.878164} for bounds. It was later shown that generic Reed-Solomon codes achieve list-decoding capacity \cite{arxiv:2206.05256}. A modification of the Guruswami-Sudan algorithm by Koetter and Vardy is used for soft-decision decoding \cite{doi:10.1109/TIT.2003.819332} (see also Ref. \cite{doi:10.1109/26.79287}). Subcodes of RS codes whose evaluation points lie in a subfield can be decoded up to the \(1-R\) \cite{doi:10.1145/2488608.2488715}.'
- 'The ubiquity of RS codes has yielded off-the-shelf VLSI intergrated-circuit decoding hardware \cite{doi:10.1109/92.953498} (see also Ref. \cite{doi:10.1109/9780470546345}, Ch. 5 and 10).'


Expand All @@ -59,7 +55,7 @@ realizations:
- 'RS Product Code (RSPC) was used in DVDs (see Ref. \cite{doi:10.1109/9780470546345}, Ch. 4).'
- 'DSL technologies and their variants against impluse noise \cite{doi:10.1109/ICC.2012.6364040}.'
- 'Cryptographic primitives based on the hardness of decoding RS codes for more than \(1-\sqrt{k/n}+\epsilon\) errors. This is equivalent to the polynomial reconstruction problem \cite{doi:10.1007/3-540-45465-9_21}.'
- 'RS codes as outer codes concatenated with convolutional codes are used indirectly in space exploration programs such as Voyager and Galileo. RS codes were part of a temetry channel coding standard issued by the Consultative Committee for Space Data Systems (see Ref. \cite{doi:10.1109/9780470546345}, Ch. 3).'
- 'RS codes as outer codes concatenated with convolutional codes are used indirectly in space exploration programs such as Voyager and Galileo. RS codes were part of a telemetry channel coding standard issued by the Consultative Committee for Space Data Systems (see Ref. \cite{doi:10.1109/9780470546345}, Ch. 3).'
- 'Automatic repeat request (ARQ) data transmission protocols (see Ref. \cite{doi:10.1109/9780470546345}, Ch. 7).'
- 'Slow-frequency-hop spread-spectrum transmission (see Ref. \cite{doi:10.1109/9780470546345}, Chs. 8-9).'
- 'Coded sharding designs in blockchains to increase efficiency \cite{arxiv:1809.10361}.'
Expand Down

0 comments on commit 43f8e8e

Please sign in to comment.