Skip to content

Commit 569980b

Browse files
authored
Merge pull request #401 from errorcorrectionzoo/fix/classical-cleanup
Classical cleanup: griesmer/mds fix, rerouted cousins, small_distance parents, jump under CLY
2 parents b7f3e69 + 2800e78 commit 569980b

19 files changed

Lines changed: 72 additions & 30 deletions

File tree

‎AGENTS.md‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,18 @@ lint scripts `spellcheck.py`, `remove_trailing_block_apostrophes.py`, and
145145
`scripts/params/check_tableaux.py`.
146146
This is the routine-check list in `scripts/script_list_for_checking.txt`.
147147

148+
**15. Explicit codes with \(d\leq 5\) get a small-distance parent.** An entry
149+
for one explicit code whose distance is at most five also lists a
150+
small-distance family as a parent. Use `small_distance_qubit_stabilizer` for
151+
qubit stabilizer codes only, `small_distance_quantum` for any other block
152+
quantum code, and `small_distance` for classical codes. Never list both quantum
153+
ones, since `small_distance_qubit_stabilizer` descends from
154+
`small_distance_quantum`. Omit the parent only when another parent already
155+
implies it (e.g., `hamming743` inherits `small_distance` through `hamming`),
156+
because the relation checkers flag the redundant edge. These parents feed the
157+
small-code lists (`list_small.yml`, `list_small_qubit_stabilizer.yml`,
158+
`list_small_quantum.yml`), so an explicit code without one drops out of them.
159+
148160
## Relation semantics
149161

150162
- Relations are declared on the CHILD, in its `relations.parents` list; the

‎codes/classical/bits/constant_weight/two_in_five.yml‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ description: |
1717
A nonlinear binary code consisting of the 10 weight-two five-bit strings, thereby providing an encoding for the decimal digits 0 through 9.
1818
1919
protection: |
20-
Detects some single bit-flips as well as unidirectional errors using the fact that each codeword has weight two. The code fails for any sequence of flips that maintains the constant weight.
20+
Detects all single bit-flips as well as unidirectional errors using the fact that each codeword has weight two. The code fails for any sequence of flips that maintains the constant weight.
2121
2222
realizations:
2323
- 'Used in the United States Postal Service''s POSTNET barcode system as well as the Postal Alphanumeric Encoding Technique (PLANET).'
@@ -31,12 +31,15 @@ relations:
3131
- code_id: binary_group_orbit
3232
detail: 'The two-in-five code is a binary group-orbit code with group \(S_5\).'
3333
- code_id: weight_two
34+
- code_id: small_distance
3435

3536

3637
# Begin Entry Meta Information
3738
_meta:
3839
# Change log - most recent first
3940
changelog:
41+
- user_id: VictorVAlbert
42+
date: '2026-10-13'
4043
- user_id: VictorVAlbert
4144
date: '2026-06-08'
4245
- user_id: VictorVAlbert

‎codes/classical/bits/nonlinear/sphere_packing/julin12.yml‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ relations:
3838
- code_id: construction_a
3939
detail: 'Using \term{Construction A}, the Julin-Golay codes yield non-lattice sphere-packings that hold records in 9 and 11 dimensions.'
4040
- code_id: q-ary_over_zq
41-
detail: 'Julin codes can be obtained from simple nonlinear codes over \(\mathbb{Z}_4\) using the Gray map \cite{doi:10.1007/BF01388558}.'
41+
detail: 'Simple nonlinear codes over \(\mathbb{Z}_4\) yield Julin codes under the Gray map \cite{doi:10.1007/BF01388558}.'
4242
- code_id: gray
4343
detail: 'Julin codes can be obtained from simple nonlinear codes over \(\mathbb{Z}_4\) using the Gray map \cite{doi:10.1007/BF01388558}.'
4444

@@ -47,6 +47,8 @@ relations:
4747
_meta:
4848
# Change log - most recent first
4949
changelog:
50+
- user_id: VictorVAlbert
51+
date: '2026-10-13'
5052
- user_id: VictorVAlbert
5153
date: '2026-06-08'
5254
- user_id: VictorVAlbert

