Skip to content

Commit

Permalink
gbch, srivastava, generalized_srivastava
Browse files Browse the repository at this point in the history
  • Loading branch information
valbert4 committed Aug 18, 2024
1 parent 7492dca commit 695cfa2
Show file tree
Hide file tree
Showing 6 changed files with 123 additions and 4 deletions.
2 changes: 2 additions & 0 deletions codes/classical/q-ary_digits/ag/residueAG/goppa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ relations:
- code_id: residue
- code_id: cartier
detail: 'Goppa codes are Cartier codes from a curve of genus zero \cite{arxiv:1206.4728}.'
- code_id: alternant
detail: 'Goppa codes are a special case of alternant codes \cite[Ch. 12]{preset:MacSlo}.'
cousins:
- code_id: generalized_reed_solomon
detail: 'Goppa codes are \(GF(q)\)-\hyperref[topic:finite-fields]{subfield} subcode of the dual of the GRS code over \(GF(q^m)\) with evaluation points \(\alpha_i\) and factors \(v_i=G(\alpha_i)^{-1}\) (\cite{doi:10.1017/CBO9780511807077}, pg. 523; \cite{preset:HPAlgCodes}).' #alternant
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ physical: q-ary_digits
logical: q-ary_digits

name: 'Alternant code'
introduced: '\cite{doi:10.1016/S0019-9958(74)80005-7}'
introduced: '\cite{doi:10.1016/S0019-9958(72)80007-X,doi:10.1016/S0019-9958(74)80005-7,doi:10.1016/S0019-9958(75)90099-6,doi:10.1109/TIT.1975.1055435}'

description: 'Given a length-\(n\) GRS code \(C\) over \(GF(q^m)\), an alternant code is the \(GF(q)\)-\hyperref[topic:finite-fields]{subfield} subcode of the dual of \(C\).'
description: 'Given a length-\(n\) GRS code \(C\) over \(GF(q^m)\), an alternant code is the \(GF(q)\)-\hyperref[topic:finite-fields]{subfield} subcode of the dual of \(C\); see \cite[Ch. 12]{preset:MacSlo}. Its parity-check matrix is an alternant matrix.'

# More precisely, an \([n, k \geq n-tm, d \geq t + 1]\) code with parity check matrix with \(n\) columns and \(t\) rows of the form:
# \begin{align}
Expand All @@ -31,6 +31,7 @@ description: 'Given a length-\(n\) GRS code \(C\) over \(GF(q^m)\), an alternant
features:
decoders:
- 'Variation of the Berlekamp-Welch algorithm \cite{doi:10.1109/TIT.1977.1055730}.'
- 'Euclidean algorithm; see \cite[Ch. 12]{preset:MacSlo} for more details.'
- 'Guruswami-Sudan list decoder \cite{doi:10.1109/18.782097,doi:10.1109/SFCS.1998.743426}.'

notes:
Expand All @@ -41,7 +42,7 @@ relations:
- code_id: q-ary_linear
cousins:
- code_id: generalized_reed_solomon
detail: 'Alternant codes are \hyperref[topic:finite-fields]{subfield} subcodes of GRS codes.'
detail: 'Alternant codes are \hyperref[topic:finite-fields]{subfield} subcodes of GRS codes \cite{doi:10.1109/TIT.1975.1055435}.'

#Classic (L,G)-Goppa codes are a subclass of alternant codes, and they are also cousins of AG codes. Alternant codes as such don't qualify as cousins of AG codes. They are in fact \hyperref[topic:finite-fields]{subfield} subcodes of GRS codes and as such are cousins of BCH codes and children of GRS codes.
#A \hyperref[topic:finite-fields]{subfield} subcode is a subset of the code formed of the vectors all of whose coordinates are in a \hyperref[topic:finite-fields]{subfield} (or even just a subset, they have considered subset subcodes, where this subalphabet does not have to be a field, e.g., 49 -> 46).
Expand Down
31 changes: 31 additions & 0 deletions codes/classical/q-ary_digits/alternant/gbch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#######################################################
## This is a code entry in the error correction zoo. ##
## https://github.com/errorcorrectionzoo ##
#######################################################

code_id: gbch
physical: q-ary_digits
logical: q-ary_digits

name: 'Chien-Choy generalized BCH (GBCH) code'
short_name: 'GBCH'
introduced: '\cite{doi:10.1109/TIT.1975.1055336}'

description: |
An \([n,k\geq n-rm, d\geq r+1]_q\) alternant code defined using two polynomials \(P(x),G(x)\) that are relatively prime to \(x^n-1\), with \(\deg P \leq n-1\) and \(r = \deg G \leq n-1\).
See \cite[Ch. 12]{preset:MacSlo} for the parity-check matrix.
relations:
parents:
- code_id: alternant
detail: 'GBCH codes are a special case of alternant codes \cite[Ch. 12]{preset:MacSlo}.'


# Begin Entry Meta Information
_meta:
# Change log - most recent first
changelog:
- user_id: VictorVAlbert
date: '2024-08-18'
37 changes: 37 additions & 0 deletions codes/classical/q-ary_digits/alternant/generalized_srivastava.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#######################################################
## This is a code entry in the error correction zoo. ##
## https://github.com/errorcorrectionzoo ##
#######################################################

code_id: generalized_srivastava
physical: q-ary_digits
logical: q-ary_digits

name: 'Generalized Srivastava code'
introduced: '\cite{doi:10.1109/TIT.1972.1054760}'

