Construction A and its dual lattice #
For an additive code C ≤ (ZMod m)^ι, ConstructionA.lattice m C is the submodule of
ℚ^ι consisting of integer vectors whose reductions lie in C. The ambient form is
ConstructionA.form m x y = (∑ i, x i * y i) / m. This rational model becomes the usual
Construction A lattice after scaling real coordinates by 1 / √m.
When the coordinate type is finite and m ≠ 0, the carrier is a full lattice for every code.
Its dual carrier is literally the carrier
constructed from the dual code, so integrality is equivalent to self-orthogonality of the code,
and the resulting integral lattice is unimodular exactly when the code is self-dual.
Additive codes over ZMod m are canonically submodules through AddSubgroup.toZModSubmodule;
their dual here is the existing Submodule.euclideanDual, transported back to an additive
subgroup. The carrier and the form are defined for every modulus m : ℕ (at m = 0 the form
is zero); the results that divide by the modulus assume [NeZero m], and no primality hypothesis
is needed. For m ≠ 0 the normalized form is positive definite, so every Construction A
lattice is definite.
At m = 1, the construction is the integer coordinate lattice with the ordinary dot product, and
the same results apply.
References #
- W. Ebeling, Lattices and Codes, §1.3, for binary Construction A.
- M. Harada, A. Munemasa, and B. Venkov, Classification of ternary extremal self-dual codes of length 28, §2, for the general positive-modulus normalization and the self-dual-to-unimodular implication.
- A. Munemasa and H. Tamura, The codes and the lattices of Hadamard matrices, §4, for the
integrality criterion over
ZMod m.
The rational carrier of Construction A: the integer vectors reducing to the additive code
C modulo m.
Instances For
For a nonzero modulus, every Construction A vector is c + m z, where c is the lift of a
codeword with coordinates in [0, m).
The scaled coordinate vectors m eᵢ belong to every Construction A carrier.
For a nonzero modulus and finite coordinates, every Construction A carrier is a full, finitely generated integer lattice.
The rational bilinear form of Construction A, normalized by dividing the dot product by the modulus.
Instances For
The Construction A form is nondegenerate.
The normalized Construction A form is positive definite.
The dual of a Construction A carrier is the Construction A carrier of the Euclidean dual code, as an equality of submodules of the same rational coordinate space.
The Construction A form is integral on its carrier exactly when the additive code is
self-orthogonal for the dot product modulo m.
Construction A as an integral lattice, under the exact self-orthogonality hypothesis.
Instances For
The underlying carrier of the bundled Construction A lattice.
The ambient form of the bundled Construction A lattice.
The norm of a Construction A vector is its dot product with itself, divided by the modulus.
The norm of a rational vector with integer coordinates is the sum of the squares of those coordinates, divided by the modulus.
The dual carrier of the bundled Construction A lattice is the carrier of the dual code.
A self-orthogonal code gives a nondegenerate integral lattice.
Construction A always produces a positive-definite lattice.
An integral Construction A lattice is unimodular exactly when its code is self-dual.
Linear codes #
The Construction A lattice of a self-orthogonal linear code over ZMod m is unimodular
exactly when the code is self-dual.
The Construction A lattice of a self-dual linear code over ZMod m is unimodular.