‎codes/classical/bits/reed_muller/dual_hamming/simplex734.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ relations:
4040
detail: 'The \([7,3,4]\) simplex code is the smallest difference-set cyclic code, arising from the lines of the projective plane \(PG(2,2)\) \cite[pg. 397]{preset:MacSlo}.'
4141
- code_id: small_distance
4242
cousins:
43-
- code_id: incidence_matrix
44-
detail: 'The \([7,3,4]\) simplex code is the smallest difference-set cyclic code, arising from the lines of the projective plane \(PG(2,2)\) \cite[pg. 397]{preset:MacSlo}.'
4543
- code_id: hamming743
4644
detail: 'The \([7,3,4]\) simplex code is the dual of the Hamming code and also its even-weight subcode \cite{preset:Feit,doi:10.1016/0012-365X(74)90085-5}.'
4745

@@ -50,6 +48,8 @@ relations:
5048
_meta:
5149
# Change log - most recent first
5250
changelog:
51+
- user_id: VictorVAlbert
52+
date: '2026-10-13'
5353
- user_id: VictorVAlbert
5454
date: '2026-09-21'
5555
- user_id: VictorVAlbert

‎codes/classical/bits/reed_muller/hamming/extended_hamming.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ relations:
2323
detail: 'Extended Hamming codes are RM\((m-2,m)\) codes.'
2424
- code_id: small_distance
2525
cousins:
26-
- code_id: karlin
27-
detail: 'The extended Hamming code is equivalent to the Karlin double circulant code for \(m=3\) \cite[Ch. 16]{preset:MacSlo}.'
2826
- code_id: univ_opt_q-ary
2927
detail: 'Several extended Hamming codes are LP universally optimal codes \cite{arxiv:1212.1913}.'
3028
- code_id: biorthogonal
@@ -40,6 +38,8 @@ relations:
4038
_meta:
4139
# Change log - most recent first
4240
changelog:
41+
- user_id: VictorVAlbert
42+
date: '2026-10-13'
4343
- user_id: VictorVAlbert
4444
date: '2026-06-08'
4545
- user_id: VictorVAlbert

‎codes/classical/bits/reed_muller/hamming/hamming.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ relations:
4848
cousins:
4949
- code_id: univ_opt_q-ary
5050
detail: 'Binary Hamming codes and several of their extended, punctured, and shortened versions are LP universally optimal codes \cite{arxiv:1212.1913}.'
51-
- code_id: binary_quad_residue
52-
detail: 'The \([7,4,3]\) Hamming code is a binary quadratic-residue code \cite[Ex. 3.2.10]{preset:HKSclass}.'
5351
- code_id: constantin_rao
5452
detail: 'The nonlinear CR codes for \(G = \mathbb{Z}_2^r\) reduce to Hamming codes at lengths \(n = 2^r - 1\) \cite{preset:Klove81}; see Ref. \cite{arxiv:1310.7536}.'
5553
- code_id: extended_hamming
@@ -64,6 +62,8 @@ relations:
6462
_meta:
6563
# Change log - most recent first
6664
changelog:
65+
- user_id: VictorVAlbert
66+
date: '2026-10-13'
6767
- user_id: VictorVAlbert
6868
date: '2026-06-08'
6969
- user_id: VictorVAlbert

‎codes/classical/bits/reed_muller/hamming/hamming743.yml‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ relations:
3939
parents:
4040
- code_id: hamming
4141
- code_id: binary_quad_residue
42-
detail: 'The \([7,4,3]\) Hamming code is a quadratic-residue code with generator polynomial \(1+x+x^3\) \cite{preset:MacSlo}.'
42+
detail: 'The \([7,4,3]\) Hamming code is a quadratic-residue code with generator polynomial \(1+x+x^3\) \cite{preset:MacSlo}\cite[Ex. 3.2.10]{preset:HKSclass}.'
4343
cousins:
4444
- code_id: incidence_matrix
4545
detail: 'The \([7,4,3]\) Hamming code parity-check matrix corresponds to points in the Fano plane \(PG(2,2)\) \cite[Exam. 21.4.2]{preset:HKSgraphs}.'
@@ -57,6 +57,8 @@ relations:
5757
_meta:
5858
# Change log - most recent first
5959
changelog:
60+
- user_id: VictorVAlbert
61+
date: '2026-10-13'
6062
- user_id: VictorVAlbert
6163
date: '2026-09-21'
6264
- user_id: VictorVAlbert