description: |
An \([n,k \geq n-mst,d \geq st+1 ]_q) alternant code defined for \(n+s\) distinct elements \(\alpha_1,\alpha_2,\cdots,\alpha_n,w_1,w_2,\cdots,w_s\) and \(n\) nonzero elements \(z_1,z_2,\cdots,z_n\) of \(GF(q^m)\).
The code's parity-check matrix is \cite[Ch. 12]{preset:MacSlo}
\begin{align}
H=\begin{pmatrix}\frac{z_{1}}{\alpha_{1}-w_{1}} & \frac{z_{2}}{\alpha_{2}-w_{1}} & \cdots & \frac{z_{n}}{\alpha_{n}-w_{1}}\\
\frac{z_{1}}{\left(\alpha_{1}-w_{2}\right)^{2}} & \frac{z_{2}}{\left(\alpha_{1}-w_{2}\right)^{2}} & \cdots & \frac{z_{n}}{\left(\alpha_{n}-w_{2}\right)^{2}}\\
\vdots & \vdots & \ddots & \vdots\\
\frac{z_{1}}{\left(\alpha_{1}-w_{s}\right)^{t}} & \frac{z_{2}}{\left(\alpha_{2}-w_{s}\right)^{t}} & \cdots & \frac{z_{n}}{\left(\alpha_{n}-w_{s}\right)^{t}}
\end{pmatrix}~.
\end{align}
relations:
parents:
- code_id: alternant
detail: 'Generalized Srivastava codes are a special case of alternant codes \cite[Ch. 12]{preset:MacSlo}.'


# Begin Entry Meta Information
_meta:
# Change log - most recent first
changelog:
- user_id: VictorVAlbert
date: '2024-08-18'
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,20 @@ realizations:

relations:
parents:
- code_id: gbch
detail: '\(q\)-ary BCH codes are a special case of GBCH codes \cite[Ch. 12]{preset:MacSlo}.'
- code_id: q-ary_cyclic
- code_id: twisted_bch
detail: 'Twisted BCH codes are obtained from \(q\)-ary BCH codes via various lengthening and extension procedures.'
cousins:
- code_id: reed_solomon
detail: 'BCH codes are \hyperref[topic:finite-fields]{subfield} subcodes of RS codes.'
- code_id: goppa
detail: 'Narrow-sense BCH codes are Goppa codes with \(L=\{1,\alpha^{-1},\cdots,\alpha^{1-n}\}\) and \(G(x)=x^{\delta-1}\) (\cite{doi:10.1017/CBO9780511807077}, pg. 522).'
detail: 'Narrow-sense BCH codes are Goppa codes with \(L=\{1,\alpha^{-1},\cdots,\alpha^{1-n}\}\) and \(G(x)=x^{\delta-1}\) \cite[pg. 522]{doi:10.1017/CBO9780511807077}.'
- code_id: q-ary_ltc
detail: 'Duals of BCH codes are locally testable \cite{doi:10.1109/SFCS.2005.16}.'


# Begin Entry Meta Information
_meta:
# Change log - most recent first
Expand Down
45 changes: 45 additions & 0 deletions codes/classical/q-ary_digits/alternant/srivastava.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#######################################################
## This is a code entry in the error correction zoo. ##
## https://github.com/errorcorrectionzoo ##
#######################################################

code_id: srivastava
physical: q-ary_digits
logical: q-ary_digits

name: 'Srivastava code'
introduced: '\cite{doi:10.1142/9407,doi:10.1109/TIT.1972.1054760}'

description: |
A special case of a generalized Srivastava code for \(z_j = \alpha_j^{\mu}\) for some \(\mu\) and \(t=1\).
The code's parity-check matrix is
\begin{align}
H=\begin{pmatrix}\frac{\alpha_{1}^{\mu}}{\alpha_{1}-w_{1}} & \frac{\alpha_{2}^{\mu}}{\alpha_{2}-w_{1}} & \cdots & \frac{\alpha_{n}^{\mu}}{\alpha_{n}-w_{1}}\\
\frac{\alpha_{1}^{\mu}}{\alpha_{1}-w_{2}} & \frac{\alpha_{2}^{\mu}}{\alpha_{1}-w_{2}} & \cdots & \frac{\alpha_{n}^{\mu}}{\alpha_{n}-w_{2}}\\
\vdots & \vdots & \ddots & \vdots\\
\frac{\alpha_{1}^{\mu}}{\alpha_{1}-w_{s}} & \frac{\alpha_{2}^{\mu}}{\alpha_{2}-w_{s}} & \cdots & \frac{\alpha_{n}^{\mu}}{\alpha_{n}-w_{s}}
\end{pmatrix}~.
\end{align}
protection: |
Dimension and minimum distance are found in Refs. \cite{doi:10.1109/TIT.1972.1054760,doi:10.1016/S0019-9958(72)80007-X}.
relations:
parents:
- code_id: generalized_srivastava
detail: 'A Srivastava code is a special case of a generalized Srivastava code for \(z_j = \alpha_j^{\mu}\) for some \(\mu\) and \(t=1\).'
- code_id: goppa
detail: 'Generalized Srivastava codes are a special case of Goppa codes \cite[Ch. 12]{preset:MacSlo}.'
- code_id: gbch
detail: 'Generalized Srivastava codes are a special case of GBCH codes \cite[Ch. 12]{preset:MacSlo}.'



# Begin Entry Meta Information
_meta:
# Change log - most recent first
changelog:
- user_id: VictorVAlbert
date: '2024-08-18'

0 comments on commit 695cfa2

Please sign in to comment.