Английская Википедия:Dual code

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:For

In coding theory, the dual code of a linear code

<math>C\subset\mathbb{F}_q^n</math>

is the linear code defined by

<math>C^\perp = \{x \in \mathbb{F}_q^n \mid \langle x,c\rangle = 0\;\forall c \in C \} </math>

where

<math>\langle x, c \rangle = \sum_{i=1}^n x_i c_i </math>

is a scalar product. In linear algebra terms, the dual code is the annihilator of C with respect to the bilinear form <math>\langle\cdot\rangle</math>. The dimension of C and its dual always add up to the length n:

<math>\dim C + \dim C^\perp = n.</math>

A generator matrix for the dual code is the parity-check matrix for the original code and vice versa. The dual of the dual code is always the original code.

Self-dual codes

A self-dual code is one which is its own dual. This implies that n is even and dim C = n/2. If a self-dual code is such that each codeword's weight is a multiple of some constant <math>c > 1</math>, then it is of one of the following four types:[1]

  • Type I codes are binary self-dual codes which are not doubly even. Type I codes are always even (every codeword has even Hamming weight).
  • Type II codes are binary self-dual codes which are doubly even.
  • Type III codes are ternary self-dual codes. Every codeword in a Type III code has Hamming weight divisible by 3.
  • Type IV codes are self-dual codes over F4. These are again even.

Codes of types I, II, III, or IV exist only if the length n is a multiple of 2, 8, 4, or 2 respectively.

If a self-dual code has a generator matrix of the form <math>G=[I_k|A]</math>, then the dual code <math>C^\perp</math> has generator matrix <math>[-\bar{A}^T|I_k]</math>, where <math>I_k</math> is the <math>(n/2)\times (n/2)</math> identity matrix and <math>\bar{a}=a^q\in\mathbb{F}_q</math>.

References

Шаблон:Reflist Шаблон:Refbegin

Шаблон:Refend

External links