Codes over ℤ/m as subgroups of a discriminant module #
Words over ℤ/m are elements of the coordinate power of the standard alphabet
TauCeti.FiniteBilinearModule.zmodStandard, whose pairing is xy / m. Summing that pairing
over the coordinates gives
b(x, y) = (x ⬝ᵥ y) / m,
so an additive code and the codes orthogonal to it for the ℤ/m dot product are literally a
subgroup of a finite bilinear module and its orthogonal complement. In particular a code is
self-orthogonal exactly when it is isotropic, and self-dual exactly when it is Lagrangian.
When m is even the coordinate power of the quadratic alphabet adds the value
q(x) = (∑ i, lift (xᵢ)²) / (2m),
independent of the chosen integer lifts because each coordinate value is. At m = 2 each
canonical representative is 0 or 1, hence equals its square, so q(x) is a quarter of the
Hamming weight and quadratic isotropy of a binary code is exactly double evenness. These are the
identifications through which a code becomes an isotropic subgroup of the discriminant module of
a lattice.
Main declarations #
TauCeti.coordinatePower_zmodStandard_pairingandTauCeti.coordinatePower_zmodStandard_pairing_intCast: the coordinate pairing overℤ/mis the dot product divided bym, including for arbitrary integer lifts.TauCeti.orthogonalComplement_coordinatePower_zmodStandard: the orthogonal complement of a code is its Euclidean dual.TauCeti.isIsotropic_coordinatePower_zmodStandard_iff_le_euclideanDualandTauCeti.isLagrangian_coordinatePower_zmodStandard_iff: isotropy is self-orthogonality and the Lagrangian condition is self-duality.TauCeti.coordinatePower_zmodStandard_quadratic: the coordinate quadratic value over an evenℤ/mis the sum of the squares of the coordinate lifts divided by2m.TauCeti.coordinatePower_zmodStandard_quadratic_intCast_eq_zero_iffandTauCeti.isIsotropic_coordinatePower_zmodStandard_quadratic_intCast_iff: the same values and isotropy read off any coordinatewise integer lift.TauCeti.isIsotropic_coordinatePower_zmodStandard_quadratic_iff: quadratic isotropy over an evenℤ/mis divisibility of the sum of squared canonical representatives by2m.TauCeti.isIsotropic_coordinatePower_zmodStandard_quadratic_iff_euclideanWeight: equivalently, divisibility of every Euclidean weight by2m.TauCeti.isIsotropic_coordinatePower_zmodStandard_two_iff_isDoublyEven: overℤ/2quadratic isotropy is double evenness.
References #
- W. Ebeling, Lattices and Codes, §§1.2–1.3, for binary codes, their weights, and the
quadratic form
wt / 4moduloℤ. - J. H. Conway and N. J. A. Sloane, Sphere Packings, Lattices and Groups, Chapter 4, §3 and Chapter 7, §§8–9, for codes as glue groups in discriminant coordinates.
The bilinear coordinate power #
The pairing of two words over ℤ/m is their dot product, divided by m.
The pairing of two words over ℤ/m, computed using arbitrary coordinatewise integer lifts.
The orthogonal complement of an additive code over ℤ/m consists of the words with zero dot
product against every codeword.
The orthogonal complement of an additive code over ℤ/m is its Euclidean dual.
An additive code over ℤ/m is isotropic exactly when any two of its words are
orthogonal.
Isotropy of a code over ℤ/m is self-orthogonality.
The Lagrangian condition for a code over ℤ/m is self-duality.
The quadratic coordinate power for an even modulus #
The quadratic value of a word over an even ℤ/m is the sum of the squares of its coordinate
representatives, divided by 2m.
The quadratic value of a word over an even ℤ/m is computed by any coordinatewise integer
lift: the sum of the squares of the lifts, divided by 2m.
The quadratic value of a word over an even ℤ/m vanishes exactly when 2m divides the sum
of the squares of a coordinatewise integer lift.
Quadratic isotropy of an additive code over an even ℤ/m means that 2m divides the sum of
the squares of every coordinatewise integer lift of a codeword.
Quadratic isotropy of an additive code over an even ℤ/m means that the sum of the squares
of the canonical representatives of every codeword is divisible by 2m.
Quadratic isotropy of an additive code over an even ℤ/m means that every codeword has
Euclidean weight divisible by 2m.
The quadratic value of a binary word is a quarter of its Hamming weight.
Quadratic isotropy of a binary code is double evenness of its Hamming weights.
A binary linear code is quadratically isotropic in the standard coordinate discriminant module exactly when it is doubly even.