[Math] Equivalence of Codes

coding-theory

Consider the binary codes below:

C1= {0000, 1100, 1010, 0110}
C2= {0111, 0100, 0010, 0001}
C3= {1000, 0100, 0010, 0001}

Show that C1 is not equivalent to C3. Is C2 equivalent to C3?

When we say two codes are equivalent we mean one can be obtained from the other through repeatedly applying the following two operations to all the codewords:

(a) relabeling the symbols appearing in a fixed position
(b) shuffling the positions within each codeword (swapping two positions in codeword)

To show equivalence is easy as opposed to showing they are not equivalent which is a harder problem. The main idea is that after repeatedly applying the operations one should find it is impossible to obtain the other code but I cannot rigorously show that C1 is not equivalent to C3.

If C4= {0000, 1100, 0011, 1111} then we can easily see C1 and C4 are not equivalent because there are codewords that are distance 4 apart, d(0000, 1111)= 4, but all codewords in C1 are distance 2 apart so this argument does not work for C1 not being equivalent to C3.

Any help or guidance on showing C1 is not equivalent to C3 would be greatly appreciated!

Best Answer

Hamming distance is generally the first thing to check, but -- as you say -- it doesn't work in this case.

So we want to find a different property that isn't affected by operations (a) or (b).

Let's assume for the moment that we can only apply operation (a) (relabelling the symbols in a fixed position). Two codewords in $C_1$ have a zero in their first position. What happens to this number if you apply (a)?

Related Question