  This paper is concerned with the construction of low-density parity-check
(LDPC) codes with low error floors. Two main contributions are made. First, a
new class of structured LDPC codes is introduced. The parity check matrices of
these codes are arrays of permutation matrices which are obtained from Latin
squares and form a finite field under some matrix operations. Second, a method
to construct LDPC codes with low error floors on the binary symmetric channel
(BSC) is presented. Codes are constructed so that their Tanner graphs are free
of certain small trapping sets. These trapping sets are selected from the
Trapping Set Ontology for the Gallager A/B decoder. They are selected based on
their relative harmfulness for a given decoding algorithm. We evaluate the
relative harmfulness of different trapping sets for the sum product algorithm
(SPA) by using the topological relations among them and by analyzing the
decoding failures on one trapping set in the presence or absence of other
trapping sets.
