A Low-density parity-check code is a code that uses a sparse parity-check matrix. This sparse matrix is randomly generated subject to the sparsity constraints. It has polynomial time decoders and it has a sparse matrix representation. They were first designed by Gallager in 1962. See Sparse graph codes.