Euclidean duals of linear codes #
A linear code on a finite coordinate type is a submodule of the corresponding function space. Its Euclidean dual consists of the words whose dot product with every codeword vanishes. This file gives that construction its order-theoretic API and proves that dot-product duality is an involution over a field. In particular, the dimensions of a code and its dual add to the number of coordinates, and over a finite field their cardinalities multiply to the cardinality of the whole word space.
A code is self-orthogonal when it lies in its Euclidean dual and self-dual when it equals it.
These are predicates on the code itself rather than a new bundled type, so the full Submodule
API stays available. Over a field, a self-orthogonal code has at most half the ambient dimension,
with equality exactly for self-dual codes.
The dot-product convention and the resulting Euclidean dual follow Huffman and Pless, Fundamentals of Error-Correcting Codes, §§1.2–1.4.
The Euclidean dual of a linear code: its orthogonal complement for the standard dot product.
Instances For
Membership in the Euclidean dual means having zero dot product with every codeword.
The Euclidean dual is the orthogonal complement orthogonalBilin for the dot-product
bilinear form.
Membership in the Euclidean dual can equivalently put the codeword on the right.
A word is dual to a generated code exactly when it is orthogonal to every generator.
The dual of the zero code is the whole word space.
The dual of the whole word space is the zero code.
Euclidean duality reverses inclusion.
Orthogonality of two codes is symmetric.
The Euclidean dual of a sum is the intersection of the Euclidean duals.
Self-orthogonal and self-dual codes #
A linear code is self-orthogonal when it is contained in its Euclidean dual, that is, when any two of its codewords have zero dot product.
Instances For
A linear code is self-dual when it equals its Euclidean dual.
Instances For
Self-orthogonality is containment in the Euclidean dual.
A code is self-orthogonal exactly when any two of its words have zero dot product.
Self-duality is equality with the Euclidean dual.
A self-orthogonal code is contained in its Euclidean dual.
The Euclidean dual of a self-dual code is the code itself.
Every self-dual code is self-orthogonal.
Self-orthogonality passes to subcodes.
The zero code is self-orthogonal.
Two codes have the same Euclidean dual exactly when they are equal.
A self-dual code has twice its dimension equal to its length.
A self-orthogonal code has dimension at most half the length.
A self-orthogonal code of half the ambient dimension is self-dual.
A self-dual code over a field with q elements has q^(n/2) words, where n is its
length.