diff --git a/code_extra/bib_preset.yml b/code_extra/bib_preset.yml index a119605ce..4c465d80e 100644 --- a/code_extra/bib_preset.yml +++ b/code_extra/bib_preset.yml @@ -98,18 +98,13 @@ HPAlgCodes: HPArray: _ready_formatted: flm: >- - M. Blaum, P. G. Farrell, H. C. van Tilborg, 1998. Array codes. Handbook of coding theory, 2 (Part 2), pp. 1855-1909. + M. Blaum, P. G. Farrell, H. C. A. van Tilborg, 1998. Array codes. Handbook of coding theory, 2 (Part 2), pp. 1855-1909. -LevBounds: +HPLevBounds: _ready_formatted: flm: >- V. I. Levenshtein, “Universal bounds for codes and designs,” in Handbook of Coding Theory 1, eds. V. S. Pless and W. C. Huffman. Amsterdam: Elsevier, 1998, pp.499-648. -BlaumArray: - _ready_formatted: - flm: >- - M. Blaum, P. G. Farrell, H. C. A. Van Tilborg, “Array codes,” in Handbook of Coding Theory 1, eds. V. S. Pless and W. C. Huffman. Amsterdam: Elsevier, 1998, Ch. 22. - HPRainsSloane: _ready_formatted: flm: >- diff --git a/codes/classical/bits/combinatorial_design.yml b/codes/classical/bits/combinatorial_design.yml index f02c9cb90..79861ced7 100644 --- a/codes/classical/bits/combinatorial_design.yml +++ b/codes/classical/bits/combinatorial_design.yml @@ -43,7 +43,7 @@ relations: detail: 'If the \hyperref[topic:weight-enumerator]{number} of a code is less than or equal to its \hyperref[topic:weight-enumerator]{dual distance}, then some sets of fixed-weight codewords form a combinatorial design \cite[Thm. 6.7]{preset:MacSlo}.' - code_id: constant_weight - code_id: subspace_design - detail: 'Combinatorial designs are designs on a space of fixed-weight binary strings (a.k.a. Johnson association scheme) \cite{manual:{Delsarte, Philippe. "An algebraic approach to the association schemes of coding theory." Philips Res. Rep. Suppl. 10 (1973): vi+-97.},preset:LevBounds}. + detail: 'Combinatorial designs are designs on a space of fixed-weight binary strings (a.k.a. Johnson association scheme) \cite{manual:{Delsarte, Philippe. "An algebraic approach to the association schemes of coding theory." Philips Res. Rep. Suppl. 10 (1973): vi+-97.},preset:HPLevBounds}. Subspace designs reduce to combinatorial designs for \(q=2\).' cousins: - code_id: q-ary_digits_into_q-ary_digits diff --git a/codes/classical/matrices/raid/array.yml b/codes/classical/matrices/raid/array.yml index 60efd2cc5..f008905f5 100644 --- a/codes/classical/matrices/raid/array.yml +++ b/codes/classical/matrices/raid/array.yml @@ -18,13 +18,16 @@ description: | Matrix code designed for use in an RAID-type array of hard-drives such that information is protected against erasure of one or more hard drives. notes: - - 'See \cite{preset:HPArray}\cite[Ch. 14]{doi:10.1002/0471792748}\cite{preset:BlaumArray} for introductions.' + - 'See \cite{preset:HPArray}\cite[Ch. 14]{doi:10.1002/0471792748}\cite{preset:HPArray} for introductions.' relations: parents: - code_id: matrices_into_matrices - code_id: distributed_storage + cousins: + - code_id: reed_solomon + detail: 'RS codes over \(q=2^m\) are used in RAID 6 \cite{manual:{Anvin, H. Peter. "The mathematics of RAID-6." (2007).},manual:{S. T. Position. (2009) Common raid disk data format specification. [Online]. Available: http://www.snia.org/tech activities/standards/curr standards/ddf}}; see \cite{preset:HPArray}.' # Begin Entry Meta Information diff --git a/codes/classical/matrices/raid/b_array.yml b/codes/classical/matrices/raid/b_array.yml index ec0a735ad..577fdb7c0 100644 --- a/codes/classical/matrices/raid/b_array.yml +++ b/codes/classical/matrices/raid/b_array.yml @@ -12,7 +12,7 @@ name: 'B-code' introduced: '\cite{doi:10.1109/18.179343}' description: | - The first array code, constructed over \(GF(q)\). + The first array code, constructed over \(GF(q)\). See \cite{preset:HPArray} for more details. features: decoders: @@ -24,7 +24,7 @@ relations: - code_id: array cousins: - code_id: reed_solomon - detail: 'B-codes can be interpreted as RS codes over polynomials whose symbols lie in Galois rings \cite{doi:10.1109/18.179343,doi:10.1007/978-1-4615-1525-8_7}.' + detail: 'B-codes can be interpreted as RS codes over polynomials whose symbols lie in Galois rings \cite{doi:10.1109/18.179343,doi:10.1007/978-1-4615-1525-8_7}.' # Begin Entry Meta Information diff --git a/codes/classical/matrices/raid/evenodd.yml b/codes/classical/matrices/raid/evenodd.yml new file mode 100644 index 000000000..25be10d41 --- /dev/null +++ b/codes/classical/matrices/raid/evenodd.yml @@ -0,0 +1,32 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + + +code_id: evenodd +physical: matrices + + +name: 'EVENODD code' +introduced: '\cite{doi:10.1109/12.364531}' + +description: | + A binary array code that can correct any two disk failures (i.e., two erasures). See \cite{preset:HPArray} for more details. + +features: + decoders: + - 'Efficient decoding algorithm against two erasures \cite{doi:10.1109/12.364531}.' + + +relations: + parents: + - code_id: array + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2024-08-19' diff --git a/codes/classical/matrices/raid/x_array.yml b/codes/classical/matrices/raid/x_array.yml index 4e949d961..cf45fd45e 100644 --- a/codes/classical/matrices/raid/x_array.yml +++ b/codes/classical/matrices/raid/x_array.yml @@ -18,7 +18,6 @@ description: | relations: parents: - code_id: array - - code_id: mds # Begin Entry Meta Information diff --git a/codes/classical/matrices/rank-metric/rank_metric.yml b/codes/classical/matrices/rank-metric/rank_metric.yml index 6283e05c3..d86708d6e 100644 --- a/codes/classical/matrices/rank-metric/rank_metric.yml +++ b/codes/classical/matrices/rank-metric/rank_metric.yml @@ -45,7 +45,7 @@ realizations: notes: - 'See Ref. \cite{arxiv:1410.1333} for a discussion of MacWilliams identities and the relationship between rank metric and Gabidulin codes.' - - 'See Ref. \cite{doi:10.1017/9781009283403} for more details.' + - 'See Ref. \cite{doi:10.1017/9781009283403}\cite[Sec. 5]{preset:HPArray} for more details.' relations: parents: diff --git a/codes/classical/properties/block/universally_optimal/delsarte_optimal.yml b/codes/classical/properties/block/universally_optimal/delsarte_optimal.yml index 02f4089f0..e65f8b899 100644 --- a/codes/classical/properties/block/universally_optimal/delsarte_optimal.yml +++ b/codes/classical/properties/block/universally_optimal/delsarte_optimal.yml @@ -6,7 +6,7 @@ code_id: delsarte_optimal name: 'Sharp configuration' -introduced: '\cite{doi:10.1007/BF00053379,preset:LevBounds,arxiv:math/0607446}' +introduced: '\cite{doi:10.1007/BF00053379,preset:HPLevBounds,arxiv:math/0607446}' alternative_names: - 'Delsarte code' @@ -16,7 +16,7 @@ description: | For codes on a compact connected two-point homogeneous space, \(C\) is a design of strength \(M\) and admits \(m\) different distances between its points such that \(M \geq 2m - 1 - \delta\), where \(\delta\) is one if there are two antipodal points in \(C\) and zero otherwise \cite{arxiv:math/0607446}. - Sharp configurations attain the Levenshtein bound \cite{manual:{V. I. Levenshtein, "On choosing polynomials to obtain bounds in packing problems." Proc. Seventh All-Union Conf. on Coding Theory and Information Transmission, Part II, Moscow, Vilnius. 1978.},manual:{V. I. Levenshtein, “On bounds for packings in n-dimensional Euclidean space”, Dokl. Akad. Nauk SSSR, 245:6 (1979), 1299–1303},doi:10.1007/BF00053379,preset:LevBounds}. + Sharp configurations attain the Levenshtein bound \cite{manual:{V. I. Levenshtein, "On choosing polynomials to obtain bounds in packing problems." Proc. Seventh All-Union Conf. on Coding Theory and Information Transmission, Part II, Moscow, Vilnius. 1978.},manual:{V. I. Levenshtein, “On bounds for packings in n-dimensional Euclidean space”, Dokl. Akad. Nauk SSSR, 245:6 (1979), 1299–1303},doi:10.1007/BF00053379,preset:HPLevBounds}. However, not all codes that attain the Levenshtein bound are sharp configurations. See \cite[Table 9.2]{doi:10.1007/BF00053379} for Levenshtein-bound achieving codes on various projective spaces. diff --git a/codes/classical/properties/block/universally_optimal/t-designs.yml b/codes/classical/properties/block/universally_optimal/t-designs.yml index ae80da076..b6e7a3a22 100644 --- a/codes/classical/properties/block/universally_optimal/t-designs.yml +++ b/codes/classical/properties/block/universally_optimal/t-designs.yml @@ -28,7 +28,7 @@ description: | Such a design is called a \hyperref[code:combinatorial_design]{combinatorial design} (a.k.a. block design or covering design) \cite{manual:{Delsarte, Philippe. "An algebraic approach to the association schemes of coding theory." Philips Res. Rep. Suppl. 10 (1973): vi+-97.}}, which includes Steiner systems as a special case. Designs on the full space of binary strings (Hamming space) are called \hyperref[code:orthogonal_array]{orthogonal arrays}. - More generally, designs exist when \(X\) is \(q\)-ary Hamming space, ordered Hamming space \cite{doi:10.4153/CJM-1999-017-5,arXiv:cs/0702033}, \(q\)-Johnson space \cite{manual:{Cameron, Peter J. "Generalisation of Fisher’s inequality to fields with more than one element." Combinatorics, London Math. Soc. Lecture Note Ser 13 (1973): 9-13.},doi:10.1145/2488608.2488715} (where they are called \hyperref[code:subspace_design]{subspace designs}), a sphere \cite{doi:10.1007/BF03187604} (where they are called \hyperref[code:spherical_design]{spherical designs}), or a compact connected two-point homogeneous space \cite{doi:10.1109/18.720545,preset:LevBounds,arXiv:1308.3188} (the sphere or the real, complex, quaternionic, or octonionic projective spaces \cite{doi:10.2307/1969427}). + More generally, designs exist when \(X\) is \(q\)-ary Hamming space, ordered Hamming space \cite{doi:10.4153/CJM-1999-017-5,arXiv:cs/0702033}, \(q\)-Johnson space \cite{manual:{Cameron, Peter J. "Generalisation of Fisher’s inequality to fields with more than one element." Combinatorics, London Math. Soc. Lecture Note Ser 13 (1973): 9-13.},doi:10.1145/2488608.2488715} (where they are called \hyperref[code:subspace_design]{subspace designs}), a sphere \cite{doi:10.1007/BF03187604} (where they are called \hyperref[code:spherical_design]{spherical designs}), or a compact connected two-point homogeneous space \cite{doi:10.1109/18.720545,preset:HPLevBounds,arXiv:1308.3188} (the sphere or the real, complex, quaternionic, or octonionic projective spaces \cite{doi:10.2307/1969427}). Complex projective designs are designs on the space of all quantum states \cite{arXiv:quant-ph/0310075,arxiv:quant-ph/0701126,doi:10.1017/9781139207010}. Symmetric informationally complete quantum measurements (SIC-POVMs) \cite{arXiv:quant-ph/0310075} and mutually unbiased bases (MUBs) \cite{arxiv:1004.3348,arxiv:1505.01123} are important examples of such designs. diff --git a/codes/classical/q-ary_digits/ag/reed_solomon/rs/reed_solomon.yml b/codes/classical/q-ary_digits/ag/reed_solomon/rs/reed_solomon.yml index aecc66213..bd8182581 100644 --- a/codes/classical/q-ary_digits/ag/reed_solomon/rs/reed_solomon.yml +++ b/codes/classical/q-ary_digits/ag/reed_solomon/rs/reed_solomon.yml @@ -55,6 +55,7 @@ realizations: - '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).' + - 'RS codes over \(q=2^m\) are used in RAID 6 \cite{manual:{Anvin, H. Peter. "The mathematics of RAID-6." (2007).},manual:{S. T. Position. (2009) Common raid disk data format specification. [Online]. Available: http://www.snia.org/tech activities/standards/curr standards/ddf}}; see \cite{preset:HPArray}.' - 'Coded sharding designs in blockchains to increase efficiency \cite{arxiv:1809.10361}.' - 'Used in QR-Codes to retrieve damaged barcodes \cite{manual:{International Organization for Standardization, Information Technology: Automatic Identification and Data Capture Techniques-QR Code 2005 Bar Code Symbology Specification, 2nd ed., IEC18004 (ISO, 2006).}}.' - 'Wireless communication systems such as 3G, DVB, and WiMAX \cite{doi:10.1109/PIMRC.2010.5672091}.' diff --git a/codes/classical/q-ary_digits/orthogonal_array.yml b/codes/classical/q-ary_digits/orthogonal_array.yml index 06d8c5202..30778634a 100644 --- a/codes/classical/q-ary_digits/orthogonal_array.yml +++ b/codes/classical/q-ary_digits/orthogonal_array.yml @@ -23,7 +23,7 @@ relations: - code_id: q-ary_digits_into_q-ary_digits detail: 'There is a relation between \(q\)-ary codes and orthogonal arrays which is phrased in terms of the codes'' \hyperref[topic:weight-enumerator]{dual distance} \cite[Thm. 4.5]{doi:10.1016/S0019-9958(73)80007-5}\cite[Thm. 4.9]{doi:10.1007/978-1-4612-1478-6}.' - code_id: t-designs - detail: 'Orthogonal arrays are designs on Hamming space \(GF(q)^n\) (a.k.a. the Hamming association scheme) \cite{manual:{Delsarte, Philippe. "An algebraic approach to the association schemes of coding theory." Philips Res. Rep. Suppl. 10 (1973): vi+-97.},doi:10.1137/0134012,preset:LevBounds}\cite[Exam. 1]{doi:10.1109/18.720545}; see also Ref. \cite{arxiv:1302.4295}.' + detail: 'Orthogonal arrays are designs on Hamming space \(GF(q)^n\) (a.k.a. the Hamming association scheme) \cite{manual:{Delsarte, Philippe. "An algebraic approach to the association schemes of coding theory." Philips Res. Rep. Suppl. 10 (1973): vi+-97.},doi:10.1137/0134012,preset:HPLevBounds}\cite[Exam. 1]{doi:10.1109/18.720545}; see also Ref. \cite{arxiv:1302.4295}.' cousins: - code_id: golay detail: 'The extended Golay code is an orthogonal array of strength 7 \cite[Exam. 1]{doi:10.1109/18.720545}' 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 913006eda..1fbefbbfe 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 @@ -37,7 +37,7 @@ description: | Conversely, \(GF(p)\) is an example of a \textit{subfield} of \(GF(q)\). Certain field elements are chosen to be the \textit{basis} of \(GF(q)\) over \(GF(p)\), and all other elements are expressed as linear combinations of these basis elements. More generally, elements of fields such as \(GF(p^{ml})\) can be written as \(m\)-dimensional vectors over \(GF(p^l)\) or \((m\times l)\)-dimensional matrices over \(GF(p)\). - This idea is used to convert between ordinary block codes and matrix-based codes. + This idea is used to convert between ordinary block codes and matrix-based codes such as disk array codes and rank-metric codes. The field norm and field trace can likewise be defined for fields \(GF(q^m)\) that are extensions of \(GF(q)\) for non-prime \(q\). \end{defterm} @@ -123,6 +123,9 @@ relations: parents: - code_id: rings_into_rings detail: 'Galois fields are rings under addition.' + cousins: + - code_id: matrices_into_matrices + detail: 'Elements of fields such as \(GF(p^{ml})\) can be written as \(m\)-dimensional vectors over \(GF(p^l)\) or \((m\times l)\)-dimensional matrices over \(GF(p)\). This idea is used to convert between ordinary block codes and matrix-based codes such as disk array codes and rank-metric codes.' # Begin Entry Meta Information diff --git a/codes/classical/q-ary_digits/universally_optimal/delsarte_optimal_q-ary.yml b/codes/classical/q-ary_digits/universally_optimal/delsarte_optimal_q-ary.yml index 0e59dffff..4af69ade0 100644 --- a/codes/classical/q-ary_digits/universally_optimal/delsarte_optimal_q-ary.yml +++ b/codes/classical/q-ary_digits/universally_optimal/delsarte_optimal_q-ary.yml @@ -8,7 +8,7 @@ physical: q-ary_digits logical: q-ary_digits name: '\(q\)-ary sharp configuration' -introduced: '\cite{doi:10.1007/BF00053379,preset:LevBounds,arxiv:1212.1913}' +introduced: '\cite{doi:10.1007/BF00053379,preset:HPLevBounds,arxiv:1212.1913}' description: | A \(q\)-ary code that admits \(m\) different distances between distinct codewords and forms a design of strength \(2m-1\) or greater. diff --git a/codes/classical/q-ary_digits/universally_optimal/univ_opt_q-ary.yml b/codes/classical/q-ary_digits/universally_optimal/univ_opt_q-ary.yml index df082ef5f..63e32b334 100644 --- a/codes/classical/q-ary_digits/universally_optimal/univ_opt_q-ary.yml +++ b/codes/classical/q-ary_digits/universally_optimal/univ_opt_q-ary.yml @@ -8,7 +8,7 @@ physical: q-ary_digits logical: q-ary_digits name: 'Universally optimal \(q\)-ary code' -introduced: '\cite{manual:{V. I. Levenshtein. Bounds for packings of metric spaces and some of their applications. Problemy Kibernet, 40 (1983), 43-110.},doi:10.1109/18.412678,doi:10.1007/BF00053379,preset:LevBounds,doi:10.1007/s10623-016-0286-4,doi:10.1109/18.915662,arxiv:1212.1913}' +introduced: '\cite{manual:{V. I. Levenshtein. Bounds for packings of metric spaces and some of their applications. Problemy Kibernet, 40 (1983), 43-110.},doi:10.1109/18.412678,doi:10.1007/BF00053379,preset:HPLevBounds,doi:10.1007/s10623-016-0286-4,doi:10.1109/18.915662,arxiv:1212.1913}' description: | A binary or \(q\)-ary code that (weakly) minimizes all completely monotonic potentials on binary space \cite{arxiv:1212.1913}. @@ -19,7 +19,7 @@ description: | See \cite[Table 12.1]{preset:HKSbounds} (\cite[Table 1]{arxiv:1212.1913}) for a list of (LP) universally optimal codes. See \cite[Sec. 12.4]{preset:HKSbounds} for further discussion. - All codes that attain the Levenshtein bound \cite{manual:{V. I. Levenshtein. Bounds for packings of metric spaces and some of their applications. Problemy Kibernet, 40 (1983), 43-110.},doi:10.1109/18.412678,doi:10.1007/BF00053379,preset:LevBounds}, which estimates the solution to Delsarte's linear program, are universally optimal \cite{doi:10.1007/s10623-016-0286-4}; see \cite[Thm. 12.3.23]{preset:HKSbounds}. + All codes that attain the Levenshtein bound \cite{manual:{V. I. Levenshtein. Bounds for packings of metric spaces and some of their applications. Problemy Kibernet, 40 (1983), 43-110.},doi:10.1109/18.412678,doi:10.1007/BF00053379,preset:HPLevBounds}, which estimates the solution to Delsarte's linear program, are universally optimal \cite{doi:10.1007/s10623-016-0286-4}; see \cite[Thm. 12.3.23]{preset:HKSbounds}. However, not all universally optimal codes attain the Levenshtein bound.