‎codes/classical/bits/reed_muller/hamming/hamming844.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,24 +41,24 @@ description: |
4141
relations:
4242
parents:
4343
- code_id: extended_hamming
44-
- code_id: self_dual
45-
detail: 'The \([8,4,4]\) extended Hamming code is the smallest doubly even self-dual code, and the unique Type II code of length \(8\) \cite[Rem. 4.3.10]{preset:HKSselfdual}.'
44+
- code_id: karlin
45+
detail: 'The \([8,4,4]\) extended Hamming code is equivalent to the Karlin double circulant code for \(m=3\) \cite[Ch. 16]{preset:MacSlo}.'
4646
- code_id: biorthogonal
4747
detail: 'The \([8,4,4]\) extended Hamming code is the first-order RM\((1,3)\) code.'
4848
cousins:
4949
- code_id: group
5050
detail: 'The \([8,4,4]\) extended Hamming code is a group-algebra code for the group \(\mathbb{Z}_2 \times \mathbb{Z}_4\) \cite{arxiv:1912.09167}.'
5151
- code_id: binary_quad_residue
5252
detail: 'The \([8,4,4]\) extended Hamming code is an extended quadratic-residue code \cite{preset:MacSlo}.'
53-
- code_id: divisible
54-
detail: 'The \([8,4,4]\) extended Hamming code is the smallest doubly even self-dual code, and the unique Type II code of length \(8\) \cite[Rem. 4.3.10]{preset:HKSselfdual}.'
5553

5654

5755

5856
# Begin Entry Meta Information
5957
_meta:
6058
# Change log - most recent first
6159
changelog:
60+
- user_id: VictorVAlbert
61+
date: '2026-10-13'
6262
- user_id: VictorVAlbert
6363
date: '2026-09-21'
6464
- user_id: VictorVAlbert

‎codes/classical/q-ary_digits/distributed_storage/mds.yml‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ notes:
4141

4242
relations:
4343
parents:
44-
- code_id: q-ary_linear
44+
- code_id: griesmer
45+
detail: 'The Griesmer bound implies the Singleton bound, and MDS codes attain both. For \(k\geq 2\), this follows because MDS codes have distance \(d\leq q\) \cite[Ch. 11]{preset:MacSlo}.'
4546
- code_id: optimal_lrc
4647
detail: 'The generalized Singleton bound becomes the Singleton bound for \(k=r\), so optimal LRCs with that constraint are MDS.'
4748
- code_id: univ_opt_q-ary
@@ -61,6 +62,8 @@ relations:
6162
_meta:
6263
# Change log - most recent first
6364
changelog:
65+
- user_id: VictorVAlbert
66+
date: '2026-10-13'
6467
- user_id: VictorVAlbert
6568
date: '2026-06-08'
6669
- user_id: MarkusGrassl

‎codes/classical/q-ary_digits/easy/hexacode.yml‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,10 @@ relations:
5454
detail: 'The hexacode is a triply extended RS code \cite[pg. 82]{doi:10.1007/978-1-4757-6568-7}.'
5555
- code_id: lexicographic
5656
detail: 'Hexacodewords can be arranged in an order from smallest to largest, with each codeword differing at four places from the next \cite{manual:{R. A. Wilson, On lexicographic codes of minimal distance 4, Atti Sem. Mat. Fis. Univ. Modena 33 (1984)}}\cite[pg. 327]{preset:MacSlo}.'
57-
- code_id: small_distance
58-
cousins:
5957
- code_id: mds
6058
detail: 'The hexacode is an MDS code \cite[Exer. 578]{doi:10.1017/CBO9780511807077}.'
59+
- code_id: small_distance
60+
cousins:
6161
- code_id: q-ary_quad_residue
6262
detail: 'The hexacode is the smallest example of an extended quadratic-residue code of Type \(4^H\) \cite[Sec. 2.4.6]{doi:10.1007/3-540-30731-1}\cite[Exer. 363]{doi:10.1017/CBO9780511807077}.'
6363
- code_id: q-ary_hamming
@@ -79,6 +79,8 @@ relations:
7979
_meta:
8080
# Change log - most recent first
8181
changelog:
82+
- user_id: VictorVAlbert
83+
date: '2026-10-13'
8284
- user_id: VictorVAlbert
8385
date: '2026-06-08'
8486
- user_id: VictorVAlbert

0 commit comments

Comments
 (0)