Dual code
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
In coding theory, the dual code of a linear code
is the linear code defined by
where
is a scalar product. In linear algebra terms, the dual code is the annihilator of C with respect to the bilinear form <,>. The dimension of C and its dual always add up to the length n:
A generator matrix for the dual code is a 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 , 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.
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
External links
- MATH32031: Coding Theory - Dual Code - pdf with some examples and explanations
- ↑ Lua error in package.lua at line 80: module 'strict' not found.