Hamming and simplex code and algebra

805 Views Asked by At

I need help understanding the definitions and context for a homework question:

Consider a 3 by 7 matrix A over GF(2) containing distinct columns. The row space C of A is the subspace over GF(2) generated by the 3 rows. (Extra note: This is a “simplex” code [7,3] with generator matrix A. It is closely related to a certain “Hamming” code [7,4].)

Would the above mean that, for instance I have a matrix that has unique columns and elements in GF(2):

$A= \begin{matrix} 0 & 0 & 0& 0& 1 & 1 &1\\ 0 & 0 & 1& 1& 0 & 0 &1\\ 0 & 1 & 0& 1& 0 & 1 &0 \end{matrix} $

the row space would then be:

$C=[0000111, 0011001, 0101010]$

The next parts of the questions needs me to know about the

weight distribution of C, weight of a vector, distance between words

Could anyone explain what those words mean in this context?

2

There are 2 best solutions below

0
On BEST ANSWER

Row space is a set of vectors generated by row vectors of $A$, i.e. any linear combination of $0000111, 0011001, 0101010$.

Distance between words $u$ and $v$, generally denoted by $d(u,v)$, is the number of different indexes of $u$ and $v$. For instance, $d(0000111, 0011001) = 4$ since these two words have the same bit in their first, second and last indexes.

Weight of a vector $u$ is generally denoted by $w(u)$ is the number of non-zero indexes of $u$, that is, $d(u,\bar{0})$ where $\bar{0}$ is the zero vector.

Weight distribution of a code $C$ can be thought as an ordered $(n+1)-$tuple $W$ where $n$ is length of a codeword. Here, $i^{th}$ index of $W$ denotes the number of codewords of weight $i$ in $C$. Also note that $W_0 = 1$ since zero is always a codeword and only codeword with weight $0$.

2
On

When it says "having distinct columns", it most likely means "distinct nonzero columns" (this is the matrix commonly used in relation to the Hamming code). There are exactly 7 possible nonzero columns in $\mathbb{F}_{2}^{3}$, so the matrix should be $$\begin{bmatrix} 1 & 0 & 0 & 1 & 1 & 0 & 1 \\ 0 & 1 & 0 & 1 & 0 & 1 & 1 \\ 0 & 0 & 1 & 0 & 1 & 1 & 1 \end{bmatrix}$$ (in some order; your matrix is fine if you get rid of the all 0 column and replace it with the all 1 column).

Then the row space is the set of all possible linear combinations of these three rows; the row space is $3$-dimensional, so contains a total of $8$ vectors.

The weight of a codeword is the number of nonzero entries, so $01001011$ would have weight 4.

The distance between two codewords is the weight of their difference, or equivalently, the number of places where they are not equal; so $00001111$ and $11001100$ would be at distance 4.

The weight distribution is the number of codewords of each weight. It is commonly represented as a polynomial, where for example the term $3x^4$ would mean there are 3 codewords of weight $4$.