Self-dual linear code 

Description

An \([n,n/2]_q\) code that is equal to its dual, \(C^\perp = C\), where the dual is defined with respect to an inner product, most commonly either Euclidean or Hermitian. Self-dual codes exist only for even lengths and have dimension \(k=n/2\). A code that is equivalent to its dual via permutations is called iso-dual.

An even (doubly-even) self-dual code is called Type I (Type II) [1,2]. Ternary (quaternary) self-dual codes are called Type III (Type IV), and each of their codewords has weight three (two).

Protection

The generator matrix of the Hermitian dual of a code with generator matrix \(G = [I_k~~A]\) is \([-\bar{A}^T~~I_{n-k}]\), where \(\bar{A}\) contains matrix elements of \(A\) raised to the \(p\)th power. A code is Hermitian self-dual if and only if \(A \bar{A}^{T} = -I_{n/2}\).

The minimum distance of a Hermitian self-dual \([n,n/2]\) code satisfies \begin{align} d\leq\begin{cases} 2\left\lfloor \frac{n}{8}\right\rfloor +2 & q=2\text{ and code is singly-even}\\ 4\left\lfloor \frac{n}{24}\right\rfloor +4 & q=2\text{ and code is doubly-even}\\ 3\left\lfloor \frac{n}{12}\right\rfloor +3 & q=3\\ 2\left\lfloor \frac{n}{6}\right\rfloor +2 & q=4\text{ and code is even} \end{cases}~, \tag*{(1)}\end{align} except for \(n = 22\) modulo four for the second case, where the bound is increased by four [3]. A self-dual code saturating the above inequality is called extremal.

Fixed-weight codewords of extremal self-dual doubly-even binary codes whose length divides 24 form a combinatorial 5-design [4]. The extended Golay code and the \([48,24,12]\) self-dual code are two such codes. It is not yet known whether a \([72,36,16]\) self-dual code exists; see [5,6][7; Remark 4.3.11].

For ternary self-dual codes, see [8][7; Remark 4.3.14].

Notes

See books [9,10] for more on self-dual codes.See Refs. [11,12] for constructions of binary self-dual codes.See Tables of Self-Dual Codes for a database of self-dual codes over \(GF(2)\), \(GF(3)\), \(GF(4)\) (Euclidean or Hermitian), \(GF(5)\), and \(GF(7)\). See also Ref. [13].

Parents

  • Dual linear code
  • Self-dual additive code — Self-dual linear codes with respect to some inner product are automatically self-dual additive under the same inner product since linear codes are additive. In addition, quaternary linear codes are Hermitian self-orthogonal (self-dual) iff they are trace-Hermitian self-orthogonal (self-dual) additive [14; Thm. 27.4.1] ([10; Thm. 9.10.3]).

Children

Cousins

  • Divisible code — Binary self-dual codes are singly-even, and binary self-orthogonal codes that are not doubly-even are singly-even [17; Def. 4.1.6]. The minimum distance of doubly-even binary self-dual codes asymptotically satisfies \(d\leq0.1664n+o(n)\) [18].
  • Unimodular lattice code — Unimodular lattices are lattice analogues of self-dual codes. There are several parallels between (doubly-even) self-dual binary codes and (even) unimodular lattices [2,9].
  • Niemeier lattice code — Niemeier lattice codes can be constructed from ternary self-dual codes of length 24 [19].
  • Combinatorial design — Self-dual extremal codes yield combinatorial \(\leq 5\)-designs using the Assmus-Mattson theorem [4] (see [20; Sec. 5.4]). See [21; Table 1.61, pg. 683] for a table of combinatorial designs obtained from self-dual codes.
  • Golay code — The extended Golay code is the unique code at its parameters and happens to be self-dual [22][7; Remark 4.3.11].
  • Nordstrom-Robinson (NR) code — The NR code is self-dual in that its distance distribution is invariant under the MacWilliams transform [23]. It maps to the octacode, a self-dual code over \(\mathbb{Z}_4\) under the Gray map [24,25].
  • Ternary Golay code — The extended ternary Golay code is self-dual.
  • Cyclic linear \(q\)-ary code — See Refs. [26,27] for tables of cyclic self-dual codes.
  • Jump code — Iso-dual codes can be used to construct jump codes [28].

References

