HOME

TheInfoList



OR:

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 data storage. Codes are stud ...
, a generator matrix is a
matrix Matrix most commonly refers to: * ''The Matrix'' (franchise), an American media franchise ** '' The Matrix'', a 1999 science-fiction action film ** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchi ...
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 codewords is also a codeword. Linear codes are traditionally partitioned into block codes and convolutional codes, although turbo codes can be seen a ...
. The codewords are all of the linear combinations of the rows of this matrix, that is, the linear code is the row space of its generator matrix.


Terminology

If G is a matrix, it generates the
codeword In communication, a code word is an element of a standardized code or protocol. Each code word is assembled in accordance with the specific rules of the code and assigned a unique meaning. Code words are typically used for reasons of reliability ...
s of a linear code ''C'' by : w=sG 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
, k, d The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline ...
q-code has format k \times n, 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 that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subt ...
, that is, the number of symbols in the alphabet (thus, ''q'' = 2 indicates a
binary code A binary code represents text, 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 system. The binary code assigns a pattern of binary digits, als ...
, etc.). The number of redundant bits is denoted by r = n - k. The ''standard'' form for a generator matrix is, : G = \begin I_k , P \end, where I_k is the k \times k
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. Terminology and notation The identity matrix is often denoted by I_n, or simply by I if the size is immaterial ...
and P is a k \times (n-k) matrix. When the generator matrix is in standard form, the code ''C'' is
systematic Systematic may refer to: Science * Short for systematic error * Systematic fault * Systematic bias, errors that are not determined by chance but are introduced by an inaccuracy (involving either the observation or measurement process) inheren ...
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, G = \begin I_k , P \end, then the parity check matrix for ''C'' is : H = \begin -P^ , I_ \end, where P^ is the
transpose In linear algebra, the transpose of a 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 notations). The tr ...
of the matrix P. This is a consequence of the fact that a parity check matrix of C is a generator matrix of the
dual code In coding theory, the dual code of a linear code :C\subset\mathbb_q^n is the linear code defined by :C^\perp = \ where :\langle x, c \rangle = \sum_^n x_i c_i is a scalar product. In linear algebra terms, the dual code is the annihilato ...
C^. G is a k \times n matrix, while H is a (n-k) \times n 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 operations performed on the corresponding matrix of coefficients. This method can also be used ...
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 -by- square matrix is called invertible (also nonsingular or nondegenerate), if there exists an -by- square matrix such that :\mathbf = \mathbf = \mathbf_n \ where denotes the -by- identity matrix and the multiplicati ...
''U'' such that UG = \begin I_k , P \end, where ''G'' and \begin I_k , P \end generate equivalent codes.


See also

* Hamming code (7,4)


Notes


References

* * * *


Further reading

*


External links


Generator Matrix at MathWorld
{{Matrix classes Coding theory