### Information positions vs. parity check positions

A generator matrix for a code is a *k*x*n*
matrix such that the linear span of the rows of this
matrix is the code. Such a matrix must have rank
*k*, and therefore it is possible (by doing
row operations and also column permutations) to put
it in the form:

G = [ I | A ]
Where *I* is a *k*x*k* identity
matrix and *A* is a *k*x*n-k*
matrix. Two codes are *equivalent* if one
can be gotten from the other by permuting coordinates
so any code is equivalent to a code having a generator
matrix of the form above. Given such a generator
matrix we say that the first *k* coordinates
are *information positions* and the last
*n-k* coordinates
are *redundancy* or
*parity-check positions*. If we trace back
the first *k* coordinates to find where they
were before any permutations were applied, we have
found a set of information positions for the original
code. Many *k*-subsets of the coordinates
of a code may constitute a so-called information set.