Parity-check matrix
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 HTc=0.
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 .