Parity-check codes and their representations Gretchen L. Matthews July 21, 2015 2 C L E M S O N 3 6 7 6 7 6 M A T H E M A T I C A L7 6 7 4 5 S C I E N C E S This work is supported by NSF DMS-0901693, NSA MSP-111006, NSF DMS-1403062. Gretchen L. Matthews Linear codes can be represented by parity-check matrices. Let Fq be the finite field with q elements, where q is a power of a prime. A linear code C of length n over Fq is a subspace of Fnq . Elements of C are called codewords. Gretchen L. Matthews Linear codes can be represented by parity-check matrices. Let Fq be the finite field with q elements, where q is a power of a prime. A linear code C of length n over Fq is a subspace of Fnq . Elements of C are called codewords. All codes considered here are linear codes. Gretchen L. Matthews Linear codes can be represented by parity-check matrices. Let Fq be the finite field with q elements, where q is a power of a prime. A linear code C of length n over Fq is a subspace of Fnq . Elements of C are called codewords. All codes considered here are linear codes. Given a code C of length n, there exists a matrix H 2 Frq⇥n for some r whose nullspace is C , meaning C = NS(H). Gretchen L. Matthews Linear codes can be represented by parity-check matrices. Let Fq be the finite field with q elements, where q is a power of a prime. A linear code C of length n over Fq is a subspace of Fnq . Elements of C are called codewords. All codes considered here are linear codes. Given a code C of length n, there exists a matrix H 2 Frq⇥n for some r whose nullspace is C , meaning C = NS(H). The matrix H is called a parity-check matrix for C , because y 2 C if and only if Hy T = 0. The code C is sometimes called a parity-check code. If H is sparse, then C is a low-density parity-check (LDPC) code. Gretchen L. Matthews A parity-check matrix for a linear code is not unique. Example Consider the binary code n o (0, 0, 0, 0, 0, 0, 0), (0, 0, 1, 0, 1, 1, 1), (0, 1, 0, 1, 0, 1, 1), (0, 1, 1, 1, 1, 0, 0), C = (1, 0, 0, 1, 1, 0, 1), (1, 0, 1, 1, 0, 1, 0), (1, 1, 0, 0, 1, 1, 0), (1, 1, 1, 0, 0, 0, 1) ✓ F72 . Gretchen L. Matthews A parity-check matrix for a linear code is not unique. Example Consider the binary code n o (0, 0, 0, 0, 0, 0, 0), (0, 0, 1, 0, 1, 1, 1), (0, 1, 0, 1, 0, 1, 1), (0, 1, 1, 1, 1, 0, 0), C = (1, 0, 0, 1, 1, 0, 1), (1, 0, 1, 1, 0, 1, 0), (1, 1, 0, 0, 1, 1, 0), (1, 1, 1, 0, 0, 0, 1) ✓ F72 . Then C has 0 1 B 0 B @ 0 0 as a parity-check matrix. Gretchen L. Matthews 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 C C 0 A 1 A parity-check matrix for a linear code is not unique. Example Consider the binary code n o (0, 0, 0, 0, 0, 0, 0), (0, 0, 1, 0, 1, 1, 1), (0, 1, 0, 1, 0, 1, 1), (0, 1, 1, 1, 1, 0, 0), C = (1, 0, 0, 1, 1, 0, 1), (1, 0, 1, 1, 0, 1, 0), (1, 1, 0, 0, 1, 1, 0), (1, 1, 1, 0, 0, 0, 1) ✓ F72 . Then C has 0 1 B 0 B @ 0 0 0 1 0 0 as a parity-check matrix. Another 0 1 0 B 0 1 B @ 0 0 0 0 Gretchen L. Matthews 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 C C 0 A 1 parity-check matrix for C is 1 0 0 0 1 1 0 0 1 0 1 C C. 0 1 1 1 0 A 1 0 1 1 1 A code can be represented by a Tanner graph. The Tanner graph of a binary matrix H is a bipartite graph T (H) = (X [ F , E ) with biadjacency matrix H, meaning Example H= Gretchen L. Matthews A code can be represented by a Tanner graph. The Tanner graph of a binary matrix H is a bipartite graph T (H) = (X [ F , E ) with biadjacency matrix H, meaning vertices in X correspond to codeword coordinates, called bit nodes, Example H= Gretchen L. Matthews A code can be represented by a Tanner graph. The Tanner graph of a binary matrix H is a bipartite graph T (H) = (X [ F , E ) with biadjacency matrix H, meaning vertices in X correspond to codeword coordinates, called bit nodes, vertices in F correspond to parity checks, called check nodes, and Example H= Gretchen L. Matthews A code can be represented by a Tanner graph. The Tanner graph of a binary matrix H is a bipartite graph T (H) = (X [ F , E ) with biadjacency matrix H, meaning vertices in X correspond to codeword coordinates, called bit nodes, vertices in F correspond to parity checks, called check nodes, and {xi , fj } 2 E if and only if hji = 1. Example H= Gretchen L. Matthews A code can be represented by a Tanner graph. The Tanner graph of a binary matrix H is a bipartite graph T (H) = (X [ F , E ) with biadjacency matrix H, meaning vertices in X correspond to codeword coordinates, called bit nodes, vertices in F correspond to parity checks, called check nodes, and {xi , fj } 2 E if and only if hji = 1. Example Tanner graph of H : Gretchen L. Matthews A code can be represented by a Tanner graph. The Tanner graph of a binary matrix H is a bipartite graph T (H) = (X [ F , E ) with biadjacency matrix H, meaning vertices in X correspond to codeword coordinates, called bit nodes, vertices in F correspond to parity checks, called check nodes, and {xi , fj } 2 E if and only if hji = 1. Example Tanner graph of H : Gretchen L. Matthews Tanner graphs of q-ary codes are weighted bipartite graphs. The Tanner graph T (H) of H 2 Frq⇥n is a weighted bipartite graph with biadjacency matrix H; that is, the vertex set of T (H) is {x1 , . . . , xn } [ {f1 , . . . , fr } , the edge set of T (H) is {{xi , fj } : hji 6= 0} , and edge weights are given by wt {xi , fj } = hji . Example The Tanner graph of H = 1 2 2 0 2 1 1 2 over F3 is 1 2 2 1 1 2 Gretchen L. Matthews 2 A code may have more than one Tanner graph. The Tanner graph of a code depends on the choice of parity-check matrix. Example Tanner graphs T (H1 ) and T (H2 ) for the same binary code are shown below. 0 1 0 1 1 0 H1 = @ 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 A 0 H2 = @ 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 A To emphasize that a code C is being considered with a fixed parity-check matrix H, we write C = C (H). Gretchen L. Matthews Codewords may be represented graphically. An element c = (c1 , c2 , . . . , cn ) is a codeword of a binary code C = C (H) if and only if the binary assignment (c1 , c2 , . . . , cn ) to the bit nodes of T (H) make the binary sum at every check node 0. Example (1, 1, 1, 0, 0, 0, 0) corresponds to Gretchen L. Matthews Codewords may be represented graphically. An element c = (c1 , c2 , . . . , cn ) is a codeword of a binary code C = C (H) if and only if the binary assignment (c1 , c2 , . . . , cn ) to the bit nodes of T (H) make the binary sum at every check node 0. Example (1, 1, 1, 0, 0, 0, 0) corresponds to Thus, (1, 1, 1, 0, 0, 0, 0) is a codeword. Gretchen L. Matthews Codewords may be represented graphically. An element c = (c1 , c2 , . . . , cn ) is a codeword of a binary code C = C (H) if and only if the binary assignment (c1 , c2 , . . . , cn ) to the bit nodes of T (H) make the binary sum at every check node 0. Example (1, 1, 1, 1, 0, 0, 0) corresponds to Thus, (1, 1, 1, 0, 0, 0, 0) is a codeword. However, (1, 1, 1, 1, 0, 0, 0) is not a codeword. Gretchen L. Matthews Codewords may be represented graphically. Example The Tanner graph of H = 1 2 2 0 2 1 1 2 over F3 is 1 2 2 1 1 2 Gretchen L. Matthews 2 Codewords may be represented graphically. Example The Tanner graph of H = 1 2 2 0 2 1 1 2 over F3 is 1 1 0 2 1 2 2 1 1 2 2 Note that (1, 0, 2, 1) is a codeword of the code defined by H. Gretchen L. Matthews Tanner graphs have played various roles in coding theory. The Tanner graph was introduced in 1981 as a tool for the recursive construction of codes and providing bounds on code parameters. Gretchen L. Matthews Tanner graphs have played various roles in coding theory. The Tanner graph was introduced in 1981 as a tool for the recursive construction of codes and providing bounds on code parameters. The Hamming distance between two words w , y 2 Fnq is d(w , y ) := # {i : wi 6= yi } . Code parameters Classically, the quality of a code C is measured by parameters n, the length of the code C k := dimFq C , the dimension of the code C d := min {d(c, c 0 ) : c, c 0 2 C , c 6= c 0 }, the minimum distance of C A code C with these parameters is called an [n, k, d] code. Gretchen L. Matthews Given a received word, a decoder seeks to find the most likely codeword sent. Minimum distance decoding problem Given a received word w 2 Fnq , find y 2 C such that d(w , y ) d(w , c) 8c 2 C . Gretchen L. Matthews Given a received word, a decoder seeks to find the most likely codeword sent. Minimum distance decoding problem Given a received word w 2 Fnq , find y 2 C such that d(w , y ) d(w , c) 8c 2 C . Maximum likelihood (ML) decoding problem Given a received word w 2 Fnq , find y 2 C that maximizes P (y sent|w received) , the probability that the codeword y was sent given that w is received. Gretchen L. Matthews Given a received word, a decoder seeks to find the most likely codeword sent. Minimum distance decoding problem Given a received word w 2 Fnq , find y 2 C such that d(w , y ) d(w , c) 8c 2 C . Maximum likelihood (ML) decoding problem Given a received word w 2 Fnq , find y 2 C that maximizes P (y sent|w received) , the probability that the codeword y was sent given that w is received. Maximum likelihood decoding is equivalent to minimum distance decoding (provided the channel has error probability < .5). Gretchen L. Matthews The ML decoding problem can be stated as an LP. Definition Given a binary code C of length n, 8 <X poly (C ) := yy : : y2C denotes the codeword polytope of C . Gretchen L. Matthews y 0, X y 2C y 9 = n = 1 ✓ [0, 1] ; The ML decoding problem can be stated as an LP. Definition Given a binary code C of length n, 8 <X poly (C ) := yy : : y 0, X y y 2C y2C denotes the codeword polytope of C . Let i := log ✓ P (wi |yi = 0) P (wi |yi = 1) 9 = n = 1 ✓ [0, 1] ; ◆ denote the negative log-likelihood ratio at the i th coordinate. The ML decoding problem is equivalent to the following linear program (LP): minimize n X i=1 Gretchen L. Matthews i fi subject to f 2 poly (C ). The ML decoding problem can be stated as an LP. Write Fq = 0, ↵, . . . , ↵q 1 , and define : Fnq x ! {0, 1}(q 1)n 7 ! (ex1 , ex2 , . . . , exn ) . Definition Given a code C of length n over Fq , the codeword polytope of C is ( ) X X poly (C ) := 0, ✓ [0, 1](q 1)n . c (c) : c c =1 c2C Gretchen L. Matthews c2C The ML decoding problem can be stated as an LP. Write Fq = 0, ↵, . . . , ↵q 1 , and define : Fnq x ! {0, 1}(q 1)n 7 ! (ex1 , ex2 , . . . , exn ) . Definition Given a code C of length n over Fq , the codeword polytope of C is ( ) X X poly (C ) := 0, ✓ [0, 1](q 1)n . c (c) : c c =1 c2C c2C The ML decoding problem for C is equivalent to the following LP: (q 1)n minimize X k=1 k fk subject to f 2 poly (C ), ⇣ ⌘ P(yi |0) where (q 1)(i 1)+j := log P(y is a log-likelihood ratio at the i th j i |↵ ) coordinate and j = 1, . . . , q 1. Gretchen L. Matthews LP relaxation of ML decoding is more managable. Definition Suppose C = C (H) be a code over Fq of length n and Rowj (H) denote the j th row of H. The fundamental polytope of H is Q(H) = \rj=1 poly (C (Row j (H))) ✓ [0, 1] Gretchen L. Matthews (q 1)n . LP relaxation of ML decoding is more managable. Definition Suppose C = C (H) be a code over Fq of length n and Rowj (H) denote the j th row of H. The fundamental polytope of H is Q(H) = \rj=1 poly (C (Row j (H))) ✓ [0, 1] (q 1)n Example Consider again 0 1 B 0 B H1 = @ 0 0 Gretchen L. Matthews 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 C C. 0 A 1 . LP relaxation of ML decoding is more managable. Definition Suppose C = C (H) be a code over Fq of length n and Rowj (H) denote the j th row of H. The fundamental polytope of H is Q(H) = \rj=1 poly (C (Row j (H))) ✓ [0, 1] Gretchen L. Matthews (q 1)n . LP relaxation of ML decoding is more managable. Definition Suppose C = C (H) be a code over Fq of length n and Rowj (H) denote the j th row of H. The fundamental polytope of H is Q(H) = \rj=1 poly (C (Row j (H))) ✓ [0, 1] Note: poly (C ) ✓ Q (H). Gretchen L. Matthews (q 1)n . LP relaxation of ML decoding is more managable. Definition Suppose C = C (H) be a code over Fq of length n and Rowj (H) denote the j th row of H. The fundamental polytope of H is Q(H) = \rj=1 poly (C (Row j (H))) ✓ [0, 1] (q 1)n . Note: poly (C ) ✓ Q (H). Linear Code Linear Program [Feldman, Wainwright, & Karger, 2005; Flanagan, Skachek, Byrne, & Greferath, 2009] The Linear Code LP is (q 1)n minimize X i=1 Gretchen L. Matthews i fi subject to f 2 Q (H) . LP relaxation of ML decoding is more managable. Definition Suppose C = C (H) be a code over Fq of length n and Rowj (H) denote the j th row of H. The fundamental polytope of H is Q(H) = \rj=1 poly (C (Row j (H))) ✓ [0, 1] (q 1)n . Note: poly (C ) ✓ Q (H). Linear Code Linear Program [Feldman, Wainwright, & Karger, 2005; Flanagan, Skachek, Byrne, & Greferath, 2009] The Linear Code LP is (q 1)n minimize X i=1 i fi subject to f 2 Q (H) . Definition The vertices of Q (H) are called pseudocodewords. Gretchen L. Matthews LP relaxation may lead to a noncodeword output, called a pseudocodeword. Some, but not necessarily all, pseudocodewords are codewords. Gretchen L. Matthews LP relaxation may lead to a noncodeword output, called a pseudocodeword. Some, but not necessarily all, pseudocodewords are codewords. If T (H) is acyclic, then the Linear Code LP and ML decoding for C (H) are equivalent. Gretchen L. Matthews LP relaxation may lead to a noncodeword output, called a pseudocodeword. Some, but not necessarily all, pseudocodewords are codewords. If T (H) is acyclic, then the Linear Code LP and ML decoding for C (H) are equivalent. Theorem [Etzion, Trachtenberg, & Vardy, 1999] Given an [n, k, d] code with acyclic Tanner graph, either k > 0.5 and d = 2. n Gretchen L. Matthews k n 0.5 or Pseudocodewords can also be defined via graph covers. Example Consider the Tanner graph T (H): Gretchen L. Matthews Pseudocodewords can also be defined via graph covers. Example Consider the Tanner graph T (H): A degree 2 cover of T (H) is Gretchen L. Matthews Pseudocodewords can also be defined via graph covers. Example The degree 2 cover gives rise to codewords: In this case, we obtain 12 (1, 1, 1, 2, 1, 1, 1). Gretchen L. Matthews Pseudocodewords can also be defined via graph covers. Example The degree 2 cover gives rise to codewords: Consider 1 n (m1 (1), . . . , mn (1)) 2 [0, 1] M where mi (b) is the number of copies of the i th symbol that take the value b 2 F2 in a codeword c from C (T̃ (H)) In this case, we obtain 12 (1, 1, 1, 2, 1, 1, 1). Gretchen L. Matthews Pseudocodewords can also be defined via graph covers. Let C = C (H) be a code over Fq of length n. Pseudocodewords from a degree M graph cover T̃ (H) of T (H) are of the form 1 (m1 (↵), . . . , mn (↵), . . . , m1 (↵q M 1 ), . . . , mn (↵q 1 )) 2 [0, 1] (q 1)n where mi (b) is the number of copies of the i th symbol that take the value b 2 Fq in a codeword c from C (T̃ (H)). Gretchen L. Matthews Pseudocodewords can also be defined via graph covers. Example The ternary code C (H) with H = Gretchen L. Matthews 1 2 2 0 2 1 1 2 2 F2⇥4 3 Pseudocodewords can also be defined via graph covers. Example The ternary code C (H) with H = graph cover of T (H) 1 2 2 0 1 2 2 1 1 2 2 1 2 2 1 1 2 2 1 2 2 1 2 2 1 1 2 2 1 2 Gretchen L. Matthews 2 1 2 1 1 2 2 F2⇥4 has a degree 4 3 Pseudocodewords can also be defined via graph covers. Example 1 2 2 2 0 1 graph cover of T (H) which has a codeword The ternary code C (H) with H = 1 2 2 F2⇥4 has a degree 4 3 c̃ = (2, 0, 2, 1, 0, 1, 1, 1, 2, 1, 1, 0, 0, 2, 0, 0) 2 0 1 2 2 1 2 1 2 0 2 0 1 1 2 2 1 1 1 2 2 2 2 1 1 2 2 1 1 2 2 0 1 1 1 0 0 Gretchen L. Matthews 1 2 2 1 2 2 1 Pseudocodewords can also be defined via graph covers. Example 1 2 2 2 0 1 graph cover of T (H) which has a codeword The ternary code C (H) with H = 1 2 2 F2⇥4 has a degree 4 3 c̃ = (2, 0, 2, 1, 0, 1, 1, 1, 2, 1, 1, 0, 0, 2, 0, 0) 2 0 1 2 2 1 2 1 2 0 2 0 1 1 2 2 1 1 1 2 2 2 2 1 1 2 2 1 1 2 2 0 1 1 1 0 0 that gives rise to the pseudocodeword Gretchen L. Matthews 1 2 2 1 2 2 1 1 3 2 2 1 1 4 , 4 , 2 , 0, 2 , 0, 4 , 4 . LP decoding gives an approximation to iterative decoding algorithms. Iterative decoders make use of local computations, while ML decoders search for a configuration that satisfies all check nodes. Advantages of an iterative decoder: Can correct more errors than guaranteed by ML decoding Does not require any particular structure Fast (linear in code length for sparse matrices) and easy to implement Gretchen L. Matthews LP decoding gives an approximation to iterative decoding algorithms. Iterative decoders make use of local computations, while ML decoders search for a configuration that satisfies all check nodes. Advantages of an iterative decoder: Can correct more errors than guaranteed by ML decoding Does not require any particular structure Fast (linear in code length for sparse matrices) and easy to implement Disadvantages of an iterative decoder: Decoding performance depends on parity-check matrix Algorithm may converge to a noncodeword output (pseudocodeword) Gretchen L. Matthews LP decoding gives an approximation to iterative decoding algorithms. Iterative decoders make use of local computations, while ML decoders search for a configuration that satisfies all check nodes. Advantages of an iterative decoder: Can correct more errors than guaranteed by ML decoding Does not require any particular structure Fast (linear in code length for sparse matrices) and easy to implement Disadvantages of an iterative decoder: Decoding performance depends on parity-check matrix Algorithm may converge to a noncodeword output (pseudocodeword) Aim To provide tools for determining the expected performance of a parity-check code and for selecting parity-check matrices which lessen the impact of noncodeword pseudocodewords. Gretchen L. Matthews Two tools for studying pseudocodewords: generating functions and the fundamental cone. Notation Given a matrix H, let P(H) denote the set of pseudocodewords of C (H) Generating function of the pseudocodewords Given a code C = C (H), we consider X p2P(H) Gretchen L. Matthews xp. Two tools for studying pseudocodewords: generating functions and the fundamental cone. Notation Given a matrix H, let P(H) denote the set of pseudocodewords of C (H) Generating function of the pseudocodewords Given a code C = C (H), we consider X xp. p2P(H) Fundamental cone The fundamental cone K(H) of a code C (H) of length n over Fq is the smallest cone in R(q 1)n that contains all pseudocodewords of C (H). Gretchen L. Matthews Two tools for studying pseudocodewords: generating functions and the fundamental cone. Theorem (Koetter, Li, Vontobel, & Walker 2007) Let H 2 Fr2⇥n . Given p 2 Zn , the following are equivalent: 1 2 p is a psuedocodeword of C (H) and p 2 K (H) and HpT = 0 2 Fr2 . Theorem (Koetter, Li, Vontobel, & Walker 2007) Suppose H 2 Fr2⇥n is a matrix with exactly two 1’s in each column. Then the generating function of the pseudocodewords of C (H) is X xp = ⇣N(H) (x) , p2P(H) the edge zeta function of the normal graph of T (H). Gretchen L. Matthews The generating function for the pseudocodewords of a code is a rational function. Theorem (K-M) Given a binary matrix H 2 Fr2⇥n , the generating function for the pseudocodewords of C (H), is a rational function; and Gretchen L. Matthews P p2P(H) xp, The generating function for the pseudocodewords of a code is a rational function. Theorem (K-M) Given a binary matrix H 2 Fr2⇥n , the generating function for the pseudocodewords of C (H), is a rational function; and P p2P(H) xp, there exists a polynomial time algorithm which computes the generating P function of the pseudocodewords, p2P(H) xp , as a finite sum X i ↵i (1 xvi xwi1 ) . . . (1 xwid ) where ↵i 2 {0, 1} and ui , wij are integer vectors for all i, j. Gretchen L. Matthews Barvinok’s algorithm enumerates integer points of a rational cone. Barvinok’s algorithm takes as input a pointed rational cone described in terms of rational inequalities and produces a generating function that enumerates its integer points. Gretchen L. Matthews Barvinok’s algorithm enumerates integer points of a rational cone. Barvinok’s algorithm takes as input a pointed rational cone described in terms of rational inequalities and produces a generating function that enumerates its integer points. Recall that the fundamental cone of a binary code C (H) is K (H) := v 2 Rn : Rowj Hv T Gretchen L. Matthews 2hji vi 0, vi 0 81 i n, 1 j r . Barvinok’s algorithm enumerates integer points of a rational cone. Barvinok’s algorithm takes as input a pointed rational cone described in terms of rational inequalities and produces a generating function that enumerates its integer points. Recall that the fundamental cone of a binary code C (H) is K (H) := v 2 Rn : Rowj Hv T 2hji vi 0, vi 0 81 i n, 1 j r . However, the pseudocodewords of C (H) are those integer points of K (H) which satisfy HpT = 0 2 Fr2 . Gretchen L. Matthews Lifting the fundamental cone allows us to apply Barvinok’s algorithm. Given H 2 F2r ⇥n , the fundamental cone of C (H) is K (H) := v 2 Rn : Rowj Hv T 2hji vi 0, vi 0 81 i n, 1 j r . Definition Given H 2 Fr2⇥n , the lifted fundamental cone of C (H) is 8 9 vi 0, HvT = 2aT , and < = K̂(H) = (v, a) 2 Rn+r | Rowj Hv T 2hji vi 0 . : ; for all 1 i n and 1 j r Gretchen L. Matthews Lifting the fundamental cone allows us to apply Barvinok’s algorithm. Given H 2 F2r ⇥n , the fundamental cone of C (H) is K (H) := v 2 Rn : Rowj Hv T 2hji vi 0, vi 0 81 i n, 1 j r . Definition Given H 2 Fr2⇥n , the lifted fundamental cone of C (H) is 8 9 vi 0, HvT = 2aT , and < = K̂(H) = (v, a) 2 Rn+r | Rowj Hv T 2hji vi 0 . : ; for all 1 i n and 1 j r Consider the projection Gretchen L. Matthews ⇡: Rn+r (v, a) ! 7 ! Rn v. Lifting the fundamental cone allows us to apply Barvinok’s algorithm. Given H 2 F2r ⇥n , the fundamental cone of C (H) is K (H) := v 2 Rn : Rowj Hv T 2hji vi 0, vi 0 81 i n, 1 j r . Definition Given H 2 Fr2⇥n , the lifted fundamental cone of C (H) is 8 9 vi 0, HvT = 2aT , and < = K̂(H) = (v, a) 2 Rn+r | Rowj Hv T 2hji vi 0 . : ; for all 1 i n and 1 j r Consider the projection Proposition ⇡: Rn+r (v, a) ! 7 ! Rn v. ⇣ ⌘ ⇣ ⌘ Let H 2 Fr2⇥n . Then ⇡ K̂(H) = K(H) and P(H) = ⇡ K̂(H) \ Zn+r . Gretchen L. Matthews The generating function for the pseudocodewords of a code is a rational function. Denote the generating function for integer points in the lifted fundamental cone by X f (x1 , x2 , . . . , xn+r ) := x(v,a) . (v,a)2K̂(H)\Zn+r Gretchen L. Matthews The generating function for the pseudocodewords of a code is a rational function. Denote the generating function for integer points in the lifted fundamental cone by X f (x1 , x2 , . . . , xn+r ) := x(v,a) . (v,a)2K̂(H)\Zn+r Then f (x1 , x2 , . . . , xn+r ) can be expressed as a rational function. Gretchen L. Matthews The generating function for the pseudocodewords of a code is a rational function. Denote the generating function for integer points in the lifted fundamental cone by X f (x1 , x2 , . . . , xn+r ) := x(v,a) . (v,a)2K̂(H)\Zn+r Then f (x1 , x2 , . . . , xn+r ) can be expressed as a rational function. Applying the Barvinok-Woods approach to specialization gives that X X X xv = xv = xv = f (x1 , x2 , . . . , xn , 1, 1, . . . , 1) v2P(H) is rational. Gretchen L. Matthews v2⇡(K̂(H)\Zn+r ) (v,a)2K̂(H)\Zn+r The generating function for the pseudocodewords of a code is a rational function. Denote the generating function for integer points in the lifted fundamental cone by X f (x1 , x2 , . . . , xn+r ) := x(v,a) . (v,a)2K̂(H)\Zn+r Then f (x1 , x2 , . . . , xn+r ) can be expressed as a rational function. Applying the Barvinok-Woods approach to specialization gives that X X X xv = xv = xv = f (x1 , x2 , . . . , xn , 1, 1, . . . , 1) v2P(H) v2⇡(K̂(H)\Zn+r ) (v,a)2K̂(H)\Zn+r is rational. Theorem (K-M) Given H 2 Fr2⇥n , the generating function for the pseudocodewords of C (H) P p p2P(H) x is a rational function. Gretchen L. Matthews Critical multisets play a key role in understanding pseudocodewords. Definition Given a prime p, a critical multiset of Fp is a multiset { 1 , . . . , t } ✓ {0, 1, . . . , p 1} with t 2 that is maximal with respect to the property t X 1)p. i > (t i=1 Let p be the set of critical multisets of Fp . Example 2 3 5 7 = ;, = {{2, 2}} , = {{2, 4}, {3, 3}, {3, 4, 4}, {4, 4, 4, 4}} , and = {{2, 6}, {3, 5}, {4, 4}, {3, 6, 6}, {4, 5, 6}, {5, 5, 5}, {4, 6, 6, 6}, {5, 5, 6, 6}, {5, 6, 6, 6, 6}, {6, 6, 6, 6, 6, 6}}. Gretchen L. Matthews Critical multisets play a role in describing a cone containing the pseudocodewords of a nonbinary parity-check code. Given a prime p and H 2 Frp⇥n , consider the cone Kp (H) = 8 > > > > > > > > > < > > > > > > > > > : ⇥j (v ) ⇥j (v ) v 2R where ⇥j (v ) = Gretchen L. Matthews 1 p (p 1)n 0 Pp 1 b=1 : ⇣ mi (1) + mi (2) + · · · + mi (p Pt l=1 m⇣ l a 1 hji 1 l 1), and ⌘ 1 n+il 9 > > > > > > > > > = > > > 81 j r , i, i1 , . . . , it 2 supp Rowj (H) , a 2 F⇤p , > > > > > > ; { 1, . . . , t } 2 p ⌘ T b Rowj (H) [m1 (b) m2 (b) · · · mn (b)] . The fundamental cone is the smallest cone containing the pseudocodewords. Lemma (K-M) For a prime p and a p-ary matrix H, Kp (H) ✓ Kp (H). If p = 2, 3, then equality holds. Theorem (K-M) Given a p-ary parity-check matrix H, where p is prime, then 8 9 2 3 1 > > < = 7 . T 6 .. P(H) ✓ v 2 Kp (H) : HM(v ) 4 5 mod p = 0 . > > : ; p 1 If p = 2, 3, then equality holds. Gretchen L. Matthews The integer points of the lifted fundamental cone are precisely the pseudocodewords. Definition Given H 2 Frp⇥n where p is prime, the lifted fundamental cone of C (H) is K̂p (H) = Gretchen L. Matthews 8 > < > : (m, a) 2 R(p 1)n+r 2 6 v 2 Kp (H), HM(v )T 4 3 1 .. . p 1 7 5 = paT 9 > = > ; . The integer points of the lifted fundamental cone are precisely the pseudocodewords. Definition Given H 2 Frp⇥n where p is prime, the lifted fundamental cone of C (H) is K̂p (H) = 8 > < > : (m, a) 2 R(p 2 6 v 2 Kp (H), HM(v )T 4 1)n+r 3 1 .. . p Theorem (K-M) 1 7 5 = paT 9 > = > ; . Given a binary or ternary matrix H, there exists a polynomial time algorithm which computes the generating function of the pseudocodewords of C (H) as a finite sum X X xvi xp = ↵i (1 xwi1 ) . . . (1 xwid ) p2P(H) i where ↵i 2 {0, 1} and ui , wij are integer vectors for all i, j. Gretchen L. Matthews Generating functions obtained via Barvinok’s algorithm enumerate the pseudocodewords. Example Consider ✓ the binary code ◆ C (H) given by a parity check matrix 1 1 1 0 H= . Then Barvinok 0.27 computes 1 0 1 1 P p2P(H) Gretchen L. Matthews xp = 1 x12 x22 x32 x42 (1 x1 x3 x42 )(1 x1 x22 x3 )(1 x2 x3 x4 )(1 x1 x2 x4 )(1 x1 x3 ) Generating functions obtained via Barvinok’s algorithm enumerate the pseudocodewords. Example Consider ✓ the binary code ◆ C (H) given by a parity check matrix 1 1 1 0 H= . Then Barvinok 0.27 computes 1 0 1 1 P p2P(H) Gretchen L. Matthews xp = = 1 x12 x22 x32 x42 (1 x1 x3 x42 )(1 x1 x22 x3 )(1 x2 x3 x4 )(1 x1 x2 x4 )(1 x1 x3 ) 1 + x1 x3 + x2 x3 x4 + x1 x2 x4 + x1 x3 x42 + x1 x22 x3 + x12 x32 + x12 x2 x3 x4 + x1 x2 x32 x4 + · · · . Generating functions obtained via Barvinok’s algorithm enumerate the pseudocodewords. Example Consider ✓ the binary code ◆ C (H) given by a parity check matrix 1 1 1 0 H= . Then Barvinok 0.27 computes 1 0 1 1 P p2P(H) xp = = 1 x12 x22 x32 x42 (1 x1 x3 x42 )(1 x1 x22 x3 )(1 x2 x3 x4 )(1 x1 x2 x4 )(1 x1 x3 ) 1 + x1 x3 + x2 x3 x4 + x1 x2 x4 + x1 x3 x42 + x1 x22 x3 + x12 x32 + x12 x2 x3 x4 + x1 x2 x32 x4 + · · · . Hence, (0, 0, 0, 0), (1, 0, 1, 0), (0, 1, 1, 1), (1, 1, 0, 1), (1, 0, 1, 2), (1, 2, 1, 0), (2, 0, 2, 0), (2, 1, 1, 1), (1, 1, 2, 1), ... are among the (unscaled) pseudocodewords of C (H). Gretchen L. Matthews Irreducible pseudocodewords are those pseudocodewords most likely to cause decoder failure. A nonzero pseudocodeword is irreducible provided it cannot be written as a sum of two or more nonzero pseudocodewords. Theorem (K-M, K-M) Let H 2 Frp⇥n . Then the set of irreducible pseudocodewords of C (H) is a projection of the Hilbert basis of the lifted fundamental cone of C (H). Gretchen L. Matthews The choice of Tanner graph can impact the number of irreducible pseudocodewords. Example Recall that C (H1 ) = C (H2 ) for 0 H1 = @ Gretchen L. Matthews 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 A 0 H2 = @ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 A The choice of Tanner graph can impact the number of irreducible pseudocodewords. Example Recall that C (H1 ) = C (H2 ) for 0 H1 = @ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 A 0 H2 = @ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 A However, the sets of noncodeword irreducible pseudocodewords for H1 and H2 di↵er, as shown below. Gretchen L. Matthews The choice of Tanner graph can impact the number of irreducible pseudocodewords. Example 1 2 2 1 0 2 0 0 If H1 = and H2 = , then C (H1 ) = C (H2 ). 2 0 1 2 2 0 1 2 However, the irreducible pseudocodewords of C (H1 ) and C (H2 ) are Irr (H1 ) = and Irr (H2 ) = Gretchen L. Matthews 8 > > > > > > > > < > > > > > > > > : (0, 0, 0, 0, 0, 0, 1, 1), (0, 0, 1, 1, 0, 0, 0, 0), (0, 0, 0, 1, 1, 3, 1, 1), (0, 0, 1, 1, 1, 3, 1, 0), (0, 1, 1, 0, 1, 1, 0, 1), (0, 3, 1, 0, 1, 0, 1, 2), (0, 3, 1, 1, 2, 0, 0, 1), (1, 0, 0, 0, 0, 3, 1, 2), (1, 0, 0, 1, 1, 3, 2, 0), (1, 0, 1, 1, 0, 3, 0, 1), (1, 1, 0, 0, 0, 1, 0, 1), (1, 3, 0, 1, 0, 0, 1, 0), (1, 3, 1, 0, 1, 0, 1, 0), (2, 0, 0, 1, 0, 3, 1, 1), (0, 0, 0, 0, 0, 0, 1, 1), (0, 0, 1, 1, 0, 0, 0, 0), (0, 0, 0, 0, 1, 0, 1, 0), (1, 0, 0, 0, 0, 0, 0, 1), (0, 0, 0, 1, 2, 3, 1, 0), (0, 1, 0, 0, 0, 1, 1, 1), (0, 1, 1, 1, 0, 1, 0, 0), (0, 3, 1, 0, 2, 0, 1, 1), (0, 3, 1, 2, 1, 0, 0, 0), (1, 0, 0, 0, 1, 3, 1, 1), (1, 0, 0, 2, 1, 3, 1, 0), (1, 0, 1, 1, 1, 3, 0, 0), (1, 1, 0, 1, 0, 1, 1, 0), (1, 3, 0, 1, 1, 0, 0, 1), (1, 3, 1, 1, 0, 0, 0, 1), (2, 0, 0, 2, 0, 3, 2, 0), (0, 0, 0, 0, 1, 0, 1, 0), (1, 0, 0, 0, 0, 0, 0, 1), (0, 0, 0, 1, 1, 0, 0, 0), (1, 0, 0, 1, 0, 0, 1, 0), (0, 0, 1, 0, 1, 3, 0, 1), (0, 1, 0, 0, 1, 1, 1, 0), (0, 3, 0, 0, 1, 0, 2, 1), (0, 3, 1, 1, 0, 0, 1, 1), (0, 3, 2, 0, 2, 0, 0, 2), (1, 0, 0, 1, 0, 3, 2, 1), (1, 0, 1, 0, 0, 3, 1, 1), (1, 0, 1, 2, 0, 3, 1, 0), (1, 1, 1, 0, 0, 1, 0, 0), (1, 3, 1, 0, 0, 0, 1, 1), (1, 3, 1, 1, 1, 0, 0, 0), (2, 0, 1, 1, 0, 3, 1, 0), (0, 0, 0, 1, 1, 0, 0, 0), (1, 0, 0, 1, 0, 0, 1, 0), (0, 0, 1, 0, 1, 0, 0, 1), (1, 0, 1, 0, 0, 0, 0, 0), (0, 0, 1, 1, 0, 3, 1, 1), (0, 1, 0, 1, 1, 1, 0, 0), (0, 3, 0, 1, 1, 0, 1, 1), (0, 3, 1, 1, 1, 0, 1, 0), (0, 3, 2, 1, 1, 0, 0, 1), (1, 0, 0, 1, 1, 3, 0, 1), (1, 0, 1, 0, 1, 3, 1, 0), (1, 0, 2, 1, 0, 3, 0, 0), (1, 3, 0, 0, 1, 0, 1, 1), (1, 3, 1, 0, 1, 0, 0, 2), (1, 3, 2, 0, 1, 0, 0, 1), (2, 3, 1, 0, 0, 0, 0, 1). (0, 0, 1, 0, 1, 0, 0, 1), (1, 0, 1, 0, 0, 0, 0, 0) 9 > > > > > > > > = > > > > > > > > ; . References T. Etzion, A. Trachtenberg, and A. Vardy, Which codes have cycle-free Tanner graphs? IEEE Trans. Inform. Theory 45 (1999), no. 6, 2173–2181. J. Feldman, M. J. Wainwright, and D. R. Karger, Using linear programming to decode binary linear codes, IEEE Trans. Inform. Theory 51 (2005), no. 3, 954–972. M. Flanagan, V. Skachek, E. Byrne, and M. Greferath, Linear-programming decoding of nonbinary linear codes, IEEE Trans. Inform. Theory 55 (2009), no. 9, 4134–4154. R. Koetter, W.-C. W. Li, P. Vontobel, and J. Walker, Characterizations of pseudo-codewords of (low-density) parity-check codes. Adv. Math. 213 (2007), no. 1, 205–229. W. Kositwattanarerk and G. L. Matthews, Lifting the fundamental cone and enumerating the pseudocodewords of a parity-check code, IEEE Trans. Inform. Theory 57 (2011), no. 2, 898-909. W. Kositwattanarerk and G. L. Matthews, Pseudocodewords of parity-check codes over fields of prime cardinality, IEEE Trans. Inform. Theory 60 (2014), no. 9, 5215 5227. R. M. Tanner, A recursive approach to low-complexity codes, IEEE Trans. Inform. Theory 27 (1981), no. 5, 533–547. Gretchen L. Matthews Thank you! Gretchen L. Matthews