In coding theory
, a parity-check matrix
of a linear block code C
is a generator matrix
of the dual code
. As such, a codeword c is in C if and only if
the matrix-vector product HT
The rows of a parity check matrix are parity checks on the codewords of a code. That is, they show how linear combinations of certain digits of each codeword equal zero. For example, the parity check matrix
specifies that for each codeword, digits 1 and 2 should sum to zero and digits 3 and 4 should sum to zero.
For more information see Hamming code and generator matrix.
Creating a parity check matrix
The parity check matrix for a given code can be derived from its generator matrix
(and vice-versa). If the generator matrix for an [n,k]-code in standard form is
the parity check matrix can be calculated as
Negation is performed in the finite field mod
. Note that this means in binary
codes negation is unnecessary as -1 = 1 (mod 2).
For example, if a binary code has the generator matrix
The parity check matrix becomes
For any valid codeword , . For any invalid codeword , the syndrome satisfies .