Divisible code[1] 


A linear \(q\)-ary block code is \(\Delta\)-divisible if the Hamming weight of each of its codewords is divisible by divisor \(\Delta\). A \(2\)-divisible (\(4\)-divisible, \(8\)-divisible) code is called even (doubly-even, triply-even) [2,3]. A code is called singly-even if all codewords are even and at least one has weight equal to 2 modulo 4. More generally, a code is \(m\)-even if it is \(2^{m}\)-divisible.


See Ref. [4] for an introduction to triply-even binary linear codes and their construction from doubly-even codes.




  • Binary quadratic-residue (QR) code — Extended binary quadratic residue codes of length \(8m\) are self-dual doubly-even codes [3; pg. 82].
  • \([8,4,4]\) extended Hamming code — The extended Hamming code code is the smallest double-even self-dual code.
  • Constant-weight code — Codes whose codewords have a constant weight of \(m\) are automatically \(m\)-divisible. However, divisible codes are linear by definition while constant-weight codes do not have to be.
  • Self-dual linear code — Binary self-dual codes are singly-even, and binary self-orthogonal codes that are not doubly-even are singly-even [8; Def. 4.1.6]. The minimum distance of doubly-even binary self-dual codes asymptotically satisfies \(d\leq0.1664n+o(n)\) [9].
  • Ternary Golay code — Extended ternary Golay code is 3-divisible ([10], pg. 296).
  • Griesmer code — If a \(p\)-ary Griesmer code with \(p\) prime is such that a power of \(p\) divides the distance, then the code is divisible by that power [11].
  • Two-weight code — Two-weight codes are \(m\)-divisible, where \(m\) is the greatest common factor of their two possible weights.
  • Quantum divisible code — The \(X\)-type stabilizers of a level-\(\nu\) quantum divisible code form a \(\nu\)-even linear binary code.
  • \([[49,1,5]]\) triorthogonal code — The \([[49,1,5]]\) triorthogonal code stabilizer generator matrix can be obtained from a triply-even linear binary code [12; Appx. B].


H. N. Ward, “Divisible codes”, Archiv der Mathematik 36, 485 (1981) DOI
S. Kurz, “Divisible Codes”, (2023) arXiv:2112.11763
J. H. Conway and N. J. A. Sloane, Sphere Packings, Lattices and Groups (Springer New York, 1999) DOI
K. Betsumiya and A. Munemasa, “On triply even binary codes”, Journal of the London Mathematical Society 86, 1 (2012) arXiv:1012.4134 DOI
S. K. Houghten et al., “The extended quadratic residue code is the only (48,24,12) self-dual doubly-even code”, IEEE Transactions on Information Theory 49, 53 (2003) DOI
R. J. McEliece, “On periodic sequences from GF(q)”, Journal of Combinatorial Theory, Series A 10, 80 (1971) DOI
R. J. McEliece, “Weight congruences for p-ary cyclic codes”, Discrete Mathematics 3, 177 (1972) DOI
S. Bouyuklieva, "Self-dual codes." Concise Encyclopedia of Coding Theory (Chapman and Hall/CRC, 2021) DOI
I. Krasikov and S. Litsyn, “Linear programming bounds for doubly-even self-dual codes”, IEEE Transactions on Information Theory 43, 1238 (1997) DOI
J. Bierbrauer, Introduction to Coding Theory (Chapman and Hall/CRC, 2016) DOI
H. N. Ward, “Divisibility of Codes Meeting the Griesmer Bound”, Journal of Combinatorial Theory, Series A 83, 79 (1998) DOI
S. Bravyi and J. Haah, “Magic-state distillation with low overhead”, Physical Review A 86, (2012) arXiv:1209.2426 DOI
Page edit log

Your contribution is welcome!

on github.com (edit & pull request)— see instructions

edit on this site

Zoo Code ID: divisible

Cite as:
“Divisible code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/divisible
@incollection{eczoo_divisible, title={Divisible code}, booktitle={The Error Correction Zoo}, year={2022}, editor={Albert, Victor V. and Faist, Philippe}, url={https://errorcorrectionzoo.org/c/divisible} }
Share via:
Twitter | Mastodon |  | E-mail
Permanent link:

Cite as:

“Divisible code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/divisible

Github: https://github.com/errorcorrectionzoo/eczoo_data/edit/main/codes/classical/q-ary_digits/weight/divisible.yml.