[1]
S. Kurz, “Divisible Codes”, (2023) arXiv:2112.11763
[2]
J. H. Conway and N. J. A. Sloane, Sphere Packings, Lattices and Groups (Springer New York, 1999) DOI
[3]
E. M. Rains, “Shadow bounds for self-dual codes”, IEEE Transactions on Information Theory 44, 134 (1998) DOI
[4]
E. F. Assmus Jr. and H. F. Mattson Jr., “New 5-designs”, Journal of Combinatorial Theory 6, 122 (1969) DOI
[5]
N. Sloane, “Is there a (72,36) d = 16 self-dual code? (Corresp.)”, IEEE Transactions on Information Theory 19, 251 (1973) DOI
[6]
S. Dougherty, J.-L. Kim, and P. Solé, “Open Problems in Coding Theory”, Noncommutative Rings and Their Applications 79 (2015) DOI
[7]
E. M. Rains and N. J. A. Sloane, “Self-dual codes,” in Handbook of Coding Theory, eds. V. S. Pless and W. C. Huffman. Amsterdam: Elsevier, 1998, pp. 177–294.
[8]
W. Cary Huffman, “On the classification and enumeration of self-dual codes”, Finite Fields and Their Applications 11, 451 (2005) DOI
[9]
Self-Dual Codes and Invariant Theory (Springer-Verlag, 2006) DOI
[10]
W. C. Huffman and V. Pless, Fundamentals of Error-Correcting Codes (Cambridge University Press, 2003) DOI
[11]
S. Bouyuklieva, “Some optimal self-orthogonal and self-dual codes”, Discrete Mathematics 287, 1 (2004) DOI
[12]
M. Harada, “Binary extremal self-dual codes of length 60 and related codes”, Designs, Codes and Cryptography 86, 1085 (2017) arXiv:1706.01694 DOI
[13]
P. Gaborit and A. Otmani, “Experimental constructions of self-dual codes”, Finite Fields and Their Applications 9, 372 (2003) DOI
[14]
M. F. Ezerman, "Quantum Error-Control Codes." Concise Encyclopedia of Coding Theory (Chapman and Hall/CRC, 2021) DOI
[15]
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
[16]
G. Hoehn, “Self-dual Codes over the Kleinian Four Group”, (2000) arXiv:math/0005266
[17]
S. Bouyuklieva, "Self-dual codes." Concise Encyclopedia of Coding Theory (Chapman and Hall/CRC, 2021) DOI
[18]
I. Krasikov and S. Litsyn, “Linear programming bounds for doubly-even self-dual codes”, IEEE Transactions on Information Theory 43, 1238 (1997) DOI
[19]
P. S. Montague, “A new construction of lattices from codes over GF(3)”, Discrete Mathematics 135, 193 (1994) DOI
[20]
V. D. Tonchev, "Codes and designs." Concise Encyclopedia of Coding Theory (Chapman and Hall/CRC, 2021) DOI
[21]
C. J. Colbourn, editor , CRC Handbook of Combinatorial Designs (CRC Press, 2010) DOI
[22]
P. Delsarte and J. M. Goethals, “Unrestricted codes with the golay parameters are unique”, Discrete Mathematics 12, 211 (1975) DOI
[23]
W. Kantor, “On the inequivalence of generalized Preparata codes”, IEEE Transactions on Information Theory 29, 345 (1983) DOI
[24]
A. R. Calderbank et al., “A linear construction for certain Kerdock and Preparata codes”, (1993) arXiv:math/9310227
[25]
Forney Jr GD, Sloane NJ, Trott MD. The Nordstrom-Robinson code is the binary image of the octacode. InCoding and Quantization: DIMACS/IEEE workshop 1992 Oct 19 (pp. 19-26). Amer. Math. Soc..
[26]
Yan Jia, San Ling, and Chaoping Xing, “On Self-Dual Cyclic Codes Over Finite Fields”, IEEE Transactions on Information Theory 57, 2243 (2011) DOI
[27]
S. Jitman et al., “Abelian Codes in Principal Ideal Group Algebras”, IEEE Transactions on Information Theory 59, 3046 (2013) DOI
[28]
T. Beth et al., Designs, Codes and Cryptography 29, 51 (2003) DOI
Page edit log

Your contribution is welcome!

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

edit on this site

Zoo Code ID: self_dual

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

Cite as:

“Self-dual linear code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2023. https://errorcorrectionzoo.org/c/self_dual

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