Parity-check codes and their representations Gretchen L. Matthews 2 3

advertisement
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
Download