Enumerator polynomial

From HandWiki
Short description: Specifies the number of words of a binary linear code of each possible Hamming weight

In coding theory, the weight enumerator polynomial of a binary linear code specifies the number of words of each possible Hamming weight.

Let C⊂𝔽2n be a binary linear code length n. The weight distribution is the sequence of numbers

At=#{c∈C∣w(c)=t}

giving the number of codewords c in C having weight t as t ranges from 0 to n. The weight enumerator is the bivariate polynomial

W(C;x,y)=∑w=0nAwxwyn−w.

Basic properties

  1. W(C;0,1)=A0=1
  2. W(C;1,1)=∑w=0nAw=|C|
  3. W(C;1,0)=An=1 if (1,…,1)∈C  and 0 otherwise
  4. W(C;1,−1)=∑w=0nAw(−1)n−w=An+(−1)1An−1+…+(−1)n−1A1+(−1)nA0

MacWilliams identity

Denote the dual code of C⊂𝔽2n by

C⊥={x∈𝔽2n∣⟨x,c⟩=0 ∀c∈C}

(where ⟨ , ⟩ denotes the vector dot product and which is taken over 𝔽2).

The MacWilliams identity states that

W(C⊥;x,y)=1∣C∣W(C;y−x,y+x).

The identity is named after Jessie MacWilliams.

Distance enumerator

The distance distribution or inner distribution of a code C of size M and length n is the sequence of numbers

Ai=1M#{(c1,c2)∈C×C∣d(c1,c2)=i}

where i ranges from 0 to n. The distance enumerator polynomial is

A(C;x,y)=∑i=0nAixiyn−i

and when C is linear this is equal to the weight enumerator.

The outer distribution of C is the 2n-by-n+1 matrix B with rows indexed by elements of GF(2)n and columns indexed by integers 0...n, and entries

Bx,i=#{c∈C∣d(c,x)=i}.

The sum of the rows of B is M times the inner distribution vector (A0,...,An).

A code C is regular if the rows of B corresponding to the codewords of C are all equal.

References