Perfect codes over non-prime-power alphabets and Latin squares.

164 Views Asked by At

I'm reading through Peter J. Cameron's Combinatorics: Topics, Techniques, Algorithms, specifically the section on perfect e-error-correcting codes over alphabets on non-prime-power length.

Consider the following theorem.

There is no perfect 1-error-correcting code of length 7 over an alphabet of length 6

A perfect code, $C$, is a code that meets the Hamming bound, i.e., $$|C|=q^n\bigg/\left(\sum_{i=0}^e {n \choose i} (q-i)^i\right)$$ where $n$ is code length, $q$ is the length of the alphabet.

It happens that such a $C$ meets the singleton bound (it is MDS) and we can use the theorem that $|C|=q^{n-d+1}$ if and only if for any $n-d+1$ coordinates and any $n-d+1$ symbols, there exists a unique codeword having these symbols in these coordinates. (In the book, theorem (17.4.3a).)

My problem is with the following excerpt from the proof.

By (17.4.3a), we see: ($\star$) Given $a_1,\dots,a_5 \in \{1,\dots,6\}$, there are unique elements $a_6, a_7$ such that $(a_1,\dots,a_7)\in C$.

Fix $a_1,a_2,a_3$. Define two $6\times 6$ matrices $M=(m_{ij}), N=(n_{ij})$ by $m_{ij}=k$ and $n_{ij}=\ell$ if and only if $(a_1,a_2,a_3,i,j,k,\ell)\in C$. It follows easily from ($\star$) that $M$ and $N$ are two orthogonal Latin squares of order 6...

I do not see how we can guarantee that these matrices will be Latin squares or even orthogonal. Say, if $i$ is fixed and $j$ varies, why do we get unique entries in each row of $M$ and $N$?

1

There are 1 best solutions below

0
On BEST ANSWER

For a start, consider the elements in row $1$ of $M$. If $m_{1j}=m_{1,j'}=c$ then $(a_1,a_2,a_3,1,j,c,d)$ and $(a_1,a_2,a_3,1,j',c,d')$ are elements of $C$, for some $d$ and $d'$. These codewords are distinct but have Hamming distance $\le2$, contradicting the code being $1$-error correcting. So all entries in top row of $M$ are distinct.

This argument extends to all rows and columns in $M$ and $N$. For orthogonality, note that if $(M_{ij},M_{i'j'})=(N_{ij},N_{i'j'})$ then we have codewords $(a_1,a_2,a_3,i,j,c,d)$ and $(a_1,a_2,a_3,i',j',c,d)$ etc.