Let H = [hij] be an r×n matrix, with entries drawn from the finite field IFq of order q. We let * denote a nonzero entry in H. Given H, we define a bipartite graph T as follows: the vertex set of T consists of the set = {x1, x2,..., xn} of symbol vertices and the set = {y1, y2,..., yr} of check vertices; there is an edge (yi, xj) in T if and only if hij = *. Thus the neighborhood of the vertex yi corresponds to the i-th row of H, and the neighborhood of the vertex xj corresponds to the j-th column of H. We say that T is the Tanner graph of H, and denote T = T(H). It is obvious that every matrix defines a unique Tanner graph. Over IF2, the converse is also true: every bipartite graph T defines a unique binary matrix H such that T = T(H), which is the , adjacency matrix of T.
We say that a bipartite graph T represents the linear code , or simply that T is a Tanner graph for , if there exists a parity-check matrix H for such that T is the Tanner graph of H. In general, a given linear code can be represented by many distinct Tanner graphs. On the other hand, over IF2, a given Tanner graph represents a unique binary code.
We say that a matrix H is cycle-free if the corresponding Tanner graph T(H) is cycle-free. Notice that every submatrix of a cycle-free matrix is also cycle-free. We say that a linear code over IFq is cycle-free if there exists a cycle-free parity-check matrix for . Observe that if the matrices H and H' differ by a permutation of rows and columns then the Tanner graphs T(H) and T(H') are isomorphic. On the other hand, if H and H' differ by a sequence of elementary row operations then T(H) and T(H') are generally not isomorphic. Thus it is possible to have two parity-check matrices for the same code, one of which is cycle-free while the other is not. It is also possible to have two cycle-free Tanner graphs for the same code that are not isomorphic.
However, the code
is, in fact, cycle-free
since adding the first row of H to the second row produces a cycle-free
parity-check matrix H' for
.
The graph T(H') shown in Figure 3.1b is a cycle-free Tanner graph
for
.
width4pt depth2pt height6pt
A cycle-free graph consisting of a single connected component is called a tree, and a multiple-component cycle-free graph will is a forest. The following simple lemma will serve as our starting point. This lemma is well-known in graph theory - see, for instance, West [64, p.52] - and is based on the fact that | E| = | V| - 1 for trees.
Since every forest contains at least one tree, we have
http://people.bu.edu/trachten