Documentation

TauCeti.InformationTheory.Coding.Binary.WeightEnumerator

Weight-enumerator symmetries of binary codes #

The weight enumerator of a doubly-even code is invariant under multiplying its second argument by a fourth root of unity. For a self-dual binary code, the MacWilliams substitution gives W_C(X + Y, X - Y) = 2^(n/2) W_C(X, Y) in ℤ[X, Y]. Together these symmetries give the length restriction for Type II codes.

Main statements #

See Huffman and Pless, Fundamentals of Error-Correcting Codes, Chapters 7 and 9.

@[simp]
theorem TauCeti.BinaryCode.IsDoublyEven.aeval_weightEnumerator_mul_second {ι : Type u_1} [Fintype ι] {C : LinearCode (ZMod 2) ι} {R : Type u_2} [CommRing R] (hC : IsDoublyEven C) {ζ : R} (hζ : ζ ^ 4 = 1) (x y : R) :

The weight enumerator of a doubly-even code is unchanged when its second argument is multiplied by a fourth root of unity. Taking R = ℂ[X,Y] gives the polynomial symmetry.

Replacing Y by iY leaves the homogeneous weight enumerator of a doubly-even code unchanged, as a polynomial identity over ℂ.