In
coding theory
Coding theory is the study of the properties of codes and their respective fitness for specific applications. Codes are used for data compression, cryptography, error detection and correction, data transmission and computer data storage, data sto ...
, a generator matrix is a
matrix
Matrix (: matrices or matrixes) or MATRIX may refer to:
Science and mathematics
* Matrix (mathematics), a rectangular array of numbers, symbols or expressions
* Matrix (logic), part of a formula in prenex normal form
* Matrix (biology), the m ...
whose rows form a
basis for a
linear code
In coding theory, a linear code is an error-correcting code for which any linear combination of Code word (communication), codewords is also a codeword. Linear codes are traditionally partitioned into block codes and convolutional codes, although t ...
. The codewords are all of the
linear combination
In mathematics, a linear combination or superposition is an Expression (mathematics), expression constructed from a Set (mathematics), set of terms by multiplying each term by a constant and adding the results (e.g. a linear combination of ''x'' a ...
s of the rows of this matrix, that is, the linear code is the
row space
In linear algebra, the column space (also called the range or image) of a matrix ''A'' is the span (set of all possible linear combinations) of its column vectors. The column space of a matrix is the image or range of the corresponding matr ...
of its generator matrix.
Terminology
If G is a matrix, it generates the
codewords of a linear code ''C'' by
:
where w is a codeword of the linear code ''C'', and s is any input vector. Both w and s are assumed to be row vectors.
A generator matrix for a linear
-code has format
, where ''n'' is the length of a codeword, ''k'' is the number of information bits (the dimension of ''C'' as a vector subspace), ''d'' is the minimum distance of the code, and ''q'' is size of the
finite field
In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field (mathematics), field that contains a finite number of Element (mathematics), elements. As with any field, a finite field is a Set (mathematics), s ...
, that is, the number of symbols in the alphabet (thus, ''q'' = 2 indicates a
binary code
A binary code represents plain text, text, instruction set, computer processor instructions, or any other data using a two-symbol system. The two-symbol system used is often "0" and "1" from the binary number, binary number system. The binary cod ...
, etc.). The number of
redundant bits is denoted by
.
The ''standard'' form for a generator matrix is,
:
,
where
is the
identity matrix
In linear algebra, the identity matrix of size n is the n\times n square matrix with ones on the main diagonal and zeros elsewhere. It has unique properties, for example when the identity matrix represents a geometric transformation, the obje ...
and P is a
matrix. When the generator matrix is in standard form, the code ''C'' is
systematic in its first ''k'' coordinate positions.
A generator matrix can be used to construct the
parity check matrix for a code (and vice versa). If the generator matrix ''G'' is in standard form,
, then the parity check matrix for ''C'' is
:
,
where
is the
transpose
In linear algebra, the transpose of a Matrix (mathematics), matrix is an operator which flips a matrix over its diagonal;
that is, it switches the row and column indices of the matrix by producing another matrix, often denoted by (among other ...
of the matrix
. This is a consequence of the fact that a parity check matrix of
is a generator matrix of the
dual code .
G is a
matrix, while H is a
matrix.
Equivalent codes
Codes ''C''
1 and ''C''
2 are ''equivalent'' (denoted ''C''
1 ~ ''C''
2) if one code can be obtained from the other via the following two transformations:
# arbitrarily permute the components, and
# independently scale by a non-zero element any components.
Equivalent codes have the same minimum distance.
The generator matrices of equivalent codes can be obtained from one another via the following
elementary operations:
# permute rows
# scale rows by a nonzero scalar
# add rows to other rows
# permute columns, and
# scale columns by a nonzero scalar.
Thus, we can perform
Gaussian elimination
In mathematics, Gaussian elimination, also known as row reduction, is an algorithm for solving systems of linear equations. It consists of a sequence of row-wise operations performed on the corresponding matrix of coefficients. This method can a ...
on ''G''. Indeed, this allows us to assume that the generator matrix is in the standard form. More precisely, for any matrix ''G'' we can find an
invertible matrix
In linear algebra, an invertible matrix (''non-singular'', ''non-degenarate'' or ''regular'') is a square matrix that has an inverse. In other words, if some other matrix is multiplied by the invertible matrix, the result can be multiplied by a ...
''U'' such that
, where ''G'' and
generate equivalent codes.
See also
*
Hamming code (7,4)
Notes
References
*
*
*
*
Further reading
*
External links
Generator Matrix at MathWorld
{{Matrix classes
Coding theory