9783319702926
9783319702926
9783319702926
Marcus Greferath
Mario Osvin Pavčević
Natalia Silberstein
María Ángeles Vázquez-Castro Editors
Network
Coding and
Subspace
Designs
Signals and Communication Technology
More information about this series at http://www.springer.com/series/4748
Marcus Greferath Mario Osvin Pavčević
•
Editors
Network Coding
and Subspace Designs
123
Editors
Marcus Greferath Natalia Silberstein
Department of Mathematics Yahoo Research
and Systems Analysis Haifa
Aalto University Israel
Espoo
Finland María Ángeles Vázquez-Castro
Department of Telecommunications
Mario Osvin Pavčević and Systems Engineering
Faculty of Electrical Engineering Universitat Autònoma de Barcelona
and Computing, Department Cerdanyola del Vallès, Barcelona
of Applied Mathematics Spain
University of Zagreb
Zagreb
Croatia
http://www.cost.eu
v
Foreword
The beautiful and the elegant are often inspired by the seemingly mundane.
The chapters of this book follow from a line of work rooted in a practical engi-
neering problem: namely, the efficient transmission of information in packet net-
works. Traditional approaches to the operation of packet networks treat information
flow as commodity flow, emphasizing the efficient routing of the information along
network pathways, while avoiding or cleverly resolving contention for transmission
resources. Network coding, introduced in 2000 in the seminal paper of Ahlswede,
Cai, Li, and Yeung, challenges this conventional approach.
Network coding is based on a simple, yet far-reaching, idea: Rather than simply
routing packets, intermediate nodes are permitted to “mix” packets, transmitting
functions of the data that they receive. At the network boundary, received packets
are treated as evidence that must be gathered in sufficient quantity so as to permit
decoding of the transmitted message.
A special case arises when the packets are interpreted as vectors of symbols
drawn from a finite field, and the local mixing functions are chosen to be linear
transformations. From the 2003 paper of Li, Yeung, and Cai, it is known that such
linear network coding can achieve, when the underlying field is large enough, the
so-called multicast capacity of a network, in which a single source wishes to
communicate the same message to a number of different terminals. An elegant
algebraic proof of this fact is given in the 2003 paper of Kötter and Médard via the
existence of a nonzero for a particular multivariate polynomial arising as a product
of matrix determinants. Indeed, as was demonstrated in the 2006 paper of Ho,
Médard, Kötter, Karger, Effros, Shi, and Leong, the multicast capacity of a network
is achieved, with high probability in a sufficiently large field, by a completely
random choice of local mixing functions, obviating the need for a deliberate
network-topology-dependent code design.
Such random linear network coding yields an interesting new type of data
transmission model. In this model, to send a message the transmitter injects into the
network a collection of vectors which propagate through intermediate nodes in the
network, where they are randomly linearly combined, before arriving at any given
terminal. A terminal observes a number of such vectors, from which the transmitted
vii
viii Foreword
message must be inferred. Since the linear transformation by the channel of the
transmitted vectors is not known in advance by the transmitter or any of the
receivers, such a model is sometimes referred to as a noncoherent transmission
model (in contrast with a so-called coherent model, in which knowledge of the
channel transformation is assumed).
To achieve information transmission in this noncoherent model of random linear
network coding, one might seek a communication invariant: some property of the
transmitted vectors that is preserved by the operation of the channel. As observed in
my 2008 paper with Ralf Kötter, an essential invariant—the key property preserved
by the random action of the channel—is the vector space spanned by the trans-
mitted vectors. No matter the action of the channel, we are guaranteed (in the
absence of errors) that each of the vectors observed at any terminal belongs to the
space spanned by the transmitted vectors. Thus, we are naturally led to consider
information transmission not via the choice of the transmitted vectors themselves,
but rather by the choice of the vector space that they span.
Such a transmission model also lends itself to a concise description of the effects
of the injection (by an adversary, say) of erroneous vectors into the network: The
erroneous vectors combine linearly with the transmitted ones, resulting in a vector
space observed at any receiver that may differ from the transmitted one. Whenever a
space V is transmitted (by injection into the network of a basis for V), and a space U
is observed at a terminal (by observation of a basis for U), the transmitted V is
related to the received U via the direct sum U ¼ HðVÞ E, where the operator H
selects some subspace of V and E is a suitable error space intersecting trivially with
V. This so-called operator channel takes in a vector space from the transmitter and
produces some vector space at any given receiver, where the received space may
suffer from erasures (deletion of vectors from the transmitted space) or errors
(addition of vectors to the transmitted space).
A coding theory for the operator channel thus presents itself very naturally. The
collection PðWÞ of subspaces of the ambient packet space W plays the role of input
and output alphabets. One may define metrics on PðWÞ to measure the adversarial
effort required to convert a transmitted subspace V to a received one U; intuitively,
two spaces should be near each other if they intersect in a space of relatively large
dimension. One natural measure, which equally weights erasures and errors, is the
“subspace metric” dS ðU; VÞ ¼ dimðU þ VÞ dimðU \ WÞ. Another measure,
introduced in my 2008 paper with Silva and Kötter, is the “injection distance”
dI ðU; VÞ ¼ maxfdimðUÞ; dimðVÞg dimðU \ VÞ, which accounts for the possi-
bility that a single injection of a packet by an adversary may simultaneously case
the deletion of a dimension (an erasure) and the insertion of one (an error). These
two metrics coincide (except for a factor of two) in the case of constant dimension,
i.e., in the case when dimðUÞ ¼ dimðVÞ.
A subspace code for the operator channel is then a nonempty subset of PðWÞ,
i.e., a nonempty codebook of vector spaces, each a subspace of the ambient packet
space W. As in classical coding theory, the error- and erasure-correcting capability
of such a code is determined by the minimum distance between codewords, mea-
sured according to either the subspace distance or the injection distance. In the
Foreword ix
important special case when the codewords all have the same dimension, a so-called
constant dimension code, an analog of a “constant weight code” in classical coding
theory, arises.
Many very interesting mathematical and engineering questions arise immedi-
ately; indeed, the chapters of this book aim to pose, study, and answer some
of them.
As in classical coding theory, one can ask for extremal codes. For example,
when the ambient packet space is Fnq , which codes with codewords of constant
dimension k have maximum codebook cardinality M while preserving minimum
injection distance d? Similarly, for a fixed codebook cardinality M, which codes of
constant dimension k have largest possible minimum injection distance d? One
might also be interested in extremal codes with codewords not all of the same
dimension, in which case the distinction between the subspace distance and the
injection distance becomes important. Many classical coding theory bounds on
extremal codes (e.g., the Hamming bound, the Singleton bound, the Gilbert bound)
have analogs in the new setting of subspace codes.
One may also ask for code constructions that admit efficient decoding algorithms.
In the case where k j n, the analog of a classical extremal code, the repetition code,
is now an extremal object in finite geometry: a spread, a collection of pairwise
trivially intersecting k-dimensional subspaces of Fnq whose union is Fnq . In our 2008
papers, we showed that constant dimension codes of very large (“nearly” extremal)
cardinality can be constructed by a “lifting” of extremal codes—such as the maxi-
mum rank-distance Delsarte–Gabidulin codes—constructed for the rank metric.
These codes consist of the row spaces of matrices of the form ½I j M , where I is the
identity matrix and M is a matrix codeword of a rank-metric code. Furthermore, we
showed that efficient analogs of classical bounded distance decoding algorithms for
Reed–Solomon codes can be developed for such lifted Delsarte–Gabidulin codes.
Closely related to the combinatorial questions of code construction, a large part
of combinatorial mathematics and finite geometry deals with the existence,
construction, and properties of so-called combinatorial designs: collections of sub-
sets of some ambient set exhibiting particular balance or symmetry properties.
A prototypical example is a Steiner system: a collection of k-element subsets (called
blocks) of S ¼ f1; . . .; ng with the property that each t-element subset of S is con-
tained in exactly one block. In this context of subspaces of a fixed ambient space, one
can ask for q-analogs of such designs: namely, collections of subspaces of some
ambient space over Fq exhibiting particular balance or symmetry properties. For
example, the q-analog of a Steiner system would be a collection of k-dimensional
subspaces (blocks) of W ¼ Fnq with the property that each t-dimensional subspace of
W is contained in exactly one block. That nontrivial (t 2) q-Steiner systems even
exist was not known until the 2013 paper of Braun, Etzion, Östergård, Vardy, and
Wassermann.
Written by leading experts in the field, this book is an exploration of the
beautiful and elegant mathematical and engineering ideas that are related to network
coding. Here, you will find new constructions of subspace codes of various types as
x Foreword
When the four editors authoring this short editorial came up with the plan for this
book project, the initial idea was to present, disseminate, and advertise for a large
collection of results of COST Action IC1104. This Action, named Random Network
Coding and Designs over GF(q), as granted by the European Science Foundation in
2011, supported 4 years of a joint endeavor in European research within the newly
established field of network coding and subspace designs. When we look at the
collection of material of this book today, we recognize that this book has developed
to be much more: We feel that what we present here has become more significant
than the Action itself in that it describes the state-of-the-art in many aspects of
network coding and related topics.
Historically, the new concepts and inventive ideas of the seminal paper
R. Koetter and F. R. Kschischang: Coding for errors and erasures in random network
coding, IEEE Transactions on Information Theory 54 (2008), 3579–3591.
attracted attention of scholars from many areas of coding theory and related sci-
entific disciplines. They felt that this endeavor allowed them to make original
contributions to their established knowledge and techniques. Algebraic coding
theorists, combinatorialists, computers scientists, and engineers—they all saw their
opportunities to apply their skills and experience to an interdisciplinary work on the
introduced topics. So, it happened that the COST Action offered the perfect plat-
form at the right time for enabling fruitful discussions and exchange resulting in an
abundance of results by scientists all over the field.
With growing enthusiasm, a competent union of more than hundred and twenty
scholars from 27 different countries joined actively the project illuminating different
directions, opening new questions, and connecting more and more branches of
science.
This book consists of 16 chapters by various protagonists of Action IC1104 and
a foreword by Frank Kschischang that briefly provides conceptual framework,
initial information on the contents of the chapters, and points the coherence between
the interdisciplinary chapters. Authors are invited project members and
xi
xii Preface
internationally renowned experts who proved excellence in the field, not only
within the 4 years of European support.
The chapters are as much self-contained as due and possible; they all start with
basics but come soon to the frontiers of knowledge without feeling obliged to
overdo in explaining too many details. Some of the chapters include respectable
new results that have not been published yet elsewhere, along with a list of open
problems and ideas for further research. This makes each of the chapters an
excellent start for Ph.D. students or newcomers to the field who wish to commence
research on a particular topic connected with network coding or combinatorial
design theory. Since this research area is still growing and opening new problems
and topics, we sincerely hope that this book will provide ample and appropriate
guidance, when used by mathematicians as well as computer scientists and elec-
trical engineers.
We greatly appreciate the kindness of all the authors to cooperate and present the
chapters in such a useful review paper style. Our special thanks are addressed to the
European Science Foundation and its COST framework for the financial support for
Action IC1104 and in particular for helping this book to come to existence.
xiii
xiv Contents
Abstract We review the main results of the theory of error-correcting codes with
the rank metric, introducing combinatorial techniques for their analysis. We study
their duality theory and MacWilliams identities, comparing in particular rank-metric
codes in vector and matrix representation. We then investigate the structure of MRD
codes and cardinality-optimal anticodes in the rank metric, describing how they relate
to each other.
Introduction
A q-ary rank-metric code is a set of matrices over Fq equipped with the rank distance,
which measures the rank of the difference of a pair of matrices. Rank-metric codes
were first studied in [3] by Delsarte for combinatorial interest.
More recently, codes endowed with the rank metric have been re-discovered for
error correction in the context of linear network coding, and featured prominently in
the coding theory literature.
In linear network coding, a source attempts to transmit information packets to
multiple destinations via a network of intermediate nodes. The nodes compute and
forward in the direction of the sinks linear functions of the received packets, rather
than simply routing them. In [1, 9] it was shown that linear network coding achieves
the optimal multicast throughput over sufficiently large alphabets.
Rank-metric codes were proposed in [8, 18] for end-to-end error correction in
noisy and adversarial networks. In this context, as shown in [17], the correction
capability of a rank-metric code is measured by a fundamental parameter, called the
minimum rank distance of the code.
In this chapter, we survey the main results of the mathematical theory of rank-
metric codes, with emphasis on their combinatorial structure.
E. Gorla
Institut de Mathématiques, Université de Neuchâtel, Neuchâtel, Switzerland
e-mail: [email protected]
A. Ravagnani (B)
School of Mathematics and Statistics, University College Dublin,
Dublin, Ireland
e-mail: [email protected]
1 Rank-Metric Codes
Throughout this chapter, q denotes a fixed prime power, and Fq the finite field with
q elements. Moreover, k and m denote positive integers with k ≤ m without loss
of generality, and Fk×m
q is the space of k × m matrices over Fq . Finally, for given
integers a, b ∈ N we denote by
a
b q
the q-ary binomial coefficient of a and b, which counts the number of b-dimensional
subspaces of an a-dimensional space over Fq . See e.g. [19, Sect. 1.7] for details.
Definition 1 The rank distance is the function d : Fk×m
q × Fk×m
q → N defined by
d (M , N ) = rk(M − N ) for all M , N ∈ Fq .
k×m
d (C ) = min{d (M , N ) | M , N ∈ C , M = N }.
Codes Endowed with the Rank Metric 5
C ⊥ = {N ∈ Fk×m
q | Tr(MN t ) = 0 for all M ∈ C } ⊆ Fk×m
q ,
for all i ∈ N.
Definition 4 The rank of a vector v = (v1 , ..., vk ) ∈ Fkqm is the dimension of the
linear spaces generated over Fq by its entries, i.e., rkG (v) = dimFq v1 , ..., vk
. The
rank distance between vectors v, w ∈ Fkqm is dG (v, w) = rkG (v − w).
The code C is linear if it is an Fqm -linear subspace of Fkqm . In this case the dual of C
is defined as
6 E. Gorla and A. Ravagnani
k
⊥
C = w∈ Fkqm | vi wi = 0 for all v ∈ C ⊆ Fkqm .
i=1
The map (v, w) → vi wi is an Fqm -scalar product on Fkqm . Therefore for all linear
vector rank-metric codes C ⊆ Fkqm we have
Wi (C) = |{v ∈ C | rkG (v) = i}|, Di (C) = 1/|C| · |{(v, w) ∈ C 2 | dG (v, w) = i}|
for all i ∈ N.
There exists a natural way to associate to a vector rank-metric code a code in
matrix representation with the same cardinality and metric properties.
Definition 7 Let Γ = {γ1 , ..., γm } be a basis of Fqm over Fq . The matrix associated
to a vector v ∈ Fkqm with respect to Γ is the k × m matrix Γ (v) with entries in Fq
defined by
m
vi = Γ (v)ij γj for all i = 1, ..., k.
j=1
The rank-metric code associated to a vector rank-metric code C ⊆ Fkqm with respect
to Γ is
Γ (C) = {Γ (v) | v ∈ C} ⊆ Fk×m
q .
Notice that in the previous definition the i-th row of Γ (v) is the expansion of the
entry vi over the basis Γ .
The proof of the following result is standard and left to the reader.
Proposition 1 For every Fq -basis Γ of Fqm the map v → Γ (v) is an Fq -linear
bijective isometry (Fkqm , dG ) → (Fk×m
q , d ).
In particular, if C ⊆ Fqm is a vector rank-metric code, then Γ (C) has the same
k
/ C ⊥ . It follows
Let β = (ξ, 1) ∈ F232 . We have α1 β1 + α2 β2 = 1 = 0, and so β ∈
⊥
/ Γ (C ). On the other hand,
Γ (β) ∈
01
Γ (β) = ,
10
and it is easy to see that Γ (β) is trace-orthogonal to both Γ (α) and Γ (ξ α). Therefore
Γ (β) ∈ Γ (C)⊥ , hence Γ (C)⊥ = Γ (C ⊥ ).
Although the duality notions for matrix and vector rank-metric codes do not
coincide, there is a simple relation between them via orthogonal bases of finite
fields.
m−1
Let Trace : Fqm → Fq be the map defined by Trace(α) = α + α q + · · · + α q
for all α ∈ Fqm . Bases Γ = {γ1 , ..., γm } and Γ = {γ1 , ..., γm } of Fqm over Fq are
called orthogonal if Trace(γi γj ) = δij for all i, j ∈ {1, ..., m}. It is well-known that
every basis Γ of Fqm over Fq has a unique orthogonal basis Γ (see [10], p. 54).
Theorem 1 Let C ⊆ Fkqm be an Fqm -linear vector rank-metric code, and let Γ , Γ
be orthogonal bases of Fqm over Fq . We have
Γ (C ⊥ ) = Γ (C)⊥ .
In particular, C has the same weight distribution as Γ (C), and C ⊥ has the same
weight distribution as Γ (C)⊥ .
Proof Write Γ = {γ1 , ..., γm } and Γ = {γ1 , ..., γm }. Let M ∈ Γ (C ⊥ ) and N ∈
Γ (C). There exist α ∈ C ⊥ and β ∈ C such that M = Γ (α) and N = Γ (β). By
Definition 7 we have
k
k
m
m
k
m
m
0 = αi βi = Mij γj Nit γt = Mij Nit γj γt . (1)
i=1 i=1 j=1 t=1 i=1 j=1 t=1
Applying the function Trace : Fqm → Fq to both sides of Eq. (10) we obtain
⎛ ⎞
k
m
m
k
m
m
0 = Trace ⎝ Mij Nit γj γt ⎠ = Mij Nit Trace(γj γt ) = Tr(MN t ).
i=1 j=1 t=1 i=1 j=1 t=1
8 E. Gorla and A. Ravagnani
This section is devoted to the duality theory of codes endowed with the rank metric.
We concentrate on linear rank-metric codes, and show that the weight distributions
of a code C and its dual code C ⊥ determine each other via a MacWilliams-type
transformation. This result was established by Delsarte in [3, Theorem 3.3] using
the machinery of association schemes, and may be regarded as the rank-analogue
of a celebrated theorem by MacWilliams on the weight distribution of linear codes
endowed with the Hamming metric (see [11]). In this section we present a lattice-
theoretic proof inspired by [13, Theorem 27].
Notation 1 We denote by colsp(M ) ⊆ Fkq the Fq -space generated by the columns of
a matrix M ∈ Fk×m
q . Given a code C ⊆ Fk×m
q and an Fq -subspace U ⊆ Fkq , we let
C (U ) = {M ∈ C | colsp(M ) ⊆ U } ⊆ Fk×m
q
2. Fk×m
q (U )⊥ = Fk×m
q (U ⊥ ).
Proof 1. Let s = dim(U ) and V = {(x1 , ..., xk ) ∈ Fkq | xi = 0 for i > s} ⊆ Fkq .
There exists an Fq -isomorphism g : Fkq → Fkq that maps U to V . Let G ∈ Fk×k q be
the invertible matrix associated to g with respect to the canonical basis {e1 , ..., ek }
of Fkq , i.e.,
k
g(ej ) = G ij ei for all j = 1, ..., k.
i=1
|C |
|C (U )| = |C ⊥ (U ⊥ )|.
qm(k−u)
|C (U )| · |C ⊥ + Fk×m
q (U ⊥ )| = qkm . (2)
dim(C ⊥ + Fk×m
q (U ⊥ )) = dim(C ⊥ ) + m · dim(U ⊥ ) − dim(C ⊥ (U ⊥ )).
As a consequence,
qkm · qm(k−u)
|C ⊥ + Fk×m (U ⊥ )| = . (3)
q
|C | · |C ⊥ (U ⊥ )|
Lemma 2 Let P(Fkq ) be the set of all Fq -subspaces of Fkq , and let f : P(Fkq ) → Z
be any function. Define g : P(Fkq ) → Z by g(V ) = U ⊆V f (U ) for all V ⊆ Fkq .
Then for all i ∈ {0, ..., k} and for any subspace V ∈ P(Fkq ) with dim(V ) = i we
have
i
(−1)i−u q( 2 )
i−u
f (V ) = g(U ).
u=0 U ⊆V
dim(U )=u
Proof Fix an integer i ∈ {0, ..., k} and a vector space V ∈ P(Fkq ) with dim(V ) = i.
We inductively define a function μ : {U ∈ P(Fkq ) | U ⊆ V } → Z by μ(U ) = 1 if
U = V , and μ(U ) = − U S⊆V μ(S) if U V . By definition of g we have
μ(U )g(U ) = μ(U ) f (S) = f (S) μ(U ) = f (V ),
U ⊆V U ⊆V S⊆U S⊆V S⊆U ⊆V
where the last equality immediately follows from the definition of μ. Therefore it
suffices to show that for all U ⊆ V we have
μ(U ) = (−1)i−u q( 2 ) ,
i−j
(4)
i
i−j
(−1)i−s q( 2 )
i−s
μ(U ) = − μ(S) = −
s−u q
U S⊆V s=u+1
i
i−s (i−s ) i−u
=− (−1) q 2
i−s q
s=u+1
i−u
( ) i−u
+ (−1)i−u q( 2 )
s i−u
=− (−1) q s2
s q
s=0
= (−1)i−u q( 2 ) ,
i−u
where the last equality follows from the q-Binomial Theorem (see [19], p. 74).
We can now prove the main result of this section, first established by Delsarte in
[3, Theorem 3.3]. A proof for the special case of Fqm -linear vector rank-metric codes
using different techniques can be found in [6].
1
k k
k −u k −j
(−1)i−u qmu+( 2 )
i−u
Wi (C ⊥ ) = Wj (C ) .
|C | j=0 k −i q u q
u=0
By Lemma 2, for any i ∈ {0, ..., k} and for any vector space V ⊆ Fkq of dimension i
we have
i
(−1)i−u q( 2 )
i−u
f (V ) = |C ⊥ (U )|
u=0 U ⊆V
dim(U )=u
i
(−1)i−u q( 2 )
i−u
= |C ⊥ (T ⊥ )|
u=0 T ⊆Fkq
⊥
T ⊇V
dim(T )=k−u
1
i
(−1)i−u qmu+( 2 )
i−u
= |C (T )|,
|C | u=0
T ⊆Fkq
⊥
T ⊇V
dim(T )=k−u
where the last equality follows from Proposition 2. Now observe that
Wi (C ⊥ ) = f (V )
V ⊆Fkq
dim(V )=i
1
i
(−1)i−u qmu+( 2 )
i−u
= |C (T )|
|C | u=0 k
V ⊆Fq T ⊆Fkq
dim(V )=i T ⊇V ⊥
dim(T )=k−u
1
i
(−1)i−u qmu+( 2 )
i−u
= |C (T )|
|C | u=0
T ⊆Fkq V ⊆Fkq
dim(T )=k−u V ⊇T ⊥
dim(V )=i
1
i
k −u
(−1)i−u qmu+( 2 )
i−u
= |C (T )|. (5)
|C | u=0 i−u q
T ⊆Fkq
dim(T )=k−u
12 E. Gorla and A. Ravagnani
k−u
|C (T )| = |{M ∈ C | colsp(M ) = S}|
T ⊆Fkq T ⊆Fkq j=0 S⊆T
dim(T )=k−u dim(T )=k−u dim(S)=j
k−u
= |{M ∈ C | colsp(M ) = S}|
j=0 S⊆Fkq T ⊆Fkq
dim(S)=j T ⊇S
dim(T )=k−u
k−u
k −j
= Wj (C ). (6)
u q
j=0
Combining Eqs. (5) and (6) one obtains the desired result.
We now present a different formulation of the MacWilliams identities for the rank
metric. The following result is [12, Theorem 31].
ν
|C |
k−ν
k −i ⊥ k −j
Wi (C ) = W (C ) .
ν q qmν j=0
j
ν−j q
i=0
Observe that
|C (U )| = |{(U, M ) | U ⊆ Fkq , dim(U ) = k − ν, M ∈ C , colsp(M ) ⊆ U }|
U ⊆Fkq
dim(U )=k−ν
Codes Endowed with the Rank Metric 13
= |{U ⊆ Fkq , dim(U ) = k − ν, colsp(M ) ⊆ U }|
M ∈C
k
= |{U ⊆ Fkq , dim(U ) = k − ν, colsp(M ) ⊆ U }|
i=0 M ∈C
rk(M )=i
k k −i
k−ν
k −i
= = Wi (C ) . (8)
k −ν−i q ν q
i=0 M ∈C i=0
rk(M )=i
k−ν
k −j
|C ⊥ (U )| = Wj (C ⊥ ) . (9)
ν−j q
U ⊆Fkq j=0
dim(U )=ν
The result now follows combining Eqs. (7), (8) and (9).
Remark 1 The two formulations of the MacWilliams identities for the rank metric
given in Theorems 2 and 3 are equivalent. See [6, Corollary 1 and Proposition 3] and
[12, Theorem 61] for details.
The next theorem is [2, Theorem 27], and shows that the weight distribution of a
linear code is determined by its parameters, together with the number of codewords
of small weight. We state it without proof. An application of this result will be given
in Sect. 3 (see Corollary 3).
Theorem 4 Let C ⊆ Fk×m q be a linear code with 1 ≤ dim(C ) ≤ km − 1, minimum
distance d = d (C ), and dual minimum distance d ⊥ = d (C ⊥ ). Let ε = 1 if C is
MRD, and ε = 0 otherwise. For all 1 ≤ i ≤ d ⊥ we have
k−d
u u − d⊥ + i − 1
Wk−d ⊥ +i (C ) = (−1)i q(2)
i
Wk−u (C )
d⊥ − i q
i−1 q
u=d ⊥
i−1−ε
k k − d ⊥ + i dim(C
(−1)u q(2) )−m(d ⊥ −i+u)
u
+ q −1 .
d⊥ − i q u=0
u q
k
k
|I | k −u k −t
(−1)r−u qmu+( 2 )
r−u
q−|I | (q − 1)t .
t k −r q u q
t=0 u=0
Proof Define the linear code C = {M ∈ Fk×m q | Mij = 0 for all (i, j) ∈
/ I } ⊆ Fk×m
q .
Then dim(C ) = |I |, Wt (C ) = 0 for |I | < t ≤ k, and
|I |
Wt (C ) = (q − 1)t
t
3 MRD Codes
In this section we study rank-metric codes that have the largest possible cardinality
for their parameters. We start with a Singleton-type bound for the cardinality of a
rank-metric code of given minimum distance. A code is called MRD if it attains the
bound. We then show that for any admissible choice of the parameters there exists a
linear MRD code with those parameters.
In the second part of the section we study general structural properties of MRD
codes. We first prove in Theorem 7 that the dual of a linear MRD code is MRD. Then
we show in Theorem 8 that the weight distribution of a possibly non-linear MRD
code C ⊆ Fk×m q with 0 ∈ C is determined by k, m and d (C ). As a corollary, we
prove that these three parameters completely determine the distance distribution of
any MRD code. Our proofs are inspired by the lattice-theory approach to the weight
functions of coding theory proposed in [13, 14].
We now prove that for any choice of q, k, m and d there exists a linear rank-metric
code C ⊆ Fk×m
q that attains the bound of Theorem 5. This result was first shown by
Codes Endowed with the Rank Metric 15
Theorem 6 For all 1 ≤ d ≤ k there exists an Fqm -linear vector rank-metric code
C ⊆ Fkqm with dG (C) = d and dimFqm (C) = k − d + 1. In particular, there exists a
linear MRD code C ⊆ Fk×mq with d (C ) = d .
We include an elegant proof for Theorem 6 from [8]. Recall that a linearized
polynomial p over Fqm is a polynomial of the form
2 s
p(x) = α0 x + α1 xq + α2 xq + · · · + αs xq , αi ∈ Fqm , i = 0, ..., s.
The degree of p, denoted by deg(p), is the largest integer i ≥ 0 such that αi = 0. The
Fqm -vector space of linearized polynomials over Fqm of degree at most s is denoted
by Linq (m, s). It is easy to see that dimFqm (Linq (m, s)) = s + 1.
Remark 2 The roots of a linearized polynomial p over Fqm form an Fq -vector sub-
space of Fqm (see [10], Theorem 3.50), which we denote by V (p) ⊆ Fqm in the sequel.
Clearly, for any non-zero linearized polynomial p we have dimFq V (p) ≤ deg(p) by
the Fundamental Theorem of Algebra.
Proof (of Theorem 6) Let E = {β1 , ..., βk } ⊆ Fqm be a set of Fq -independent ele-
ments. These elements exist as k ≤ m by assumption. Define the Fqm -linear map
evE : Linq (m, k − d ) → Fkqm , evE (p) = (p(β1 ), ..., p(βk )) for p ∈ Linq (m, k − d ).
We claim that C = evE (Linq (m, k − d )) ⊆ Fkqm is a vector rank-metric code with the
desired properties.
Clearly, C is Fqm -linear. Now let p ∈ Linq (m, k − d ) be a non-zero linearized
polynomial, and let W ⊆ Fqm denote the space generated over Fq by the eval-
uations p(β1 ), ..., p(βk ). The polynomial p induces an Fq -linear evaluation map
p : β1 , ..., βk
Fq → Fqm . The image of p is W , and therefore by the rank-nullity theo-
rem we have dimFq (W ) = k − dimFq V (p). By Remark 2 we conclude dimFq (W ) ≥
k − (k − d ) = d . This shows that dG (C) ≥ d . In particular, as d ≥ 1, the map evE
is injective, and the dimension of C is dimFqm (C) = k − d + 1. Combining Propo-
sition 1 and Theorem 5 we obtain dG (C) = d .
The second part of the theorem immediately follows from Proposition 1.
The MRD code construction in the proof of Theorem 6 was later generalized by
Sheekey in [15], introducing a new class of MRD codes. See chapter “Constructions
of Cyclic Subspace Codes and Maximum Rank Distance Codes” for other construc-
tions of MRD codes.
The reminder of the section is devoted to the structural properties of MRD codes.
We start with a preliminary result from [14, Chap. 7].
16 E. Gorla and A. Ravagnani
|C (U )| = qm(u−d +1) .
Proof As in Lemma 1, define V = {(x1 , ..., xk ) ∈ Fkq | xi = 0 for i > u} ⊆ Fkq . Let
g : Fkq → Fkq be an Fq -isomorphism with f (U ) = V . Denote by G ∈ Fk×k q the matrix
associated to g with respect to the canonical basis of Fkq . Define the rank-metric code
D = GC = {GM | M ∈ C }. Clearly, D has the same dimension and minimum
distance as C . In particular, it is MRD. Observe moreover that C (U ) = D(V ).
Consider the maps
π1 π2
D −→ F(k−d
q
+1)×m
−→ F(k−u)×m
q ,
We can now show that the dual of a linear MRD code is MRD. The next funda-
mental result is [13, Theorem 5.5].
d + d ⊥ ≤ k + 2. (10)
The proof of Theorem 7 also shows the following useful characterization of linear
MRD codes in terms of their minimum distance and dual minimum distance.
Proposition 3 Let C ⊆ Fk×mq be a linear code with 1 ≤ dim(C ) ≤ km − 1. The
following are equivalent.
1. C is MRD,
2. C ⊥ is MRD,
3. d (C ) + d (C ⊥ ) = k + 2.
In the remainder of the section we concentrate on the weight and distance dis-
tributions of (possibly non-linear) MRD codes. We start with a result on the weight
distribution of MRD codes containing the zero vector (see [14, Theorem 7.46]).
Theorem 8 Let C be an MRD code with |C | ≥ 2 and 0 ∈ C . Let d = d (C ). Then
W0 (C ) = 1, Wi (C ) = 0 for 1 ≤ i ≤ d − 1, and
d −1
i
( i−u
) k i ( i−u
) +m(u−d +1) k i
Wi (C ) = (−1) i−u
q 2 + (−1) q 2
i−u
i q u q i q u q
u=0 u=d
for d ≤ i ≤ k.
Proof Since 0 ∈ C , we have W0 (C ) = 1 and Wi (C ) = 0 for 1 ≤ i ≤ d − 1. For all
subspaces V ⊆ Fkq define
f (V ) = |{M ∈ C | colsp(M ) = V }|, g(V ) = f (U ) = |C (V )|.
U ⊆V
i
(−1)i−u q( 2 )
i−u
f (V ) = g(U ).
u=0 U ⊆V
dim(U )=u
Therefore
d −1
i
i i
(−1)i−u q( 2 ) (−1)i−u q( 2 )+m(u−d +1)
i−u i−u
f (V ) = + .
u q u q
u=0 u=d
Different formulas for the weight distribution of linear MRD codes were obtained
in [4] employing elementary methods.
Theorem 8 implies the following [3, Theorem 5.6], which states that the distance
distribution of any MRD code is determined by its parameters.
Corollary 2 Let C ⊆ Fk×m q be an MRD code with |C | ≥ 2 and minimum distance
d . We have D0 (C ) = 1, Di (C ) = 0 for 1 ≤ i ≤ d − 1, and
d −1
i
k i k i
(−1)i−u q( 2 ) (−1)i−u q( 2 )+m(u−d +1)
i−u i−u
Di (C ) = +
i q u q i q u q
u=0 u=d
for d ≤ i ≤ k.
Proof Fix an i with d ≤ i ≤ k. For N ∈ C define C − N = {M − N | M ∈ C }. By
definition of distance distribution we have
|C | · Di (C ) = |{(M , N ) ∈ C 2 | rk(M − N ) = i}| = Wi (C − N ).
N ∈C
For all N ∈ C the code C − N is MRD. Moreover, 0 ∈ C − N . The result now easily
follows from Theorem 8.
Corollary 2 shows in particular that the weight distribution of a linear MRD
code is determined by k, m and d (C ). Recall from Proposition 3 that an MRD
code C ⊆ Fk×mq is characterized by the property d (C ) + d (C ⊥ ) = k + 2. We now
prove that the weight distribution of a linear code C with d (C ) + d (C ⊥ ) = k + 1
is determined by k, m and dim(C ). The following result is [2, Corollary 28].
Corollary 3 Let C ⊆ Fk×m
q be a linear rank-metric code with 1 ≤ dim(C ) ≤ km −
⊥
1 and d (C ) + d (C ) = k + 1. Then
d (C ) ≤ k − α + 1, d (C ⊥ ) ≤ α + 1. (12)
By Proposition 3, the two inequalities in (12) are either both equalities, or both strict
inequalities. Since d (C ) + d (C ⊥ ) = k + 1 by assumption, they must be both strict
inequalities. Therefore
d (C ) ≤ k − α, d (C ⊥ ) ≤ α,
4 Rank-Metric Anticodes
This section is devoted to rank-metric anticodes, i.e., rank-metric codes in which the
distance between any two matrices is bounded from above by a given integer δ.
In Theorem 9 we give a bound for the cardinality of a (possibly non-linear)
anticode, using a code-anticode-type bound. We also characterize optimal anticodes
in terms of MRD codes. Then we show that the dual of an optimal linear anticode is
an optimal linear anticode. The main results of this section appear in [12, 14].
Proof Let C ⊆ Fk×m q be any MRD code with d (C ) = δ + 1. Such a code exists by
Theorem 6. For all M ∈ A let [M ] = M + C = {M + N | N ∈ C }. Then [M ] ∩
[M ] = ∅ for all M , M ∈ A with M = M . Moreover, by definition of MRD code
we have |[M ]| = |C | = qm(k−δ) for all M ∈ A , hence
|Fk×m | ≥ [M ] = |[M ]| = |A | · |C | = |A | · qm(k−δ) .
q
M ∈A M ∈A
Remark 3 Example 3 shows the existence of optimal linear δ-anticodes for all
choices of δ.
In the remainder of the section we prove that the dual of an optimal linear δ-
anticode is an optimal (k − δ)-anticode. The result may be regarded as the analogue
of Theorem 7 in the context of rank-metric anticodes. We start with a preliminary
result on the weight distribution of MRD codes.
Proof By Theorem 8, we shall prove the lemma for a given MRD code C ⊆ Fk×m q
of our choice with |C | ≥ 2, minimum distance d , and 0 ∈ C . We will first produce
a convenient MRD code with the prescribed properties.
Codes Endowed with the Rank Metric 21
Let C ⊆ Fkqm be the vector rank-metric code constructed in the proof of Theorem 6,
with evaluation set E = {β1 , ..., βk } and evaluation map evE . Let Γ be any basis of
Fqm over Fq . By Proposition 1, C = Γ (C) ⊆ Fk×m q is a linear code with dim(C ) =
m(k − d + 1) and the same weight distribution as C. In particular, C is a non-zero
linear MRD code with minimum distance d .
Now we prove the lemma for the MRD code C constructed above. Fix with
0 ≤ ≤ k − d . Define t = k − d − , and let U ⊆ Fqm be the Fq -subspace generated
by {β1 , ..., βt }. If t = 0 we set U to be the zero space. By [10], Theorem 3.52,
pU = (x − γ )
γ ∈U
Combining Theorem 7 and Proposition 3 one shows that C ⊥ is a linear MRD code
with d (C ⊥ ) = k − (k − δ + 1) + 2 = δ + 1. By Proposition 4 we have A ∩ C ⊥ =
{0}. Since dim(A ) + dim(C ⊥ ) = mδ + m(k − (δ + 1) + 1) = mk, we have A ⊕
C ⊥ = Fk×m
q . Therefore {0} = (Fk×m
q )⊥ = (A ⊕ C ⊥ )⊥ = A ⊥ ∩ C . This shows the
theorem.
References
1. R. Ahlswede, N. Cai, S.-Y.R. Li, R.W. Yeung, Network information flow. IEEE Trans. Inf.
Theory 46(4), 1204–1216 (2000)
2. J. De la Cruz, E. Gorla, H.H. López, A. Ravagnani, Rank distribution of Delsarte codes. Des.
Codes Cryptogr. (to appear)
3. P. Delsarte, Bilinear forms over a finite field, with applications to coding theory. J. Comb.
Theory A 25(3), 226–241 (1978)
4. J.G. Dumas, R. Gow, G. McGuire, J. Sheekey, Subspaces of matrices with special rank prop-
erties. Linear Algebr. Appl. 433, 191–202 (2010)
5. E. Gabidulin, Theory of codes with maximum rank distance. Probl. Inf. Transm. 1(2), 1–12
(1985)
6. M. Gadouleau, Z. Yan, MacWilliams Identities for Codes with the Rank Metric. EURASIP J.
Wirel. Commun. Networ. (2008)
7. E. Gorla, A. Ravagnani, Subspace codes from Ferrers diagrams. J. Algebr. Appl. 16, 7 (2017)
8. R. Kötter, F.R. Kschischang, Coding for errors and erasures in random network coding. IEEE
Trans. Inf. Theory 54(8), 3579–3591 (2008)
9. S.-Y.R. Li, R.W. Yeung, N. Cai, Linear network coding. IEEE Trans. Inf. Theory 49(2), 371–
381 (2003)
10. R. Lidl, H. Niederreiter, Finite Fields. Addison-Wesley Publishing Company (1983)
11. F.J. MacWilliams, A theorem on the distribution of weights in a systematic code. Bell Syst.
Tech. J. 42(1), 79–94 (1963)
12. A. Ravagnani, Rank-metric codes and their duality theory. Des. Codes Cryptogr. 80(1), 197–
216 (2016)
13. A. Ravagnani, Duality of codes supported on regular lattices, with an application to enumerative
combinatorics. Submitted. Online preprint: https://arxiv.org/abs/1510.02383
14. A. Ravagnani, Properties and Constructions of Codes with the Rank and the Subspace Metric.
PhD thesis, Université de Neuchâtel, 2016
15. J. Sheekey, A new family of MRD codes. Adv. Math. Commun. 10, 3 (2016)
16. D. Silva, F.R. Kschishang, On metrics for error correction in network coding. IEEE Trans. Inf.
Theory 55(12), 5479–5490 (2009)
Codes Endowed with the Rank Metric 23
17. D. Silva, F.R. Kschischang, On metrics for error correction in network coding. IEEE Trans.
Inf. Theory 55(12), 5479–5490 (2009)
18. D. Silva, E.S. Rogers, F.R. Kschishang, R. Koetter, A Rank-Metric Approach to Error Control
in Random Network Coding. IEEE Trans. Inf. Theory 54(9), 3951–3967 (2008)
19. P. Stanley, Enumerative Combinatorics, vol. 1, Cambridge Stud. Adv. Math., vol. 49. Cam-
bridge University Press (2012)
Constructions of Constant Dimension Codes
Abstract Constant dimension codes are subsets of the finite Grassmann variety. The
subspace distance is a natural metric on the Grassmannian. It is desirable to have
constructions of codes with large cardinality and efficient decoding algorithm for
all parameters. This article provides a survey on constructions of constant dimen-
sion codes with a prescribed minimum distance. The article starts with a review of
geometric properties of the Grassmann variety. We emphasize the classical Plücker
embedding which shows that the Grassmannian describing all k-dimensional sub-
spaces of a vector space can be naturally embedded in a projective space and hence
has the structure of a projective variety itself. On the construction side we first con-
centrate on the construction of equidistant codes, which include spreads and partial
spreads. Then we review constructions based on matrix codes equipped with the
rank metric, in particular those matrices whose non-zero entries constitute certain
Ferrers diagrams. A large part of the survey is then concerned with orbit codes, i.e.,
subsets of the Grassmannian that can be expressed as the orbit under an action of
an algebraic group. Finally we review several constructions of constant dimension
codes starting with another constant dimension code having good parameters. We
conclude by giving references to other results related to constant dimension codes
and references to results on constructions of mixed dimension codes.
1 Introduction
for U, V ⊆ Fqn . For simplicity, one often restricts to constant dimension codes, where
all codewords have the same fixed dimension k. Thus, a constant dimension code
is a subset C of the Grassmann variety Grass(k, Fqn ), which we will also denote by
Gq (k, n). Because of this constant dimension codes are also called Grassmannian
codes in the literature.
As in the classical literature on coding theory one defines the minimum distance
dist(C) of a code C as the minimal distance of two different code elements; in this case
the minimal subspace distance between two subspaces. The goal is once more the
construction of subspace codes with many code elements and prescribed minimum
distance. For the most part of this paper we will focus on constructions of constant
dimension codes; we give a short overview of mixed dimension code constructions
in the end.
The paper is structured in the following way. In Sect. 2 we will collect some
background material on the geometry of the finite Grassmann variety, which serves
as the ambient space for constant dimension codes.
In Sect. 3 we will cover spread codes, partial spread codes and equidistant codes.
Spread and partial spread codes are characterized by the property that they have the
maximal possible minimum distance 2k. Spread codes can be defined if k divides
n; they have maximal cardinality among all codes with this minimum distance. A
generalization of (partial) spreads are equidistant codes, where any two codewords
must have the same fixed distance, but not necessarily distance 2k.
One of the most successful ways to construct constant dimension codes with large
minimum distance is through a lifting process starting with some rank-metric code
of a given minimum distance. In Sect. 4 we will survey some of these constructions.
The general linear group GLn acts naturally and transitively on the Grassmannian.
In Sect. 5 we will give an overview on constant dimension codes which are also orbits
of some subgroup G of GLn acting on the Grassmannian. Like classical linear codes
the class of orbit codes have a rich mathematical structure.
As it is the case for the construction of classical linear codes inside Fqn there are
also several known techniques to come up with constructions of constant dimension
codes from known constant dimension codes of smaller parameters. These techniques
are surveyed in Sect. 6.
Constructions of Constant Dimension Codes 27
Assume k < n are two integers. The set of all k-dimensional subspaces in Fqn is called
the Grassmann variety or Grassmannian which we will denote by Gq (k, n). As the
name indicates the Grassmannian has a variety structure. To be more precise the set
Gq (k, n) can be embedded into a projective space using the Plücker embedding:
span(u 1 , . . . , u k ) −→ Fq (u 1 ∧ . . . ∧ u k ).
The image of the map ϕ is described by a set of quadratic equations called shuffle
relations. In order to make this more precise we will introduce a basis and coordinate
functions. For this assume {e1 , . . . , en } is the canonical basis of Fqn . Then N k Fqn has
as a canonical basis
k × n matrix U .
In the sequel denote by U [i 1 , . . . , i k ] the submatrix of U given by the columns
i 1 , . . . , i k . The numbers xi1 ,...,ik := det(U [i 1 , . . . , i k ]) are then called the Plücker
coordinates of the subspace rs(U ). In terms of Plücker coordinates the Plücker
embedding is simply described through
A vector inside the projective space P(k )−1 is in the image of the Plücker map
n
ϕ exactly when the coordinates satisfy the shuffle relations as formulated in the
following proposition:
[n] [n]
∀(i 1 , . . . , i k+1 ) ∈ k+1 , (i k+2 , . . . , i 2k ) ∈ k−1 , where sgn(σ j ) denotes the sign of
the permutation such that
Note that the shuffle relations (2) form a set of quadratic equations in terms of the
Plücker coordinates, and these equations describe exactly the image of the Plücker
map ϕ. It follows that the Grassmannian Gq (k, n) has the structure of a projective
variety.
If one considers all subspaces rs(U ) whose first Plücker coordinate x1,...,k is
nonzero one sees that this is a Zariski open set isomorphic to Fqk(n−k) , in particu-
lar the dimension of Gq (k, n) is equal to k(n − k).
The above dimension calculation is true over any base field F. Over a finite field
Gq (k, n) is a finite set and it is well-known that the cardinality of the Grassmannian
is given by the Gaussian binomial, i.e.,
k−1 n
n q − qi
|Gq (k, n)| = = .
j q i=0 q k − q i
For the purpose of coding theory it is important to understand the set of all sub-
spaces V ∈ Gq (k, n) whose subspace distance (1) to a given subspace U is at most
t. In other words we are interested in the geometric structure of the ball of radius t
around a subspace U:
The subsets Bt have classically been studied in the algebraic geometry literature and
as a matter of fact Bt is a special case of a so called Schubert variety.
In order to make this notion more precise one considers a so called flag F, this is
a sequence of nested linear subspaces
F : {0} ⊂ V1 ⊂ V2 ⊂ . . . ⊂ Vn = Fqn ,
1 ≤ ν1 < . . . < νk ≤ n.
The Schubert varieties are sub-varieties of the Grassmannian Gq (k, n). The defining
equations of the Schubert variety S(ν; F) in terms of Plücker coordinates are on
one side the defining shuffle relations (2) describing the Grassmannian Gq (k, n). In
addition a set of linear equations (see [40]) have to be satisfied. These equations
simplify if one wants to describe the ball Bt only and the interested reader will find
more details in [48].
Using the natural inner product inside the vector space Fqn one has a natural dual-
ity between a k-dimensional subspace U ∈ Gq (k, n) and the (n − k)-dimensional
subspace U ⊥ ∈ Gq (n − k, n). This duality induces a duality between the Grassmann
variety Gq (k, n) and the Grassmannian Gq (n − k, n), in particular both these Grass-
mannians are isomorphic. In case C ⊆ Gq (k, n) is a subspace code it was pointed out
in [42, Sect. 3.A] that the dual code C ⊥ ⊆ Gq (n − k, n) has the same cardinality and
minimum subspace distance as C. For the purpose of studying codes it is therefore
enough to restrict the study to codes in Gq (k, n) with n ≥ 2k.
Grassmannians Gq (k, n) are also homogeneous spaces. For this note that the gen-
eral linear group GLn acts naturally and transitively on Gq (k, n) through ‘right mul-
tiplication’:
U ∩ V = {0}.
manner and in addition every nonzero vector v ∈ Fqn lies in one and only one subspace
of this collection.
Definition 2 Let n = r k. Then a set S ⊆ Gq (k, n) is called a spread if all elements
of S intersect only trivially and they cover the whole space Fqn .
One immediately computes the cardinality of a spread as
qn − 1
= q k(r −1) + q k(r −2) + · · · + q k + 1.
qk − 1
i.e., a spread in Gq (k, n) is a constant dimension code with minimum distance 2k and
cardinality (q n − 1)/(q k − 1). In [44] constant dimension codes which also have the
structure of a spread were called spread codes. A concrete construction of spread
codes can be obtained in the following way:
Let P be the k × k companion matrix of a monic and irreducible polynomial
p(x) ∈ Fq [x] of degree k. It is then well known (see e.g. [43]) that the Fq -algebra
Fq [P] ⊂ Fqk×k is isomorphic to the finite field Fq k . Denote by 0k , Ik ∈ Fqk×k the zero
and the identity matrix respectively. Then one has the following theorem which was
proven in [44]:
Theorem 3 Let n = r k. The collection of subspaces
r
S := rs 0k · · · 0k Ik Ai+1 · · · Ar | Ai+1 , . . . , Ar ∈ Fq [P] ⊂ Gq (k, n)
i=1
Note that for (partial) spread codes any two elements have distance d = 2k.
A special class of equidistant codes is the one of sunflowers, where all codewords
intersect in the same subspace of Fqn . When the ambient vector space Fqn is large it
was shown in [15] that an equidistant code of maximal cardinality is a sunflower.
The paper [28] provides an almost complete classification in case the ground field
is sufficiently large. The authors show that for most parameters an equidistant code
of maximal cardinality with minimum subspace distance less than 2k is either a
sunflower or its dual is a sunflower.
Any partial spread gives rise to a sunflower in a larger ambient space, which gives
rise to the following result [28, Theorem 34]:
Theorem 6 Let c ≤ k − 1 be an integer. Write n − c = h(k − c) + r , with 0 ≤ r ≤
k − c − 1, h ≥ 2. Then there exist an equidistant code in Gq (k, n) with minimum
distance 2k − 2c and cardinality (q n−c − q r )/(q k−c − 1) − q r + 1.
The following result about equidistant codes follows from [30, Theorem 1]. The
corresponding codes are constructed from osculating subspaces of Veronese varieties.
Theorem 7 Let , s, t be integers such that t/2 ≤ ≤ t, and define k := +s , n :=
t+s s
. Then there exist an equidistant code in G (k, n) with minimum distance 2k −
s2−t+s q
2 s and cardinality (q s+1
− 1)/(q − 1).
Some of the first constructions for subspace codes were based on rank-metric codes.
These codes are sets of matrices of a fixed size over Fq , equipped with the rank
metric, which is defined as
The usefulness of rank-metric codes for the construction of subspace codes is due to
the following fact, which follows from [52, Proposition 4]:
Lemma 9 Let C ⊆ Fqk×(n−k) be a code with minimum rank distance d. Then the
lifted code
32 A.-L. Horlemann-Trautmann and J. Rosenthal
lift(C) := {rs[Ik | A] | A ∈ C}
Note that geometrically the set of subspaces of the form rs[Ik | A] inside the
Grassmannian Gq (k, n) represents a subset isomorphic to the affine space Fqk×(n−k) .
Geometers also call this subset the ‘thick open cell’ of the Grassmannian Gq (k, n).
Constructions of optimal rank-metric codes are known for any set of parameters
(see e.g. [21]), the corresponding codes are called maximum rank distance (MRD)
codes. An MRD code C ⊆ Fqm×n with minimum rank distance d has cardinality
q max(m,n)(min(m,n)−d+1) . Therefore, a lifted MRD code C ⊆ Gq (k, n) with k ≤ n/2
and minimum subspace distance 2d has cardinality q (n−k)(n−d+1) .
For more information on partial spreads the reader is referred to chapters “Geo-
metrical Aspects Of Subspace Codes” and “Partial Spreads And Vector Space
Partitions” of this book.
In the following we need the notion of an identifying vector v(U) of a subspace U ∈
Gq (k, n), which is defined as the vector of length n that has a one in the coordinates
where the reduced echelon form of U has a pivot, and zeros elsewhere. It was shown
in [17, Lemma 2] that for U, V ∈ Gq (k, n) one has
Theorem 10 [53, Theorem 2.9] Let C j be some MRD code with minimum rank
k×(n−k− jd)
distance d in Fq for j = 0, . . . ,
n−k
d
. Define
n−k
d
C j := rs 0k× jd Ik×k A | A ∈ C j and C := Cj.
j=0
n−2k
d
n−k
d
N= q (k−d+1)(n−k−di) + q k(n−k+1−d(i+1)) .
d +1
i=0 i=
n−2k
Note that similar statements to the previous theorem can also be found in [20, 22].
One can generalize the lifting idea to general reduced row echelon forms of
matrices, where the unit column vectors are not necessarily in the first k columns.
This idea was introduced in [16]. First, let us briefly provide some definitions needed
for this construction. A Ferrers diagram F is a collection of dots such that the rows
have a decreasing and the columns have an increasing number of dots (from top to
Constructions of Constant Dimension Codes 33
bottom and from left to right, respectively). We denote the matrix representation of
a vector space U ∈ Gq (k, n) in reduced row echelon form by RE(U) ∈ Fqk×n .
The size of these codes depends mainly on the size of the corresponding Ferrers
diagram codes, for which we do not have a general construction. In [17, Theorem 1]
an upper bound on the cardinality of linear Ferrers diagram codes with a prescribed
minimum rank distance is given. Moreover, code constructions for special types
of Ferrers diagrams attaining this bound are given. The authors conjecture that the
bound is always attainable, for any set of parameters. More constructions of codes
for certain Ferrers diagrams were derived in [14, 51].
It is an open question, which choice of the identifying vectors is optimal for the
multi-level construction. It was suggested in [17] that lexicographic binary constant
weight codes are the best choice. However, a counterexample for this statement is
given in [29, Example 57]. Furthermore, related results to lexicographic codes and
corresponding constant dimension codes found by computer search are presented in
[50].
As a next step, it was shown in [56] that one can construct larger codes than with
the multi-level construction, if one allows pending dots in the construction. We will
explain this pending dots construction in the following.
One of the disadvantages of the multi-level and the pending dots construction is,
that there is no closed formula for the code cardinalities in general. Therefore, in [18,
51] the authors used the pending dots construction (or a slight generalization called
the pending blocks construction) to derive codes with a closed cardinality formula
for variable length n. To do so they gave a general construction of the constant weight
code for the identifying vectors and for the corresponding Ferrers diagram codes.
The results are given in the following theorems.
Then the code C ⊆ Gq (3, n) obtained from Construction I in [18] with minimum
subspace distance 4 has cardinality q 2(n−3) + n−3
2 q
.
A similar result for small q has also been given in [18, Theorem 17].
k
i = k +k−6
2
Theorem 17 [51, Theorem 19] Let k ≥ 4, s := i=3 2
,n ≥ s +2+k =
k 2 +3k−2 k 2 +k−6
2
and q 2
+ q + 1 ≥ , where := n − s = n − 2
for odd n − s (or :=
k 2 +k−4
n − s − 1 = n − 2 for even n − s). Then the code C ⊆ Gq (k, n) obtained from
Construction A in [51] has minimum subspace distance 2(k − 1) and cardinality
k 2 +k−6
2(n− k
2 +k−6
) n−
q 2(n−k)
+q 2(n−(k+(k−1)))
+ ... + q 2 + 2 .
2 q
Constructions of Constant Dimension Codes 35
A similar result for small q has also been given in [51, Corollary 22].
k −1
n−2
(q 2(k−2) − 1)(q 2(n−ik−1) − 1) (k−3)(n−ik−2)+4
q (k−1)(n−ik) + q .
i=1
(q 4 − 1)2
Furthermore, two constructions for codes in Gq (4, n) and Gq (5, n) with minimum
subspace distance 4 with closed cardinality formula were presented in [51, Sect.
IV.B].
5 Orbit Codes
In this section we present several constructions for orbit codes. We will first present
theory about single orbits in Gq (k, n), whereas in the second subsection we will
review constructions of unions of orbits with a prescribed minimum subspace dis-
tance.
Throughout the section we will make use of the isomorphism Fq n ∼ = Fqn . By abuse
of notation we will change between the two representations with the same notation.
The general linear group of order n with entries from Fq , denoted by GLn (q), defines
an action on Gq (k, n) as follows:
C = U G := {U A | A ∈ G}.
These codes can be seen as the analog of linear codes in the classical block coding
case, since linear block codes are orbit codes with respect to additive subgroups of
Fqn (see e.g. [54, 55]). One of the consequences of this fact is, that the minimum
distance of an orbit code can be determined by comparing all elements of the orbit
36 A.-L. Horlemann-Trautmann and J. Rosenthal
with the initial point (instead of all possible pairs of codewords), as shown in [54,
Theorem 17]:
Lemma 19 Let U ∈ Gq (k, n) be an initial point, G ≤ GLn (q) a subgroup and let
C = U G be an orbit code. Then
C = U G = {U P i | i = 0, . . . , ord(P) − 1}.
Understood best is the case where P is the companion matrix of a monic irreducible
polynomial p(x) ∈ Fq [x] of degree n. These codes are also called irreducible cyclic
orbit codes [54]. If the irreducible polynomial is primitive, we call the corresponding
codes primitive cyclic orbit codes.
It is well-known that one can construct spread codes as primitive cyclic orbit
codes, see e.g. [49, Theorem 3]:
Theorem 20 Let k | n and p(x) ∈ Fq [x] be monic, primitive and of degree n, and
let α ∈ Fq n be a root of p(x). Denote by P ∈ GLn (q) the companion matrix of p(x).
Then n
i q k −1
U := α q −1 | i = 0, . . . , q k − 2 ∪ {0}
n/d
is a code in Gq (k, n) with minimum subspace distance 2d and cardinality k/d q d
.
Furthermore, it is conjectured that for all parameters, except some border cases,
an irreducible cyclic orbit code of minimum subspace distance 2(k − 1) exists:
Conjecture 22 For any k, q and n ≥ 6 there exists an irreducible orbit code
C ⊆ Gq (k, n) with minimum subspace distance 2(k − 1) and cardinality (q n − 1)/
(q − 1).
Constructions of Constant Dimension Codes 37
This conjecture was stated for general n in [12, 54], but the case n = 8, k = 4
has been disproven in [25]. On the other hand, in [6, 45] it was shown that for any
q, k there exist infinitely many n where the conjecture holds. The other parameter
sets remain as a conjecture.
In general, one can determine the minimum subspace distance of a cyclic orbit
code by just looking at the initial point U ∈ Gq (k, n) of the orbit. This was done in
[12, 41] for Singer subgroup orbits and, in more general, for any cyclic group in [54,
Sect. 4]. This method was later on refined in [25, Theorem 4.11], where the authors
defined the best friend of a subspace U ∈ Gq (k, n) as the largest subfield Fq r of Fq n
over which U is a vector space. With the help of the best friend one gets the following
estimates on cardinality and distance of the corresponding code (see [25, Corollary
3.13, Lemma 4.1]):
Theorem 23 Let U ∈ Gq (k, n) and P ∈ GLn (q) be a companion matrix of a monic
primitive polynomial of degree n. Consider the orbit code C = UP. If Fq r is the
best friend of U, then
qn − 1
|C| = r
q −1
and
2r ≤ d S (C) ≤ 2k.
In [20] the notion of a cyclic subspace code was introduced. In our terminology, this
is a union of primitive cyclic orbit codes, although in its general form it could be
a union of primitive cyclic orbit codes of different dimensions. In [6] it was shown
how subspace polynomials can be used to construct good cyclic subspace codes.
k i
Lemma 25 Let U, V ∈ Gq (k, n), with PU (x) = x q + ai x q where a = 0,
k m i
i=0
and PV (x) = x q + i=0 bi x q where bm = 0. Then
Another useful fact is that one can describe the subspace polynomials of an orbit
with the help of the subspace polynomial of the initial point [6, Lemma 4]:
With the above tools one can derive the following code constructions.
Theorem 26 [6, Theorem 4] Let n be a prime and γ ∈ Fq n be primitive. If Fq N is the
k
splitting field of PU (x) := x q + γ q x q + γx and U ∈ Gq (k, N ) is the corresponding
subspace (i.e., the kernel of PU (x)), then
n−1
{αU q | α ∈ Fq∗ N }
i
C :=
i=0
is a cyclic subspace code with minimum subspace distance 2k − 2 and size n(q N −
1)/(q − 1).
This construction was generalized in [45, Theorem 3] to more general trinomials
that can be used as subspace polynomials, which allows even larger code sizes.
Furthermore, a generalization to subspace polynomials with s + 2 summands (for
s > 1), such that the arising subspace code has minimum subspace distance 2k − 2s,
is given in [45, Corollary 4].
For more information on rank-metric and MRD codes the reader is referred to
chapters “Codes Endowed With The Rank Metric” and “Constructions of Cyclic
Subspace Codes and Maximum Rank Distance Codes” of this book.
Besides the previous theoretical results, there are many related results using smart
computer searches to construct large codes, in particular cyclic subspace codes.
In [41] unions of irreducible cyclic orbit codes are found by solving linear
inequalities under Diophantine restrictions. This Diophantine system is only fea-
sible because the authors impose a prescribed automorphism group (namely the one
of irreducible cyclic orbit codes) on the solutions. The results of that paper are for
length 6 ≤ n ≤ 14, dimension k = 3, and minimum subspace distance 4. Some of
these codes are still the best codes known for the given parameter sets.
In [20, Section III] optimal cyclic codes of length 8 and 9 are presented, in the
sense that there is no larger cyclic subspace code of the same length and distance.
These two computational methods prescribe Fq n as the automorphism group in
order to make the computer search feasible. Despite this restriction on unions of
primitive cyclic orbit codes, the codes found come quite close to known bounds.
This shows that cyclic orbit codes (or cyclic subspace codes) form a powerful class
of constant dimension codes.
Constructions of Constant Dimension Codes 39
There are several results about how to construct new constant dimension codes from
known constant dimension codes of smaller parameters.
A fairly simple, but very effective construction is given in Construction D of [51].
Theorem 27 [51, Theorem 37] Let C ∈ Gq (k, n) be a code with minimum subspace
distance 2d, let Δ ≥ k, and let C R ⊆ Fqk×Δ be an MRD code of minimum rank
distance d. Define the code
C := {rs[ RE(U) A ] | U ∈ C , A ∈ C R }.
Theorem 28 [26, Theorem 2.3] For i = 1, 2 let Cˆi ⊆ Gq (k, n i ) with minimum sub-
space distance di . Furthermore, let C R ⊆ Fk×n 2 be a linear rank-metric code with
minimum rank distance d R . Then the code C := C1 ∪ C2 , where
RE(U) ϕU (F)
rs | U ∈ Ai , V ∈ Bi , F ∈ C F
0 RE(V)
i
40 A.-L. Horlemann-Trautmann and J. Rosenthal
such that d S (U, U ) + d S (V, V ) ≥ 2d for any two elements of the above form in C.
Then C is a constant dimension code in Gq (k, n) with minimum subspace distance
2d.
Note that the sets Ai , Bi can be thought of as known constant dimension codes.
A very effective family of unions of subsets, that was used in [33] in the coset
construction are parallelisms, i.e., partitions of Gq (k, n) into spreads.
7 Final Remarks
Besides the constructions presented in detail in this survey one can find more results
on subspace codes. E.g., a family of constant dimension codes called linear sub-
space codes was defined in [8]. More results on these codes were derived in [5, 46].
Furthermore, one can derive constant dimension codes from Riemann-Roch spaces,
as done in [3, 31]. Many results on constant dimension codes with certain fixed
parameters, often based on smart computer search, can be found in the literature, see
e.g. in [1, 9–12, 35, 36] and references therein.
Moreover, results on non-constant dimension subspace codes, also called mixed-
dimension subspace codes, can be found in [17, 23, 37–39, 51]. Note that in the
non-constant dimension case there are two different metrics one can consider - the
subspace and the injection metric. The before mentioned results include results for
both metrics.
The best known subspace codes for given parameters can be looked up in the
online database [32] at
http://subspacecodes.uni-bayreuth.de.
Finally, some open problems on various aspects of subspace codes can be found
in the overview articles [13, 19].
References
1. J. Ai, T. Honold, H. Liu, The expurgation-augmentation method for constructing good plane
subspace codes (2016). arXiv:1601.01502 [math.CO]
2. F. Bardestani, A. Iranmanesh, Cyclic orbit codes with the normalizer of a singer subgroup. J.
Sci. Islam. Repub. Iran 26(1), 49–55 (2015)
3. D. Bartoli, M. Bonini, M. Giulietti, Constant dimension codes from Riemann-Roch spaces
(2015). arXiv:1508.01727
4. D. Bartoli, F. Pavese, A note on equidistant subspace codes. Discret. Appl. Math. 198, 291–296
(2016)
Constructions of Constant Dimension Codes 41
5. P. Basu, N. Kashyap. On linear subspace codes closed under intersection. In 2015 Twenty First
National Conference on Communications (NCC), pages 1–6, February 2015
6. E. Ben-Sasson, T. Etzion, A. Gabizon, N. Raviv, Subspace polynomials and cyclic subspace
codes. IEEE Trans. Inf. Theory 62(3), 1157–1165 (2016)
7. A. Beutelspacher, Blocking sets and partial spreads in finite projective spaces. Geom. Dedic.
9(4), 425–449 (1980)
8. M. Braun, T. Etzion, A. Vardy, Linearity and complements in projective space. Linear Algebr.
Appl. 438(1), 57–70 (2013)
9. M. Braun, P. Östergard, A. Wassermann. New lower bounds for binary constant-dimension
subspace codes. Exp. Math. 1–5 (to appear)
10. A. Cossidente, F. Pavese. Subspace codes in PG(2n-1,q). Combinatorica (2016), p. 1–23
11. A. Cossidente, F. Pavese, Veronese subspace codes. Des. Codes Cryptogr. 81(3), 445–457
(2016)
12. A. Elsenhans, A. Kohnert, A. Wassermann. Construction of codes for network coding. In
Proceedings of the 19th International Symposium on Mathematical Theory of Networks and
Systems – MTNS (Budapest, Hungary, 2010), pp. 1811–1814
13. T. Etzion. Problems on q-analogs in coding theory (2013). arXiv:1305.6126
14. T. Etzion, E. Gorla, A. Ravagnani, A. Wachter-Zeh, Optimal Ferrers diagram rank-metric codes.
IEEE Trans. Inf. Theory 62(4), 1616–1630 (2016)
15. T. Etzion, N. Raviv, Equidistant codes in the Grassmannian. Discret. Appl. Math. 186, 87–97
(2015)
16. T. Etzion, N. Silberstein. Construction of error-correcting codes for random network coding. In
IEEE 25th Convention of Electrical and Electronics Engineers in Israel, 2008. (IEEEI 2008)
(2008), pp. 070–074
17. T. Etzion, N. Silberstein, Error-correcting codes in projective spaces via rank-metric codes and
Ferrers diagrams. IEEE Trans. Inf. Theory 55(7), 2909–2919 (2009)
18. T. Etzion, N. Silberstein, Codes and designs related to lifted MRD codes. IEEE Trans. Inf.
Theory 59(2), 1004–1017 (2013)
19. T. Etzion, L. Storme, Galois geometries and coding theory. Des. Codes Cryptogr. 78(1),
311–350 (2016)
20. T. Etzion, A. Vardy, Error-correcting codes in projective space. IEEE Trans. Inf. Theory 57(2),
1165–1173 (2011)
21. E.M. Gabidulin, Theory of codes with maximum rank distance. Problemy Peredachi Informatsii
21(1), 3–16 (1985)
22. E.M. Gabidulin, N.I. Pilipchuk. Multicomponent network coding. In Proceedings of the Seventh
International Workshop on Coding and Cryptography (WCC) 2011, (Paris, France, 2011), pp.
443–452
23. A. Ghatak. Subspace codes for random networks based on Plücker coordinates and Schubert
cells (2013). arXiv:1301.6362 [cs.IT]
24. A. Ghatak. Construction of Singer subgroup orbit codes based on cyclic difference sets. In
2014 Twentieth National Conference on Communications (NCC) (2014), pp. 1–4
25. H. Gluesing-Luerssen, K. Morrison, C. Troha, Cyclic orbit codes and stabilizer subfields. Adv.
Math. Commun. 9(2), 177–197 (2015)
26. H. Gluesing-Luerssen, C. Troha, Construction of subspace codes through linkage. Adv. Math.
Commun. 10(3), 525–540 (2016)
27. E. Gorla, A. Ravagnani, Partial spreads in random network coding. Finite Fields Appl. 26,
104–115 (2014)
28. E. Gorla, A. Ravagnani, Equidistant subspace codes. Linear Algebr. Appl. 490, 48–65 (2016)
29. E. Gorla, A. Ravagnani. Subspace codes from Ferrers diagrams. J. Algebr. Appl. 1750131
(2016) (online)
30. J.P. Hansen, in Osculating spaces of varieties and linear network codes. Lecture Notes in
Computer Science, vol 8080, 83–88 (2013)
31. J.P. Hansen, Riemann-Roch spaces and linear network codes. Comput. Sci. 10(1), 1–11 (2015)
42 A.-L. Horlemann-Trautmann and J. Rosenthal
Abstract This chapter is a survey of the recent results on the constructions of cyclic
subspace codes and maximum rank distance codes. Linearized polynomials are the
main tools used to introduce both constructions in this chapter. In the construction
of cyclic subspace codes, codewords are considered as the root spaces of some
subspace polynomials (which are a particular type of linearized polynomials). In
this set up, some algebraic manipulations on the coefficients and degrees of such
polynomials are applied to provide a systematic construction of cyclic subspace
codes. In constructions of maximum rank distance codes, linearized polynomials
are used as codewords again, but in a different way. Codewords of rank metric
codes are considered as the linear maps that these polynomials represent. All known
constructions of maximum rank distance codes in the literature are summarized using
this linearized polynomial representation. Connections among the constructions and
further explanations are also provided.
1 Introduction
Subspace codes have an increasing interest in the last decade thank to their applica-
tions in random network coding. Similar to subspace codes, the theory of rank metric
codes have gained an increasing attraction due to their application to various areas
including subspace codes. Linearized polynomials are quite useful mathematical
tools to represent and solve some current problems within these areas.
In this chapter, the main goal is to provide all known advances in two recent prob-
lems: constructions of cyclic subspace codes and maximum rank distance codes.
In particular, Sect. 1 is devoted to the brief introductions of linearized polynomials,
cyclic subspace codes and rank metric codes. Further details and an explicit construc-
tion of cyclic subspace codes are introduced in Sect. 2, whereas the constructions of
maximum rank distance codes in the literature are summarized in Sect. 3.
We recall the definition and some basic properties of linearized polynomials before
to explain their applications mentioned above. Let Fq be a finite field of q elements,
Fq N be its N -th degree field extension and Fq be its algebraic closure. A polynomial
f (x) ∈ Fq N [x] of the form
l
i
f (x) = αi x q , (1)
i=0
The set of all subspaces of Fq N is called the projective space of (vector) dimension
N over Fq and denoted by Pq (N ). The set of all k dimensional elements of Pq (N )
is called Grassmannian space (or briefly Grassmannian) over Fq and denoted by
Gq (N , k). The metric d given by
Let Fqm×n be the set of m × n matrices over Fq . On Fqm×n × Fqm×n , the function d
defined by
d(A, B) := rank(A − B),
which satisfies the usual axioms of a metric, is called the rank distance on Fqm×n .
Remark 1 Notice that we use d to denote both the subspace distance and the rank
distance together, since we think that there is a less possibility to confuse them in this
chapter. Observe that they are defined on different ambient spaces, also we examine
them in separate sections (Sects. 2 and 3).
A subset C of Fqm×n including at least two elements and equipped with the rank
distance is called a rank metric code. The minimum distance d(C ) of a code C
is naturally defined by d(C ) := min{d(A, B) : A, B ∈ C and A = B}. Equivalence
between any two rank metric codes is determined considering the set of rank distance
preserving maps under the light of [36, Theorem 3.4]: Two rank metric codes C , C ⊆
Fqm×n are called equivalent if there exist X ∈ G L(m, Fq ), Y ∈ G L(n, Fq ) and Z ∈
Fqm×n such that
C = X C σ Y + Z := {XC σ Y + Z : C ∈ C } when m = n,
(2)
C = X C σ Y + Z or C = X (C t )σ Y + Z when m = n,
46 K. Otal and F. Özbudak
Let U ∈ Gq (N , k). We never consider the trivial cases, so assume 1 < k < N unless
otherwise stated. Here, U is a linear space over Fq , but U can be also a linear space
over Fq t for some t > 1 (observe that t always divides both N and k in this case).
Such a property affects some important parameters. In case we need to emphasize
this property, we briefly say “Fq −linear” and “Fq t −linear” correspondingly.
The Or b(U ) := {αU : α ∈ Fq∗ N } set is called the orbit of U . The cardinality of
an orbit can be determined as in the following well-known theorem.
Theorem 1 Let U ∈ Gq (N , k). Then, Fq d is the largest field over which U is linear
if and only if
qN − 1
|Or b(U )| = d .
q −1
Similar versions of this theorem are available also in [1, 6, 13]. We may prove
this theorem in an elementary way as follows.
Proof (⇒) : Let Fq d be the largest field over which U is linear. Then we have
N
−1
|Or b(U )| ≤ qq d −1 since aU = U for all a ∈ Fq d . Assume that the equality does not
hold. Then there exists an α ∈ Fq N \ Fq d such that αU = U , by pigeon hole principle.
It implies U is also Fq d (α)−linear, but Fq d Fq d (α) since α ∈
/ Fq d . Hence Fq d is not
the largest field over which U is linear, contradiction. Therefore, the equality must
N
−1
hold, i.e. |Or b(U )| = qq d −1 .
(⇐) : It can be shown by the (⇒) part.
If d = 1 in Theorem 1, then the orbit is called full length orbit. Otherwise, the
orbit is called degenerate orbit.
Remark 2 In case we need to study degenerate orbits, equivalently we can study full
length orbits over Fq d and then carry all the data from Gq d (N /d, k/d) to Gq (N , k).
48 K. Otal and F. Özbudak
−1 qq−1−1
k
γi γi θi
= when i = j. (3)
γj γj θj
Also let
– Ni be the degree of the splitting field of Ti for 1 ≤ i ≤ r ,
– Ui ⊆ Fq Ni be the kernel of Ti for 1 ≤ i ≤ r ,
– N be a multiple of lcm(N1 , . . . , Nr ).
Then the code C ⊆ Gq (N , k) given by
r
C = {αUi : α ∈ Fq∗ N }
i=1
N
−1
is a cyclic code of size r qq−1 and of minimum distance 2k − 2.
r
Proof Let Ci := {αUi : α ∈ Fq∗ N }, for 1 ≤ i ≤ r . Then C := i=1 Ci is a subset of
q N −1
Gq (N , k) and it is obviously cyclic. To prove that |C | = r q−1
and d(C ) = 2k − 2,
it is enough to prove
α
dim(αUi ∩ βU j ) ≤ 1 when i = j or ∈
/ Fq . (4)
β
after eliminating α and β in (5). Hence, the polynomial on the left hand side of
(5) can not be identically zero. Conclusively, the fundamental theorem of algebra
implies (4).
Remark 3 Let T (x) ∈ Fq N [x] be a subspace polynomial and U be the set of all
roots of T (x). We can determine another subspace U ⊆ Fq N associated with T (x)
as follows.
1
u ∈ U ⇔ T (x) = x − q−1 x ◦ Q(x)
q
u
for some q−polynomial Q(x) over Fq N , where ◦ denotes the composition of poly-
nomials. This space can be also characterized by
k
u ∈ U ⇔ u q is a root of T (x) := (α0 x)q + · · · + (αk−1 x)q + x,
where
k k−1
T (x) = x q + αk−1 x q + · · · + α0 x.
Here, U is called the adjoint space of U (see [24, Theorem 14, 15 and 16]
for the proofs of these facts). Therefore, corresponding to a code C obtained
in Theorem 2, we can construct another code C using the polynomials Ti (x) =
qk k q k−1 k−1
γi x q + θi x q + x instead of Ti (x) in Theorem 2. Both C and C have the
same parameters. We call C the adjoint code of C .
At this point, it is natural to ask for the number of all full length orbits, i.e. the size
of the pool we pick orbits from. The next theorem from [6] answers this question.
Before stating it, we recall some basic definitions and facts:
• Möbius function μ over the set of positive integers is given by
⎧
⎨1 if n = 1,
μ(n) = (−1)r if n is a product of r distinct primes ,
⎩
0 if n is divisible by a square of a prime .
N
The size of Gq (N , k) is actually k q
.
Theorem 3 ([6]) Let d be a positive integer dividing both N and k. The number of
N
−1
orbits in Gq (N , k) of size qq d −1 is
qd − 1 N /t
μ(t/d) . (6)
q N − 1 t:d|t and t| gcd(N ,k) k/t q t
The following corollary demonstrates the approximate density of the orbits used
in Corollary 1 in the set of all orbits. Similar approximations can be found also in
[18].
Corollary 2 Let r ≤ q n − 1 for some n dividing N as in Corollary 1. Also let s be
the number of positive integers dividing gcd(N , k). The ratio of the number of orbits
in the code obtained by Corollary 1 to the size of the whole set of full length orbits
is approximately
r
.
sq (N −k−1)(k−1)
r rq N −1 r
N ≈ = .
s q−1
k q q N −1 sq k N − k(k−1)
2 − k(k+1)
2 sq (N −k−1)(k−1)
Remark 6 Corollary 2 says that we pick only a small amount of orbits in Corollary
1 especially when N is large and k is close to N /2. Also, the s and r (and so n)
numbers play an important role.
Constructions of Cyclic Subspace Codes and Maximum Rank Distance Codes 51
Theorem 2 can be generalized for the codes of other minimum distances as in the
following corollary.
satisfying
• γ0,i = 0 for all 1 ≤ i ≤ r ,
• there exist 0 ≤ l1 < l2 ≤ s such that
– gcd(l1 , l2 ) = 1,
– l2 − l1 divides k − l2 ,
– γl2 ,i = 0 and γl1 ,i = 0 for all 1 ≤ i ≤ r ,
– for all 1 ≤ i ≤ r , we have
M
γl1 ,i γl1 ,i γl2 ,i −1
= ( ) ,
γl1 , j γl1 , j γl2 , j
where
q k−l1 − 1
M= .
q l2 −l1 − 1
Also let
• Ni be the degree of the splitting field of Ti , for 1 ≤ i ≤ r ,
• Ui ⊆ Fq Ni be the kernel of Ti , for 1 ≤ i ≤ r ,
• N be a multiple of lcm(N1 , . . . , Nr ).
Then the code C ⊆ Gq (N , k) given by
r
C = {αUi : α ∈ Fq∗ N }
i=1
−1
N
is a cyclic code of size r qq−1 and of minimum distance 2k − 2s.
Proof The proof is similar to the proof of Theorem 2. There are a few things to notice
about the extra assumptions:
• We want qql2 −l1−1
k−l1
−1
to be an integer, so we should have “l2 − l1 divides k − l1 ” or
equivalently “l2 − l1 divides k − l2 ”.
• We want Ui to be a full length orbit for all 1 ≤ i ≤ r . Notice that U is Fq t −linear
if and only if the subspace polynomial of U is a q t −polynomial. Hence we
should take gcd(k − l2 , l2 − l1 , l1 ) = 1 to obtain only q−polynomials. The “l2 −
52 K. Otal and F. Özbudak
Remark 7 In case s > 1, we can choose the elements γ j,i ∈ Fq n freely, for j ∈ /
{0, l1 , l2 }. So r can be as many as q n(s−1) (q n − 1) if l1 = 0, and q n(s−2) (q n − 1)2
otherwise. Case s = 1, l1 = 0 and l2 = 1 is Theorem 2 in particular.
Remark 8 In case s > 1, if there exists an integer i such that 1 < i ≤ s and i divides
k, then we can insert also degenerate orbits into the code. In that way we can improve
Corollary 3 further. We prefer to illustrate this further improvement by only an
example below.
satisfying
• γ0,i = 0 and γ2,i = 0 for all 1 ≤ i ≤ r2 ,
M2
• γγ0,0,ij = γγ0,0,ij ( γγ2,2,ij )−1 when i = j,
q k −1
where M2 = q 2 −1
. Using them in Theorem 2, we can construct a cyclic code C2 of
N2
−1
size up to (q − n
1) qq 2 −1
and of minimum distance ≥ 2k − 2s = 6 for some suitable
N2 .
Consider r3 polynomials
6 3
x q + γ3,i x q + γ0,i x ∈ Fq n , 1 ≤ i ≤ r3
satisfying
• γ0,i = 0 and γ3,i = 0 for all 1 ≤ i ≤ r3 ,
M3
• γγ0,0,ij = γγ0,0,ij ( γγ3,3,ij )−1 when i = j,
q k −1
where M3 = q 3 −1
. Using them in Theorem 2 again, we can construct a cyclic code
−1 N3
C3 of size up to (q − 1) qq 3 −1
n
and of minimum distance ≥ 2k − 2s = 6 for some
suitable N3 .
Constructions of Cyclic Subspace Codes and Maximum Rank Distance Codes 53
satisfying
• γ0,i = 0, γ2,i = 0 and γ3,i = 0 for all 1 ≤ i ≤ r2 ,
M2
• γγ2,2,ij = γγ2,2,ij ( γγ3,3,ij )−1 when i = j,
q k−2 −1
where M2 = q−1
. Using them in Corollary 1, we can construct a cyclic code C2
−1 N2
of size up to (q − 1)(q n − 1) qq−1
n
and of minimum distance ≥ 2k − 2s = 6 for
some suitable N2 .
Clearly C1 , C2 , C2 and C3 are disjoint (recall the uniqueness of subspace polyno-
mials), and the minimum distance between any two of them is greater than or equal
to 6 again. Therefore, we can construct a code C := C1 ∪ C2 ∪ C2 ∪ C3 of size up to
qN − 1 qN − 1 qN − 1 qN − 1
q 2n (q n − 1) + (q n − 1)(q n − 1) + (q n − 1) 2 + (q n − 1) 3
q −1 q −1 q −1 q −1
obtain an opportunity to enlarge the set of possible N values. Then, we take another
pair (a0 , a1 ) and so on.
We think that this basic observation is worth emphasizing because of its usefulness
that can be seen in the following example.
k
Example 2 Let q = 5 and k = 3. If we consider only T (x) = x q + x q + x, then
we obtain N0 = 62. That is, N values can be chosen from 62N. In addition, by
k k
considering x q + x q + 4x we obtain 31N. Similarly, if we consider x q + x q + 2x,
then we obtain 24N. By trying other non-zero couples, we get 31N ∪ 24N ∪ 20N as
a sample space for N .
Now, we recall some tools that we can use to factorize some linearized polynomials
in an easier way.
Definition 1 [19, Definition 3.58] The polynomials
N
N
i
l(x) := αi x and L(x) :=
i
αi x q
i=0 i=0
over Fq N are called q−associates of each other. More specifically, l(x) is the con-
ventional q−associate of L(x) and L(x) is the linearized q−associate of l(x).
Lemma 1 ([19, Theorem 3.62]) Let L 1 (x) and L(x) be q−polynomials over Fq with
conventional q−associates l1 (x) and l(x) respectively. Then L 1 (x) divides L(x) if
and only if l1 (x) divides l(x).
Lemma 2 ([19, Theorem 3.63]) Let f (x) be irreducible over Fq and let F(x) be
its linearized q−associate. Then the degree of every irreducible factor of F(x)/x is
equal to the order of f (x).
Remark 10 The construction of the set of possible N values can be improved in the
following way: Factorize the conventional q-associate t (x) = x k + x + 1 and find
the orders of its irreducible factors, then take the least common multiple of these
orders and thus determine N . In this way, the factorization cost can be decreased
significantly.
The proof of Remark 10 is straightforward from Lemmas 1 and 2. In addition,
Remarks 9 and 10 can be combined to obtain larger sets in easier ways. We illustrate
the efficiency of Remark 10 by the following example.
Example 3 Let q = 5 and k = 3 again. Instead of factorizing T (x) = x 125 + x 5 + x,
we can easily factorize t (x) = x 3 + x + 1, it is actually irreducible since it has
no roots in F5 , and its order can be only in {e ∈ N : e|(53 − 1) and e ≥ k} =
{4, 31, 62, 124}. Notice that t (x) does not divide x 4 − 1 and x 31 − 1 but divides
x 62 − 1, thus we find N0 = 62 easily.
Constructions of Cyclic Subspace Codes and Maximum Rank Distance Codes 55
Note that chapter “Codes Endowed with the Rank Metric” provides some essential
information about the analysis of rank metric codes in vector and matrix representa-
tion. In this section we just focus on the various constructions of MRD codes using
the linearized polynomial representation.
Let f (x) ∈ Fq n [x] be a q−polynomial of q−degree at most n − 1. Let {δ1 , δ2 ,
. . . , δn } and {ε1 , ε2 , . . . , εn } be two ordered bases of Fq n over Fq . Then, for any
α ∈ Fq n we have
f (α) = f (c1 δ1 + c2 δ2 + · · · + cn δn )
= c1 f (δ1 ) + c2 f (δ2 ) + · · · + cn f (δn )
t
= f (δ1 ) f (δ2 ) ⎡ . . . f (δn ) c1 c2 . . . cn ⎤⎡ ⎤
f (δ1 )ε1 f (δ2 )ε1 . . . f (δn )ε1 c1 (7)
⎢ f (δ1 )ε2 f (δ2 )ε2 . . . f (δn )ε2 ⎥ ⎢ c2 ⎥
⎢ ⎥⎢ ⎥
= [ε1 ε2 . . . εn ] ⎢ . .. . .. ⎥ ⎢ .. ⎥
⎣ . . . . . . ⎦⎣ . ⎦
f (δ1 )εn f (δ2 )εn . . . f (δn )εn cn
where the ◦ operation denotes the composition. Notice also that, if C is closed under
addition, then the minimum distance d(C ) of C is indeed the minimum non-zero
rank of the elements in C .
In this section, we introduce all MRD codes in the literature. Before that, we give
a very useful lemma that efficiently works to construct new MRD codes.
l
Lemma 3 ([14]) Let f (x) = α0 x + α1 x q + · · · + αl x q ∈ Fq n [x] be a q−
polynomial of q−degree l, where 0 < l < n. If Normq n /q (αl ) = (−1)nk Normq n /q
(α0 ), then dim(ker( f )) ≤ l − 1.
The first examples of MRD codes were naturally linear ones. The largest family
including all known linear MRD codes can be stated as follows.
Theorem 4 ([20, 31]) Let n, k, s, h ∈ Z+ satisfying gcd(n, s) = 1 and k < n − 1.
Let η ∈ Fq n such that Normq n /q (η) = (−1)nk . Then the set
s s(k−1) qh sk
Hn,k,s (η, h) := {α0 x + α1 x q + · · · + αk−1 x q + ηα0 x q : α0 , α1 , . . . , αk−1 ∈ Fq n }
qi 2
−1 −q i 2
−1
η1 = η2 c q or η1 = η2 c q
q2 2 q2 2 4
α0 x + α1 x q + η1 α0 x q ≡ A(x) ◦ (β0 x + β1 x q + η2 β0 x q ) ◦ B(x) mod x q − x,
or
q2 2 q2 2 q3 3 4
α0 x + α1 x q + η1 α0 x q ≡ A(x) ◦ (β0 x + η2 β0 x q + β1 x q ) ◦ B(x) mod x q − x.
on the right hand side. This property implies a system of 16 equations with 8
unknowns a0 , a1 , a2 , a3 , b0 , b1 , b2 , b3 . Some algebraic manipulations on the solu-
tion of this system yield the result. Simultaneously, an invertible map Fq 4 × Fq 4 →
Fq 4 × Fq 4 given by (α0 , α1 ) → (β0 , β1 ) can be constructed.
(⇐) : In each case, suitable invertible A(x) and B(x) couples can be deter-
mined computationally. Also an invertible map Fq 4 × Fq 4 → Fq 4 × Fq 4 given by
(α0 , α1 ) → (β0 , β1 ) can be constructed simultaneously. For example, consider case
qi
η1 = η2 cq −1 for some c ∈ Fq 4 and i ∈ {0, 1, 2, 3}. Then A(x) = cx q and B(x) =
2 i
4−i
x q , which are clearly invertible, can be used to show the equivalence. Also we have
qi qi
(α0 , α1 ) = (cβ0 , cβ1 ).
Theorem 5 says that H4,2,1 (η1 , 2) and H4,2,1 (η2 , 2) are equivalent when
Norm(η1 ) = Norm(η2 ). However, we can have both equivalence and inequivalence
when Norm(η1 ) = Norm(η2 )−1 as we can observe in the following example.
Therefore, H4,2,1 (η1 , 2) and H4,2,1 (η2 , 2) are not equivalent according to Theo-
rem 5.
58 K. Otal and F. Özbudak
Consider case q = q0u for some integer u > 1 and a prime power q0 . A set of
q−polynomials, i.e. a rank metric code, can be Fq0 −linear but does not have to
be Fq −linear. We can observe this situation in the following example.
Example 5 Consider case q0 = 2, u = 2, n = 2. Let F4 = F2 (ω) where ω2 + ω +
1 = 0, and F42 = F4 (ζ ) where ζ 2 + ζ + ω = 0. Then the set
is an MRD code with d = 2. Taking F4 −bases (ε1 , ε2 ) = (1, ζ ) and (δ1 , δ2 ) = (1, ζ )
as in (7), we can construct the matrix version of this code as follows.
10 11 ω 0 ωω
C = SpanF2 , , ,
01 10 1ω ω 1
At this point, we want to clarify a possible misunderstanding. Note that the field
Fq = Fq0u is isomorphic to a suitable subset of Fqu×u
0
. This well-known fact is available
in [19, Sect. 2.5]. Therefore, it seems that there is a natural and trivial lifting an MRD
code C ⊆ Fqn×n with the minimum rank distance d over Fq to another MRD code
C ⊆ Fqnu×nu
0
with the minimum rank distance du over Fq0 . It is actually true when
d = n as we can observe in Example 5 above, also there are some similar observations
in [3, 31] considering semifields. However, it is not true when d < n, as we can see
in the following proposition.
Proposition 2 Let q = q0u for some prime power q0 and integer u > 1. Let C ⊆
Fqn×n be an MRD code with d(C ) = d. Let C ⊆ Fqnu×nu
0
be the code obtained by
writing the entries of matrices from C in matrix representation. Then C is a rank
metric code with d(C ) = du. Moreover, C is an MRD code if and only if d = n.
Proof The first part is clear from the isomorphism. The fact about being MRD can be
observed from the inequality of sizes q n(n−d+1) ≤ q0nu(nu−du+1) , where the equality
holds only when d = n.
Remark 11 When we lift a code C ⊆ Fqn×n to another code C ⊆ Fqnu×nu 0
using
matrix representation, the distance function also changes from rank(A − B) to
rank Fq0 (A − B) (i.e. the rank of A − B over Fq0 ). However, keeping it as rank(A −
B) does not change the value of the distance.
Now, we give a family of MRD codes which includes also non-linear but additive
MRD codes. Recall that Lemma 3 was used in [31] in order to construct Theorem
Constructions of Cyclic Subspace Codes and Maximum Rank Distance Codes 59
is an Fq0 −linear (but does not have to be linear) MRD code of size q nk and minimum
distance n − k + 1.
Proof Code size and Fq0 −linearity are clear from the definition. The trick related to
Lemma 3 about the norm of η can be observed from the transitivity of norm function
(see, for example, [19, Theorem 2.29]).
Remark 12 The Venn diagram of families of all known additive MRD codes has
been given in Fig. 1. The conditions about the parameters can be summarized as
follows.
• When u divides h, an AGTG code is a GTG code.
• When u divides h and s = 1, an AGTG code is a TG code.
• When u divides h and η = 0, an AGTG code is a GG code.
• When u divides h, s = 1 and η = 0, an AGTG code is a Gabidulin code.
i
Now, we focus on the equivalence idea for additive codes. Consider f (x) p :=
pi n i
x ◦ f (x) mod x q − x, where p is the prime dividing q. If we expand f (x) p to
−1 pi
the corresponding matrix as in (7), then we obtain the matrix B F A, where
pi pi
A and B are invertible matrices satisfying [δ1 . . . δn ]A = [δ1 . . . δn ] and
i i
p p i i
[ε1 . . . εn ]B = [ε1 . . . εn ]. That is, f (x) p does not correspond to F p directly. In
i
fact, f (x) p is not a q−polynomial when i ≡ 0 mod log p (q), so it corresponds to
another q−polynomial which has the matrix form B −1 F p A when we fix the ordered
i
TG GG
Gabid.
Notice that Hn,k,s,q0 (η, h) is not linear when u | h, hence an AGTG code is not
equivalent to a GTG code when u | h. It is because, a code which is equivalent to a
linear code must be linear, too. When h is a multiple of u, Hn,k,s,q0 (η, h) is clearly
linear, and equivalent to a GTG code by a new h := h/u. This idea can be summed
up and summarized as follows.
Proposition 3 Let C1 , C2 ⊆ Fqn×n be two additive rank metric codes and let Fq1 , Fq2
be the largest subfields of Fq such that C1 is Fq1 −linear and C2 is Fq2 −linear. If
q1 = q2 , then C1 and C2 are inequivalent.
In that way, when we compare two AGTG codes, we observe the following.
Corollary 4 Let q = q1u 1 = q2u 2 . Then Hn,k,s,q1 (η, h) and Hn,k,s,q2 (η, h) are not
equivalent when gcd(h, u 1 ) = gcd(h, u 2 ).
Notice that being non-additive is not enough for a code to be new, since it can be
obtained by adding a fixed non-zero element to each codeword in an additive code.
We call such codes affine codes. However, there are also some non-additive codes
which are not affine. In this section, we construct such a family of MRD codes. For
λ ∈ Fq n \ {0}, let
Constructions of Cyclic Subspace Codes and Maximum Rank Distance Codes 61
2 n−2 n−1
πλ := {(αx) ◦ (x + λx q + λ1+q x q + · · · + λ1+q+···+q x q ) ◦ (βx) :
α, β ∈ Fq n \ {0}},
n−1
Jλ := {(αx) ◦ (x − λx q ) ◦ (βx) : α, β ∈ Fq n \ {0}},
A1 := {αx : α ∈ Fq n \ {0}},
n−1
A2 := {αx q : α ∈ Fq n \ {0}}.
Lemma 4 ([7]) Consider the definitions and notations above, then πλ1 = πλ2 and
Jλ1 = Jλ2 when Norm(λ1 ) = Norm(λ2 ).
Let Norm(λ) = a, Lemma 4 allows us to use πa and Ja instead of using the
notations πλ and Jλ , respectively.
Theorem
Let q > 2 and n ≥ 3. For any subset I of Fq \ {0, 1}, put I =
7 ([7])
a∈I πa , I = b∈Fq \(I ∪{0}) Jb and set
An,I := I ∪ I ∪ A1 ∪ A2 ∪ {0} ⊆ Ln .
Lemma 3 was used to construct AGTG codes. In this section, as a second application
of Lemma 3 to construct new MRD codes, we provide a family of non-additive MRD
codes.
Theorem 8 ([27]) Let I be a subset of Fq , k and s be positive integers such that
k < n and gcd(n, s) = 1. Also let
k−1
(1)
q si qn
Cn,k,s,I := αi x mod x − x : α0 , . . . , αk−1 ∈ F , Norm
qn q n /q (α0 ) ∈ I ,
i=0
k
(2)
q si qn
Cn,k,s,I := βi x mod x − x : β1 , . . . , βk ∈ Fq n , Normq n /q (βk ) ∈
/ (−1) n(k+1)
I .
i=1
(1) (2)
Then Cn,k,s,I := Cn,k,s,I ∪ Cn,k,s,I is an MRD code with d(Cn,k,s,I ) = n − k + 1.
(1) (2)
Proof Firstly notice that Cn,k,s,I and Cn,k,s,I are disjoint. We can observe it as follows.
(1)
In case 0 ∈
/ I , the coefficient of x of each element of Cn,k,s,I is non-zero, whereas
62 K. Otal and F. Özbudak
if 0 ∈
/ I , or n
(1) −1
|Cn,k,s,I | = q n(k−1) 1 + (|I | − 1) qq−1 ,
n
(2) −1
|Cn,k,s,I | = q n(k−1) (q − |I |) qq−1
(1) (2)
which is equal to |Cn,k,s,I | since Cn,k,s,I and Cn,k,s,I are disjoint.
Now, we need to show that rank( f − g) ≥ n − k + 1 for all f, g ∈ Cn,k,s,I .
k
Let f (x) − g(x) = θ0 x + θ1 x q + · · · + θk x q for arbitrary f, g ∈ Cn,k,s,I . If f, g ∈
(1) (2)
Cn,k,s,I (or f, g ∈ Cn,k,s,I ), then the q-degree of f (x) − g(x) and the coefficient of x
(1) (2)
implies that dim(ker( f (x) − g(x))) ≤ k − 1. If f ∈ Cn,k,s,I and g ∈ Cn,k,s,I (or vice
verse), then we have Normq n /q (θ0 ) = (−1) Normq n /q (θk ) since Normq n /q (θ0 ) ∈
nk
In addition, we can give another result about the equivalence between Cn,k,s,I and
Cn,k,s,J when both I and J include only one non-zero element.
The following example provides partition codes which are not twisted (i.e., not
additively closed).
Remember that the norm function is multiplicative. Therefore, the resulting partition
code Cn,k,s,I is not closed under multiplication by a scalar (and also not closed under
addition).
64 K. Otal and F. Özbudak
Partition AGTG
GTG
GG
Gabid.
We may give the Venn diagram of involvements for all MRD codes except Theorem
7 in Fig. 2.
Singleton-like bound and Lemma 3 provide some connections with some certain
optimal sets as we can see in the following corollary.
Corollary 7 Let k be a positive integer. The size of the largest possible subset T ⊆
Fq n × Fq n satisfying
Acknowledgements The authors thank COST for the support under Action IC 1104. The first
author thanks also TÜBİTAK for the support under the program BİDEB 2211.
References
21. P.J. Lusina, E.M. Gabidulin, M. Bossert, Maximum rank distance codes as space-time codes.
IEEE Trans. Inf. Theory 49, 2757–2760 (2003)
22. K. Marshall, A.-L. Horlemann-Trautmann, New criteria for MRD and Gabidulin codes and
some rank-metric code constructions. Adv. Math. Commun. (to appear)
23. K. Morrison, Equivalence of rank-metric and matrix codes and automorphism groups of
Gabidulin codes. IEEE Trans. Inf. Theory 60, 7035–7046 (2014)
24. O. Ore, On a special class of polynomials. Trans. Am. Math. Soc. 35, 559–584 (1933)
25. K. Otal, F. Özbudak, Explicit constructions of some non-Gabidulin linear MRD codes. Adv.
Math. Commun. 10, 589–600 (2016)
26. K. Otal, F. Özbudak, Additive rank metric codes. IEEE Trans. Inf. Theory 63, 164–168 (2017)
27. K. Otal, F. Özbudak, Some new non-additive maximum rank distance codes (submitted)
28. K. Otal, F. Özbudak, Cyclic subspace codes via subspace polynomials. Des. Codes Cryptogr.
https://doi.org/10.1007/s10623-016-0297-1
29. R. Overbeck, Structural attacks for public key cryptosystems based on Gabidulin codes. J.
Cryptol. 21, 280–301 (2008)
30. R.M. Roth, Maximum-rank array codes and their application to crisscross error correction.
IEEE Trans. Inf. Theory 37, 328–336 (1991)
31. J. Sheekey, A new family of linear maximum rank distance codes. Adv. Math. Commun. 10,
475–488 (2016)
32. D. Silva, F.R. Kschischang, Universal secure network coding via rank-metric codes. IEEE
Trans. Inf. Theory 57, 1124–1135 (2011)
33. D. Silva, F.R. Kschischang, R. Kötter, A rank-metric approach to error control in random
network coding. IEEE Trans. Inf. Theory 54, 3951–3967 (2008)
34. V. Tarokh, N. Seshadri, A.R. Calderbank, Space-time codes for high data rate wireless commu-
nication: performance criterion and code construction. IEEE Trans. Inf. Theory 44, 744–765
(1998)
35. A.-L. Trautmann, F. Manganiello, M. Braun, J. Rosenthal, Cyclic orbit codes. IEEE Trans. Inf.
Theory 59, 7386–7404 (2013)
36. Z.-X. Wan, Geometry of matrices. In: Memory of Professor L.K. Hua (1910–1985). (World
Scientific, Singapore, 1996)
Generalizing Subspace Codes to Flag Codes
Using Group Actions
1 Introduction
we will therefore discuss such codes, introducing distance functions, cells, circles
and sphere packing bounds.
The chapter is structured as follows. In the first section, we collect some results
on subspace codes. We describe the operator channel by Koetter and Kschischang
and the Ferrers diagram approach to the construction of subspace codes. Here we
also introduce the term of a cell in the set of subspaces. In the second section, we talk
about group actions. After briefly introducing the concept and giving some examples,
we let certain groups act on matrices and on subspaces, giving us structural results.
For example, it will turn out that each cell is an orbit code in itself, that is an orbit
under a subgroup of the general linear group.1 These actions lead to the concept of
flags, which we then discuss in the third section. We extend the notion of cells to
the set of flags, discuss distance functions and show how the subspace case embeds
into this more general theory. In the fourth section, we briefly discuss flag codes and
show how to alter the network model to allow for a flag to be transmitted rather than
a subspace. We also give sphere packing and sphere covering bounds in a special
case and discuss the − dp polynomial, which allows us to read off these bounds,
although an efficient algorithm for its computation is not yet known.
2 Preliminaries
In this section, we collect known results on subspace codes. We will start by briefly
describing the network model introduced in [7], and then discuss how to use matri-
ces when working with subspaces, finishing with the Ferrers diagram construction
introduced in [1]. We will focus on the basic concepts, which will be reviewed later
on with the help of group actions and generalized from subspaces to flags. For a more
detailed overview see chapter “Constructions of Constant Dimension Codes”.
We consider the multicast scenario, having a single source and multiple receivers. A
finite field Fq is fixed and the source injects vectors (packets) of constant length m,
i.e. elements of Fqm , into the network. These vectors are the information units that
are sent through the network to realize communication between the source and the
multiple receivers. We will denote such vectors as information packets. In-network
intermediate nodes form linear combinations (e.g. at random) of their received pack-
ets and forward the result and each receiver tries to recompute the original message
from his received vectors.
Now we assume that the process of communication consists of sending n con-
secutive packets. This set of packets is called “generation” in the related literature,
1 Formore details on orbit codes, see chapter “Constructions of Constant Dimension Codes” by
Horlemann-Trautmann and Rosenthal.
Generalizing Subspace Codes to Flag … 69
with n being the generation size. The channel model introduced in [7] is based on
the fact that having a generation of n packets x1 , x2 , . . . xn ∈ Fqm , what is left invari-
ant when forming linear combinations of these vectors is the corresponding vector
space, U := x1 , x2 , . . . , xn . Assuming no errors or erasures, a receiver can recover
the subspace U – or rather a reduced basis of U – as soon as he has collected n
linearly independent vectors. Thus the operator channel given in [7] uses the set
P(Fqm ) of all subspaces of Fqm both as input and output alphabet. This set can be
further broken down into the Grassmannians, Gr n (Fqm ), the set of all subspaces of
dimension n of Fqm .
As the codewords are full vector spaces in this setting, a bit-wise error count is
not reasonable; one should rather define errors and erasures dimension-wise. Assume
that the space U was sent and a receiver observes a space W . Then the network can
be modeled as an operator channel as follows [7]
W = Hk (U ) ⊕ E
ρ + t = dim(U + W ) − dim(U ∩ W ).
As this is a distance function, it also obeys a triangle inequality. This allows to show
that given a set of subspaces with minimal distance dmin , a minimal distance decoder
can correct all errors and erasures as long as 2(ρ + t) < dmin [7, Theorem 2].
The reduced row echelon form is well-known as the form returned by the classical
Gaussian elimination. For a quick example consider
⎛ ⎞
110110
X = ⎝0 0 1 0 1 0⎠ .
000001
This matrix is in reduced row echelon form and the corresponding identifying vector
is given by v(X ) = (1, 0, 1, 0, 0, 1). By using Gaussian elimination, every matrix
can be transformed to a matrix in reduced row echelon form. As this transformation
only forms linear combinations of the rows, the row space of X does not change.
Hence, by writing an arbitrary basis of U as rows into a matrix and performing
Gaussian elimination, we get that every vector space U has a unique ordered basis
in reduced row echelon form.
where • can be any element of Fq and we can hence conclude that there are exactly
q 5 subspaces of Fqm having this identifying vector.
Definition 3 For a given binary vector w ∈ Fm 2 , the set of all subspaces of Fq having
m
In the case that the base field might vary, we write Cq (w). To store all necessary
information for a subspace, we hence only need the identifying vector and the entries
for the free positions. The free positions in such a matrix form a Ferrers-diagram, in
the above case the diagram
•••
••
If all free entries are zero, we call the space the standard space with identifying vector
v, written as S(v).
Note that such diagrams are closely related to Young tableaux. Taking a Ferrers
diagram, one can construct a Ferrers diagram rank metric code [1].
The distance function on such a matrix code is called the rank metric. For two
matrices A, B it is defined as dr (A, B) := rk(A − B). We have seen that a subspace
U of Fqm can be uniquely described through its identifying vector v(U ) and a matrix
A with corresponding Ferrers diagram. Given an identifying binary vector v and the
corresponding matrix A, the subspace U := (v, A) is called the lift of w and A. An
important relation regarding the distances was shown in [11].
Lemma 1 Let v ∈ Fn2 and let A, B be matrices for the Ferrers diagram induced by
v. Then d((v, A), (v, B)) = 2dr (A, B).
Thus the rank distance gives us the subspace distance as long as we are in the
same cell. To illustrate some ideas, we prove this lemma for the special case of
v = 1k 0m−k = (1, 1, . . . , 1, 0, 0, . . . , 0). For given matrices A, B, the basis matrices
for the two subspaces U := (v, A) and W := (v, B) will be (Ik A) and (Ik B) and
the sum U + W is the row space of
72 D. Liebhold et al.
Ik B
.
Ik A
Above, we saw that every subspace has an identifying vector and a Ferrers diagram.
Here, we will discuss a construction from [1], where a certain set of vectors is
prescribed and the problem of finding good Ferrers diagram rank metric codes is
tackled for every cell separately.
First, we fix some notations. A subset C ⊆ P(Fqm ) is called a subspace code. The
minimal distance of C is defined as
dmin (C ) := min{d(U, W ) | U
= W ∈ C }.
We say that C is a (m, logq (|C |), dmin ) subspace code. Furthermore,
• if every space in C has the same dimension, we say that C is a constant
dimension code.
• if every space in C has the same identifying vector, we say that C is a
single cell code.
Note that every code is a disjoint union of constant dimension codes and every
constant dimension code is a disjoint union of single cell codes. The most common
example of a single cell code (see for example [7, Example 1]) has as identifying
Generalizing Subspace Codes to Flag … 73
vector v = 1k 0n−k , the corresponding matrices are often taken from an MRD code.
When using a subspace code for transmission, the size of C gives a bound on how
much information can be encoded. However, having a big code does not automatically
mean that much information can be sent at once; one would also need efficient
encoding. The same holds for the distance. A big minimal distance theoretically
allows for good error correction in the sense that a minimal distance decoder can
correct all ρ erasures and t errors as long as 2(ρ + t) < d (see [7] for more details),
but a minimal distance decoder is not efficient in general.
We have already seen that having two subspaces in the same cell, the distance is
determined by the rank distance of the corresponding matrices. Having two subspaces
in different cells, the identifying vectors give a bound on the distance.
Thus, given a minimal distance d and the task to construct a constant dimension
subspace code with dimension k achieving this minimal distance with a big size,
we first choose a constant weight code C ⊆ Fn2 with Hamming distance d, the so
called skeleton code. For every vector v ∈ C, we then construct a Ferrers diagram
rank metric code with minimal distance (in the rank metric) at least d/2. As the size
of a cell is strongly related to how far the ones in the identifying vector are to the
left, a skeleton code chosen for example in a lexicographic way leads to good results.
Finding big codes with a given Ferrers diagram is harder. An upper bound on the
size of such a code was given in [1, Theorem 1] and codes achieving this bound were
constructed in many cases (see for instance [4, 10]) and properties of such maximal
codes were also discussed (e.g. in [2]). However, the question if this bound is always
achievable and the search for a general construction always achieving this bound are
still open.
Furthermore, even if these codes are very big, they do not always allow for efficient
encoding and decoding. Using results from [1], one can reduce these problems to
the question of finding efficient encoding and decoding algorithms for the skeleton
code and for every rank metric code used. A big class of important rank metric codes
for which efficient algorithms are known (see for example [11]) are Gabidulin codes
[3], but not all Ferrers diagram constructions are based on such codes.
3 Group Actions
The above matricial representations of subspaces and constructions are related to the
structural properties of the input and output alphabet of the network, the set P(Fqm )
of all subspaces of Fqm . We propose to use group actions to identify further structural
properties that can be relevant for subspace codes and its possible generalization.
A group is a non-empty set of elements G together with a composition rule
74 D. Liebhold et al.
◦ : G × G → G,
The set of all orbits, denoted by O, is a partition of Ω, being in the same orbit is an
equivalence relation on Ω and an action having only a single orbit is called transitive.
In order to understand the structural properties of the set given by the orbits, one looks
at invariants.
Φ : O → I, G ∗ ω → ϕ(ω)
Note that the set I can often be reduced to make Φ surjective, in this case a sepa-
rating invariant classifies the orbits. Every action has a separating invariant by taking
I = O and Φ = id. However, other invariants might be more useful in understand-
ing the structure of orbits or to quickly decide if two given elements lie in the same
orbit or not.
As an example, take the set Ω to be acted on as the projective space P(K m ) and
the group GLm (K ) acting on the right by applying a linear transformation to every
vector of a subspace U ∈ P(K m ):
Generalizing Subspace Codes to Flag … 75
The orbits under this action are the Grassmannians Gr n (K m ), the set of subspaces
of dimension n of K m , i.e. in this case we have
O∼
= {Gr n (K m ) | 0 ≤ n ≤ m}.
is transitive. Note that the rank of a matrix equals the dimension of its row space, and
thus we see how the abstract and matricial actions are related. However, there is not a
bijection between the elements of an orbit of the abstract action and the elements of
the orbit of the matricial action, as different matrices can have the same row space.
Another important action, relating matricial and abstract notion of subspaces, is
the action of GLn (Fq ) on the left via matrix multiplication,
which induces orbits of matrices that can be represented by the same reduced row
echelon form (Fig. 1). Thus the map that takes a matrix to its reduced row echelon
form is a separating invariant of this action. But also the orbit generated by the rows
of the matrix can be used as a separating invariant. Therefore, there exists a bijection
between the elements of an orbit of the abstract action (i.e. subspaces) and the orbits
of the matricial action on the left (i.e. sets of matrices represented by a unique reduced
row echelon form). Note that in the matricial representation, similar to the action on
the left, we have an action on the right, giving us as invariants the column echelon
form and the column space – looking at rows rather than columns is a convention,
not a restriction.
To join all these actions together, we fill a matrix of Fqn×m,n with redundant rows,
that is linear combinations of the given rows, to get a quadratic m × m matrix. In
this manner, we can construct all m × m matrices. Looking at the action
what is left invariant is the rank of the matrices. A set of representatives of the orbits
are the rank normal forms
In 0
0 0
for 0 ≤ n ≤ m.
76 D. Liebhold et al.
We just saw that acting on both sides with the general linear group, only the rank
was left invariant. To get more structure, we introduce the groups of upper and lower
triangular matrices,
We thus see that the orbits of GLm (Fq ) × B T on Fqm×m are in bijection to the cells,
in this case giving us
O∼ = {C(v) | v ∈ Fm2 }.
Operating with B from the left also gives interesting results when extending from
subspaces to flags in the next section.
4 Flags
In this section, we introduce flags and generalize the results on subspaces discussed
above. We start by defining the basic terms.
Definition 7 A flag Λ is a chain of distinct, non-trivial, proper subspaces of Fqm ,
The tuple (dim(V1 ), dim(V2 ), . . . , dim(Vk )) is called the type of the flag and the flag
is said to be a full (or fine) flag if it is of type (1, 2, 3, . . . , m − 1).
By F = F (m, Fq ) we denote the set of all flags and by F f = F f (m, Fq ) the
set of all full flags. The group G := GLm (Fq ) acts on F from the right by applying
a linear transformation to every single subspace in a flag and the type is a separating
invariant of this action. Given a flag Λ and a g ∈ G, we write Λ · g for this action.
In the next two sections, we will focus on full flags, returning to the general case
afterwards.
Here we try to transfer the concept of cells – indexed by pivot positions – to the set
of flags. Note that our cells will not coincide with the Bruhat cells in the theory of
flags (see for example [12]) but rather with the cells for subspaces. The Bruhat cells
will be called “circles” in this article and will be discussed in the next section.
78 D. Liebhold et al.
To talk about pivot positions, we first need to define the matricial representation of
a flag. Given a matrix X ∈ G, the rows x1 , x2 , . . . , xm of X are linearly independent.
Thus the sequence of subspaces
forms a full flag, which we will call Δ(X ). Note that we do not need the last row of
X to define the flag. If X = Im is the identity matrix, we write Δ0 := Δ(Im ) and if
π ∈ Sm has the corresponding permutation matrix Π ∈ G, we write Δπ := Δ(Π ),
thus Δ0 = Δid . The set A = {Δπ | π ∈ Sm } is called the standard apartment and
plays an important role when looking at cells and circles. Given X, Y ∈ G, we get
that Δ(X ) · Y = Δ(X Y ), thus explaining why we consider the right action on flags.
In fact, we can write Δ(X ) = Δ0 · X for all X ∈ G.
When discussing subspaces, we saw that Gaussian elimination does not change
the row space of a matrix. However, this is not true for the flag represented by a
matrix in general, e.g. it is easy to see that interchanging two rows of a matrix will
always change the full flag. The only operations in the Gaussian elimination that
leave the flag unchanged are multiplications of rows and adding rows downwards,
that is adding row i to row j for j > i. These operations can be represented by
triangular matrices of the already introduced group B, giving us the following result.
Lemma 3 Let X ∈ G. Then Y ∈ G represents the same full flag as X , if and only if
Y ∈ B X = {bX | b ∈ B}.
We thus see that operating with B on the left, what is left invariant is not only the
row space but the whole flag. Furthermore, we can conclude that
Δ0 · b = Δ(b) = Δ(b · Im ) = Δ0
Definition 8 Let Λ be a flag with basis matrix X whose pivot positions yield the
permutation π ∈ Sm . Then we call π the identifying permutation of Λ, written as
π = perm(Λ). The cell of a permutation π ∈ Sm is defined as
C(π ) := {Λ ∈ F f | perm(Λ) = π }.
The biggest cell is C(id), having size q k with k = m(m − 1)/2, the smallest cell
is C(w) where w : {1, 2, . . . , m} → {1, 2, . . . , m}, i → m − i + 1; this cell contains
only a single element. The general size of a cell will be computed in Sect. 4.3. A
representation system for the cells is given by the standard apartment. Just as we did
with subspaces, one can show that the cells are exactly the orbits of B T ≤ G under
the action of G on flags described above, i.e. C(π ) = Δπ · B T . Identifying π ∈ Sm
with its permutation matrix, we get the well-known Gauss–Jordan decomposition
G= Bπ B T .
π∈Sm
In the last section we saw that the action of B T on flags yields the Gauss–Jordan
decomposition. Different from the subspace case, also the action of B on the right
yields interesting results for flags. The following decomposition of G is called
the Gauss–Bruhat decomposition and will help us to analyze distance functions
on F f and F :
G= Bπ B.
π∈Sm
Now b1 ∈ B does not change the flag represented by the matrix Π b2 and b2 ∈ B
satisfies Δ0 · b2−1 = Δ0 and hence we get
The assumption that d should be invariant under the operation allows for more
structure to be exploited. In fact, both distance functions that we will discuss in
Sect. 4.3 will have this property. Each such distance is thus made up of two parts: A
function f : Sm → Z≥0 and the function that we call the Sm -valued distance function,
defined through
d Sm (Δ(X ), Δ(Y )) := π ∈ Sm
Cπ (Λ) := {Γ ∈ F f | d Sm (Γ, Λ) = π }.
Taking as center Λ = Δ0 , the circles around that flag are exactly the B orbits on
F f and in this case, the standard apartment is once again a set of orbit representatives
through Cπ (Δ0 ) = Δπ · B. As we assumed the original distance d to be invariant
under the action of G, one should assume the same to be true for d Sm . Indeed,
taking two matrices X, Y ∈ G and corresponding flags Δ(X ), Δ(Y ), we get the same
Sm -valued distance for Δ(X ) · g = Δ(Xg) and Δ(Y ) · g = Δ(Y g), due to the fact
that X Y −1 = (Xg)(Y g)−1 . Using this result and once again the relation B = w B T w,
we can show a relation between cells and circles.
The two functions on the symmetric group Sm that we introduce in this section are
the length and the depth. The length plays an important role when studying Sm as a
Coxeter group (see for example [12, 13]), but it also appears in other contexts. The
definition of the length is based on the fact that
is a generating set for the group Sm , that is every permutation can be constructed
by successively interchanging neighboring elements. The length of a permutation
π ∈ Sm is then defined as the length of a shortest word in S ∗ yielding π , written as
(π ). From this definition we can immediately conclude the desired properties of a
function f given at the end of the last section: As every transposition (i, i + 1) is
self-inverse, we get (π ) = (π −1 ). We further get (π ) = 0 if and only if π = id
and given a word w1 ∈ S ∗ for π and a word w2 ∈ S ∗ for a permutation ϕ, we get
that w1 w2 is a representation of π ϕ (although not necessarily a shortest one). Not
immediately clear, but also important, is the fact that the permutation w, mapping i
to m − i + 1, is the unique longest element of Sm , having length m(m − 1)/2.
A well-known way to compute a shortest word for a permutation π – given as a list
(π(1), π(2), . . . , π(m)) – is the bubble sort algorithm, as it only changes neighboring
elements. This fact yields the following formula for the length (see for instance [6]
for more details):
m
(π ) = |{1 ≤ k ≤ i | π(k) > π(i)}|.
i=1
This way to compute the length allows us to now introduce the depth, which looks
quite similar:
m
1
m
dp(π ) := |{1 ≤ k ≤ i | π(k) > i}| = π(k) − k = |π(k) − k|.
i=1 k=1,k<π(k)
2 k=1
Unlike the length, which has been used for several centuries already, the depth
of a permutation received some attention only recently in [5, 8], whereas twice the
depth – called the sum of distances – was studied in [6].
Given the similar sum notation of the length and the depth, one might conjecture
a relation between these two functions. In [8], such a relation was found, namely for
all π ∈ Sm we have
(π )
≤ dp(π ) ≤ (π ).
2
82 D. Liebhold et al.
We now introduce the corresponding distance functions on flags, starting with the
length of a permutation. As in the generating set S, only neighboring elements are
interchanged in one step, we first define neighboring flags, calling two flags
Λ = {V1 < V2 < . . . < Vm−1 } and Γ = {W1 < W2 < . . . < Wm−1 }
neighbors, if they differ in exactly one space. Using this definition, we construct a
graph on the set F f , joining two flags by an edge if they are neighbors. A shortest
path from a flag Λ to a flag Γ in this graph is called a gallery between Λ and Γ , the
length of such a path is called the gallery distance of Λ and Γ . This distance is the
classically used distance when working with (full) flags and it is well-known (see
for example [12, 13]) that this distance is invariant under the action of G and that
the gallery distance of Δ0 and Δπ is exactly (π ).
If we look at flags as a generalization of subspaces, we would like a distance
function that is defined for all flags (not only full ones) such that the distance of
two flags of length one Λ = {U } and Γ = {W } is exactly the Grassmannian dis-
tance dim(U + W ) − dim(U ∩ W ). The length function, however, is classically only
defined for full flags and finding a generalization to arbitrary flags that is still easy
to compute seems to be difficult. We thus take a different approach, generalizing the
Grassmannian distance to the set of all flags. This yields the Grassmannian distance
on flags, first introduced in [9].
Definition 10 Let Λ = {V1 < V2 < . . . < Vk } and Γ = {W1 < W2 < . . . < Wn }
be two flags. Fill the shorter one with Fqm such that n = k and then define the
Grassmannian distance
k
dG (Λ, Γ ) := dim(Vi + Wi ) − dim(Vi ∩ Wi ).
i=1
Following the proof from [7] that the Grassmannian distance for subspaces is a
distance, one can show that dG is a distance function. Note that dG can be extended to
a distance on the set of all sequences (not necessarily ordered as a flag) of subspaces.
As the Grassmannian distance on subspaces is invariant under the operation of
G, so is the distance dG . The corresponding map on Sm is twice the depth, i.e.
dG (Δ0 , Δπ ) = 2 dp(π ), the factor two coming from the fact that the Grassmannian
distance of two subspaces of the same dimension is always even; hence also a sum
over such values is.
Using the length, we can now also compute the size of a cell and a sphere in F f .
The size of a circle – what is called a Bruhat cell in the literature – is well-known
(see for example [12, 13]) to be
|C(π )| = q (πw) .
In this section, we briefly translate the previous results to the case of non-full flags,
taking flags of length one as examples. We already mentioned before that flags of
length one are basically subspaces; now we will see that the concepts of cells and
distance translate properly.
For full flags, we looked at the stabilizer of the flag Δ0 , which we called B. Taking
the same approach here, we fix a type T = (d1 , d2 , . . . , dk ) and for a matrix X ∈ G
we let ΔT (X ) be the corresponding flag of this type, i.e. we take the full flag Δ(X )
and drop all spaces but the ones that have dimension di for some i. By dropping
these spaces, the stabilizer of the standard flag of type T , ΔT (Im ), gets bigger and
we get a so called standard parabolic group, which is the group of all block triangular
matrices, having block sizes di+1 − di . For example taking the type T = (n) and thus
flags of length one, the stabilizer of ΔT (Im ) is
A 0
Pn := | A ∈ GL(n, Fq ), C ∈ GL(m − n, Fq ), B ∈ Fq(m−n)×n .
BC
We can once again define the cell of a permutation for such flags. However, different
permutations may yield the same cell. In fact, for a π ∈ Sm we have that the permu-
tation matrix Π lies in Pn if and only if π maps {1, 2 . . . , n} ⊆ {1, 2, . . . , m} onto
itself. Two permutations π, ϕ ∈ Sm will give the same cell if and only if Π Φ −1 ∈ Pn .
We thus get that the number of cells for flags of type T = (n) is
|Sm | m! m
= = ,
|Sn × Sm−n | n!(m − n)! n
which is exactly the number of weight n vectors in Fm 2 . This once again shows that
the definition of a cell in the flag case is a generalization of the definition in the
subspace case.
5 Flag Codes
In this section, we describe how to use flags in a network coded network, define
basic properties of a flag code and take a look at sphere packing and sphere covering
bounds.
84 D. Liebhold et al.
the minimum distance of C and say that C is a (m, logq (|C |), dmin ) flag code.
Furthermore,
• if every flag in C has the same type T , we say that C is a constant type code, if
T = (1, 2, . . . , m − 1) is the type of full flags, we say that C is a full flag code.
• if C is a constant type code and every flag lies in the same cell, we say that C is a
single cell code.
The last ingredient we need to analyze flag codes is the rate of such a code. For
that, let dmax (C ) be the biggest dimension of a space in a flag in C . Then only the
first m − dmax rows of a basis matrix contain information on a flag of C and hence
need to be sent, thus yielding a rate of
logq (|C |)
R(C ) := .
mdmax
If we take for example C = C(id) to be the biggest cell of full flags, we have a rate
of 1/2. Taking C = F f , the set of all full flags, the rate also converges towards 1/2
if we fix m and increase q. On the other hand, fixing q and looking at big m allows
for rates bigger than 1/2.
By introducing additional zeros in the biggest cell, we can get higher distances.
Take for example the set
Dk = {X ∈ B T | X ii = 1 ∀ i, X i j = 0 ∀ i < j ≤ i + k}
of all strict upper triangular matrices having k secondary diagonals filled with zeros.
Then two different matrices of Dk always yield two different full flags and the
corresponding flag code has minimal distance 2(k + 1) and rate
(m − k)(m − k − 1)
2m(m − 1)
(see [9] for proofs). Furthermore, the set Dk forms a subgroup of B T , thus allowing
for easier computation of distances and structure. Error correction for example is
possible efficiently using this code. A similar construction is also possible in other
cells, allowing us to further extend this code. To know which cells to choose, we would
like a result on the distance between two cells, similar to the one on subspaces.
dG (Λ, Δ) ≥ 2 dp(ϕ −1 π ).
Generalizing Subspace Codes to Flag … 85
Note that we use left convention, meaning that ϕ −1 π is the permutation that maps
every i to ϕ −1 (π(i)).
Proof Let Λ = {V1 < V2 < . . . < Vm−1 } and Γ = {W1 < W2 < . . . Wm 1 }, and let
further 1 ≤ i ≤ m such that ϕ −1 (π(i)) = j > i. Then Vi is the first space in Λ
having a pivot element at position π(i) and W j is the first space in Γ containing a
pivot at the same position. Thus we have Vk
= Wk for all i ≤ k < j and as these
spaces have the same dimension, they hence have subspace distance at least two. As
we sum over all subspace distances to form the Grassmannian distance, we hence
get a distance of at least 2( j − i) in this case, in total giving us
n
dG (Λ, Δ) ≥ 2 ϕ −1 (π(i)) − i,
i=1,ϕ −1 (π(i))>i
In a network coded network, we assume a source to inject packets, that are then
linearly combined and forwarded by intermediate nodes. Looking at today’s net-
works (e.g. the Internet), there is, however, something else to exploit: a numbering
of packets. Assuming that we want to send a flag Λ = {V1 < V2 < . . . < Vk } of type
(d1 , d2 , . . . , dk ) through a network. This flag is given to the transmitter in the form
of a basis matrix X and the transmitter then injects the rows of X into the network.
While doing so, the rows are numbered according to the current space Vi in the flag,
that is the first d1 rows get the number one, the next d2 − d1 rows get number two, etc.
An intermediate node now forms and forwards linear combinations in a desired way
(e.g. at random) and marks the outgoing vector with the highest number of vectors
used in the linear combination. Therefore, a vector with number i always lies in Vi
and hence also in all V j with j ≥ i. Thus collecting enough vectors with different
numbers, a receiver can reconstruct X and hence also Λ. Just as constant dimension
subspace codes simplify this process in the subspace setting, constant type flag codes
allow the receiver in this setting to know when he has enough vectors. To assure that
every receiver gets enough vectors, a proper choice of type and transmission protocol,
one that might take into account the numbering of packets, is necessary.
To introduce errors and erasures, assume that the flag Λ as above was sent. The
receiver reconstructs the spaces Wi generated by all received vectors with number
j ≤ i and thus gets a stuttering flag Γ = {W1 ≤ W2 ≤ . . . ≤ Wk }, the term stuttering
meaning that some of these spaces might coincide. Similar to the operator channel
model in [7], we say that an erasure occurred at some point i, if Wi does not contain
86 D. Liebhold et al.
In this section, we compute some sphere packing and sphere covering bounds for
full flags and compare them to the bounds on subspaces computed in [7]. To do so,
remember that a π -circle around a full flag has exactly size q (π) where denotes
the length function on Sm . A sphere of radius 2t with regard to the Grassmannian
distance thus contains
q (π)
π∈Sm ,dp(π)≤t
Computing this polynomial once, we can then read off sphere sizes by dropping
certain powers of y and then inserting (x, y) = (q, 1). However, an efficient way to
compute this polynomial or a closed form is not yet known.
Using computed values of Pm , we can give sphere packing and sphere covering
bounds for full flag codes and compare them to subspace codes. The following figure
shows the bounds for full flag codes in the space F82 and compares them to the bounds
on constant dimension subspace codes of dimension 4 computed in [7]. Note that
flag codes are able to achieve minimal distances that are not reachable by subspace
codes (Fig. 2).
We will now collect some properties of this polynomial. The special value
Pm (x, 1) is well-known to be the generating function of the length,
m
xi − 1
Pm (x, 1) = .
i=1
x −1
Generalizing Subspace Codes to Flag … 87
For the generating function of the depth, Pm (1, y), a continued fraction was found
recently in [5]. We will here show a nice property, regarding the alternating distribu-
tion of the depth.
Lemma 7 We have
m
dp(π ) = |π(k) − k|.
2 k=1
The first equality is clear, as the length is one well-known way to compute the
signum of a permutation. We thus show the second equality by induction over m.
For m = 1 there is only the identity, having signum 1 and depth 0. Thus assume that
the claim holds for m − 1. Let H ≤ Sm be the stabilizer of the point m. Then H acts
on {1, 2, . . . , m − 1} and is isomorphic to Sm−1 . We have
88 D. Liebhold et al.
m
Sm = (i, m)H,
i=1
where (i, m) denotes the transposition interchanging i and m and (m, m) stands for
the identity. Now let i < m − 1, let h ∈ H be arbitrary and set f := (i, m)h and
g := (i, m)(i, m − 1)h. We will now compute twice the depth of f and g, seeing
that they are the same.
2 dp( f ) :
Let j := h −1 (i). Then f ( j) = m, f (m) = i and f (x) = h(x) for all other values
x. Thus we have to add these two terms for f and subtract the original ones for h,
getting
2 dp( f ) = 2 dp(h) + |m − j| + |i − m| − |i − j| − |m − m|
= 2 dp(h) + (m − j) + (m − i) − |i − j|
= 2(dp(h) + m − max(i, j)).
2 dp(g) :
Set j := h −1 (i) and k := h −1 (m − 1). Then g( j) = m − 1, g(k) = m, g(m) = i
and g(x) = h(x) for all other values of x. Thus we get
2 dp(g) = 2 dp(h) + |m − 1 − j| + |m − k| + |i − m| − |i − j| − |m − 1 − k|
= 2 dp(h) + (m − 1 − j) + (m − k) + (m − i) − (m − 1 − k) − |i − j|
= 2(dp(h) + m − max(i, j)).
and thus dp( f ) = dp(h) + 1. This gives us that the set (m − 1, m)H contributes
−y(1 − y)m−2 to the sum, as the signum of every element of H switches and the
depth is increased by one. In total we thus get
Generalizing Subspace Codes to Flag … 89
References
1. T. Etzion, N. Silberstein, Error-correcting codes in projective spaces via rank-metric codes and
Ferrers diagrams. IEEE Trans. Inform. Theory 55(7), 2909–2919 (2009)
2. T. Etzion, E. Gorla, A. Ravagnani, A. Wachter-Zeh, Optimal Ferrers diagram rank-metric codes.
IEEE Trans. Inform. Theory 62(4), 1616–1630 (2016)
3. È.M. Gabidulin, Theory of codes with maximum rank distance. Problemy Peredachi Informatsii
21(1), 3–16 (1985)
4. E. Gorla, A. Ravagnani, Subspace codes from Ferrers diagrams. J. Algebra Appl. (to appear)
5. M. Guay-Paquet, T. Kyle Petersen, The generating function for total displacement. Electron.
J. Combin. 21(3), Paper 3.37, 13 (2014)
6. D.E. Knuth, The Art of Computer Programming: Sorting and Searching, vol. 3 (Addison-
Wesley, Reading, 1998)
7. R. Kötter, F.R. Kschischang, Coding for errors and erasures in random network coding. IEEE
Trans. Inform. Theory 54(8), 3579–3591 (2008)
8. T. Kyle Petersen, B. Eileen Tenner, The depth of a permutation. J. Comb. 6(1–2), 145–178
(2015)
9. D. Liebhold, G. Nebe, A. Vazquez-Castro, Network coding with flags. Des. Codes and Cryptogr.
(2017)
10. N. Silberstein, A.-L. Trautmann, Subspace codes based on graph matchings, Ferrers diagrams,
and pending blocks. IEEE Trans. Inform. Theory 61(7), 3937–3953 (2015)
11. D. Silva, F.R. Kschischang, R. Kötter, A rank-metric approach to error control in random
network coding. IEEE Trans. Inform. Theory 54(9), 3951–3967 (2008)
12. T.A. Springer, Linear Algebraic Groups, 2nd edn., Modern Birkhäuser Classics (Birkhäuser,
Boston, 2009)
13. D.E. Taylor, The Geometry of the Classical Groups, vol. 9, Sigma Series in Pure Mathematics
(Heldermann Verlag, Berlin, 1992)
14. M.A. Vazquez-Castro, A geometric approach to dynamic network coding, in 2015 IEEE Infor-
mation Theory Workshop - Fall (ITW) (2015), pp. 207–211
Multi-shot Network Coding
Abstract The seminal paper of Koetter and Kschischang [11] introduced coding
concepts for errors and erasures in a random network coding setting and since then
has opened a major research area in communication technology. Here, the network is
allowed to change very quickly, which is the case in many mobile applications. The
problem is suitably modeled via the operator channel, which makes a very clear con-
nection between network coding and classical information theory. However, coding
can also be performed over multiple uses of the network, whose internal structure
may change at each shot, giving rise to the so-called multi-shot network coding.
Although the potential of using multi-shot network coding was already observed in
[11], only recently this more involved approach have been investigated. The general
idea stems from the fact that creating dependencies among the transmitted codewords
of different shots can improve the error-correction capabilities. A very natural way to
impose correlation of codewords(subspaces) over time is by means of convolutional
codes, originating the notion of rank metric convolutional codes. In this Chapter we
review some of the main results and ideas of multi-shot network coding, propose
new approaches and point out some avenues for future research.
1 Introduction
work is unknown and the nodes perform a random linear combination of the packets
received and forward this random combination to adjacent nodes. If one considers
the transmitted packet as columns of a matrix with entries in a finite field Fq , then the
linear combinations performed in the nodes are columns operations on this matrix.
If no errors occur during the transmission over such a network, the column space of
the transmitted matrix remains invariant. In such an scenario the problem of reliable
communication is suitably modeled via the operator channel, which makes a very
clear connection between network coding and classical information theory. The oper-
ator channel can be seen as a standard discrete memoryless channel with input and
output alphabets given by the projective space P(Fqn ), i.e., the set of all possible vec-
tor subspaces of the vector space Fqn . To achieve a reliable communication over this
channel, matrix codes are employed forming the so-called rank metric codes [26].
Rank metric codes such as Gabidulin codes are known to be able to protect packets
in such a scenario. We call these codes one-shot codes, as they use the (network)
channel only once.
However, coding can also be performed over multiple uses of the network as it
has been recently shown by several authors, see for instance [2, 13, 16, 20, 28]. The
general idea stems from the fact that creating dependencies among the transmitted
codewords (subspaces) of different shots can improve the error-correction capabili-
ties of the code. In order to increase the error-correcting capabilities of a block code in
one single shot, one necessarily needs to increase the field size or the packet size and
this might not be optimal or impossible in many applications and consequently one
must create dependencies across multiple nodes to approach the channel capacity.
Thus, multi-shot codes constitute an attractive class of codes for such situations.
There are mainly two approaches for building multi-shot codes: one using con-
catenation of codes and other using rank metric convolutional codes. In [20], a type
of concatenated n-shot codes (n ≥ 1) was proposed based on a multilevel code. In
[17], a concatenation scheme was presented using a Hamming metric convolutional
code as an outer code and a rank metric code as an inner code. A different type of
concatenation was introduced in [13] where the authors use codes that layer both
Maximum Sum Rank (MSR) codes and Gabidulin in order to achieve the streaming
capacity for the Burst Erasure Channel.
Apart from concatenated codes, another very natural way to spread redundancy
across codewords is by means of convolutional codes [3, 7, 10, 15, 18]. Adapting
this class of codes to the context of networks gave rise to rank metric convolutional
codes and interestingly there have been little research on these codes, see [2, 12, 13,
28]. The work in [28] was pioneer in this direction by presenting the first class of
rank metric convolutional codes together with a decoding algorithm able to deal with
errors, erasures and deviations. However, the results were only valid for unit memory
convolutional codes and in [2, 12] (see also the references therein) an interesting
and more general class of rank metric convolutional codes was introduced to cope
with network streaming applications. For a more general theoretical framework to
rank metric convolutional codes, see [16] and for more information on new investi-
gations on rank metric codes properties the reader is also referred to chapters “Codes
Endowed with the Rank Metric” and “Constructions of Cyclic Subspace Codes and
Maximum Rank Distance Codes”.
Multi-shot Network Coding 93
In this multi-shot setting a new distance, called sum rank distance, was introduced
as a generalization of the rank distance used for one-shot network coding. This new
distance has proven to be the proper notion in order to deal with delay-free networks,
i.e., assuming that the natural delay in the transmission (due, for instance, to the
delay of the nodes) is so small that can be disregarded. In this work we show that
in order to handle networks with delays, a new metric needs to be introduced: the
generalized sum rank distance.
Finally, we note that in the last years others papers have also appeared dealing
with convolutional network coding using very different approaches [8, 22]. These
codes do not transmit over the operator channel and therefore are not equipped with
the rank metric.
2 Preliminaries
In order to state more precisely the results to be presented we introduce in this section
the necessary material and notation on standard theory of (one-shot) network coding
and convolutional codes.
x = v A + z, (1)
where x ∈ Fqn M represents the received packets, A ∈ Fqn×n is the rank deficiency
channel matrix and z ∈ Fqn M is the additive error. The adversaries of the matrix channel
(1) come as rank deficiency of the channel matrix and as the additive error matrix.
The channel matrix A correspond to the overall linear transformations applied by the
network over the base field Fq and it is known by the receiver (as the combinations
are carried over in the header bits of the packets). For perfect communications we
have that z = 0 and rank(A) = n, but failing and deactivated links may cause a rank
deficient channel matrix. We call n − rank(A) the rank deficiency of the channel.
A rank metric code C is defined as any nonempty subset of FqM×n . A natural metric
for matrix codes is induced by the distance measure drank (V, W ) = rank(V − W ),
where V, W ∈ FqM×n [11]. In the context of the rank metric, a matrix code is called
rank metric code.
The rank distance of a code C ⊂ FqM×n is defined as
Consider linear codes over Fq M and use k for the dimension of the linear code over
Fq M . To simplify presentation we will assume that M ≥ n. In this case, for linear
(n, k) rank metric codes over Fq M the following analog of the Singleton bound holds:
drank (C) ≤ n − k + 1.
A code that achieves this bound is called Maximum Rank Distance (MRD).
Gabidulin codes are a well-known class of MRD codes [6], see also [5, 9].
Although rank metric codes in FqM×n are usually constructed as block codes of
length n over the extension field Fq M [11] a more general construction was considered
in [16]. Here, an (ñ × M, k̃) rank metric code C ⊂ Fqñ×M of rate k̃/ñ M < 1 is seen
as an image of a monomorphism ϕ : Fqk̃ → Fqñ×M (ϕ = ψ ◦ γ is a composition of an
isomorphism ψ and a monomorphism γ ):
γ ψ
ϕ :Fqk̃ −→ Fqñ M −→ Fqñ×M
u −→ v = uG −→ V = ψ(v)
In [16, Theorem 3.1] the following upper bound on the rank distance of an (ñ ×
M, k̃) linear rank metric code was presented
k̃ − 1 k̃
drank (C) ≤ ñ − = ñ − + 1.
M M
We say that a generator matrix G(D) is basic (see, e.g., [23, 25]) if it has a
polynomial right inverse.1
Let wt(vi ) be the number of the nonzero components of a vector vi ∈ Fqn M and
wt(v(D)) the Hamming weight of a polynomial vector v(D) = vi D i defined as
i∈N
wt(v(D)) = wt(vi ).
i∈N
An important distance measure for a convolutional code C is its free distance or
Hamming distance dH (C) defined as
1 Using a basic generator matrix it allows to avoid catastrophic situations in which a sequence u(D)
with an infinite number of nonzero coefficients can be encoded into a sequence v(D) with a finite
number of nonzero coefficients; this case would decode finitely many errors on the received code
sequence into infinitely many errors when recovering the original information sequence.
96 D. Napp and F. Santana
Another important distance measure for a convolutional code C is the jth column
distance d cj (C), given by the expression
This notion is related to the free distance dH (C) in the following way
j
dH (C) = lim dH (C).
j→∞
In this section we explain how to extend the classical theory of (one-shot) network
coding to the context of multi-shot network coding. In fact, this is possible as each
packet carries a label identifying the shot (or generation) to which it corresponds.
Despite the little research in the area, this possibility was already observed in the
seminal papers [11, 26].
The transmitter receives at each time instance t a source packet u t ∈ Fqk M (constituted
by a set of k packets) and a channel packet vt ∈ Fqn M (constituted by a set of n packets)
is constructed using not only u t but also previous source packets u 0 , . . . , u t−1 .
A channel packet vt is sent through the network at each shot (time instance) t.
The receiver collects the packets xt as they arrive causally and tries to infer vt from
(x0 , . . . , xt ).
Following the operator channel in (1) at each shot t the received packets xt ∈ Fqn M are
constituted by corrupted packets z and linear combinations of the packets of vt and,
if there is delay in the transmission, also of combinations of the previous packets
v0 , . . . , vt−1 . Hence, we have
error. So far this channel model has not been proposed nor addressed in the literature
in this generality and only the delay-free case has been considered, see [12] and
reference therein. In the delay-free case only combinations of packets of vt arrive
at time instance t and not of packets of vi , i < t and therefore in this case the rank
deficiency matrix A[0, j] is a block diagonal matrix.
3.3 Distances
The sum rank distance is the distance that has been widely considered for multi-
shot network coding and can be seen as the analog of the rank distance for one-shot
network coding. This distance was first introduced in [20] under the name of extended
rank distance and is define as follows.
Let v = (v0 , . . . , vt ) and w = (w0 , . . . , wt ) be two t-tuples of vectors in Fqn M . The
sum rank distance (SRD) between them is
t
d S R (v, w) = rank(vi − wi ).
i=0
Since the rank distance is a metric so it is the SRD and is obviously upper bound by
As we will see below, the SRD is a metric that can be used to fully characterize the
error-correcting capabilities of multi-shot codes in the context of delay-free networks.
For the general case we propose the following distance,
In the context of rank metric convolutional codes two different settings have been
proposed. Similarly as in the block code case, rank metric convolutional codes have
been typically constructed over the extension field Fq M . However, a more general
98 D. Napp and F. Santana
framework was introduced in [16], where a rank metric convolutional code can be
defined for any given rate over the base field Fq .
γ ψ
ϕ : Fq [D]k̃ −→Fq [D]ñ M −→Fq [D]ñ×M
(3)
u(D) → v(D) = u(D)G(D) → V (D)
where G(D) ∈ Fqk̃×ñ M is a full row rank polynomial matrix, called generator matrix
of C, and V (D) = [Vi j [D]], such that Vi j (D) = v Mi+ j (D).
The sum rank distance of a rank metric convolutional code C is defined as
In the next theorem authors establish the Singleton-like bound for rank metric
convolutional codes.
Theorem 1 ([16, Theorem 4.1]) Let C be a (ñ × M, k̃, δ)-rank metric convolutional
code. Then the sum rank distance of C is upper bounded by
⎡ ⎤
k̃( k̃δ + 1) − δ
δ
dsumrank (C) ≤ ñ +1 −⎢
⎢
⎥ + 1.
⎥ (4)
k̃ ⎢ M ⎥
Consider from now on the extension field Fq M instead of Fq . This leads to the fol-
lowing definitions.
For an (n, k, δ)-convolutional code C and v(D) = v0 + v1 D + v2 D 2 + · · · ∈ C
we define its free sum rank distance as
dSR (C) = min rank(vi ) | v(D) ∈ C and v(D) = 0 ,
i≥0
Multi-shot Network Coding 99
Moreover, based in the GRD we introduce a new distance for convolutional codes,
the generalized column rank distance, as follows:
j
Adapting (4) to the definitions considered in this paper, this bound reads as fol-
lows:
δ
dSR (C) ≤ (n − k) + 1 + δ + 1. (5)
k
Note that this bound coincides with the so-called generalized Singleton bound of
(Hamming) (n, k, δ)-convolutional codes [21, 24]. Thus, the bound (5) could be
also derived from the fact that the rank distance is upper bounded by the Hamming
distance [6]. The problem of existence and construction of rank metric convolutional
codes whose free rank distance achieves the bound (5) remains open.
For the column SRD the following upper bound was presented in [14]:
j
dSR (C) ≤ (n − k)( j + 1) + 1,
and moreover,
j i (C) = (n − k)(i + 1) + 1 for i = 0, . . . , j .
dSR (C) = (n − k)( j + 1) + 1 ⇒ dSR
In [28], concrete decoding algorithms for unit memory rank metric convolutional
codes were presented using another distance, namely the active rank distance. How-
ever, in [14], it was shown that this metric fails to determine the error-correcting
capabilities of rank metric convolutional codes with arbitrary memory and the col-
umn SRD needs to be considered. In fact, necessary and sufficient conditions were
inferred to recover rank deficiencies within a given time interval in delay-free net-
works when no errors occur (i.e., when z = 0 in (2)).
Theorem 2 ([14, Theorem 2]) Let C be a (n, k, δ) rank metric convolutional code
and v(D) = v0 + v1 D + · · · ∈ C with v0 = 0. Assume a delay-free transmission
and let A[0,T ] = diag(A0 , . . . , A T ) represent the block diagonal truncated channel
matrix with Ai ∈ Fqn×n , i.e., x[0,T ] = v[0,T ] A[0,T ] is the received set of packets with
xi = vi Ai , i = 0, 1, . . . , T . Note that in this case rank(A[0,T ] ) = Tj=0 rank(A j ).
Then, we can recover v0 if
100 D. Napp and F. Santana
T
dSR (C) > n(T + 1) − rank(A[0,T ] ). (6)
Theorem 2 illustrates how the column SRD can characterize the rank deficiency
correcting capabilities of a rank metric convolutional code in delay-free networks
within a time interval. The more column SRD a convolutional codes has the better
is its rank deficiencies correcting capabilities.
Constructive constructions of convolutional codes having maximum column SRD
profile were also presented in [14] using a superregular matrix derived in [1]. These
constructions are not optimal as they require very large finite fields. The problem of
deriving optimal constructions remains an interesting open problem for research.
Motivated by streaming applications, rank metric convolutional codes tailor-made
to cope with burst of rank deficiency networks where studied in [13]. This can be
considered a generalization of the theory of burst erasure convolutional codes, from
a Hamming context to a network context. Concrete constructions of optimal rank
metric convolutional codes in this setting are not known yet.
The following example illustrates that, in the case the network has delays in the
transmission of packets, the previous theorem fails to characterize the rank deficiency
correcting capability of C.
1
It is easy to see that dSR (C) = 2 and that there exists a v(D) ∈ C such that v[0,1] =
(1, 0, 0 | 0, 1, 0) ∈ F26 . Theorem 2 says that we can recover v0 if the 1th column SRD
6
of C is larger than the rank deficiency of a delay-free channel in the window [0, 1], i.e.,
if n(T + 1) − rank(A[0,T ] ) = 6 − rank(A[0,T ] ) ≤ 1 or equivalently, if rank(A[0,1] ) ≥
5. However, in presence of delays in the network this does not necessarily hold. Take
⎛ ⎞
0 0 0 0 −1 0
⎜0 1 0 0 0 0⎟
⎜ ⎟
⎜0 0 1 0 0 0⎟
A=⎜
⎜0
⎟ ∈ F6×6
⎜ 0 0 1 0 0⎟⎟
2
⎝0 0 0 0 1 0 ⎠
0 0 0 0 0 1
that has rank equal to 5 and yields v[0,1] A[0,1] = 0, i.e., v[0,1] is indistinguishable from
the zero sequence and therefore cannot be corrected.
The next result can be considered the analog of Theorem 2 for the general case in
which the network admits delay in the transmission.
Theorem 3 Let C be a (n, k, δ) rank metric convolutional code, v(D) ∈ C and A[0,T ]
be the truncated channel matrix. Then, we can recover v[0,T ] if
Multi-shot Network Coding 101
T
dGR (C) > n(T + 1) − rank(A[0,T ] ). (7)
Proof Let x[0,T ] = v[0,T ] A[0,T ] . Due to the linearity of the code it is enough to show
that all output channel sequence are distinguishable from the zero sequence, i.e.,
we need to prove that v[0,T ] A[0,T ] = 0 is impossible if rank(A[0,T ] ) satisfies (7).
It is easy to see that rank(v[0,T ] ) ≤ n(T + 1) − rank(A[0,T ] ). Using this, together
with assumption (7), it follows that rank(v[0,T ] ) < dGR T
(C) which is impossible by
definition of dGR (C).
T
5 Concatenation Codes
We write
vi = (vi0 , vi1 , . . . , vin o −1 ), vi ∈ Fq Mk I .
j
j j
We identify vi ∈ Fq Mk I with a vector νi ∈ Fqk IM (for a given basis of Fq Mk I over
Fq M ) and write
νi = (νi0 , νi1 , . . . , νin o −1 ) ∈ (Fqk IM )n o
and therefore
ν(D) = ν0 + ν1 D + ν2 D 2 + · · · ∈ Fqk IM [D]n o .
Finally, the codewords c(D) of the concatenated code C are obtained through the
matrix G I ∈ Fqk IM×n I in the following way:
j j
ci = νi G I ∈ Fqn IM ,
and
c(D) = c0 + c1 D + c2 D 2 + · · · ∈ C ⊂ Fqn IM [D]n o .
Theorem 4 ([17]) The sum rank distance of the concatenated code C satisfies
and
j j
d S R (C) ≥ d H (Co )drank (C I ).
Moreover,
δ
d S R (C) ≤ (n o n I − ko k I ) + 1 + δk I + 1.
ko
In [17], decoding algorithms were also presented together with some performance
evaluation. Simulation results showed that this class of codes perform very efficiently
when transmitting streaming data over a network.
Finally, it is worth mentioning the pioneer work of Nóbrega et al. in [19, 20]
where for the first time the general ideas of multi-shot code for network coding were
laid out. Moreover, the authors presented an n-shot code (for a fixed n) by means
of a concatenated code using a multilevel construction. Some interesting upper and
lower bounds were derived.
Multi-shot Network Coding 103
Acknowledgements The authors are supported by Portuguese funds through the CIDMA - Center
for Research and Development in Mathematics and Applications, and the Portuguese Foundation
for Science and Technology (FCT-Fundação para a Ciência e a Tecnologia), within project PEst-
UID/MAT/04106/2013.
References
1. P. Almeida, D. Napp, R. Pinto, A new class of superregular matrices and MDP convolutional
codes. Linear Algebra Appl. 439(7), 2145–2157 (2013)
2. A. Badr, A. Khisti, Wai-Tian. Tan, J. Apostolopoulos, Layered constructions for low-delay
streaming codes. IEEE Trans. Inform. Theory (2013)
3. J.J. Climent, D. Napp, C. Perea, R. Pinto, Maximum distance separable 2D convolutional codes.
IEEE Trans. Inf. Theory 62(2), 669–680 (2016)
4. J.J. Climent, D. Napp, R. Pinto, R. Simões, Decoding of 2D convolutional codes over the
erasure channel. Adv. Math. Commun. 10(1), 179–193 (2016)
5. Ph Delsarte, Bilinear forms over a finite field, with applications to coding theory. J. Comb.
Theory Ser. A 25(3), 226–241 (1978)
6. É.M. Gabidulin, Theory of codes with maximum rank distance. Prob. Inf. Transm. 21, 1–12
(1985)
7. H. Gluesing-Luerssen, J. Rosenthal, R. Smarandache, Strongly MDS convolutional codes.
IEEE Trans. Inf. Theory 52(2), 584–598 (2006)
8. W. Guo, X. Shi, N. Cai, M. Medard, Localized dimension growth: a convolutional random
network coding approach to managing memory and decoding delay. IEEE Trans. Commun.
61(9), 3894–3905 (2013)
9. A. Horlemann-Trautmann, K. Marshall, New criteria for MRD and gabidulin codes and some
rank-metric code constructions, arXiv: 1507.08641
10. R. Johannesson, KSh Zigangirov, Fundamentals of Convolutional Coding (IEEE Press, New
York, 1999)
11. R. Kötter, F.R. Kschischang, Coding for errors and erasures in random network coding. IEEE
Trans. Inf. Theory 54(8), 3579–3591 (2008)
12. R. Mahmood, Rank Metric Convolutional Codes with Applications in Network Streaming.
Master of applied science (2015)
13. R. Mahmood, A. Badr, A. Khisti, Streaming-codes for multicast over burst erasure channels.
IEEE Trans. Inf. Theory 61(8), 4181–4208 (2015)
14. R. Mahmood, A. Badr, A. Khisti, Convolutional codes with maximum column sum rank for
network streaming. IEEE Trans. Inf. Theory 62(6), 3039–3052 (2016)
15. R.J. McEliece, The algebraic theory of convolutional codes, in Handbook of Coding Theory, vol.
1, ed. by V. Pless, W.C. Huffman (Elsevier Science Publishers, Amsterdam, The Netherlands,
1998), pp. 1065–1138
16. D. Napp, R. Pinto, J. Rosenthal, P. Vettori, Rank metric convolutional codes, in Proceedings of
the 22nd International Symposium on Mathematical Theory of Network and Systems (MTNS)
(Minnesota, USA, 2016)
17. D. Napp, R. Pinto, V.R. Sidorenko, Concatenation of convolutional codes and rank metric
codes for multi-shot network coding. submitted to Des. Codes Cryptogr
18. D. Napp, R. Pinto, T. Toste, On MDS convolutional codes over Z pr (Designs, Codes and
Cryptography, 2016), pp. 1–14
19. R.W. Nóbrega, B.F. Uchoa-Filho, Multishot codes for network coding: Bounds and a multilevel
construction, in 2009 IEEE International Symposium on Information Theory (Seoul, South
Korea, 2009), pp. 428–432
20. R.W. Nóbrega, B.F. Uchoa-Filho, Multishot codes for network coding using rank-metric codes,
in Wireless Network Coding Conference (WiNC) (IEEE 2010), pp. 1–6
104 D. Napp and F. Santana
21. F. Pollara, R.J. McEliece, K. Abdel-Ghaffar, Finite-state codes. IEEE Trans. Inf. Theory 34(5),
1083–1089 (1988)
22. K. Prasad, B.S. Rajan, Network error correction for unit-delay, memory-free networks using
convolutional codes. in 2010 IEEE International Conference on Communications (ICC) (2010),
pp. 1 –6
23. J. Rosenthal, Connections between linear systems and convolutional codes, in Codes, Systems
and Graphical Models, IMA, vol. 123, ed. by B. Marcus, J. Rosenthal (Springer, 2001). pp.
39–66
24. J. Rosenthal, R. Smarandache, Maximum distance separable convolutional codes. Appl. Alge-
bra Eng. Comm. Comput. 10(1), 15–32 (1999)
25. J. Rosenthal, E.V. York, BCH convolutional codes. IEEE Trans. Autom. Control 45(6), 1833–
1844 (1999)
26. D. Silva, R. Kötter, F.R. Kschischang, A rank-metric approach to error control in random
network coding. IEEE Trans. Inf. Theory 54(9), 3951–3967 (2008)
27. V. Tomas, J. Rosenthal, R. Smarandache, Decoding of convolutional codes over the erasure
channel. IEEE Trans. Inf. Theory 58(1), 90–108 (2012)
28. A. Wachter-Zeh, M. Stinner, V. Sidorenko, Convolutional codes in rank metric with application
to random network coding. IEEE Trans. Inf. Theory 61(6), 3199–3213 (2015)
Part II
Finite Geometries and
Subspace Designs
Geometrical Aspects of Subspace Codes
Abstract Subspace codes are codes whose codewords are equal to subspaces of a
finite vector space V (n, q). Since the geometry of the subspaces of a finite vector
space V (n, q) is equivalent to the geometry of the subspaces of a projective space
PG(n − 1, q), problems on subspace codes can be investigated by using geometri-
cal arguments. Here, we illustrate this approach by showing some recent results on
subspace codes, obtained via geometrical arguments. We discuss upper bounds on
the sizes of subspace codes, by showing the link between the Johnson bound and
the size of partial spreads in finite projective spaces. We present geometrical con-
structions of subspace codes, and we also focus on subspace codes constructed from
Maximum Rank Distance (MRD) codes. Here, we also present geometrical links of
MRD codes to exterior sets of Segre varieties. Our aim is to motivate researchers on
subspace codes to also consider geometrical arguments when investigating problems
on subspace codes.
1 Introduction
The finite projective space PG(n − 1, q) of dimension n − 1 over the finite field Fq
of order q is constructed from the vector space V (n, q) of dimension n over the
finite field Fq of order q in the following way: an i-dimensional projective subspace
A. Cossidente (B)
Dipartimento di Matematica e Informatica, Università della Basilicata,
Contrada Macchia Romana, 85100 Potenza, Italy
e-mail: [email protected]
F. Pavese
Dipartimento di Meccanica, Matematica e Management, Politecnico di Bari, Via Orabona 4,
70125 Bari, Italy
e-mail: [email protected]
L. Storme
Department of Mathematics, Ghent University, Krijgslaan 281, 9000 Ghent, Belgium
e-mail: [email protected]
2 Preliminaries
Let Fq be the finite field of order q and let V (n, q) be the vector space of dimen-
sion n over Fq . The 1-dimensional subspaces of V (n, q) are called vector lines,
the 2-dimensional subspaces are called vector planes. The number of k-dimensional
subspaces of V (n, q) is the q-binomial coefficient
n (q n − 1)(q n−1 − 1) · · · (q n−k+1 − 1)
= .
k q (q k − 1)(q k−1 − 1) · · · (q − 1)
Geometrical Aspects of Subspace Codes 109
d(C ) := min{d(U, W ) | U, W ∈ C , U = W }.
To illustrate the close links between subspace codes and finite projective spaces,
we illustrate how the study of the Johnson bound immediately relates to the study
of a geometrical object in finite projective spaces, called a partial spread, which is
already investigated for many years in Galois geometries.
A (k − 1)-spread of PG(n − 1,q) exists if and only if n ≡ 0 (mod k). Then, the
size of a (k − 1)-spread is n1 q / k1 q .
Partial spreads are closely related to subspace codes. A (k − 1)-spread of PG(n −
1, q) is a maximal (n, M, 2k, k)-code of cardinality
n k
M = Aq (n, 2k, k) = / , when n ≡ 0 (mod k).
1 q 1 q
Theorem 1 ([6, 20]) Let n ≡ r (mod k), 0 ≤ r ≤ k − 1. Then for all q, we have
q n − q k (q r − 1) − 1
Aq (n, 2k, k) ≥ .
qk − 1
• s ≥ q − 1.
q 2r −t−1
• s > q 2−1 −
r
5
.
Geometrical Aspects of Subspace Codes 111
q n − q k (q r − 1) − 1
Aq (n, 2k, k) = ,
qk − 1
when r = 1.
For many years, it was conjectured that
q n − q k (q r − 1) − 1
Aq (n, 2k, k) = ,
qk − 1
qr − 1
k> ,
q −1
q n − q k (q r − 1) − 1
Aq (n, 2k, k) = .
qk − 1
Theorem 4 (Johnson bound [20]) The maximal size Aq (n, d, k) of an (n, M, d, k)-
code satisfies the upper bound
n
t−1 q
Aq (n, d, k) ≤ k Aq (n − k + d/2, d, d/2),
t−1 q
The main problem is whether there exist constant dimension codes meeting the
Johnson bound.
For d = 2k, this is the classical partial spreads problem, mentioned above. This
shows that a particular problem on subspace codes is completely equivalent to a
geometrical problem, already for decades of interest and of importance in Galois
geometries. This is one of the classical examples of the close links between the
theory of subspace codes and the theory of Galois geometries.
For more detailed information on partial spreads in finite projective spaces, we
refer to Chap. “Partial Spreads and Vector Space Partitions” of this Springer special
volume.
Rank distance codes were introduced by Delsarte [14] and are suitable for error
correction in the case where the network topology and the underlying network code
are known (the coherent case).
The set Mm×n (q) of m × n matrices over the finite field Fq forms a metric space
with respect to the rank distance, defined by
In [40], the authors introduced a method, called the lifting process, to construct
a constant dimension subspace code from a maximum rank distance code. Let A be
an m × n matrix over Fq , and let Im be the m × m identity matrix. The rows of the
m × (n + m) matrix (Im |A) can be viewed as coordinates of points in general position
of an (m − 1)–dimensional projective space of PG(n + m − 1, q). This subspace is
denoted by L(A). Hence, the matrix A can be lifted to a subspace L(A). Let C be
an (m, n, k)q MRD code, and let A1 and A2 be two distinct matrices of C . Since
r k(A1 − A2 ) ≥ d, we have that
Im A 1
rk = m + r k(A1 − A2 ) ≥ m + d.
Im A 2
Theorem 5 ([40])
Aq (n + m, 2d, m) ≥ q n(m−d+1) .
Although the size of a lifted MRD code equals the highest power of q in the
Johnson bound, it is known that it is not maximal and it can be extended to a larger
subspace code.
Several examples of linear (n, n, k)q MRD codes are known to exist (Gabidulin
codes [14, 22], twisted Gabidulin codes [39], generalized twisted Gabidulin
codes [35]).
to highlight this construction since it relies on many nice geometrical properties and
114 A. Cossidente et al.
results. This includes bundles of conics in a plane of PG(3, q), hyperbolic quadrics
in PG(3, q), and the Klein correspondence between the lines of PG(3, q) and the
Klein quadric Q + (5, q) of PG(5, q).
We now present the construction of a set of q 6 + 2q 2 + 2q + 1 planes in PG(5, q),
pairwise intersecting in at most one point, by Cossidente and Pavese. This leads to
the result
Theorem 6
q 6 + 2q 2 + 2q + 1 ≤ Aq (6, 4, 3) ≤ (q 3 + 1)2 .
The construction of Cossidente and Pavese uses the Klein correspondence between
lines of PG(3, q) and their Plücker coordinates on the Klein quadric Q + (5, q) in
PG(5, q) [24, Sect. 15.4].
We first present the hyperbolic quadric Q + (3, q) of PG(3, q). This is the quadric
with standard equation Q + (3, q) : X 0 X 2 − X 1 X 3 = 0.
This quadric contains two particular sets of q + 1 lines, which play a symmetrical
role, and which are called a regulus R and its opposite regulus R ⊥ .
Lines of a regulus are pairwise disjoint, while the lines of one regulus intersect
the lines of the opposite regulus in one point. Figure 1 presents a drawing of a 3-
dimensional hyperbolic quadric, with three lines of every regulus.
We now introduce the basic facts of the Klein correspondence which plays a
central role in the construction of Cossidente and Pavese [24].
Then the Plücker coordinates of the line are the 6-tuple ( p01 , p02 , p03 ,
p23 , p31 , p12 ).
Theorem 7 The 6-tuple ( p01 , p02 , p03 , p23 , p31 , p12 ) is Plücker coordinates of a
line of PG(3, q) if and only if
The set of points Q of PG(5, q), defined by the equation p01 p23 + p02 p31 +
p03 p12 = 0, is a hyperbolic quadric Q + (5, q) of PG(5, q), called the Klein quadric.
This hyperbolic quadric Q + (5, q) contains points, lines and planes. The planes of
the hyperbolic quadric Q + (5, q) are also called the generators of Q + (5, q). The link
with the corresponding sets of lines in PG(3, q) is defined in the following list [24,
Sect. 15.4].
These two polar planes π and π ⊥ are skew to each other in PG(5, q).
In the preceding description, we recognize already the fact that the set of planes
of the Klein quadric can be partitioned into two equivalence classes. Two planes of
the Klein quadric are called equivalent when they are equal or intersect in a point
[26, p. 20]. This definition leads to an equivalence relation on the set of planes of
the Klein quadric, having two distinct equivalence classes. They are in the preceding
description respectively the class of the Greek planes and the class of the Latin planes.
The equivalence classes of the generators of the Klein quadric are also sometimes
called the systems of generators.
116 A. Cossidente et al.
Let L be the set consisting of the q 3 planes obtained by lifting the matrices
of S . Then, the set (L \ L ) ∪ M consists of q 6 + q 2 + q + 1 planes mutually
intersecting in at most a point.
Corresponding to a line r of T , there corresponds a set Tr of q − 1 planes of
PG(5, q) meeting Q exactly in r . Varying the line r over the line set of T and
choosing one of the planes in Tr , we obtain a set T of q 2 + q + 1 planes mutually
intersecting in at most one point.
118 A. Cossidente et al.
Let C be a linear (4, 4, 3)q MRD code. Let L1 = {L(A) | A ∈ C } be the lifted
MRD code obtained by lifting the elements of C . Then L1 consists of q 12 solids
of PG(7, q) mutually intersecting in at most a line. In particular, members of L1
are disjoint from the special solid T = U4 , U5 , U6 , U7 and therefore every plane
covered by an element of L1 is disjoint from T . Moreover, from [27, Lemma 6],
every plane of PG(7, q) disjoint from T is covered by a member of L1 exactly once.
We denote by T the solid U0 , U1 , U2 , U3 . Since the zero matrix belongs to C , we
have that T ∈ L1 .
Let Cr ⊂ C be the set consisting of all the matrices of C having rank r , with
2 ≤ r ≤ 4. From [22], it is known that a linear (4, 4, 3)q MRD code contains (q 4 −
1)(q 2 + 1)(q 2 + q + 1) matrices of rank 2, (q 4 − 1)(q 2 + 1)(q + 1)(q 4 − q 2 − q)
matrices of rank 3, and (q 4 − 1)q 3 (q 5 − q 4 − q 3 + q + 1) matrices of rank 4.
Let A be an element of C2 . As in Sect. 3.2, the rows of the 4 × 8 matrix (A|I4 )
can be viewed as coordinates of points in general position of a solid, say L (A),
of PG(7, q). The solid L (A) is disjoint from T and meets T in a line. Let L2 =
{L (A) | A ∈ C2 } be the set of solids obtained from the elements of C2 . Then we
have that L1 ∪ L2 is a set of q 12 + (q 4 − 1)(q 2 + 1)(q 2 + q + 1) solids of PG(7, q)
mutually intersecting in at most a line.
Let S denote the set of q 6 4 × 4 skew–symmetric matrices over Fq . Here, for q
even, the diagonal elements of a 4 × 4–skew symmetric matrix are zeros. Since there
exists a linear (4, 4, 3)q MRD code containing S , we may assume that S ⊂ C , see
[10, Proposition 3.1].
Now, we introduce the non-degenerate hyperbolic quadric Q1 of PG(7, q) having
the following equation:
X 0 X 4 + X 1 X 5 + X 2 X 6 + X 3 X 7 = 0.
Here again, the solids (generators) of the hyperbolic quadric Q1 of PG(7, q) are
partitioned into two equivalence classes M1 and M1 [26]. Two generators Π1 and
Π2 are called equivalent when they are equal or intersect in a line. This relation is
again an equivalence relation, having two equivalence classes M1 and M1 on the set
of generators of the hyperbolic quadric Q1 of PG(7, q).
The solids T and T are generators of Q1 . They belong to the same system of
generators of Q1 , say M1 . Let D(X ) and I (X ) denote the set of generators in M1
disjoint from the solid X or meeting non–trivially X , respectively. Then
On the other hand, a solid L (A) in D(T ) is disjoint from T if and only if A
is a skew–symmetric matrix of rank 4. Therefore, the number of skew–symmetric
matrices of rank 4 is equal to |D(T ) ∩ D(T )|. It follows that
= q 6 − (q − 1)q 2 (q 3 − 1) = q 2 (q 3 + q − 1)
and
X 0 X 6 + X 1 X 7 + γ −1 (X 2 X 4 + X 3 X 5 + X 2 X 6 + X 3 X 7 ) = 0.
There exists a group H in the orthogonal group PGO+ (8, q), stabilizing Q1 , fixing
both T , T , their line–spreads D(T ), D(T ), and permuting in a single orbit the
remaining lines of T (respectively T ). Let ⊥ be the orthogonal polarity of PG(7, q)
associated with Q1 . If r is a line of T , then r ⊥ meets T in a line r . If r belongs
to DT , then r belongs to DT . Assume that r does not belong to DT . Of course, r
meets q + 1 lines l1 , . . . , lq+1
of DT and r meets q + 1 lines l1 , . . . , lq+1 of DT .
The group H contains a subgroup fixing the lines l1 , . . . , lq+1
and having q(q −
1)/2 orbits of size q − q on the lines of T distinct from l1 , . . . , lq+1 . Each one of
2
M = q 12 + q 2 (q 2 + 1)2 (q 2 + q + 1) + 1.
Corollary 2
Aq (8, 4, 4) ≥ q 12 + q 2 (q 2 + 1)2 (q 2 + q + 1) + 1.
Remark 3 The previous lower bound was obtained with different techniques in
[19], where the authors, among other interesting results, proved that q 12 + q 2 (q 2 +
1)2 (q 2 + q + 1) + 1 is also the maximum size of an (8, M, 4, 4)q –subspace code
containing a lifted MRD code.
Via geometrical arguments, it can be shown that Aq (5, 3) = 2(q 3 + 1). Here, a
(5, 2(q 3 + 1), 3)-code consists of subspaces of the vector space V (5, q), equiva-
lently, of subspaces of the projective space PG(4, q).
To give an idea which arguments are used to get geometrical insight in which
subspaces could be contained in a mixed-dimension (5, M, 3)-subspace code, we try
to see how the codewords of this code can intersect.
The vector space V (5, q) has four types of subspaces: vector lines, vector planes,
subspaces of dimension three, and subspaces of dimension four.
The formula for the subspace distance d(U, U ) = dim(U + U ) − dim(U ∩ U )
shows that a (5, M, 3)-subspace code with minimum distance 3:
1. cannot contain two vector lines, and cannot contain two subspaces of dimension
four,
2. two vector planes in the code should only intersect in the zero vector,
3. two subspaces of dimension three should only intersect in a vector line,
4. a vector line in the code cannot be contained in a vector plane or in a 3-dimensional
vector space belonging to the code, a vector plane in the code cannot be contained
in a 3-dimensional subspace or 4-dimensional subspace belonging to the code,
and a 3-dimensional subspace in the code cannot be contained in a 4-dimensional
subspace belonging to the code.
We now interpret these conditions in the geometrical setting, so we replace all
the codewords in the (5, 2(q 3 + 1), 3)-code by their geometrical equivalents in the
projective space PG(4, q).
Condition (2) implies that two projective lines belonging to the code are skew to
each other. Hence, the projective lines belonging to the (5, 2(q 3 + 1), 3)-code form
a partial line spread of PG(4, q).
From Theorem 2, the largest partial line spread of PG(4, q) has size q 3 + 1. So,
if C is an optimal (5, 3)q subspace code, then C contains at most q 3 + 1 pairwise
skew lines. A dual argument shows that C contains at most q 3 + 1 planes, and these
planes pairwise intersect in a projective point.
Hence, if C consists of projective lines and projective planes, we have that |C | ≤
2(q 3 + 1) and, if |C | = 2(q 3 + 1), then C consists of a set L of q 3 + 1 pairwise
skew lines and of a set P of q 3 + 1 planes mutually intersecting in exactly a point,
such that no line of L is contained in a plane of P.
Note that Condition (1) above states that C contains at most one point and, dually,
C contains at most one solid.
Counting arguments of [11] prove that if C contains a point, then C contains at
most q 3 planes. Dually, if C contains a solid, then C contains at most q 3 lines.
It follows from these arguments that Aq (5, 3) ≤ 2(q 3 + 1) and there are four
possibilities for the code C :
(I) C consists of one point, q 3 + 1 lines, and q 3 planes;
(II) C consists of q 3 lines, q 3 + 1 planes, and one solid;
122 A. Cossidente et al.
In [11, Remark 2.6], it is shown that minor changes can be made to the construc-
tion, to also construct optimal (5, Aq (5, 3), 3)-codes of type (I), (II), and (III).
In this context, we can make links to the Segre variety of PG(n 2 − 1, q) [13, 26].
The Segre map
In the case n = 3, the Segre variety S2,2 of PG(8, q) is defined to be the zero
locus of all quadratic polynomials given by the determinants of the 2 × 2 matrices
of the matrix ⎛ ⎞
x0 y0 x0 y1 x0 y2
⎝ x1 y0 x1 y1 x1 y2 ⎠ .
x2 y0 x2 y1 x2 y2
In other terms, in the projective space PG(Mn×n (q)), if n = 2, the Segre variety
S1,1 of PG(3, q) is represented by all 2 × 2 matrices of rank 1 and if n = 3, the
Segre variety S2,2 of PG(8, q) is represented by all 3 × 3 matrices of rank 1.
The following definition considers a set of points that at first sight is of purely
geometrical interest with respect to a Segre variety.
Definition 3 An exterior set with respect to a Segre variety Sn−1,n−1 of PG(n 2 −
1, q) is a set of points E of PG(n 2 − 1, q) \ Sn−1,n−1 of size (q n −n − 1)/(q − 1)
2
such that the line joining any two points of E is disjoint from Sn−1,n−1 .
But this definition and the previous observations give an immediate link with
maximum rank distance codes.
In general, an exterior set E of PG(n 2 − 1, q) with respect to a Segre variety
Sn−1,n−1 , of size (q n −n − 1)/(q − 1), gives rise to a MRD code: this is done by
2
identifying a point of E and its nonzero scalar multiples together with the zero matrix
with members of Mn×n (q). This is also the key tool of our approach. We formulate
this in the next proposition.
Proposition 1 An exterior set with respect to Sn−1,n−1 gives rise to an (n, n, n − 1)
MRD code closed under Fq –multiplication, and viceversa.
Corollary 3 An (n, n, n − 1) Fq -linear Gabidulin code G is a certain subspace X
of PG(n 2 − 1, q) of dimension n 2 − n − 1 which is an exterior set with respect to
Sn−1,n−1 .
The preceding corollary is of particular interest since the maximum dimension of
a subspace of PG(n 2 − 1, q) disjoint from Sn−1,n−1 is exactly n 2 − n − 1 [9].
planes through a fixed line skew to the hyperbolic quadric Q + (3, q). A maximal
exterior set (MES) with respect to the hyperbolic quadric Q + (3, q) is a set of q + 1
points of PG(3, q) such that the line joining any two of them has no point in common
with Q + (3, q). The polar planes, with respect to the polarity induced by Q + (3, q),
of the points of a MES, define a flock, and conversely.
In [41], J.A. Thas proved that all flocks of Q + (3, q) are linear if q is even, and
that Q + (3, q) has non–linear flocks (called Thas flocks) if q is odd. Furthermore, he
showed that, for q = 3, 7 and q ≡ 1 mod 4, Q + (3, q) has only (up to a projectivity)
the linear flock and the Thas flock. For q = 11, 23, 59, other flocks of Q + (3, q) were
discovered, called exceptional flocks [1, 3, 29]. Finally, the combined results of Bader
and Lunardon [2] and Thas [42] proved that every flock of Q + (3, q), q odd, is linear,
a Thas flock or one of the exceptional flocks.
The classification theorem is therefore as follows.
A very useful model of S2,2 arises from the geometry of the Desarguesian projective
plane π := PG(2, q 3 ). Indeed, each point P of PG(2, q 3 ), when read over Fq , defines
a projective plane X (P) of the projective space PG(8, q), and the set D = {X (P) :
P ∈ PG(2, q 3 )} is a Desarguesian spread of PG(8, q) [38, Sect. 25]. The incidence
structure π := (D, L ), whose points are the elements of D and whose line set
L consists of the 5–dimensional projective subspaces of PG(8, q) joining any two
distinct elements of D, is isomorphic to PG(2, q 3 ). The pair (D, L ) is called the
Fq -linear representation of PG(2, q 3 ) (with respect to the Desarguesian spread D).
Let X 0 , X 1 , X 2 denote projective homogeneous coordinates in π PG(2, q 3 ) and
let π̄ be a subplane of π of order q. Let G denote the stabilizer of π̄ in PGL(3, q 3 ).
Choose homogeneous coordinates in such a way that π̄ := {(1, x q+1 , x q ) : x ∈
Fq 3 \ {0}, N (x) = 1}, where N (·) is the norm function from Fq 3 over Fq . It turns
out that π̄ is fixed pointwise by the order three semilinear collineation of PG(2, q 3 )
q q q
given by φ : (X 0 , X 1 , X 2 ) → (X 2 , X 0 , X 1 ).
126 A. Cossidente et al.
Remark 4 The subgroup S fixes the three points E 1 = (1, 0, 0), E 2 = (0, 1, 0) and
E 3 = (0, 0, 1) of π , and hence the lines E i E j , 1 ≤ i < j ≤ 3. All the other orbits
are subplanes of order q of π . Note that the line E i E j is partitioned into the two
points E i and E j , and into q − 1 orbits of S of size q 2 + q + 1. The collineation
φ above normalizes S.
Of course, any line of π disjoint from π̄ gives rise to an exterior set with respect to
S2,2 and hence, from a coding theoretical point of view, a (3, 3, 2) Fq –linear MRD
code.
Now let q > 2 and consider the set X of points of π whose coordinates satisfy
q q+1
the equation X 0 X 1 − X 2 = 0. The set X has size q 3 + 1 and it is fixed by S.
Also, it contains q − 1 subplanes of order q, one of which is π̄ , and the points E 1
and E 2 . More precisely, the subplanes of order q embedded in X are the subsets of
points of π given by
Definition 4 ([4]) Let ∞ be a line of π disjoint from the subplane π̄. The exterior
splash of π̄ on ∞ is defined to be the set of q 2 + q + 1 points of ∞ that belong to
an extended line of π̄ .
Z a := {(1, x, 0) : x ∈ Fq 3 , N (x) = −a 2 }.
Such a set is a so-called Fq -linear set of pseudoregulus type. For further details on
these linear sets, see [16, 34, 36]. All these subplanes and splashes are of course
S-orbits.
Now, let T be the fundamental triangle E 1 E 2 E 3 of π . One can prove that a
line of π is either a side of T , or it contains a vertex of T , or it induces a subline
of a unique subplane of order q of π invariant under S. Consider now the set
K := (X \ {π1 }) ∪ Z 1 . It turns out that K is such that every line defined by any two
of its points is disjoint from π1 . Correspondingly, the set K corresponding to K in
PG(8, q), q > 2, is an exterior set of size (q 3 + 1)(q 2 + q + 1) with respect to the
Segre variety S2,2 corresponding to π1 .
In terms of coding theory, we have the following result.
Theorem 9 There exists a (3, 3, 2) MRD non-linear code admitting a Singer cyclic
group of PGL(3, q), q > 2, as an automorphism group.
Remark 6 When q = 2, some computer tests performed with MAGMA [8] give that
all subsets of PG(2, 8) yielding exterior sets with respect to a Segre variety S2,2 are
precisely the 24 lines disjoint from π̄ . When q = 2, no non-linear MRD codes arise
from our construction.
We also refer the readers to Chap. “Codes Endowed with the Rank Metric” of this
Springer special volume, dedicated to rank metric codes, and to Chap. “Constructions
of Cyclic Subspace Codes and Maximum Rank Distance Codes” of this special
volume on the construction of cyclic subspace codes and maximum rank distance
codes.
128 A. Cossidente et al.
References
1. L. Bader, Some new examples of flocks of Q + (3, q). Geom. Dedicata 27, 213–218 (1988)
2. L. Bader, G. Lunardon, On the flocks of Q + (3, q). Geom. Dedicata 29, 177–183 (1989)
3. R.D. Baker, G.L. Ebert, A nonlinear flock in the minkowski plane of order 11. Congr. Numer.
58, 75–81 (1987)
4. S.G. Barwick, W.-A. Jackson, Exterior splashes and linear sets of rank 3. Discret. Math. 339,
1613–1623 (2016)
5. A. Beutelspacher, Partial spreads in finite projective spaces and partial designs. Math. Z. 145,
211–229 (1975)
6. A. Beutelspacher, On t-covers in finite projective spaces. J. Geom. 12, 10–16 (1979)
7. J.M.N. Brown, Some partitions in Figueroa planes. Note Mat. 29, 33–43 (2009)
8. J. Cannon, C. Playoust, An introduction to MAGMA, University of Sydney, Sydney, Australia
(1993)
9. B.N. Cooperstein, External flats to varieties in P G(Mn,n (G F(q))). Linear Algebra Appl. 267,
175–186 (1997)
10. A. Cossidente, F. Pavese, Subspace codes in PG(2n − 1, q). Combinatorica (to appear). https://
doi.org/10.1007/s00493-016-3354-5
11. A. Cossidente, F. Pavese, L. Storme, Optimal subspace codes in PG(4, q) (In preparation)
12. A. Cossidente, F. Pavese, On subspace codes. Des. Codes Cryptogr. 78, 527–531 (2016)
13. A. Cossidente, G. Marino, F. Pavese, Non-linear maximum rank distance codes. Des. Codes
Cryptogr. 79, 597–609 (2016)
14. P. Delsarte, Bilinear forms over a finite field, with applications to coding theory. J. Combin.
Theory Ser. A 25, 226–241 (1978)
15. P. Dembowski, Finite Geometries (Springer, Berlin, 1968)
16. G. Donati, N. Durante, Scattered linear sets generated by collineations between pencils of lines.
J. Algebr. Combin. 40, 1121–1134 (2014)
17. J. Eisfeld, L. Storme, (Partial) t-spreads and minimal t-covers in finite projective spaces. Lecture
notes, Universiteit Gent (2000), http://cage.ugent.be/~fdc/courses/GGaGP2.php
18. S. El-Zanati, H. Jordon, G. Seelinger, P. Sissokho, L. Spence, The maximum size of a partial
3-spread in a finite vector space over GF(2). Des. Codes Cryptogr. 54, 101–107 (2010)
19. T. Etzion, N. Silberstein, Codes and designs related to lifted MRD codes. IEEE Trans. Inform.
Theory 59, 1004–1017 (2013)
20. T. Etzion, A. Vardy, Error-correcting codes in projective space. IEEE Trans. Inform. Theory
57, 1165–1173 (2011)
21. R. Figueroa, A family of not (V, l)-transitive projective planes of order q 3 ,
and q>2. Math. Z. 181, 471–479 (1982)
22. E.M. Gabidulin, Theory of codes with maximum rank distance. Probl. Inform. Trans. 21, 1–12
(1985)
23. C. Hering, H.-J. Schaffer, On the new projective planes of R. Figueroa, Combinatorial Theory,
vol. 969, Lecture Notes in Mathematics (Springer, Berlin, 1982), pp. 187–190
24. J.W.P. Hirschfeld, Finite Projective Spaces of Three Dimensions (Oxford University Press,
Oxford, 1985)
25. J.W.P. Hirschfeld, Projective Geometries Over Finite Fields, 2nd edn. (Oxford University Press,
Oxford, 1998)
26. J.W.P. Hirschfeld, J.A. Thas, General Galois Geometries (Oxford University Press, Oxford,
1991)
27. T. Honold, M. Kiermaier, S. Kurz, Optimal binary subspace codes of length 6, constant dimen-
sion 3 and minimum distance 4. Contemp. Math. 632, 157–176 (2015)
28. B. Huppert, Endliche Gruppen, I, Die Grundlehren der Mathematischen Wissenschaften, Band
134 (Springer, Berlin, 1967)
29. N.L. Johnson, Flocks of hyperbolic quadrics and translation planes admitting affine homologies.
J. Geom. 34, 50–73 (1989)
Geometrical Aspects of Subspace Codes 129
30. A. Klein, K. Metsch, L. Storme, Small maximal partial spreads in classical finite polar spaces.
Adv. Geom. 10, 379–402 (2010)
31. R. Kötter, F. Kschischang, Coding for errors and erasures in random network coding. IEEE
Trans. Inform. Theory 54, 3579–3591 (2008)
32. S. Kurz, Improved upper bound for partial spread. Des. Codes Cryptogr. 85, 97–106 (2017)
33. M. Lavrauw, G. Van de Voorde, Field reduction and linear sets in finite geometry. Contemp.
Math. 632, 271–293 (2015)
34. M. Lavrauw, C. Zanella, Subgeometries and linear sets on a projective line. Finite Fields Appl.
34, 95–106 (2015)
35. G. Lunardon, R. Trombetti, Y. Zhou, Generalized twisted Gabidulin codes, arXiv:1507.07855
36. G. Lunardon, G. Marino, O. Polverino, R. Trombetti, Maximum scattered linear sets of pseu-
doregulus type and the Segre Variety Sn,n . J. Algebr. Combin. 39, 807–831 (2014)
37. E. Nastase, P. Sissokho, The maximum size of a partial spread in a finite projective space.
J. Combin. Theory Ser. A 152, 353–362 (2017)
38. B. Segre, Teoria di Galois, fibrazioni proiettive e geometrie non desarguesiane. Ann. Mat. Pura
Appl. 64, 1–76 (1964)
39. J. Sheekey, A new family of linear maximum rank distance codes. Adv. Math. Commun. 10,
475–488 (2016)
40. D. Silva, F.R. Kschischang, R. Koetter, A rank-metric approach to error control in random
network coding. IEEE Trans. Inform. Theory 54, 3951–3967 (2008)
41. J.A. Thas, Flocks of non-singular ruled quadrics in PG(3, q). Atti Accad. Naz. Lincei Rend.
Cl. Sci. Fis. Mat. Natur. 59, 83–85 (1975)
42. J.A. Thas, Flocks, maximal exterior sets and inversive planes, Finite Geometries and Com-
binatorial Designs, vol. 111, Contemporary Mathematics (American Mathematical Society,
Providence, 1990), pp. 187–218
Partial Spreads and Vector Space Partitions
1 Introduction
Let Fq be the finite field with q elements, where q > 1 is a prime power. By Fqv we
denote the standard vector space of dimension v ≥ 1 over Fq , whose vectors are the
v-tuples x = (x1 , . . . , xv ) with xi ∈ Fq . The set of all subspaces of Fqv , ordered by
the incidence relation ⊆, is called (v − 1)-dimensional projective geometry over Fq
and denoted by PG(v − 1, Fq ). It forms a finite modular geometric lattice with meet
X ∧ Y = X ∩ Y , join X ∨ Y = X + Y , and rank function X → dim(X ). Employing
this algebraic notion of dimension instead of the geometric one, we will use the term
T. Honold
Zhejiang University, Hangzhou 310027, China
e-mail: [email protected]
M. Kiermaier · S. Kurz (B)
University of Bayreuth, 95440 Bayreuth, Germany
e-mail: [email protected]
M. Kiermaier
e-mail: [email protected]
© Springer International Publishing AG 2018 131
M. Greferath et al. (eds.), Network Coding and Subspace Designs,
Signals and Communication Technology,
https://doi.org/10.1007/978-3-319-70293-3_7
132 T. Honold et al.
which are polynomials of degree k(v − k) in q (if they are nonzero) and represent
q-analogues of the ordinary binomial coefficients in the sense that limq→1 kv q = kv .
Their most important combinatorial properties are described in [2, Sect. 3.3] and [66,
Chap. 24].
Making the connection with the main topic of this book, the geometry PG(v −
1, Fq ) serves as input and output alphabet of the so-called linear operator chan-
nel (LOC), a clever model for information transmission in coded packet networks
subject to noise [43].2 The relevant metrics on the LOC are given by the subspace dis-
tance dS (X, Y ) := dim(X + Y ) − dim(X ∩ Y ) = 2 · dim(X + Y ) − dim(X ) −
dim(Y ), which can also be seen as the graph-theoretic distance in the Hasse diagram
of PG(v − 1, Fq ), and the injection distance dI (X, Y ) := max {dim(X ), dim(Y )} −
dim(X ∩ Y ). A set C of subspaces of Fqv is called a subspace code and serves as a
channel code for the LOC in the same way as classical linear codes over Fq do for
the q-ary symmetric channel.3 The minimum (subspace) distance of C is given by
d = min{dS (X, Y ) | X, Y ∈ C , X = Y }. If all elements of C have the same dimen-
1 Using the algebraic dimension has certain advantages—for example, the existence criterion v =
tk for spreads (cf. Theorem 1) looks ugly when stated in terms of the geometric dimensions:
v
= t (k
− 1) + 1.
2 The use of distributed coding at the nodes of a packet-switched network, generally referred to as
Network Coding, is described in [27, 56, 70] and elsewhere in this volume.
3 Except that attention is usually restricted to “one-shot subspace codes”, i.e. subsets of the alphabet,
4 Note that the distance between codewords of the same dimension, and hence also the minimum
distance of a constant-dimension code, is an even integer.
5 In other words, partial spreads are just packings of the point set of a projective geometry
of v.
8 The subspace distance d (X, Y ) depends not only on dim(X ∩ Y ) but also on dim(X ) and dim(Y ),
S
which are not constant in this case.
134 T. Honold et al.
There is a vast amount of related work that we will not cover in this survey:
Partial spreads have also been studied for combinatorial designs and in polar spaces;
for the latter see, e.g., [5, 21]. In the special case v = 2k spreads can be used to
define translation planes and provide a rich source for constructing non-desarguesian
projective planes [41, 42, 51]. Also motivated by this geometric point-of-view, partial
k-spreads in Fq2k of size close to the maximum size (given by Theorem 1) have been
studied extensively. Most of this research has focused on partial spread replacements
and complete partial spreads, while we consider only partial spreads of maximum
cardinality and hence do not touch the case v = 2k (except for Theorem 1). The
classification of all (maximal) partial spreads up to isomorphism, see e.g. [55], is
also not treated here. Further, there is a steady stream of literature that characterizes
the existing types of vector space partitions in Fv2 for small dimensions v. Here,
we touch only briefly on some results that are independent of the ambient space
dimension v and refer to [30] otherwise.
The remaining part of this chapter is structured as follows. In Sect. 2 we review
some, mostly classical, bounds and constructions for partial spreads. After intro-
ducing the concept of q r -divisible sets and codes in Sect. 3, we are able to obtain
improved upper bounds for partial spreads in Theorems 9 and 10. Constructions for
q r -divisible sets are presented in Sect. 4, some non-existence results for q r -divisible
sets are presented in Sect. 5, and we close this survey with a collection of open
research problems in Sect. 6.
Counting points in Fqv and Fqk gives the obvious upper bound Aq (v, 2k; k) ≤
v k
/
1 q 1 q
= (q v − 1) / q k − 1 for the size of a partial k-spread in Fqv . Equality
corresponds to the case of spreads, for which a handy existence criterion is known
from the work of Segre in 1964.9
Theorem 1 ([62, Sect. VI], [17, p. 29]) Fqv contains a k-spread if and only if k is a
divisor of v.
Since qq k −1
v
−1
is an integer if and only if k divides v (an elementary number theory
exercise), only the constructive part needs to be shown. To this end we write v = kt
for a suitable integer t, take the ambient space V as the restriction (“field reduction”)
of (Fq k )t to Fq , which clearly has dimension v, and define the k-spread S in V /Fq as
the set of 1-subspaces of V /Fq k . That S is indeed a k-spread, is easily verified: Each
member of S has dimension k over Fq ; the members form a vector space partition
of
t V (this property does not depend on the particular field of scalars); and the size
q v −1
1 qk
= q k −1
of S is as required.10
9 Segre in turn built to some extent on work of André, who had earlier considered the special case
v = 2k in his seminal paper on translation planes [1].
10 Alternatively, the member of S containing a nonzero vector x is the k-subspace F x of V /F .
qk q
Partial Spreads and Vector Space Partitions 135
basis (1, x) of F9 /F3 and extending to F29 in the obvious way translates P into the
2-subspace of F43 with vectors
⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞
0 1 2 0 1 2 0 1 2
⎜0 ⎟ ⎜0 ⎟ ⎜ 0 ⎟ ⎜ 1 ⎟ ⎜ 1 ⎟ ⎜ 1 ⎟ ⎜ 2 ⎟ ⎜ 2 ⎟ ⎜ 2 ⎟
⎜ ⎟,⎜ ⎟,⎜ ⎟,⎜ ⎟,⎜ ⎟,⎜ ⎟,⎜ ⎟,⎜ ⎟,⎜ ⎟.
⎝0 ⎠ ⎝ 1 ⎠ ⎝ 2 ⎠ ⎝ 2 ⎠ ⎝0 ⎠ ⎝ 1 ⎠ ⎝ 1 ⎠ ⎝ 0 ⎠ ⎝ 2 ⎠
0 1 2 1 2 0 2 1 0
in Fqv . For this we will employ a special case of the echelon-Ferrers construction for
general subspace codes [24], which involves only standard maximum rank distance
codes of full row rank. More details on the echelon-Ferrers construction can be found
in Chapter “Constructions of Constant Dimension Codes”. For maximum rank dis-
tance codes see Chapters “Codes Endowed with the Rank Metric” and “Constructions
of Cyclic Subspace Codes and Maximum Rank Distance Codes”.
To this end, recall that every k-subspace X of Fqv is the row space of a unique
“generating” matrix A ∈ Fqk×v in reduced row-echelon form, which can be obtained
by applying the Gaussian elimination algorithm to an arbitrary generating matrix of
X . This matrix A is called canonical matrix of X , and is uniquely specified by its k
pivot columns 1 ≤ j1 < j2 < · · · < jk ≤ v (forming a k × k identity submatrix of A)
and the complementary submatrix B ∈ Fqk×(v−k) , which has zero entries in positions
(i, j) with j ≤ ji − i but otherwise can be arbitrary. The k-set { j1 , . . . , jk } will be
named pivot set of X . The positions of the unrestricted entries in B form the Ferrers
diagram of an integer partition, as shown in the following for the cases v = 8, k = 3,
(i 1 , i 2 , i 3 ) = (1, 2, 3), (2, 4, 7).
generally, this formula holds if X and X
have the same pivot set and B, B
∈ Fq
12 More k×(v−k)
denote the corresponding complementary submatrices in their canonical matrices; see e.g. [63,
Corollary 3].
Partial Spreads and Vector Space Partitions 137
Ik B
Proof The matrix generates X + X
and reduces via Gaussian elimina-
Ik B
Ik B
tion to . Hence dim(X + X
) = k + rk(B
− B) = k + dR (B, B
) and
0 B
− B
dS (X, X
) = 2 dim(X + X
) − 2k = 2 dR (B, B
).
The so-called lifting construction [64, Sect. IV.A] associates with a matrix code
B ⊆ Fqk×(v−k) the constant-dimension code C in Fqv whose codewords are the k-
spaces generated by (Ik |B), B ∈ B. By Lemma 2, the code C is isometric to B with
scale factor 2. In particular, C is a partial k-spread if and only if B has minimum
rank distance dR (B) = k.
Lemma 3 There exists a partial k-spread S of size q v−k in Fqv whose codewords
cover precisely the points outside the (v − k)-subspace S = {x ∈ Fqv ; x1 = x2 =
· · · = xk = 0}.
Proof Write n = v − k and consider a matrix representation M : Fq n → Fqn×n ,
obtained by expressing the multiplication maps μα : Fq n → Fq n , x → αx (which are
linear over Fq ) in terms of a fixed basis of Fq n /Fq . Then M(α + β) = M(α) + M(β),
M(αβ) = M(α)M(β), M(1) = In , and hence all matrices in M(Fq n ) are invertible
and have mutual rank distance n.13
Now let B ⊆ Fqk×n be the matrix code obtained from M(Fq n ) by deleting the last
n − k rows, say, of every matrix. Then #B = q n and dR (B) = k. Hence by applying
the lifting construction to B we obtain a partial k-spread S in Fqv of size q n = q v−k
(Lemma 2).
The codewords in S cover only points outside S (compare the proof of Lemma 1).
It remains to show that every such point is covered. This can be done by a counting
argument or in the following more direct fashion: Let a ∈ Fqk \ {0}, b ∈ Fqv−k be arbi-
trary vectors and consider the equation aX = b for X ∈ B. Since rk(X − X
) = k
for X = X
, the q v−k elements aX, X ∈ B, are distinct and hence account for
all elements in Fqv−k . Thus the equation has a solution B ∈ B, and the point
P = Fq (a|b) = Fq a(Ik |B) is covered by the codeword in S with canonical matrix
(Ik |B).
Now we are ready for the promised construction of large partial k-spreads.
Theorem 2 ([7]) Let v, k be positive integers satisfying v = tk + r , t ≥ 2 and 1 ≤
r ≤ k − 1. There exists a partial k-spread S in Fqv of size
t−1
t−1
#S = 1 + q v−sk = 1 + q sk+r ,
s=1 s=1
t−1
and hence we have Aq (v, 2k; k) ≥ 1 + s=1 q sk+r .
13 Inring-theoretic terms, the matrices in M(Fq n ) form a maximal subfield of the ring of n × n
matrices over Fq .
138 T. Honold et al.
α0 α1 α2 α3 α4 α5 α6 α0 α1
α0 1 0 0 1 0 1 1 1 0
M= 1 (2.3)
α 0 1 0 1 1 1 0 0 1
α2 0 0 1 0 1 1 1 0 0
The seven consecutive 3 × 3 submatrices of this matrix, which has been extended to
the right in order to mimic the cyclic wrap-around, form a matrix field isomorphic
to F8 (with 0 ∈ F3×3
2 added). Similarly, the code B ⊂ F2×3
2 is obtained by extracting
the first seven consecutive 3 × 2 submatrices, adding 0 ∈ F3×2
2 , and transposing; cf.
the proof of Lemma 3). Prepending the 2 × 2 identity matrix then gives the canonical
matrices of the 8 codewords of S1 :
10000 10100 10010 10001
, , , ,
01000 01010 01001 01110
10110 10011 10111 10101
, , , .
01011 01111 01101 01100
Finally, from the seven lines in the plane S = {x ∈ F52 ; x1 = x2 = 0} a 9th codeword
L 0 (moving line) is selected to form S = S1 ∪ {L 0 }.
14 Thespace S0 has been named moving subspace of S , since it can be freely “moved” within S
without affecting the partial spread property of S .
Partial Spreads and Vector Space Partitions 139
15 The full classification, including also partial line spreads of smaller size, can be found in [26].
To our best knowledge there is only one further nontrivial parameter case, where a classification of
maximal (proper) partial spreads is known, viz. the case of plane spreads in PG(6, F2 ), settled in
[38].
16 In this particular case one may also argue as follows: If # S = 10 then there is only one hole and
the hyperplane constraint becomes 3α + (10 − α) + h = 15, where h ∈ {0, 1}. This forces α = 2
and h = 1, i.e., every hyperplane should contain the hole. This is absurd, of course.
140 T. Honold et al.
2t−2
q (t−1)k+r − 1
t−1
1
t−2
1+ q sk+r
= tk+r q sk+2r
− q sk+r
−1
q tk+r − 1 s=1
q − 1 s=t s=1
2t−2
1
t−2
= tk+r q sk+2r
− q sk+r
+q −1
r
q − 1 s=t s=0
t−2
qr − 1
= q sk+r + .
s=0
q tk+r − 1
t−2
q tk+r −1 − q k − q (t−1)k+r + q r +k−1
=1+ q sk+r +
s=1
q k−1 − 1
t−1
q r +k−1 − q k
=1+ q sk+r +
s=1
q k−1 − 1
t−1
qr − q
=1+ q sk+r + q r − q +
s=1
q k−1 − 1
t−1
qr − q
= q sk+r − (q − 1) + ,
s=0
q k−1 − 1
valid now for any partial k-spread S in Fqv . Since the last summand is < 1, we obtain
the desired conclusion σ ≥ q − 1.
Theorem 3 has the following immediate corollary, established by Beutelspacher
in 1975, which settles the case r = 1 completely.
Corollary 1 ([Theorem 4.1]; see also [7, 36] for the special case q = 2) For
integers k ≥ 2 and v = tk + 1 with t ≥ 1 we have Aq (v, 2k; k) = 1 + t−1 s=1 q
sk+1 17
,
with corresponding deficiency σ = q − 1. 18
In particular, maximal partial line spreads in Fqv , v odd (the case where no line
spreads exist), have size q v−2 + q v−4 + · · · + q 3 + 1, deficiency q − 1, and q 2 holes.
q v−1 −1 q v −q k+1 +q k −1
17 This can also written as Aq (v, 2k; k) = q 1 · q k −1
−q +1= q k −1
.
18 The corresponding number of holes is q k .
Partial Spreads and Vector Space Partitions 141
In his original proof of the corollary Beutelspacher considered the set of holes
N and the average number of holes per hyperplane, which is less than the total
number of holes divided by q. An important insight was the relation #N ≡ #(H ∩ N )
(mod q k−1 ) for each hyperplane H , i.e., the number of holes per hyperplane satisfies
a certain modulo constraint. We will see this concept in full generality in Sect. 3.
In terms of integer linear programming, the upper bound is obtained by an integer
rounding cut. The construction in [7, Theorem 4.2] recursively uses arbitrary k
-
spreads, so that it is more general than the one of Theorem 2.
For a long time the best known upper bound on Aq (v, 2k; k), i.e., the best known
lower bound on σ , was the one obtained by Drake and Freeman in 1979:
The authors concluded from the existence of a partial spread the existence of
a (group-constructible) (s, r, μ)-net and applied [11, Theorem 1B]—a necessary
existence criterion formulated for orthogonal arrays of strength 2 by Bose and Bush
in 1952. The underlying proof technique can be further traced back to [60] and is
strongly related to the classical second-order Bonferroni Inequality [10, 25]; see also
[39, Sect. 2.5] for an application to bounds for subspace codes.
Given Theorem 1 and Corollary 1, the first open binary case is A2 (8, 6; 3). The
construction from Theorem 2 gives a partial spread of cardinality 33, while Theorem 4
implies an upper bound of 34. As already mentioned, in 2010 El-Zanati et al. [22]
found a sporadic partial plane spread in F82 of cardinality 34 by a computer search.
Together with the following easy lemma, this completely answers the situation for
partial plane spreads in Fv2 ; see Corollary 2 below.
Proof Let S be a maximal partial k-spread in Fqtk+r and σ its deficiency, so that
Aq (tk + r, 2k; k) = t−1 s=0 q
sk+r
− σ . We can embed S into Fq(t+1)k+r by prepending
k zeros to each codeword. Then Lemma 3 can be applied and yields a partial k-
spread S
in Fq(t+1)k+r of size q tk+r , whose codewords are disjoint from those in S .
This implies Aq ((t + 1)k + r, 2k; k) ≥ #S ∪ S
= ts=0 q sk+r − σ , and hence the
deficiency σ
of a maximal partial k-spread in Fq(t+1)k+r satisfies σ
≤ σ .
So, any improvement of the best known lower bound for a single parameter case
gives rise to an infinite series of improved lower bounds. Unfortunately, so far, the
sporadic construction in [22] is the only known example being strictly superior to
the general construction of Theorem 2.
k ≥tk+2
Theorem 5 ([46, Theorem 5]) For integers 4 and v = tk + 2 with t ≥ 1 we
= 2 2−3·2 −1 20
kt+2 k
have σ = 3 and A2 (kt + 2, 2k; k) = 1 + t−1
s=1 2 k −1 .
The technique used to prove this theorem is very similar to the one presented in
the proof of Theorem 3.
The currently most effective approach to good upper bounds for partial spreads
follows the original idea of Beutelspacher and considers the set of holes as a stand-
alone object. As it appears in the proof of Beutelspacher, the number of holes in a
where w denotes the Hamming weight, G = (g1 | . . . |gn ) ∈ Fqv×n a generating matrix
of C, a · b = a1 b1 + · · · + av bv , and a⊥ is the hyperplane in PG(v − 1, Fq ) with
equation a1 x1 + · · · + av xv = 0.
A linear code C is said to be Δ-divisible (Δ ∈ Z>1 ) if all nonzero codeword
weights are multiples of Δ. A lower bound on the cardinality of Δ-divisible point
sets in PG(v − 1, Fq ) has been given in [3]. Following the Gleason-Pierce-Ward
Theorem on the divisibility of self-dual codes (see, e.g., [40, Chap. 9.1]), a rich
theory of divisible codes has been developed over time, mostly by H. N. Ward; cf.
his survey [69]. One of Ward’s results implies that nontrivial weakly Δ-divisible point
sets in PG(v − 1, Fq ) are strongly Δ divisible and exist only in the case Δ = p f .
The proof uses the so-called standard equations for the hyperplane spectrum of C ,
which we state in the following lemma. The standard equations are equivalent to the
first three MacWilliams identities for the weight enumerators of C and C ⊥ (stated
as Equation (3.6) below), specialized to the case of projective linear codes. The
geometric formulation, however, seems more in line with the rest of the paper.
n
v
ai = , (3.2)
i=0
1 q
n
v−1
iai = n · , (3.3)
i=1
1 q
n
i n v−2
ai = · . (3.4)
i=2
2 2 1 q
In the proof of Theorem 7 we will need that (3.2) and (3.3) remain true for any multiset
C of points in PG(v − 1, Fq ), provided points are counted with their multiplicities
in C and the cardinality #C is defined in the obvious way. We will also need the
following concept of a quotient multiset. Let C be a set of points in PG(v − 1, Fq )
and X a subspace of Fqv . Define the multiset C / X of points in the quotient geometry
PG(Fqv / X ) by assigning to a point Y/ X of PG(Fqv / X ) (i.e., Y satisfies dim(Y/ X ) =
1) the difference #(C ∩ Y ) − #(C ∩ X ) = #(C ∩ Y \ X ) as multiplicity.25 With this
definition it is obvious that #(C / X ) = #C − #(C ∩ X ). In particular, if C is an n-set
and X = P is a point then #(C /P) = n − 1 or n, according to whether P ∈ C or
P∈ / C , respectively.26
24 The general (multiset) version of (3.4) has an additional summand of q v−2 · P∈P C 2(P) on
v−1
the right-hand side, accounting for the fact that “pairs of equal points” are contained in 1 q
hyperplanes.
25 This definition can be extended to multisets C by defining the multiplicity of Y/ X in C / X as the
v−1
q − 1 q v−1 − q
(u + iΔ)(au+iΔ − qau+iΔ )=n − = n.
i≥0
q −1 q −1
qv − 1 qv − q
n≡u (au+iΔ − qau+iΔ )=u − =u (mod Δ),
i≥0
q −1 q −1
q v−2 − 1
(u + iΔ)au+iΔ − (u − 1 + iΔ)au−1+iΔ = .
i≥0 i≥0
q −1
q v−2 − 1 q v−1 − 1
≡u au+iΔ − (u − 1) au−1+iΔ = (mod Δ)
q −1 i≥0 i≥0
q −1
Let us remark that Part (ii) of Theorem 7 also follows from [68, Theorem 3], which
asserts that a not necessarily projective code C satisfying the assumption of the
theorem must be either Δ-divisible or the juxtaposition of a Δ-divisible code and a
v-dimensional linear constant weight code. Since the latter is necessarily a repetition
27 It is not required that C is spanning; if it is not then (iii) sharpens to “Δ is a divisor of q dimC −2 ”.
146 T. Honold et al.
of simplex codes, this case does not occur for projective codes. Our proofs of (i),
(iii) use the very same ideas as in [68], translated into the geometric framework.28
Part (iii) of Theorem 7 says that exactly Δ-divisible point sets in PG(v − 1, Fq )
exist only if Δ = q r with r ∈ 1e Z and r ≤ v − 129 ; the whole point set P has Δ =
q v−1 , and v − 2 < r < v − 1 does not occur. Conversely, it is not difficult to see that
every divisor Δ > 1 of q v−2 is the largest divisor of some point set in PG(v − 1, Fq ).30
In the proof of Theorem 7 we have used that the (weak) divisibility properties of
C and its quotient multisets C / X are the same. Now we consider the restrictions
C ∩ X , which correspond to residual codes of the associated code C.
Lemma 7 Suppose that C is a q r -divisible set of points in PG(v − 1, Fq ) and X a
(v − j)-subspace of Fqv with 1 ≤ j < r . Then the restriction C ∩ X is q r − j -divisible.
Proof By induction, it suffices to consider the case j = 1, i.e., X = H is a hyperplane
in PG(v − 1, Fq ).
The hyperplanes of PG(H ) are the (v − 2)-subspaces of Fqv contained in H . Hence
the assertion is equivalent to #(C ∩ U ) ≡ #C = u (mod q r −1 ) for every (v − 2)-
subspace U ⊂ Fqv . By assumption we have #(C ∩ Hi ) ≡ u (mod q r ) for the q + 1
hyperplanes H1 , . . . , Hq+1 lying above U . This gives
q+1
(q + 1)u ≡ #(C ∩ Hi ) = q · #(C ∩ U ) + #C ≡ q · #(C ∩ U ) + u (mod q r )
i=1
28 Readers may have noticed that, curiously, the 3rd standard equation (which characterizes projec-
Theorem 8 explains our motivation for studying q r -divisible points sets in PG(v −
1, Fq ). Before delving deeper into this topic, we pause for a few example applications
to partial spreads, which may help advertising our approach.
First we consider the problem of improving the upper bound (2.1) for the size
r
−1
of a partial k-spread in PG(v − 1, Fq ). The bound is equivalent to #C ≥ qq−1 for
k−1
the corresponding hole sets, which are q -divisible by Theorem 8(ii). But the
smallest nontrivial q k−1 -divisible point sets in PG(v − 1, Fq ) are the k-subspaces
of Fqv , since these are associated to the constant-weight-q k−1 simplex code.31 Thus
k
−1 r
−1
#C ≥ qq−1 > qq−1 , and equality in (2.1) is not possible. Together with Theorem 2
this already gives the numbers A2 (tk + 1, 2k; k).
The preceding argument gives A2 (8, 6; 3) ≤ 35, and as a second application, we
now exclude the existence of a partial plane spread of size 35 in F82 . As already
mentioned, this also follows from the Drake-Freeman bound (Theorem 4) and forms
an important ingredient in the determination of the numbers A2 (v, 6; 3). The hole
set C of such a partial plane spread has size 28 − 1 − 35 · 7 = 10 and is 4-divisible,
i.e., it meets every hyperplane in 2 or 6 points.
We claim that dimC = 4. The inequality dimC ≥ 4 is immediate from #C =
10. The reverse inequality follows from the fact that the linear code C associated
with C is doubly-even, hence self-orthogonal, but cannot be self-dual.32
Given that dimC = 4, the existence of C is readily excluded using the standard
equations:
a2 + a6 = 15,
2 2 + 66a
2a 6 = 10
10· 7, (3.5)
a
2 2
+ a
2 6
= 2
· 3.
31 This follows, e.g., by applying the Griesmer bound to the associated linear code, which has
n−i
i
n− j n− j
A j = q k−i · A⊥j for 0 ≤ i ≤ n, (3.6)
j=0
i j=0
n − i
relate the weight distributions (Ai ), (Ai⊥ ) of the (primal) code C and the dual code
C ⊥ = {y ∈ Fqn ; x1 y1 + · · · + xn yn = 0 for all x ∈ C}. They can be solved for Ai (or
Ai⊥ ), resulting in linear relations whose coefficients are values of Krawtchouk poly-
nomials; see, e.g., [40, Chap 7.2] for details. In our case we have A⊥ ⊥
1 = A2 = 0,
⊥ ⊥
since C has minimum distance d ≥ 3, and the first three equations in (3.6) are
equivalent to the equations in Lemma 6.
Of course the Ai and the Ai⊥ in (3.6) have to be non-negative integers. Omitting the
integrality condition yields the so-called linear programming method, see e.g. [40,
Sect. 2.6], where the Ai and Ai⊥ are variables satisfying the mentioned constraints.35
Given some further constraints on the weights of the code and/or the dual code, one
may check whether the corresponding polyhedron contains non-negative rational
solutions. In general, this is a very powerful approach and was used to compute
bounds for codes with a given minimum distance; see [15, 52]. Here we consider a
subset of the MacWilliams identities and use analytical arguments.36
By considering the average number of points per hyperplane, we can guarantee
the existence of a hyperplane containing a relatively small number of points of C . If
this number is nonzero, Lemma 7 allows us to lower-bound #C by induction.37
Lemma 8 Suppose that C = ∅ in PG(v − 1, Fq ) is q r -divisible with #C = a ·
q r +1 + b for some a, b ∈ Z and y ∈ N0 with y ≡ (q − 1)b (mod q r +1 ). Then
there exists a hyperplane H such that #(C ∩ H ) ≤ (a − 1) · q r + b+y
q
∈ Z and
#(C ∩ H ) ≡ b (mod q r ).
Proof Set n = #C and choose a hyperplane H such that n
:= #(C ∩ H ) is minimal.
Then, by considering the average number of points per hyperplane, we have
1 v−1 v n b b+y
n
≤ v · #(C ∩ H
) = n · / < = a · qr + ≤ a · qr + .
1 q 1 q q q q
1 q hyperplane H
Since n
≡ b ≡ b+y
q
(mod q r ), this implies n
≤ (a − 1)q r + b+y
q
.
Note that the stated upper bound does not depend on the specific choice of a and
b, i.e., there is no need to take a non-negative or small b. Choosing y as small as
35 Typically, the Ai⊥ are removed from the formulation using the explicit formulas based on the
Krawtchouk polynomials, which may of course also be done automatically in the preprocessing
step of a customary linear programming solver.
36 The use of a special polynomial, like we will do, is well known in the context of the linear
bound on the size of partial spreads. Recently, Năstase and Sissokho used it in [59, Lemma 9]. In
coding theory it is well known in the context of the Griesmer bound. One may also interpret it as
an easy implication of the first two MacWilliams identities, see Lemma 20 and Corollary 9.
Partial Spreads and Vector Space Partitions 149
possible clearly gives the sharpest bound.38 If b ≥ 0, which one can always achieve
by suitably decreasing a, it is always possible to choose y = (q − 1)b. However,
for q = 3, r = 2, and #C = 1 · 33 + 16 = 43, i.e., a = 1 and b = 16, Lemma 8
with y = (2 − 1)16 = 16 provides the existence of a hyperplane H with n
= #(C ∩
H ) ≤ 0 · 32 + 16 = 16. Using y = 7 gives n
≤ 7 and n
≡ 7 (mod 32 ), so that n
=
7. Applying the argument again yields a subspace of co-dimension 2 containing
exactly one hole. Indeed, Equation (3.4) is needed additionally in order to exclude
the possibility of n
= 7, so that A3 (8, 6; 3) ≤ 248, i.e., σ ≥ 4, cf. Theorem 4 stating
the same bound.
Corollary 4 Suppose that C = ∅ in PG(v − 1, Fq ) is q r -divisible with #C = a ·
q r +1 + b for some a, b, y ∈ Z with y ≡ (q − 1)b (mod q r +1 ) and y ≥ 1. Further,
let g ∈ Q is the largest number with q g | y, and j ∈ Z satisfies 1 ≤ j < r + 1 −
max{0, g − 1}. Then there exists a (v − j)-subspace U such that #(C ∩ U ) ≤ (a −
b+[ j ] ·y
j) · q r +1− j + q1j q and #(C ∩ U ) ≡ b (mod q r +1− j ).
Proof In order to apply induction on j, using Lemmas 7 and 8, we need to ensure
n
> 0 in all but the last step. The latter holds due to pq g b.39
Choosing the same value of y in every step, in general is not the optimal way
to iteratively apply Lemma 8, even if y is chosen optimal for the first step. To this
end, consider a 33 -divisible set C ∈ PG(v − 1, F3 ) with #C = 31 · 34 + 49 = 2560,
which indeed exists as the disjoint union of 64 solids is an example. Here y = 17 with
y ≡ (3 − 1) · 49 (mod 34 ) is the optimal choice in Lemma 8, so that Corollary 4
guarantees the existence of a subspace U with co-dimension 3, #(C ∩ U ) ≤ (31 −
49+[31]3 ·17
3) · 34−3 + 33
= 94 and #(C ∩ U ) ≡ 49 ≡ 1 (mod 31 ). However, applying
Corollary 4 with j = 2 and y = 17 guarantees the existence of a subspace U
with co-
49+[21]3 ·17
dimension 2, #(C ∩ U
) ≤ (31 − 2) · 34−2 + 32
= 29 · 32 + 13 = 30 · 32 +
4 = 274, and #(C ∩ U ) ≡ 49 ≡ 4 (mod 9). Since C ∩ U
is 31 -divisible and 8 ≡
In the context of partial spreads or, more generally, vector space partitions another
parametrization using the number of non-hole elements of the vector space partition
turns out to be very useful in order to state a suitable formula for y. In what follows
we will say that a vector space partition P of Fqv has hole-type (t, s, m 1 ) if P has
m 1 holes (1-subspaces), 2 ≤ s ≤ t < v, and s ≤ dim(X ) ≤ t for all non-holes in P.
Additionally, we assume that there is at least one non-hole.
Corollary 5 Let P be a vector space partition of Fqv of hole-type (t, s, m 1 ), l, x ∈ N0
t
with i=s m i = lq s + x, and b, c ∈ Z with m 1 = bq s + c ≥ 1. If x ≥ 2 and g is the
So far, we can guarantee that some subspace contains not too many holes, since
the average number of holes per subspace would be too large otherwise. The modulo-
constraints captured in the definition of a q r -divisible set enable iterative rounding,
thereby sharpening the bounds. First we consider the special case of partial spreads,
and then we will derive some non-existence results for vector space partitions with
few holes.
We remark that, in the case of τq (c, Δ, m) = 0, their are either no holes at all or
the holes form an s-subspace. [11, Theorem 1.B] is quite similar to Lemma 10 and
its implications. The multipliers used in the proof can be directly read off from the
inverse matrix of ⎛ ⎞
1 1 1
A=⎝ a b c ⎠,
a 2 − a b2 − b c2 − c
which is given by
⎛ ⎞
bc(c − b) −(c + b − 1)(c − b) (c − b)
1 ⎝−ac(c − a)
A−1 = (c + a − 1)(c − a) −(c − a)⎠
(c − a)(c − b)(b − a) ab(b − a) −(b + a − 1)(b − a) (b − a)
40 If we relax ≥ 0-inequalities by adding some auxiliary variable on the left hand side and the
minimization of this variable, we can remove the infeasibility, so that we apply the duality theorem
of linear programming. Then, the mentioned multipliers for the inequalities are given as the solution
values of the dual problem.
152 T. Honold et al.
c/Δ
the form h=0 (m − h)(m − h − 1)ac−hΔ = β, where the ai and their coefficients
are non-negative. The use of the underlying quadratic polynomial is well known and
frequently applied in the literature; see the remarks after Theorem 4.
Lemma 11 For integers v > k ≥ s ≥ 2 and 1 ≤ i ≤ s − 1, there exists no vector
space partition P of Fqv of hole-type (k, s, c), where c = i · q s − 1s q + s − 1.41
Proof Since we have c < 0 for i ≤ 0, we can assume i ≥ 1 in the following. Let,
to the contrary, P be such a vector space partition and apply Lemma 10 with m =
i(q − 1) onto P. We compute τq (c, q s−1 , m) = (m − 1 − a) q s + a(a + 1) using
c(q − 1) = q s (m − 1) + a, where a := 1 + (s − 1)(q − 1). Setting i = s − 1 − y,
we have 0 ≤ y ≤ s − 2 and τq (c, q s−1 , m) = −q s (y(q − 1) + 2) + (s − 1)2 q 2 −
q(s − 1)(2s − 5) + (s − 2)(s − 3). If q = 2, then y ≥ 0 and s ≥ 2 yields
τ2 (c, 2s−1 , m) = −2s (y + 2) + s 2 + s ≤ s 2 − s − 2s + 2s − 2s < 0.
41 For more general non-existence results of vector space partitions see e.g. [29, Theorem 1] and the
related literature. Actually, we do not need the assumption of an underlying vector space partition
of the mentioned type. The result is generally true for q s−1 -divisible codes, since the parameter x
is just a nice technical short-cut to ease the notation.
Partial Spreads and Vector Space Partitions 153
∂τ (c,Δ,m)
42 Solving q ∂m = 0, i.e., minimizing τq (c, Δ, m), yields m = i(q − 1) − (x − 1) + 21 +
x−1
qy . For y ≥ r we can assume x − 1 < q y due to Theorem 2, so that up-rounding yields the
optimum integer choice. For y < r the interval λ + 21 − 21 θ(i), λ + 21 + 21 θ(i) may contain no
integer.
154 T. Honold et al.
q 2r −k q 2r −k
2q k − q r − < 1 + 4q k (q k − q r ) ≤ 2q k − q r − ,
b b
√
where b = 3+2 2
2
> 2.91 and b = 16
3
< 5.34.
Proof Due to q ≥ 2 and k ≥ r + 1 ≥ 2, we have
≥0
"
#$ %
4 2 1
1 + 4q k (q k − q r ) > 4q k (q k − q r ) − q 2r · −1− − 2 2
b bq b q
2
4 2r 2 3r −k 1 4r −2k q 2r −k
≥ 4q (q − q ) − q + q + q
k k r 2r
+ 2q = 2q − q −
k r
.
b b b b
2r−k 2
Similarly, 1+4q k (q k −q r ) ≤ 4q k (q k −q r ) − q 2r · 4
b
− 1 ≤ 2q k −q r − q b .
Corollary 6 For integers 1 ≤ r < k and t ≥ 2 we have Aq (kt + r, 2k; k) < lq k +
qr q 2r −k (t−1)k+r
−q r
2
+ 21 + 3+2 √ , where l = q
2 q k −1
. If k ≥ 2r , then Aq (kt + r, 2k; k) < lq k +
qr
1+ 2
.
r
Corollary 7 For integers r ≥ 1, t ≥ 2, and u, z ≥ 0 with k = 1 q
+1−z+u >r
q v−k −q r
we have Aq (v, 2k; k) ≤ lq + 1 + z(q − 1), where l =
k
and v = kt + r .
q k −1
Proof Using Corollary 6, we can remove the upper bound z ≤ r1 q /2 from The-
orem 9. If z > r1 q /2, then z ≥ r1 q /2 + 1/2, so that Aq (v, 2k; k) < lq k + 1 +
qr q r −1
2
≤ lq k + 1 + 2
+ q−1
2
≤ lq k + 1 + z(q − 1) for k ≥ 2r . Thus, we can assume
43 For2 ≤ q ≤ 9, 1 ≤ v, k ≤ 100 the bounds of [58, Theorem 6,7] are covered by Theorem 10 and
Corollary 7. In many cases the bounds coincide.
Partial Spreads and Vector Space Partitions 155
r + 1 ≤ k ≤ 2r − 1 and r ≥ 2. With this, we have z ≥ r1 q − 2(r − 1) and lq k +
1 + z(q − 1) ≥ lq k + q r − 2(q − 1)(r − 1). It remains to show lq k + q r − 2(q −
r
q 2r −k r r −1 r −1
1)(r − 1) ≥ lq k + q2 + 21 + 3+2 √ ≥ lq k + q + 1 + q √ , i.e., q r ≥ 1 + 2q √
2 2 2 3+2 2 3+2 2
+ 4(q − 1)(r − 1). The latter inequality is valid for all pairs (r, q) except (2, 2),
(2, 3), and (3, 2). In those cases it can be verified directly that lq k + 1 + z(q − 1) is
not strictly less than the upper bound of Theorem 4. Indeed, both bounds coincide.
We remark that the first part of Corollary 6 can be written as σ ≥ q 2−1 −
r
2r −k
q √
3+2 2
. Unfortunately, Theorem 10 is not capable to obtain σ ≥ (q r − 1)/2. For
A2 (17, 12; 6), i.e., q = 2 and r = 5, it gives σ ≥ 13 while (q r − 1)/2 = 15. In
Lemma 23 we give a cubic analog to Lemma 10, which yields σ ≥ 14 for these
parameters.
First note that we can embed every Δ-divisible point set C in PG(v − 1, Fq ) into
ambient spaces with dimension larger than v and, conversely, replace Fqv by the span
C without destroying the Δ-divisibility. Since in this sense v is not determined by
C , we will refer to C as a Δ-divisible point set over Fq . In the sequel we develop
a few basic constructions of q r -divisible sets. For the statement of the first lemma
recall our convention that subspaces of Fqv are identified with subsets of the point set
P of PG(v − 1, Fq ).
Lemma 13 Every k-subspace C of PG(v − 1, Fq ) with k ≥ 2 is q k−1 -divisible.
Proof By the preceding remark we may assume k = v and hence C = P. In this
case the result is clear, since #P − # H = q v−1 for each hyperplane H .
In fact a k-subspace of Fqv is associated to the k-dimensional simplex code over Fq
and Lemma 13 is well-known.
For a point set C in PG(v − 1, Fq ) we denote by χC its characteristic function,
i.e., χC : P → {0, 1} ⊂ Z with χC (P) = 1 if and only if P ∈ C .
Lemma 14 Let Ci be Δi -divisible point
m sets in PG(v − 1, Fq ) and ai ∈ Z for
1 ≤ i ≤ m. If C ⊆ P satisfies χC = i=1 ai χC i then C is gcd(a1 Δ1 , . . . , am Δm )-
divisible.
m m
Proof We have #C = i=1 ai · #Ci and #(C ∩ H ) = i=1 ai · #(Ci ∩ H ) for each
hyperplane H . Since #(Ci ∩ H ) ≡ #Ci (mod Δi ), the result follows.
Lemma 14 shows in particular that the union of mutually disjoint q r -divisible sets is
again q r -divisible. Another (well-known) corollary is the following, which expresses
the divisibility properties of the MacDonald codes.44
44 The generalization to more than one “removed” subspace is also quite obvious and expresses the
divisibility properties of optimal linear codes of type BV in the projective case [4, 35, 50].
156 T. Honold et al.
Proof Embed the point sets C1 , C2 in the obvious way into PG(Fqv1 × Fqv2 ) ∼
=
PG(v1 + v2 − 1, Fq ), and take C as their union.
Let us note that the embedding dimension v in Lemma 15 is usually not the smallest
possible, and the isomorphism type of C is usually not determined by C1 and C2 .45
In analogy to the Frobenius Coin Problem, cf. [8, 13, 28], we define F(q, r ) as the
smallest positive integer such that a q r -divisible set over Fq (i.e., with some ambient
space Fqv ) with cardinality n exists for all integers n > F(q, r ). Using Lemma 13,
Corollary 8, and Lemma 15, we conclude that F(q, r ) ≤ r +1 · q r +1 − r +1 −
r +1
r +1 1 q
r +1
1 q
q , the largest integer not representable as a1 1 q + a2 q with a1 , a2 ∈ Z≥0 .46
2r +1 i r
The bound may also be stated as F(q, r ) ≤ i=r +2 q − i=0 q i .
As the disjoint union of q r -divisible sets is again q r -divisible, one obtains a wealth
of constructions. Consequently, the q r -divisible point sets not arising in this way are
of particular interest. They are called indecomposable.
The next construction uses the concept of a “sunflower” of subspaces, which
forms the q-analogue of the Δ-systems, or sunflowers, considered in extremal set
theory [23].47
Definition 2 Let X be a subspace of Fqv and t ≥ 2 an integer. A t-sunflower in
Fqv with center X is a set {Y1 , . . . , Yt } of subspaces of Fqv satisfying Yi = X and
Yi ∩ Y j = X for i = j. The point sets Yi \ X i are called petals of the sunflower.
Lemma 16 (i) The union of the petals of a q-sunflower in Fqv with r -dimensional
center forms a q r -divisible point set.
(ii) The union of the petals and the center of a q + 1-sunflower in Fqv with r -
dimensional center forms a q r -divisible point set.
q
Proof (i) Let F = {Y1 , . . . , Yq } and C = i=1 (Yi \ X i ) = F \ X . We have
q
χC = i=1 χYi − qχ X . Since dim(Yi ) ≥ r + 1, Yi is q r -divisible, and so is qχ X .
Hence, by Lemma 14, C is q r -divisible as well.
(ii) follows from (i) by adding one further space Yq+1 to F .
45 Ifnot both C1 and C2 are subspaces, then disjoint embeddings into a geometry PG(v − 1, Fq )
with v < dimC1 + dimC2 exist as well.
46 Note that gcd r +1 , q r +1 = 1 and recall the solution of the ordinary Frobenius Coin Problem.
1 q
47 Our sunflowers need not have constant dimension, however.
Partial Spreads and Vector Space Partitions 157
#Ci is as asserted.
Proof Embed Fqv into Fqv+s as Y and consider a cone K in PG(v + s − 1, Fq ) with
base B and s-dimensional vertex X . The hyperplanes H ⊇ X satisfy #(K \ H ) =
q s · #(K \ H ) ≡ 0 (mod q r +s ). The hyperplanes H X intersect X + P, P ∈ B,
s
in an s-subspace = X , hence contain s−1 q
= points in X and q s−1 points in K \ X .
It follows that #(K \ H ) = q s−1 + m(q s − q s−1 ) = (1 + m(q − 1))q s−1 . Thus in
Case (ii) we can take C = K and in Case (i) we can take C = K \ X .48
multiple of q are q r -divisible [69, Proposition 13].49 Optimal codes of lengths strictly
above the Griesmer bound tend to have similar divisibility properties; see, e.g., Best
Known Linear Codes in Magma.
The last interval is non-empty, i.e., the radicand is non-negative if and only if m ≤
(qΔ + 2)/4. We have τq (u, Δ, 1) = 0 if and only if u = (Δq − 1)/(q − 1) or
u = 0.
Proof Solving τq (c, Δ, m) = 0 for c yields the boundaries for c stated in (5.1)).
Inside this interval we have τq (c, Δ, m) ≤ 0. Now, q 2 Δ2 − 4qmΔ + 2qΔ + 1 ≥ 0
is equivalent to m ≤ qΔ4
+ 21 + 4qΔ1
. Rounding downward the right-hand side, while
observing 4qΔ < 4 , yields (qΔ + 2)/4.
1 1
49 In the case q = p, and in general for codes of type BV, such codes are even q e -divisible, where
qe is the largest power of p dividing the minimum distance [67, Theorem 1 and Proposition 2].
Partial Spreads and Vector Space Partitions 159
&√ '
Lemma 22 For 1 ≤ m ≤ (q − 1)qΔ − q + 23 , we have (q − 1)n − (m − 1/2)
Δq + 21 ≤ 21 · q 2 Δ2 − 4qmΔ + 2qΔ + 1, where n = m · r +1 1 q
− 1 and Δ = q r .
Proof Plugging in yields 21 · (qΔ + 3 − 2m − 2q) ≤ 21 q 2 Δ2 − (4m − 2)qΔ + 1,
√
so that squaring and simplifying gives m ≤ (q − 1)qΔ + 1/4 − q + 23 .
Theorem 11 Let C in PG(v − 1, Fq ) be q 1 -divisible with 2 ≤ n = #C ≤ q 2 , then
either n = q 2 or q + 1 divides n.
Proof First we show n ∈ / [(m − 1)(q + 1) + 2, m(q + 1) − 1] for 1 ≤ m ≤ q −
1. For m = 1 this statement follows from Lemmas 21 and 10. For m ≥ 2 let
(m − 1)(q + 1) + 2 ≤ n ≤ m(q + 1) − 1. Due to Lemma 10 it suffices to verify
τq (n, q, m) ≤ 0. From n ≥ (m − 1)(q + 1) + 2 we conclude
1 1 1
(q − 1)n − (m − 1/2)Δq + ≥ − · q 2 − 4q + 1 + 2m ≥ − · q 2 − 2m − 3
2 2 2
( (
1 1
≥ − · q − 4mq + 2q + 1 = − · q Δ − 4qmΔ + 2qΔ + 1
4 2 2 2 2
2 2
1 1 1 (
(q −1)n − (m −1/2)Δq + ≤ · q 2 −2m −2q +3 ≤ · q 2 Δ2 −4qmΔ+2qΔ+1.
2 2 2
1 1
(q − 1)n − (m − 1/2)Δq + ≥ − · (Δq)2 − (4m − 2)Δq + 1,
2 2
r +1 to Δq + 2m − 3 − 2(q − 1)x
which can be simplified ≤ (Δq)2 − (4m − 2)Δq + 1
using n = (m − 1) 1 q + x. Since (q − 1)x ≥ q − 1 and m ≤ r (q − 1) it suf-
r
fices to show
− Δ2 + 2rqΔ − 2r Δ − Δ − r + r 2 q − r 2 ≤ 0. (5.2)
Theorem 13 (i) 21 -divisible sets over F2 of cardinality n exist for all n ≥ 3 and
do not exist for n ∈ {1, 2}; in particular, F(2, 1) = 2.
(ii) 22 -divisible sets over F2 of cardinality n exist for n ∈ {7, 8} and all n ≥ 14,
and do not exist in all other cases; in particular, F(2, 2) = 13.
(iii) 23 -divisible sets over F2 of cardinality n exist for n ∈ {15, 16, 30, 31, 32, 45, 46,
47, 48, 49, 50, 51}, for all n ≥ 60, and possibly for n = 59; in all other cases
they do not exist; thus F(2, 3) ∈ {58, 59}.
Proof (i) The non-existence for n ∈ {1, 2} is obvious. Existence for n ≥ 3 can be
shown by taking C as a projective basis in PG(n − 2, Fq ). The corresponding code
C is the binary [n, n − 1, 2] even-weight code.
Partial Spreads and Vector Space Partitions 161
(ii) The non-existence part follows from Theorem 12. Existence for n ∈ {7, 8} is
shown by the [7, 3, 4] simplex code and its dual (the [8, 4, 4] extended Hamming
code). These two examples and Lemma 15 in turn yield examples of 4-divisible point
sets for n ∈ {14, 15, 16}.50 For n ∈ {17, 18, 19, 20} Lemma 17 provides examples.51
Together these represent all arithmetic progressions modulo 7, showing existence for
n > 20.
(iii) Existence of 8-divisible sets for the indicated cases with n ≤ 48 is shown
in the same way as in (ii). Examples for n = 49, n = 50, and n = 74 were found
by computer search; we refer to [31] for generator matrices of the corresponding
8-divisible codes. The binary irreducible cyclic [51, 8] code, which is a two-weight
code with nonzero weights 24 and 32 (see, e.g., [54]), provides an example for
n = 51.52
For n ∈ {63, . . . , 72} Lemma 17 provides examples. For n = 73, a suitable exam-
ple is given by the projective [73, 9] two-weight code with non-zero weights 32 and
40 in [44]. Together with the mentioned example for n = 74 these represent all
arithmetic progressions modulo 15, showing existence for n > 74.
The non-existence part follows for n ≤ 48 from Theorem 12 and for 53 ≤ n ≤
58 from Lemma 10 with m = 4. It remains to exclude an 8-divisible point set in
PG(v − 1, Fq ) with #C = 52. For this we will use a variant of the linear programming
method, which treats different ambient space dimensions simultaneously. Since C
is in particular 4-divisible, we conclude from Lemma 7 and Part (ii) that there are no
4- or 12-hyperplanes, i.e., A40 = A48 = 0. Using the parametrization y = 2v−3 , the
first four MacWilliams identities for the associated code C are
Substituting x = y A⊥3 and solving for A8 , A16 , A24 , A32 yields A8 = −4 + 512 x +
1
7
64
y, A16 = 6 − 512
3
x − 64
17
y, A24 = −4 + 5123
x + 397
64
y, and A32 = 1 − 512
1
x + 125
64
y.
Since A16 , x ≥ 0, we have y ≤ 17 < 23. On the other hand, since 3A8 + A16 ≥ 0,
384
we also have −6 + 16 y
≥ 0, i.e., y ≥ 96—a contradiction.
50 The three examples are realized in dimensions 6, 7 and 8, respectively. Alternative solutions for
n ∈ {15, 16}, having smaller ambient space dimensions, are the [15, 4, 8] simplex code and the
[16, 5, 8] first-order Reed-Muller code.
51 These examples can be realized in F6 for n ∈ {17, 18} and in F7 for n ∈ {19, 20}.
2 2
52 It might look tempting to construct a projective 8-divisible binary code of length 50 by shortening
such a code C of length 51. However, this does not work: By Lemma 24, C is the concatenation
of an ovoid in PG(3, F4 ) with the binary [3, 2] simplex code. By construction, the corresponding
8-divisible point set C is the disjoint union of 17 lines. In particular, each point of C is contained
in a line in C . Consequently, shortening C in any coordinate never gives a projective code.
162 T. Honold et al.
Lemma
23 Let C be Δ-divisible over Fq of cardinality n > 0 and t ∈ Z. Then
i≥1 Δ 2
(i − t)(i − t − 1) · (g1 · i + g0 ) · AiΔ + qhx = n(q − 1)(n − tΔ)
(n − (t + 1)Δ)g2 , where g1 = Δqh, g0 = −n(q − 1)g2 , g2 = h − (2Δqt+
Δq − 2nq + 2n + q − 2) and h = Δ2 q 2 t 2 + Δ2 q 2 t − 2Δnq 2 t − Δnq 2 + 2Δnqt
+ n 2 q 2 + Δnq − 2n 2 q + n 2 + nq − n.
Corollary 10 If there exists t ∈ Z, using the notation of Lemma 23, with n/Δ ∈ /
[t, t +1], h ≥ 0, and g2 < 0, then there is no Δ-divisible set over Fq of cardinality n.
Proof With the notation k = dim(C) and y = 2k−3 , solving the equation system
of the first three MacWilliams equations yields A0 = 1, A16 = −6 − 3A8 + 16 3
y,
A24 = 8 + 3A8 + 8 y, and A32 = −3 − A8 + 16 y. Since A16 ≥ 0, we have y ≥ 32
49 27
and hence k ≥ 8. Plugging the stated equations into the fourth MacWilliams equation
y A⊥ 3y A⊥
and solving for A8 gives A8 = 5123 + 47y 512
− 4 and A16 = 6 − 5123 − 45y 512
. Since
A16 ≥ 0 and y A⊥ 3 ≥ 0, we have 6 − 45y
512
≥ 0, so that y ≤ 68 + 4
15
and therefore
k ≤ 9.
53 Consequently, for all t ≥ 2 the upper bound for A2 (4t + 3, 8; 4) is tightened by one; cf. Lemma 4.
Partial Spreads and Vector Space Partitions 163
In this closing section we have collected some open research problems within the
scope of this article. All of them presumably are accessible using the theoreti-
cal framework of q r -divisible sets. Considerably more challenging is the question
whether similar methods can be developed for arbitrary constant-dimension codes in
place of of partial spreads (or vector space partitions). We only mention the following
example: The proof of A2 (6, 4; 3) = 77 still depends on extensive computer calcula-
tions providing the upper bound A2 (6, 4; 3) ≤ 77 [37]. The known theoretical upper
bound of 81 may be sharpened to 77 (along the lines of [57]), if only the existence
of a (6, 81, 4; 3)2 code can be excluded. The 81 planes in such a code would form
an exact 9-cover of the line set of PG(5, F2 ).
The only known cases in which the construction of Theorem 2 has been surpassed are
derived from the sporadic example of a partial 3-spread of cardinality 34 in F82 [22],
which has 17 holes and can be used to show A2 (3m + 2, 6; 3) ≥ (23m+2 − 18)/7
by adding m − 2 layers of lifted MRD codes; cf. Lemma 4 and Corollary 2. A first
step towards the understanding of the sporadic example is the classification of all
22 -divisible point sets of cardinality 17 in PG(k − 1, F2 ). It turns out that there are
exactly 3 isomorphism types, one configuration Hk for each dimension k ∈ {6, 7, 8}.
Generating matrices for the corresponding doubly-even codes are
164 T. Honold et al.
⎛ ⎞
⎛ ⎞ 10000000111011110
⎛ ⎞ 10000011110100110
10000110010101110 ⎜ 01000000010110000 ⎟
⎜ 01000001111111000 ⎟ ⎜ ⎟
⎜ 01000010111011100 ⎟ ⎜ ⎟ ⎜ 00100000011100000 ⎟
⎜ ⎟ ⎜ 00100010000110000 ⎟ ⎜ ⎟
⎜ 00100100000011000 ⎟ ⎜ ⎟ ⎜ 00010000001110000 ⎟
⎜ ⎟, ⎜ 00010010000101000 ⎟ , ⎜ ⎟. (6.1)
⎜ 00010111001110100 ⎟ ⎜ ⎟ ⎜ 00001001100000010 ⎟
⎝ 00001001100111110 ⎠ ⎜ 00001001001000100 ⎟ ⎜ ⎟
⎝ 00000101001000010 ⎠ ⎜ 00000101000001010 ⎟
00000011100111011 ⎝ 00000011000000110 ⎠
00000010101011111
00000001111011101
While the classification, so far, is based on computer calculations,54 one can easily
see that there are exactly three solutions of the MacWilliams identities.
Lemma 25 Let C be a 22 -divisible point set over F2 of cardinality 17. Then k =
dimC ∈ {6, 7, 8}, and the solutions of the MacWilliams identities are unique for
each k: (k; a5 , a9 , a13 ; A⊥
3 ) = (6; 12, 49, 2; 6), (7; 25, 95, 7; 2), (8; 51, 187, 17; 0).
54 See http://www.rlmiller.org/de_codes and [19] for the classification of, possibly non-projective,
doubly-even codes over Fv2 .
55 Alternatively, the 4th MacWilliams identity yields 64 − 2k−2 = 2k−3 · A⊥ and hence k ≤ 8.
3
56 624 non-isomorphic examples can be found at http://subspacecodes.uni-bayreuth.de [33].
57 In a forthcoming paper we classify the 2612 non-isomorphic partial 3-spreads of cardinality 34 in
F82 that admit an automorphism group of order exactly 8, which is possible for H6 only, and show
that the automorphism groups of all other examples have order at most 4.
Partial Spreads and Vector Space Partitions 165
[5, 4, 2]2 even-weight code and hence 2-divisible. Since m ≡ 1 (mod 4), the proof
of Lemma 19 shows that a generalized cone K over B with 1-dimensional ver-
tex Q of multiplicity −m(q − 1) ≡ −m ≡ 3 (mod 4) is 4-divisible. Working over
Z, we can set χK (Q) = −1 as well. Adding any 4-divisible point set D contain-
ing Q (i.e., χD (Q) = 1) to K then produces a 4-divisible multiset set C with
#C = 10 − 1 + #D and χC (Q) = 0. By making the ambient spaces of K and C
intersect only in Q (which requires embedding the configuration into a larger space
Fv2 ), we can force C to be a set. The configuration H8 is obtained by choosing D as
an affine solid.58
From the preceding discussion it is clear that all possible hole types of a partial
3-spread of cardinality 34 in F82 belong to infinite families of q r -divisible sets. Can
further 22 -divisible sets of small cardinality be extended to an infinite family?
Construction 1 For integers r ≥ 1 and 0 ≤ m ≤ r let S be a 2r -subspace. By
F1 , . . . , F[m1 ]q we denote the (2r + 1)-subspaces of F2r +m that contain S and by
L 1 , . . . , L [m1 ]q we denote a list of r -subspaces of S with pairwise trivial inter-
section. Let 0 ≤ a ≤ m1 q and 0 ≤ bi ≤ q r −1 − 1 for all 1 ≤ i ≤ a. For each
1 ≤ i ≤ a we choose q − 1 + bi q =: ci different (r + 1)-subspaces E i, j of Fi
a ci
with Fi ∩ S = L i . With this, we set C = S\ ∪i=1 L i ∪ ∪i=1 ∪ j=1 E i, j \L i
a
and observe dim(C ) ≤ 2r + m, #C = 2r1 q + a · q r +1 − r +1 + b · q r +1 , where
a 1 q
b = i=1 bi , and that C is q r -divisible.
a
ci
a
Proof Apply Lemmas 13, 14 using χCv = χ Sv + χ Ev i, j − q (bi + 1)χ Lv i .
i=1 j=1 i=1
58 Since punctured affine solids are associated to the [7, 4, 3]2 Hamming code, we may also think
of H8 as consisting of the 2-fold repetition of the [5, 4, 2]-code and the Hamming code “glued
(3)
together” in Q. In fact the doubly-even [17, 8, 4]2 code associated with H8 is the code I 17 in [61,
p. 234]. The glueing construction is visible in the generator matrix.
166 T. Honold et al.
⎛ ⎞
10000022110100110202111100101201021211111220012002012211
⎜0 1 0 0 0 0 1 1 1 0 1 2 1 0 1 0 1 1 2 1 1 2 0 0 1 0 2 1 1 2 2 2 1 1 1 2 1 0 0 0 0 2 1 2 0 2 2 2 0 0 2 2 2 0 1 0⎟
⎜ ⎟
⎜0 0 1 0 0 0 2 2 2 2 0 2 2 1 0 2 0 0 1 1 2 0 0 1 0 1 1 2 0 0 2 0 2 0 2 0 0 2 1 1 1 2 2 1 2 1 1 2 2 2 0 0 1 1 1 2⎟
⎜ ⎟
⎜ ⎟.
⎜0 0 0 1 0 0 1 0 1 1 2 2 2 2 0 2 2 1 0 2 0 0 2 2 1 0 0 1 0 1 0 1 0 0 2 2 2 2 1 0 0 2 2 2 1 1 2 1 2 2 2 2 1 2 0 0⎟
⎜ ⎟
⎝0 0 0 0 1 0 2 0 1 2 1 0 2 2 1 1 2 1 1 2 0 0 1 0 2 1 1 0 2 2 1 1 1 2 1 0 0 0 0 2 1 2 0 2 2 2 0 2 1 2 2 0 1 0 0 1⎠
00000112202002201012122002011020121222221200210020211222
The automorphism group has order 40320. Given the large automorphism group of
H , is it possible to construct a partial plane spread in F83 with size larger than 244?
For q = 2, the first open case is 129 ≤ A2 (11, 8; 4) ≤ 132. A putative partial 4-
spread of size 132 has a 23 -divisible hole configuration of cardinality 67. Such exist
for all dimensions 9 ≤ k ≤ 11; cf. Theorem 13(iii). Can one such 23 -divisible set be
completed to a partial 4-spread?
Already the smallest open cases pose serious computational challenges. A promis-
ing approach is the prescription of automorphisms in order to reduce the computa-
tional complexity; see, e.g., Chapter “Computational Methods in Subspace Designs”
and [45] for an application of this so-called Kramer-Mesner method to constant-
dimension codes. Of course, the automorphisms have to stabilize the hole config-
uration, whose automorphism group is known or can be easily computed in many
cases.
Even for rather small parameters q and r we cannot decide the existence question,
see Table 1 and [32].
The most general result on the non-existence of vector space partitions (without
conditions on the ambient space dimension v) seems to be:
Theorem 14 (Theorem 1 in [29]) Let C be a vector space partition of type
k z · · · d2 b d1 a of Fqv , where a, b > 0.
(i) If q d2 −d1 does not divide a and if d2 < 2d1 , then a ≥ q d1 + 1;
(ii) if q d2 −d1 does
d notdivide if d2 ≥ 2d1 , then a > 2q
d a and
d2 −d1
or d1 divides d2
and a = q − 1 / q − 1 ;
2 1
Acknowledgements The authors would like to acknowledge the financial support provided by
COST – European Cooperation in Science and Technology. The first author was also supported by
the National Natural Science Foundation of China under Grant 61571006. The third author was
supported in part by the grant KU 2430/3-1 – Integer Linear Programming Models for Subspace
Codes and Finite Geometry from the German Research Foundation.
168 T. Honold et al.
References
28. O. Heden, The Frobenius number and partitions of a finite vector space. Archiv der Mathematik
42(2), 185–192 (1984)
29. O. Heden, On the length of the tail of a vector space partition. Discret. Math. 309(21), 6169–
6180 (2009)
30. O. Heden, A survey of the different types of vector space partitions. Discret. Math. Algorithms
Appl. 4(1), 14 (2012). nr. 1250001
31. D. Heinlein, T. Honold, M. Kiermaier, S. Kurz, A. Wassermann, On projective q r -divisible
codes. In preparation (2016)
32. D. Heinlein, T. Honold, M. Kiermaier, S. Kurz, A. Wassermann, Projective divisible binary
codes (2017). Preprint at arXiv: 1703.08291
33. D. Heinlein, M. Kiermaier, S. Kurz, A. Wassermann, Tables of subspace codes (2015). http://
subspacecodes.uni-bayreuth.de
34. R. Hill, Caps and codes. Discret. Math. 22(2), 111–137 (1978)
35. R. Hill, Optimal linear codes, in Cryptography and Coding II, ed. by C. Mitchell (Oxford
University Press, Oxford, 1992), pp. 75–104
36. S. Hong, A. Patel, A general class of maximal codes for computer applications. IEEE Trans.
Comput. 100(12), 1322–1331 (1972)
37. T. Honold, M. Kiermaier, S. Kurz, Optimal binary subspace codes of length 6, constant dimen-
sion 3 and minimum distance 4. Contemp. Math. 632, 157–176 (2015)
38. T. Honold, M. Kiermaier, S. Kurz, Classification of large partial plane spreads in P G(6, 2) and
related combinatorial objects (2016). Preprint at arXiv: 1606.07655
39. T. Honold, M. Kiermaier, S. Kurz, Constructions and bounds for mixed-dimension subspace
codes. Adv. Math. Commun. 10(3), 649–682 (2016)
40. W. Huffman, V. Pless, Fundamentals of Error-Correcting Codes (Cambridge University Press,
Cambridge, 2003)
41. D.R. Hughes, F.C. Piper, Graduate Texts in Mathematics, 6th edn., Graduate Texts in Mathe-
matics (Springer, 1973)
42. N.L. Johnson, V. Jha, M. Biliotti, Handbook of Finite Translation Planes (CRC Press, 2007)
43. R. Koetter, F. Kschischang, Coding for errors and erasures in random network coding. IEEE
Trans. Inf. Theory 54(8), 3579–3591 (2008)
44. A. Kohnert, Constructing two-weight codes with prescribed groups of automorphisms. Discret.
Appl. Math. 155(11), 1451–1457 (2007)
45. A. Kohnert, S. Kurz, Construction of large constant dimension codes with a prescribed mini-
mum distance, Mathematical Methods in Computer Science (Springer, 2008), pp. 31–42
46. S. Kurz, Improved upper bounds for partial spreads. Designs, Codes and Cryptography (2016).
published online on Oct 25 (2016)
47. S. Kurz, Improved upper bounds for partial spreads. Des. Codes. Cryptogr. 85(1), 97–106
(2017–10). https://doi.org/10.1007/s10623-016-0290-8
48. S. Kurz, Packing vector spaces into vector spaces. Australas. J. Comb. 68(1), 122–130 (2017)
49. L. Lambert, Random network coding and designs over Fq . Ph.D. thesis, Ghent University,
Master Thesis, 2013
50. I.N. Landjev, Linear codes over finite fields and finite projective geometries. Discret. Math.
213, 211–244 (2000)
51. M. Lavrauw, O. Polverino, Finite semifields. In Beule and Storme [6], chapter 6, pp. 129–157
52. S. Lloyd, Binary block coding. Bell Syst. Tech. J. 36(2), 517–535 (1957)
53. F.J. MacWilliams, A theorem on the distribution of weights in a systematic code. Bell Syst.
Tech. J. 42(1), 79–94 (1963)
54. F.J. MacWilliams, J. Seery, The weight distributions of some minimal cyclic codes. IEEE Trans.
Inf. Theory 27, 796–806 (1981)
55. Z. Mateva, S. Topalova, Line spreads of PG(5, 2). J. Combin. Des. 17(1), 90–102 (2009)
56. M. Médard, A. Sprintson, Network Coding: Fundamentals and Applications (Elsevier, 2012)
57. A. Nakić, L. Storme, On the extendability of particular classes of constant dimension codes.
Des. Codes Cryptogr. 79(3), 407–422 (2016)
170 T. Honold et al.
58. E. Năstase, P. Sissokho, The maximum size of a partial spread II: upper bounds. Discret. Math.
340(7), 1481–1487 (2017). https://doi.org/10.1016/j.disc.2017.02.001
59. E.L. Năstase, P.A. Sissokho, The maximum size of a partial spread in a finite projective space.
J. Comb. Theor. Ser. A 152, 353–362 (2017–11). https://doi.org/10.1016/j.jcta.2017.06.012
60. R. Plackett, J. Burman, The design of optimum multifactorial experiments. Biometrika 33(4),
305–325 (1946)
61. V. Pless, N. Sloane, On the classification and enumeration of self-dual codes. J. Comb. Theory
Ser. A 18(3), 313–335 (1975)
62. B. Segre, Teoria di galois, fibrazioni proiettive e geometrie non desarguesiane. Annali di Matem-
atica Pura ed Applicata 64(1), 1–76 (1964)
63. N. Silberstein, T. Etzion, Large constant dimension codes and lexicodes. Adv. Math. Commun.
5(2), 177–189 (2011)
64. D. Silva, F. Kschischang, R. Koetter, A rank-metric approach to error control in random network
coding. IEEE Trans. Inf. Theory 54(9), 3951–3967 (2008)
65. M.A. Tsfasman, S.G. Vlăduţ, Geometric approach to higher weights. IEEE Trans. Inf. Theory
41, 1564–1588 (1995)
66. J.H. van Lint, R.M. Wilson, A Course in Combinatorics (Cambridge University Press, Cam-
bridge, 1992)
67. H. Ward, Divisibility of codes meeting the griesmer bound. J. Comb. Theory Ser. A 83(1),
79–93 (1998)
68. H. Ward, An introduction to divisible codes. Des. Codes Cryptogr. 17(1), 73–79 (1999)
69. H. Ward, Divisible codes - a survey. Serdica Math. J. 27(4), 263p–278p (2001)
70. R.W. Yeung, S.-Y.R. Li, N. Cai, Z. Zhang, Network coding theory. Found. Trends Commun.
Inf. Theory 2(4/5), 241–381 (2006)
q-Analogs of Designs: Subspace Designs
Abstract For discrete structures which are based on a finite ambient set and its
subsets there exists the notion of a “q-analog”: For this, the ambient set is replaced
by a finite vector space and the subsets are replaced by subspaces. Consequently,
cardinalities of subsets become dimensions of subspaces. Subspace designs are the
q-analogs of combinatorial designs. Introduced in the 1970s, these structures gained
a lot of interest recently because of their application to random network coding. In
this chapter we give a thorough introduction to the subject starting from the sub-
space lattice and its automorphisms, the Gaussian binomial coefficient and counting
arguments in the subspace lattice. This prepares us to survey the known structural
and existence results about subspace designs. Further topics are the derivation of
subspace designs with related parameters from known subspace designs, as well as
infinite families, intersection numbers, and automorphisms of subspace designs. In
addition, q-Steiner systems and so called large sets of subspace designs will be cov-
ered. Finally, this survey aims to be a comprehensive source for all presently known
subspace designs and large sets of subspace designs with small parameters.
1 Introduction
Concepts, theories, and discrete structures based on finite sets and their subsets turn
into a combinatorial “q-analog” if they are considered over vector spaces over a finite
field Fq with q elements. In this case, “subsets” of a finite set become “subspaces”
M. Braun (B)
Faculty of Computer Science, Darmstadt University of Applied Sciences, 64295 Darmstadt,
Germany
e-mail: [email protected]
M. Kiermaier · A. Wassermann
Department of Mathematics, University of Bayreuth, 95440 Bayreuth, Germany
e-mail: [email protected]
A. Wassermann
e-mail: [email protected]
“Geometrical Aspects of Subspace Codes” and “Partial Spreads and Vector Space
Paritions”.
Remarkably, many different names for q-analogs of designs can be found in the
literature including
• subspace designs,
• designs over finite fields,
• designs over Fq ,
• q-designs,
• geometric designs,
• designs in vector spaces, and
• designs in the q-Johnson scheme.
The name “subspace design” has the advantage of being short and not involving
symbols like q. Furthermore, it nicely fits the closely related terms “subspace lattice”
and “subspace code”.
A closer look at Definition 1 reveals that the definition of a combinatorial design can
entirely be expressed in terms of the subset lattice of the v-element set V . The idea
behind q-analogs in combinatorics is to replace the subset lattice by the subspace
lattice of a v-dimensional Fq -vector space V .
An introduction to the theory of lattices can be found in the classical textbooks
by Birkhoff [5] and Stanley [6].
We denote the set of all subspaces of V byL (V ). The set of all k-subspaces of
V is called the Graßmannian and denoted by Vk q (Fig. 1).
The partially ordered set (poset) (L (V ), ≤) forms a lattice—the subspace lat-
tice—with containment “≤” of subspaces as partial order relation, intersection “∩”
of subspaces as meet and sum “+” of subspaces as join operator. Moreover, the
subspace lattice is graded with the dimension “dim” of subspaces as rank function.
The dimension formula
From a slightly different point of view, for v ≥ 2 the lattice L (V ) is also known as
the projective geometry PG(V ). As the projective geometric dimension is always one
less then the corresponding algebraic dimension, k-subspaces are called (k − 1)-flats,
and the isomorphism class of the finite geometry PG(V ) is denoted by PG(v − 1, q).
The 1-subspaces of V are called points, the 2-subspaces lines, the 3-subspaces planes,
the 4-subspaces solids and the (v − 1)-subspaces hyperplanes.
174 M. Braun et al.
1000
0100
V
0010 4 2
0001
0100 V
0010
0001 3 2
0010
V
0001 2 2
V
0001
1 2
V
0000
0 2
Coordinates
After a choice of a basis, from now on we may identify V with Fqv , whose elements
will be considered as row vectors. Now, subspaces U ∈ L (V ) may be represented
as the row space of a dim(U ) × v generator matrix A. To get a unique matrix, the
reduced row echelon form of A may be used.
Example 1 The following five matrices whose rows form bases of 2-dimensional
subspaces define a set of 2-subspaces of the standard vector space F42 yielding a
1-(4, 2, 1)2 design:
0110 1000 1100 1001 1011
, , , , .
0001 0010 0011 0100 0101
As can be seen in Fig. 2, every 1-subspace is contained in exactly one block of the
design.
2.1 Automorphisms
Lattice Automorphisms
Let G be a group acting on a set X . The action is said to be transitive if there is only
a single orbit, so for each x ∈ X we have {α(x) : α ∈ G} = X . The kernel of the
action is defined as
The action is called faithful if G X = {1}. The stabilizers of elements in the same
orbit are related by the formula
G α(x) = αG x α −1 . (1)
The center of GL(v, q) is the set Fq Iv of the scalar matrices (Iv denoting the v × v
identity matrix). Therefore, PGL(V ) is represented by PGL(v, q) = GL(v, q)/(Fq Iv )
and PL(V ) by PL(v, q) = L(V, q)/(Fq Iv , idFq ).
1 We would like to point out that the center of L(V ) is smaller, as it consists only of the elements
of C where λ is an element of the prime field of Fq .
q-Analogs of Designs: Subspace Designs 177
Duality
with dim(Ui ) = i.
To count the number of complete chains, we denote the number of partial chains
U0 < U1 < . . . < Uk with dim(Ui ) = i by ak . For k ≥ 1, Uk = Uk−1 ∪ {x} for any
x ∈ V \ Uk−1 . As there are q v − q k−1 = q k−1 (q v−k+1 − 1) vectors x ∈ V \ Uk , and
any q k − q k−1 = q k−1 (q − 1) vectors x yield the same space Uk , we see that
q v−k+1 − 1
ak = ak−1 .
q −1
Now inductively,
k
q v−i+1 − 1
v
qi − 1
ak = =
i=1
q −1 i=v−k+1
q −1
v
qi − 1
[v]q ! := av = .
i=1
q −1
The name q-factorial stems from the observation that the complete flags of the
subset lattice of a v-element set V correspond to the permutations of V and therefore,
178 M. Braun et al.
their number is the ordinary factorial v!. This can be carried a step further: Accepting
v
−1
[v]q = qq−1 as the q-analog of the non-negative integer v, the q-factorial [v]q ! =
v
i=1 [i]q arises in the very same way from the q-numbers as the ordinary factorial
from ordinary numbers.
For a deeper discussion of q-analogs of permutations, see [6].
Let Uk ∈ Vk q and let H = V /Uk = {v + Uk | v ∈ V } be the corresponding factor
vector space. It is easy to see that the mapping
V H
{J ∈ | Uk ≤ J } → , J → J/Uk = {v + Uk | v ∈ J }
j q j −k q
is a well-defined bijection.
Next, we derive a formula for the number kv q of k-subspaces of V . For this
purpose, we count the complete chains U0 < . . . < Uk < . . . < Uv of V in a second
way: There are kv q possibilities for the choice of Uk . For fixed Uk , the number of
possible head parts U0 < . . . < Uk is given by [k]q !. Modding out Uk ,2 the possible
tail parts Uk < . . . < Uv = V uniquely correspond to the complete chains of V /Uk ,
whose number is [v − k]q !. So,
v
[v]q ! = · [k]q ! · [v − k]q ! ,
k q
and therefore
V v [v]q !
# = = .
k q k q [k]q ![v − k]q !
The expression kv q is known as the Gaussian binomial coefficient or also as q-
binomial coefficient, as it arises from the q-factorial
inthe usual way. If clear from
the context, the index q may be dropped from kv q or Vk q for simplicity. Like for the
ordinary binomial coefficient, it is convenient to define kv q = 0 for integers k < 0
or k > v.
Many well-known formulas for binomial coefficients have q-analogs, and quite
often, bijective proofs can be q-analogized. As easy examples, we mention
v v v v−h v v−k
= and = ,
k v−k h k k h
v−1
it is checked that kv q is a polynomial in q, too, and its degree is k−1 . The factoriza-
tion of X n − 1 in the UFD Z[X ] is given by d Φd , where d runs over the positive
divisors of n and Φd ∈ Z[X ] denotes the d-th cyclotomic polynomial. Therefore,
q-numbers and q-binomial coefficients factor into a product of pairwise distinct
cyclotomic polynomials Φd with d ≥ 2.
Remark 1 According to [8], q-analog numbers were introduced in [9] and their
binomial coefficients in [10]. For a deeper discussion, see [6, 8, 11–13].
Alternatively, after the choice of a suitable basis the subspace U can be represented
as the row space of the k × v-matrix (0 | Ik ). One checks that the complements of U
are given by the row spaces of the k × v matrices (A | I ) with A ∈ Fq(v−k)v , whose
number is q k(v−k) .
q=1 q-analog
v-element set V v-dim. Fq vector space V
elements of V (points) 1 − subspaces of V (points)
subset lattice of V subspace lattice of V
V V
kv kv q
k k q
cardinality dimension
∩ ∩
∪ +
q-Analogs of Designs: Subspace Designs 181
3 Subspace Designs
For all suitable parameters there exist always at least two designs. First, for all
t ∈ {0, . . . , k} and B = ∅, (V, B) is a t-(v, k, 0)q subspace design. Second, (V, B)
with B being the full Graßmannian, i.e. B = Vk , is also a design for all t ≤ k,
called the complete design.
v−t
Lemma 2 For 0 ≤ t ≤ k ≤ v, (V, Vk q ) is a t-(v, k, k−t ) subspace design.
q q
Proof
v−t As we have seen in Sect. 2.3, any t-subspace T of V is contained in exactly
k−t
k-subspaces of V . This number is independent of the choice of T .
Both designs are called trivial. Since the full Graßmannian Vk is the design with
the largest possible value of λ among all simple designs with block dimension k, we
define
v−t
λmax = .
k−t q
It is clear that for any t-(v, k, λ)q subspace design D = (V, B), the supplementary
v−t
design (V, Vk \ B) is again a subspace design with the parameters t-(v, k, k−t q
−
λ)q . The empty set and the full Graßmannian are supplementary to each other.
The earliest reference for q-analogs of designs we are aware of, is from Ray-
Chaudhuri [14], stated in the problem section of the Hypergraph Seminar at Ohio
State University 1972. One year later, Cameron [15] presented the same problem at
the British Combinatorial conference. The origin of the idea is unclear, since it is
stated there that “Several people have observed that the concept of a t-design can be
generalized [...]”. Subspace designs have also been mentioned—independently—in
a more general context by Delsarte in [16].
The existence of nontrivial subspace designs with t ≥ 2 was open for more than
a decade, until in [17] subspace designs with the parameters 2-(v, 3, 7)2 and v ≡
1, 5 mod 6, v ≥ 7 have been constructed. This construction was generalized to 2-
(v, 3, q 2 + q + 1)q designs for arbitrary q in [18, 19]. In [20] a 3-(8, 4, 11)2 design
was given, the first nontrivial subspace design with t = 3. Until now, no explicit
example with t ≥ 4 is known.
Furthermore, by Lemma 3, the existence of a t-(v, k, λ)q design implies the integrality
conditions
v−s k−s
λs ∈ Z, i.e. · λ ≡ 0 (mod )
t −s q t −s q
for all s ∈ {0, . . . , t}. Without requiring the actual existence of a corresponding
design, any parameter set t-(v, k, λ)q fulfilling the integrality conditions will be called
admissible. Moreover, it will be called realizable if a t-(v, k, λ)q design does actually
exist. Of course, realizability implies admissibility. For q = 1, counterexamples are
known showing that the contrary is not always true. For q ≥ 2, this is an open
question.
It is easily seen that a 1-(v, k, λ)q design is admissible if and only if k | v. In fact,
for λ = 1, all those subspace designs are realizable:
Lemma 4 There exists a 1-(v, k, 1)q design if and only if k divides v.
The above result has been shown in [22] (see also [23] for the case v = 2k) in
geometric terms: A 1-(v, k, 1)q design is known as a (k − 1)-spread in PG(v − 1, q).
The admissibility of a Steiner triple system STSq (v) (v ≥ 3) depends on the
[v−1] [v−1] [v]
numbers λ1 = Φ2 q and λ0 = Φ2 Φq 3 q (see Example 4) being integers. The result-
ing condition is that STSq (v) is admissible if and only if v ≡ 1 (mod 6) or v ≡ 3
(mod 6). This condition does not depend on q and coincides with the admissibility
in the case q = 1 of a combinatorial Steiner triple system STS(v).
q-Analogs of Designs: Subspace Designs 183
Lemma 5 (Suzuki [21]) Let D = (V, B) be a t-(v, k, λ)q -design. For subspaces
I ≤ J ≤ V , let i = dim(I ), j = dim(V /J ) and
Λ I,J = {B ∈ B | I ≤ B ≤ J } .
If i + j ≤ t, the number
λi, j := #Λ I,J
only depends on the dimensions i and j, but not on the exact choice of I and J . The
numbers λi, j are determined by the recurrence formula
Again by the induction hypothesis, there are λi, j−1 blocks B with I ≤ B ≤ Jˆ. By
the dimension formula, those blocks have either
184 M. Braun et al.
B ≤ J or dim(J ∩ B) = k − 1 .
The blocks of the first kind are the blocks in Λ I,J , which do not have a suitable
subspace Iˆ.
For each of the λi, j−1 − #Λ I,J blocks B of the second kind, Lemma 1 gives the
B
number of choices for Iˆ ∈ i+1 q
with Iˆ ∩ J = Iˆ ∩ (B ∩ J ) as q ((k−1)−i)((i+1)−i) =
q k−i−1 . So,
# X = (λi, j−1 − #Λ I,J )q k−i−1 .
which only depends on i and j. The closed formula is readily checked by induction.
j
The “refined” λ’s of the above lemma are a q-analog of the values bi in [24]. Lemma 5
j
has originally been proven as [21, Lemma 4.1] (in the notation γi ).
Example 2 If we look at the 1-(4, 2, 1)2 design from Example 1 and take as I the
trivial subspace I = {0} and as J an arbitrary hyperplane, i.e. i = 0 and j = 1, then
of course all blocks of the design contain I . But moreover, from
4−0−1 4−1
/ =1
2−0 2 2−1 2
we can conclude that every hyperplane J contains exactly one block of the design.
Definition 4 Let D = (V, B) be a t-(v, k, λ)q design.
(a) For any point P ∈ V1 , we define
D ⊥ = (V, {B ⊥ | B ∈ B}) .
Different choices for the point P and the hyperplane H may lead to non-
isomorphic derived and residual designs. In contrast, up to isomorphism, the def-
inition of the dual design does not depend on the choice of the bilinear form β.
q-Analogs of Designs: Subspace Designs 185
For the special case of Steiner systems, the derived design shows up in [4, The-
orem 2]. The residual design was introduced in [25] and the dual design in [21,
Lemma 4.2].
Definition 4 is a q-analog of the established notions of the derived, the residual
and the complementary design of a combinatorial block design. However, for q = 1
the residual design is usually defined as
(V \ {P}, {B ∈ B|P ∈
/ B}) (2)
(a) The derived design Der P (D) is a design on V /P with the parameters
(t − 1)-(v − 1, k − 1, λ)q .
(b) The residual design Res H (D) is a design on H with the parameters
q v−k − 1
(t − 1)-(v − 1, k, λ)q .
q k−t+1 − 1
Proof (a) We see that for any t-subspace T containing P, the blocks B ∈ B passing
through T uniquely correspond to the blocks B/P of DerU (D) passing through T /P.
of Res H (D) is given by the number λt−1,1 of Lemma 5.
(b) The λ-value
(c) For T ∈ Vt , the blocks B ⊥ of D ⊥ passing through T uniquely correspond to
the blocks B ∈ B contained in T ⊥ . By dim(T ⊥ ) = v − t, the λ-value of D ⊥ is the
number λ0,t of Lemma 5.
186 M. Braun et al.
(D ⊥ )⊥ = D,
Der P (D)⊥ = Res P ⊥ (D) and
Res H (D)⊥ = Der H ⊥ (D).
λ0,0
λ1,0 λ0,1
λ2,0 λ1,1 λ0,2
... ... ... ...
λt,0 λt−1,1 ... λ1,t−1 λ0,t
In this way, the λi, j -triangles of various modifications can be read off directly:
• Reduced design: The upper sub-triangle (arising after the deletion of the last row).
• Derived design: The lower left sub-triangle.
• Residual design: The lower right sub-triangle.
• Dual design: The left-right mirror image.
Example 3 The parameters 3-(8, 4, 1)q are admissible for any q, but known to be
realizable only in the ordinary case q = 1. Below, the λi, j -triangle for these param-
eters is shown, for q = 2 and for general q.
6477 Φ6 Φ7 Φ8
381 381 Φ6 Φ7 Φ6 Φ7
21 45 21 Φ3 Φ6 Φ2 Φ4 Φ6 Φ3 Φ6
1 5 5 1 1 Φ4 Φ4 1
The symmetry of the triangles reflects the property of the parameters being self-dual,
meaning that the dual design would have the same parameters. As the q-analog of
the Fano plane has the derived parameters of 3-(8, 4, 1)q , its triangle can be found
as the lower left sub-triangle.
Example 4 The λi, j -triangle for a Steiner triple system STSq (v) (a 2-(v, 3, 1)q
design) is:
[v−1]q [v]q
Φ2 Φ3
[v−1]q [v−3]q [v−1]q
Φ2 Φ2 Φ3
[v−3]q [v−4]q [v−3]q
1 Φ2 Φ2 Φ3
By construction, for a design its derived and residual designs exist. It may be
surprising that also the converse is true, but not necessarily for the designs itself
but for the parameter sets. The following statements are the q-analogs of results
q-Analogs of Designs: Subspace Designs 187
independently found by Tran van Trung [26], van Leijenhorst [27] and Driessen [28].
It has been shown in [25, Lemma 4.1 and Theorem 1].
Theorem 3 Let t-(v, k, λ)q be some parameters.
(a) If the derived and the residual parameters are admissible, then the parameters
t-(v, k, λ)q are admissible, too.
(b) If the derived and the residual parameters are realizable, then the parameters
(t − 1)-(v, k, λt−1 )q , i.e. the parameters of the reduced design, are realizable,
too.
Further, there are cases where the derived parameters are realizable and the resid-
ual parameters coincide with the parameters of the dual of the derived design. Then,
the realizability of derived parameters suffices to get the following corollary.
Corollary 1 ([25, Corollary 2]) The realizability of the parameters
t-(2k − 1, k − 1, λ)q
Now we discuss intersection numbers, which describe the intersection sizes of the
blocks of a design with a fixed subspace S and can be seen as an extension of the
numbers λi, j (Lemma 6). For combinatorial designs they have been originally defined
in [29] for blocks S and independently as “i-Treffer” for general sets S in [30]. We
follow [31], where intersection numbers for subspace designs have been introduced.
Definition 5 Let D = (V, B) be a t-(v, k, λ)q subspace design. For any subspace
S of V and i ∈ {0, . . . , k}, we define the i-th intersection number of S in D as
αi (S) = # {B ∈ B | dim(B ∩ S) = i} .
If the set S is clear from the context, we use the abbreviation αi = αi (S).
Proof The first case is shown by double counting the set of all (I, B) ∈ Si q × B
with B ∩ S = I . The second case follows by making use of the dual design.
Theorem 4 ([31, Theorem 2.4], q-analog of the Mendelsohn equations [29, Theo-
rem 1]) Let D be a t-(v, k, λ)q subspace design, S a subspace of V and s = dim(S).
For i ∈ {0, . . . , t} we have the following equation on the intersection numbers of S
in D:
s
j s
αj = λi (3)
j=i
i q i q
Proof We count the set X of all pairs (I, B) ∈ Vi q × B with I ≤ B ∩ S in two ways:
On the one hand, there are si q possibilities for the choice of I ∈ Si q . By Lemma 3,
there are λi blocks B such that I ≤ B, which shows that # X equals the right hand
side of Eq. (3). On the
other hand, fixing a block B, the number of i-subspaces I
of B ∩ S is dim(B∩S)
i q
. Summing over the possibilities for j = dim(B ∩ S), we see
that # X also equals the left hand side of Eq. (3).
The Mendelsohn equations can be read as a linear system of equations Ax = b on
x = (α0 , α1 , . . . , αk ). The left (t + 1) × (t + 1) square part
the intersection vector
of the matrix A = ( ij q )i j (i ∈ {0, . . . , t} and j ∈ {0, . . . , k}) is called the upper
triangular
q-Pascal matrix, which is known to be invertible with inverse matrix
j−i ( j−i
(−1) q 2 ) ij q . Left-multiplication of the equation system with this inverse
ij
yields a parameterization of the intersection numbers α0 , . . . , αt by αt+1 , . . . , αk . In
this way, we get:
Theorem 5 ([31, Theorem 2.6], q-analog of the Köhler equations [32, Satz 1])
Let D be a t-(v, k, λ)q subspace design, S a subspace of V and s = dim(S). For
i ∈ {0, . . . , t}, a parametrization of the intersection number αi by αt+1 , . . . , αk is
given by
t
s j−i ( j−i ) s −i
αi = (−1) q 2 λj
i q j=i j −i q
k
j j −i −1
+(−1)t+1−i q ( )
t+1−i
2 αj.
j=t+1
i q t −i q
q-Analogs of Designs: Subspace Designs 189
By identifying the blocks of a subspace design with its set of points, we can construct
combinatorial designs.
Theorem 6 Let D = (V, B) be a t-(v, k, λ)q subspace design. We define the fol-
lowing two combinatorial designs:
• Projective version: Let D p = ( V1 q , { B1 q | B ∈ B})
V
• Affine version: For any fixed hyperplane H ∈ v−1 q
let
V H B H
Da = \ , \ | B ∈ B, B H
1 q 1 q 1 q 1 q
If t = 2, then D p is a combinatorial 2-( 1v q , k1 q , λ) design and Da is a combinatorial
2-(q v−1 , q k−1 , λ) design. In the case q = 2 and t = 3, Da is even a combinatorial
3-(q v−1 , q k−1 , λ) design.
Proof Let T be a 2-subset of V1 q . By the definition of D p , each block consists of
the set of points of a certain k-subspace. Hence, any block containing the elements
of T has to contain all the points in the 2-subspace T . By the design property of
D, there are exactly λ blocks of D (and hence of D p ) with this property.
In the affine case,
the
proof
is similar as by definition, any block of Da containing
a 2-subset T of V1 q \ H1 q has to contain the points in the affine line T \ H1 q , too,
and each block Ba of Da uniquely determines the corresponding
block B = Ba of
D. For q = 2 and t = 3, a triple T of points in V1 q \ H1 q cannot be collinear, as
affine lines consist of q = 2 points only. Hence dim(T ) = 3 and the claim follows
in an analogous way.
The key of the above proof is that dim(T ) is uniquely determined independently
of the choice of the t-subset T . This shows that the preconditions cannot be relaxed,
as in the projective version, this property is not true any more for t ≥ 3 (triples of
points may be collinear or not), and in the affine situation the only exception is the
special case q = 2, t = 3 of Theorem 6 (where triples cannot be collinear). The
projective version of Theorem 6 is already mentioned in [33, Sect. 1]. For the case
of Steiner systems, the affine version is found in [4, Theorems 7 and 8].
As the definition of a subspace design can entirely be expressed in terms of the sub-
space lattice L (V ), the design property is invariant under the action of Aut(L (V )).
Thus, Aut(L (V )) provides a notion of isomorphism of designs: Two designs
190 M. Braun et al.
is a bijection.
In chapter “Computational Methods in Subspace Designs” on computer construc-
tion of subspace designs it is explained in detail how to construct subspace designs
with a prescribed group of automorphisms by computer. This is the so called Kramer-
Mesner method.
G
Details on the matrix At,k can be found in the chapter “Computational Methods in
Subspace Designs”. In general, our aim in that chapter is to prescribe certain groups
of automorphisms which arise as subgroups G of the general linear group GL(V ).
The corresponding images Ḡ in PGL(V ) ≤ Aut(L (V )) are the groups to prescribed.
When it comes to the question which groups may occur as automorphism groups
of designs, one group stands out, which is the normalizer of a Singer cycle group: At
present, most of the successful computer searches for subspace designs have been
performed by prescribing this group or a subgroup of small index, see Sect. 4.
Let φ ∈ GL(V ) and φ = {id V , φ, φ 2 , φ 3 , . . .} be the cyclic subgroup of GL(V )
generated by φ. By Cayley–Hamilton, the minimal polynomial of φ has at most
degree v, implying that the linear hull of φ has at most dimension v. As 0 ∈ / φ,
q-Analogs of Designs: Subspace Designs 191
we get that φ contains at most q v − 1 distinct elements. In other words, the element
order of φ is at most q v − 1.
An element of GL(V ) of order q v − 1 is called a Singer cycle, and a cyclic sub-
group of order q v − 1 is called a Singer cycle group. Indeed, Singer cycles and Singer
cycle groups do always exist: To see this, we equip V with a field multiplication,
by setting V = Fq v . For any primitive element α of Fq v (that is, α is a generator of
the cyclic unit group Fq×v ), σ : V → V , x → αx is an Fq -linear mapping of order
#Fq× = q v − 1 and thus a Singer cycle.
To get a matrix representation of σ in GL(v, q), we can proceed as follows: Let
f = a0 + a1 x + a2 x 2 + . . . + an−1 x n−1 + x n ∈ Fq [x] be the minimal polynomial
of α over Fq . Then f is a primitive irreducible polynomial of degree v. With respect
to the Fq -basis (1, α, α 2 , . . . , α v−1 ) of V = Fq v , the transformation matrix of σ is
given by the companion matrix of f , which is
⎛ ⎞
0 0 ... 0
1
⎜ 0 1 ... 0 ⎟
0
⎜ .. ..
.. . . . ⎟.
⎜ . .
. . .. ⎟
⎜ ⎟
⎝ 0 0 0 ... 1 ⎠
−a0 −a1 −a2 . . . −av−1
By [36, Sect. 7], any two Singer cycle subgroups of GL(V ) are conjugate. We
point out that, in general, this is not true for Singer cycles: For example, the Singer
cycles in GL(2, 3) and GL(3, 2) both fall into 2 conjugacy classes.3
The Galois group Gal(Fq v /Fq ) of the field extension Fq v /Fq , i.e. the group of all
field automorphisms of Fq v element-wise fixing Fq , is known to be cyclic of order v
and generated by the mapping F : x → x q . F is called Frobenius automorphism. It
is easily seen that F normalizes the Singer cycle group S = σ , showing that σ, F
is contained in the normalizer NGL(V ) (S) of S in GL(V ). In fact, both groups are
equal [36, Satz 7.3], so
In particular, the normalizer NGL(V ) (S) is of order v(q v − 1) and the quotient of S
in its normalizer is cyclic of order v.
In the following, S(v, q) (and N (v, q)) will denote the conjugacy class of all
(normalizers of) Singer cycle groups in GL(v, q).
3 Fora singer cyclic subgroup S, we have [NGL(V ) (S) : S] = v (see below), so under the action of
NGL(V ) (S), the ϕ(q v − 1) Singer cycles in S fall into ϕ(q v−1) orbits of length v (ϕ denoting the
v
Euler’s phi function). From this, we get that the number of conjugacy classes of Singer cycles in
GL(v, q) equals ϕ(q v−1) .
v
192 M. Braun et al.
4 Examples
Example 5 The first nontrivial simple subspace design for t = 3 was constructed by
Braun, Kerber, and Laue [20]. It has parameters 3-(8, 4, 11)2 and is invariant under
the normalizer of the Singer cycle group N (8, 2) = σ, F. The order of the group
is 2040, generators are
σ = [2, 4, 8, 16, 29, 32, 64, 128], F = [1, 4, 16, 19, 29, 64, 116, 205] .
[28, 32, 64, 128], [2, 32, 64, 128], [10, 32, 64, 128], [6, 32, 64, 128], [22, 32, 64, 128],
[5, 32, 64, 128], [8, 16, 64, 128], [6, 16, 64, 128], [33, 16, 64, 128], [3, 16, 64, 128],
[7, 16, 64, 128], [39, 16, 64, 128], [47, 16, 64, 128], [2, 48, 64, 128], [38, 48, 64, 128],
[14, 48, 64, 128], [37, 48, 64, 128], [13, 48, 64, 128], [38, 8, 64, 128], [22, 8, 64, 128],
[54, 8, 64, 128], [54, 40, 64, 128], [1, 24, 64, 128], [51, 24, 64, 128], [39, 24, 64, 128],
[6, 56, 64, 128], [35, 56, 64, 128], [59, 36, 64, 128], [34, 20, 64, 128], [59, 20, 64, 128],
[25, 12, 64, 128], [34, 28, 64, 128], [43, 28, 64, 128], [61, 42, 64, 128], [21, 62, 64, 128],
[105, 50, 84, 128]
In Tables 1, 2, 3 and 4 we list sets of parameters for subspace designs which are
known to be realizable. The subspace designs were either by the Kramer-Mesner
method and by the methods described in Sects. 5 and 7 or by combining existing
subspace designs to get new ones, as described in Theorem 3 and Corollary 1.
Due to the existence of dual and supplementary designs we restrict the lists to
t-(v, k, λ)q designs satisfying 1 < t < k ≤ v/2 and 1 ≤ λ ≤ λmax /2.
Given a prime power q and integers 0 < t < k < v, the smallest positive integer
value of λ for which t-(v, k, λ)q is admissible is denoted by λmin . By Lemma 3, the
set of all λ such that t-(v, k, λ)q is admissible is given by {λmin , 2λmin , . . . , λmax }.
As superscripts of the λ-values we give the earliest reference we are aware of.
The references are encoded by the following letters:
q-Analogs of Designs: Subspace Designs 193
In case there are only few remaining open cases, we list the λ-values in question.
q-Analogs of Designs: Subspace Designs 195
Designs for t = 2
A considerable part of the literature on combinatorial designs studies balanced
incomplete block designs (BIBD) which are 2-(v, k, λ) designs. The number of blocks
is denoted with b = λ0 and each point appears in r = λ1 blocks. Let M be the v × b
incidence matrix of the points and the blocks of a BIBD.
The results in the following theorem are classical and can be found e.g. in [2,
Chap. II, Sects. 1 and 2].
Theorem 8 For a 2-(v, k, λ) design it holds
(a) bk = vr ,
(b) b ≥ rank(M) = v. (Fisher’s inequality)
From the definitions of b and r it follows immediately that the q-analog of equation
(a) for 2-(v, k, λ)q subspace design is
[k]q b = [v]q r.
The incidence matrix M between the points, i.e. the 1-subspaces, and the blocks of
the designs has size [v]q × b. The q-analog of Fisher’s inequality is
b ≥ rank(M) = [v]q ,
As seen above, symmetric designs are not interesting in the context of subspace
designs. Thus, one might relax the condition that two blocks always intersect in a
λ-dimensional subspace and allow two intersection numbers. Combinatorial designs
with this property are called quasi-symmetric. However, we are not aware of any
work about quasi-symmetric subspace designs.
196 M. Braun et al.
Signed Designs
In [53, 54], Guruswami et al. give a more general definition of subspace designs.
They define an (s, λ)-subspace design to be a collection of subspaces B1 , . . . , Bb of
V such that for every t-subspace T ≤ V at most λ blocks Bi intersect T nontrivially.
For combinatorial designs, Teirlinck [55] showed that for all integers t > 0 there exist
simple t-designs for v, k, λ sufficiently large. In 2013, Fazeli, Lovett and Vardy [56]
succeeded in proving a similar result for subspace designs, with the difference that
the proof in [55] is constructive, but the proof in [56] is not.
Theorem 9 (Fazeli, Lovett, Vardy) Simple nontrivial t-(v, k, λ)q designs exist for
all q and t, and all k > 12(t + 1) provided that v ≥ ckt for a large enough absolute
constant c. Moreover, these t-(v, k, λ)q designs have at most q 12(t+1)v blocks.
In 2014, the long-standing question, whether Steiner systems over sets exist for all
integers t > 0, could be answered affirmatively in a celebrated result by Keevash [52].
The non-constructive proof relies heavily on an asymptotic approximation by Frankl
and Rödl [57].
For the time being, there is not such a result for q-Steiner systems. But in [57]
the asymptotic approximation result is also shown in the subspace case.
In 1987 Thomas [17] constructed the first nontrivial simple t-subspace designs for
t = 2. More precisely, for all v ≥ 7 with (v, 4!) = 1 a Singer-invariant 2-(v, 3, 7)2
design was constructed.
Suzuki [18, 19] extended Thomas’ family using the following construction: For
any natural number r ≥ 2 we define the following map:
V
Lr : → L (V ), T → b0 · b1 · . . . · br −1 | {b0 , . . . , br −1 } ⊂ T .
2
Suzuki proved
that for (v, (2r )!) = 1 the
mapping T → L r (T ) defines an embedding
V
from V2 into r +1 implying #Br = 2v q . Furthermore, if Br becomes a 2-(v, r +
1, λ)q design it has to satisfy λ = r +1 2 q
. For r = 2, Suzuki could prove that B2
defines a design. In addition, Abe and Yoshiara [58] determined a nontrivial group
of automorphisms of Suzuki’s design.
Theorem 11 (Suzuki, Abe, Yoshiara) For any prime power q and any integer v ≥ 7
satisfying (v, 4!) = 1 the set B2 of blocks defines an N (v, q)-invariant 2-(v, 3, q 2 +
q + 1)q design.
Abe and Yoshiara also tried to generalize Suzuki’s construction to values r > 2.
But so far, computer experiments for q = 2 and small parameters failed for r ≥ 3.
The only exception is the case v = 7 and r = 3 which yields a 2-(7, 4, 35)2 design
B3 , the dual design to Thomas’ 2-(7, 3, 7)2 design.
In 1998 Itoh [59] gave a construction of a 2-(
m, 3, λ)q design invariant under the
special linear group G = SL(m, q
) ≤ GL(
m, q) for all m ≥ 3, assuming the exis-
tence of certain S(
, q)-invariant 2-(
, 3, λ)q designs.
G
The major step Itoh did was the examination of the matrix A2,3 . The structure
of this matrix turned out to be of the following shape consisting of four blocks of
columns
198 M. Braun et al.
⎡ ⎤
a 0
⎢ A S(
,q) ...
SL(m,q
)
A2,3 =⎢ 2,3 0 0 ⎥
⎥,
⎣ 0 a ⎦
0 X Y Z
Moreover, Itoh noticed that this lemma is also true for the GL(m, q
) action. There-
fore S(
, q)-invariant designs also imply families of GL(m, q
)-invariant designs.
Since the publication of Itoh’s paper several S(v, q)-invariant subspace designs
with index values λ of the required form for Itoh’s lemma have been constructed by
computer. These are listed in the sequel.
In the binary case we need a 2-(
, 3, λ)q design with index
• In [60] three disjoint N (8, 2)-invariant 2-(8, 3, 21)2 designs are given. Combining
two of them yields an N (8, 2)-invariant design of the supplementary parameters
2-(8, 3, 42)2 .
• In Table 1 there are N (3, 23 )-invariant 2-(9, 3, λ)2 designs. The supplementary
design of the 2-(9, 3, 43)2 design has parameters 2-(9, 3, 42 · 2)2 .
• Also in Table 1 there is an N (10, 2)-invariant 2-(10, 3, 45)2 design. The supple-
mentary design has parameters 2-(10, 3, 42 · 5)2 .
• In Table 2 there is a N (8, 3)-invariant 2-(8, 3, 52)3 design. The supplementary
design is has the parameters 2-(8, 3, 312)3 .
• There exist at least 586 pairwise disjoint N (13, 2)-invariant subspace designs with
parameters 2-(13, 3, 1)2 [44]. The union of these designs yields 2-(13, 3, 42s)2
designs for 1 ≤ s ≤ 13.
By Itoh’s Lemma 7 these designs turn immediately into new families of infinite
series [43] (Table 5).
While the existence of a q-analog of the Fano plane is still undecided, meanwhile
the first q-Steiner system for t ≥ 2 has been found, namely an S(2, 3, 13)2 , see [44].
For the construction, the authors used the method of Kramer and Mesner. They
prescribed the normalizer N (13, 2) of a Singer subgroup of Aut(L (V )) as a group of
N (13,2)
automorphisms. The group order is 106 483 and the Kramer-Mesner matrix A2,3
has size 105 × 30 705.
With the algorithm dancing links by Knuth [62] meanwhile 1316 mutually disjoint
solutions have been determined [47]. That is, among 1 ≤ λ ≤ 1316 mutually disjoint
designs, no block appears twice. Therefore, the union of their block sets gives a 2-
(13, 3, λ)2 design.
Together with their supplementary designs and noting that λmax = 2047, this
implies that all possible design parameters
are realizable.
Arguably, one of the most tantalizing open problems in this field is the question for
the existence of a q-analog of the Fano plane which was asked already in 1972 by
Ray-Chaudhuri [14]. Its existence is still open over any finite base field Fq . The most
important single case is the binary case q = 2, as it is the smallest one. Nonetheless,
so far the binary q-analog of the Fano plane has withstood all computational or
theoretical attempts for its construction or refutation.
Following the approach for other notorious putative combinatorial objects as, e.g.,
a projective plane of order 10 or a self-dual binary [72, 36, 16] code, the possible
automorphisms of a binary q-analog of the Fano plane have been investigated in [63,
64]. As a result, its automorphism group is at most of order 2.
For the groups of order 2, the above result was achieved as a special case of a more
general result on restrictions of the automorphisms of order 2 of a binary q-analog
of Steiner triple systems [63, Theorem 2].
Finally, the combination of the results of [63, 64] yields
Theorem 12 The automorphism group of a binary q-analog of the Fano plane is
either trivial or of order 2. In the latter case, up to conjugacy in GL(7, 2) the auto-
morphism group is represented by
⎛ ⎞
" 01 10 00 00 00 00 00 #
⎜0001000⎟
⎝ 00 00 10 00 00 01 00 ⎠ .
0000100
0000001
q-Analogs of Designs: Subspace Designs 201
In 1861 Sylvester [65] asked if it is possible to partition the set of 455 3-subsets
on 15 points into 13 resolvable 2-(15, 3, 1) designs. His question was answered
affirmatively by Denniston [66] as late as in 1974. Later on, a partition of the k-subsets
into disjoint (combinatorial) t-(v, k, λ) designs was sometimes called packing. In the
1970 s the term large set of disjoint designs evolved, nowadays such a partition into
designs is simply called a large set of designs.
In the q-analog situation, a large set of subspace designs—denoted by
LSq [N ](t, k, n)—is a partition of the whole set Vk of all k-dimensional subspaces of
V into N disjoint t-(v, k, λ)q designs. Obviously, the complete t-(v, k, λmax )q design
forms an LSq [N ](t, k, v) large set for N = 1 which is called trivial.
The parameter N determines the index λ, since it must be
v−t
λ·N = = λmax .
k−t
If N = 2 we speak of a halving.
As for subspace designs, we call a set of parameters LSq [N ](t, k, v) admissible
if the parameters are admissible, i.e. if N divides λmax and if the design parameters
t-(v, k, λmax /N )q are admissible. Using the second equation in Lemma 3 it is easy
to see that this is equivalent to
v−s
≡0 (mod N ) for 0 ≤ s ≤ t.
k−s q
If a large set with this parameters exists, it is called realizable (Fig. 3).
Many results for subspace designs also hold true for their large sets. The following
results are from [25, 46].
Lemma 8 If LSq [N ](t, k, v) is realizable, then for each divisor d | N , the parame-
ters LSq [d](t, k, v) are realizable, too.
Theorem 13 ([46, Theorem 6.4, Corollary 6.6]) If there exists an LSq [N ](2, 3, 6),
then there exists an LSq [N ](2, k, v) for all integers v and k with v ≥ 6, v ≡ 2
(mod 4), 3 ≤ k ≤ v − 3 and k ≡ 3 (mod 4). In particular, all these large sets exist
for q ∈ {3, 5} and N = 2.
Theorem 14 Let q and N such that there exist large sets with parameters
LS2 [N ](2, 3, 8) and LS2 [N ](2, 4, 8). Let v and k be integers with v ≥ 8 and
0 ≤ k ≤ v such that
(a) v ≡ 2 mod 6 and k ≡ 3, 4, 5 mod 6 or
(b) v ≡ 3 mod 6 and k ≡ 4, 5 mod 6 or
(c) v ≡ 4 mod 6 and k ≡ 5 mod 6.
204 M. Braun et al.
Table 7 Admissible large set parameters for small values. All possible values of N > 1 are given
in brackets. Additionally, the design parameters for the largest given value of N is listed. Large set
parameters which are known to be are realizable are printed in boldface
LSq [N ](t, k, v) t-(v, k, λ)
LS2 [5](2, 3, 6) 2-(6, 3, 3)2
LS2 [31](2, 3, 7) 2-(7, 3, 1)2
LS2 [3](2, 3, 8) 2-(8, 3, 21)2
LS2 [3, 31, 93](2, 4, 8) 2-(8, 4, 7)2
LS2 [31](3, 4, 8) 3-(8, 4, 1)2
LS2 [127](2, 3, 9) 2-(9, 3, 1)2
LS2 [3, 127, 381](2, 4, 9) 2-(9, 4, 7)2
LS2 [3](3, 4, 9) 3-(9, 4, 21)2
LS2 [5, 17, 85](2, 3, 10) 2-(10, 3, 3)2
LS2 [17, 127, 2159](2, 4, 10) 2-(10, 4, 5)2
LS2 [127](3, 4, 10) 3-(10, 4, 1)2
LS2 [73](2, 3, 11) 2-(11, 3, 7)2
LS2 [17, 73, 1241](2, 4, 11) 2-(11, 4, 35)2
LS2 [17](3, 4, 11) 3-(11, 4, 15)2
LS2 [11, 31, 341](2, 3, 12) 2-(12, 3, 3)2
LS2 [11, 31, 73, 341, 803, 2263, 24893](2, 4, 12) 2-(12, 4, 7)2
LS2 [73](3, 4, 12) 3-(12, 4, 7)2
LS2 [23, 89, 2047](2, 3, 13) 2-(13, 3, 1)2
LS3 [2, 5, 10](2, 3, 6) 2-(6, 3, 4)3
LS3 [11, 121](2, 3, 7) 2-(7, 3, 1)3
LS3 [7](2, 3, 8) 2-(8, 3, 52)3
LS3 [7, 11, 77, 121, 847](2, 4, 8) 2-(8, 4, 13)3
LS3 [11, 121](3, 4, 8) 3-(8, 4, 1)3
LS4 [17](2, 3, 6) 2-(6, 3, 5)4
LS4 [11, 31, 341](2, 3, 7) 2-(7, 3, 1)4
LS4 [13](2, 3, 8) 2-(8, 3, 105)4
LS4 [11, 13, 31, . . . , 4433](2, 4, 8) 2-(8, 4, 21)4
LS5 [2, 13, 26](2, 3, 6) 2-(6, 3, 6)5
LS5 [11, 71, 781](2, 3, 7) 2-(7, 3, 1)5
LS5 [3, 7, 21](2, 3, 8) 2-(8, 3, 186)5
LS5 [7, 11, . . . , 71, . . . , 16401](2, 4, 8) 2-(8, 4, 31)5
q-Analogs of Designs: Subspace Designs 205
Then there exists an LSq [N ](2, k, v). In particular, all these large sets exist for q = 2
and N = 3.
8 Open Problems
The subject of subspace designs is still in its infancy and there are many questions
which wait for an answer, see [81, 82]. The most tantalizing open problems seem to
be:
• Is there a q-analog of the Fano plane? (subspace design with the parameters 2-
(7, 3, 1)q )
• Is there a geometric or algebraic description of the 2-(13, 3, 1)2 designs?
• Find more q-analogs of Steiner systems!
• Find a concrete construction of a subspace design with t ≥ 4!
• Do q-Steiner systems exist for all t, i.e. is there a q-analog of Keevash’ theo-
rem [52]?
• Are the parameters 2-(7, 3, 2)2 realizable?
• Is LS2 [5](2, 3, 6) realizable?
• Are the halvings LSq [2](2, 3, 6) realizable for odd q > 5?
• For combinatorial designs, the halving conjecture states that all admissible designs
with λ = λmax /2 (i.e., halvings LS[2](t, k, v)q ) are realizable [83, Sect. 5]. For
t = 2, the conjecture has been proven in [84]. Can anything be said about this
conjecture in the q-analog case?
206 M. Braun et al.
Table 9 Admissibility and realizability of LSq [2](2, k, v) for q ∈ {3, 5}. An integer value k means
LS2 [3](2, k, v) is realizable for these k, v. “-” means the parameter set is not admissible, and “?”
means the parameter set is admissible but not known to be realizable
k v
3 6
- 7
- - 8
- - 9
3 ? ? 10
- ? ? 11
- - ? ? 12
- - - ? 13
3 - - - 7 14
- - - - - 15
- - - - - - 16
- - - - - - 17
3 ? ? ? 7 ? ? 18
- ? ? ? ? ? ? 19
- - ? ? ? ? ? ? 20
- - - ? ? ? ? ? 21
3 - - - 7 ? ? ? 11 22
- - - - - ? ? ? ? 23
- - - - - - ? ? ? ? 24
- - - - - - - ? ? ? 25
3 ? ? ? 7 - - - 11 ? ? 26
- ? ? ? ? - - - - ? ? 27
- - ? ? ? - - - - - ? ? 28
- - - ? ? - - - - - - ? 29
3 - - - 7 - - - 11 - - - 15 30
- - - - - - - - - - - - - 31
- - - - - - - - - - - - - - 32
- - - - - - - - - - - - - - 33
3 ? ? ? 7 ? ? ? 11 ? ? ? 15 ? ? 34
- ? ? ? ? ? ? ? ? ? ? ? ? ? ? 35
- - ? ? ? ? ? ? ? ? ? ? ? ? ? ? 36
- - - ? ? ? ? ? ? ? ? ? ? ? ? ? 37
3 - - - 7 ? ? ? 11 ? ? ? 15 ? ? ? 19 38
q-Analogs of Designs: Subspace Designs 207
Table 10 Admissibility and realizability of LS2 [3](2, k, v). An integer value k means
LS2 [3](2, k, v) is realizable for these k, v. “-” means the parameter set is not admissible, and
“?” means the parameter set is admissible but not known to be realizable
k v
- 6
- 7
3 4 8
- 4 9
- - 5 10
- - - 11
- - - - 12
- - - - 13
3 4 5 - - 14
- 4 5 - - 15
- - 5 - - - 16
- - - - - - 17
- - - - - - - 18
- - - - - - - 19
3 4 5 ? 10? ? 9 20
- 4 5 ? ?
10 ? ? 21
- - 5 ? ? ? ? ? 11 22
- - - ? ? ? ? ? ? 23
- - - - ? ? ? ? ? ? 24
- - - - - ? ? ? ? ? 25
3 4 5 - - - 9 10 11 ? ? 26
- 4 5 - - - - 10 11 ? ? 27
- - 5 - - - - - 11 ? ? ? 28
- - - - - - - - - ? ? ? 29
- - - - - - - - - - ? ? ? 30
- - - - - - - - - - - ? ? 31
3 4 5 - - - 9 10 11 - - - 15 16 32
- 4 5 - - - - 10 11 - - - - 16 33
- - 5 - - - - - 11 - - - - - 17 34
- - - - - - - - - - - - - - - 35
- - - - - - - - - - - - - - - - 36
- - - - -- - - - - - - - - - - 37
3 4 5 ?
10 11 ? ? 9 ? ? ? 15 16 17 - - 38
- 4 5 ? ? ? ? 10 11 ? ? ? ? 16 17 - - 39
- - 5 ? ? ? ? ? 11 ? ? ? ? ? 17 - - - 40
208 M. Braun et al.
References
1. J. Tits, Sur les analogues algébriques des groupes semi-simples complexes, in Colloque
d’algèbre supérieure, tenu à Bruxelles du 19 au 22 décembre 1956, Centre Belge de Recherches
Mathématiques (Établissements Ceuterick, Louvain; Librairie Gauthier-Villars, Paris 1957),
pp. 261–289
2. T. Beth, D. Jungnickel, H. Lenz, Design Theory, 2nd edn. (Cambridge University Press, Cam-
bridge, 1999)
3. C.J. Colbourn, J.H. Dinitz, Handbook of Combinatorial Designs, 2nd edn., Discrete Mathe-
matics and Its Applications (Chapman & Hall/CRC, Boca Raton, 2006)
4. M. Schwartz, T. Etzion, Codes and anticodes in the Grassman graph. J. Comb. Theory Ser. A
97(1), 27–42 (2002). https://doi.org/10.1006/jcta.2001.3188
5. G, Birkhoff, Lattice theory, Colloquium Publications, vol 25, 3rd edn. American Mathematical
Society (1967)
6. R.P. Stanley, Enumerative Combinatorics, 2nd edn., Cambridge Studies in Advanced Math-
ematics, vol. 1 (Cambridge University Press, Cambridge, 2012). https://doi.org/10.1017/
CBO9781139058520
7. E. Artin, Geometric Algebra (Wiley classics library, Interscience Publishers Inc., New York,
1988). https://doi.org/10.1002/9781118164518.ch1
8. R.D. Fray, Congruence properties of ordinary and q-binomial coefficients. Duke Math. J. 34(3),
467–480 (1967). https://doi.org/10.1215/S0012-7094-67-03452-7
9. F.H. Jackson, q-difference equations. Am. J. Math. 32(3), 305–314 (1910). https://doi.org/10.
2307/2370183
10. M. Ward, A calculus of sequences. Am. J. Math. 58(2), 255–266 (1936). https://doi.org/10.
2307/2371035
11. H. Cohn, Projective geometry over F1 and the Gaussian binomial coefficients. Am. Math. Mon.
111(6), 487–495 (2004). https://doi.org/10.2307/4145067
12. J. Goldman, G.C. Rota, On the foundations of combinatorial theory IV finite vector spaces and
Eulerian generating functions. Stud. Appl. Math. 49(3), 239–258 (1970)
13. G. Pólya, G. Alexanderson, Gaussian binomial coefficients. Elem. Math. 26, 102–109 (1971),
http://eudml.org/doc/1410
14. C. Berge, D. Ray-Chaudhuri, Unsolved problems, in Hypergraph Seminar: Ohio State Uni-
versity 1972, Lecture Notes in Mathematics, ed. by C. Berge, D. Ray-Chaudhuri (Springer,
Berlin, 1974), pp. 278–287. https://doi.org/10.1007/BFb0066199
15. P.J. Cameron, Generalisation of Fisher’s inequality to fields with more than one element, in
Combinatorics - Proceedings of the British Combinatorial Conference 1973, London Mathe-
matical Society Lecture Note Series, ed. by T.P. McDonough, V.C. Mavron (Cambridge Uni-
versity Press, Cambridge, 1974), pp. 9–13. https://doi.org/10.1017/CBO9780511662072.003
16. P. Delsarte, Association schemes and t-designs in regular semilattices. J. Comb. Theory Ser.
A 20(2), 230–243 (1976). https://doi.org/10.1016/0097-3165(76)90017-0
17. S. Thomas, Designs over finite fields. Geom. Dedicata 24(2), 237–242 (1987). https://doi.org/
10.1007/BF00150939
18. H. Suzuki, 2-designs over GF(2m ). Graphs Comb. 6(3), 293–296 (1990). https://doi.org/10.
1007/BF01787580
19. H. Suzuki, 2-designs over GF(q). Graphs Comb. 8(4), 381–389 (1992). https://doi.org/10.
1007/BF02351594
20. M. Braun, A. Kerber, R. Laue, Systematic construction of q-analogs of t-(v, k, λ)-designs.
Des. Codes Cryptogr. 34(1), 55–70 (2005). https://doi.org/10.1007/s10623-003-4194-z
21. H. Suzuki, On the inequalities of t-designs over a finite field. Eur. J. Comb. 11(6), 601–607
(1990). https://doi.org/10.1016/S0195-6698(13)80045-5
22. B. Segre, Teoria di galois, fibrazioni proiettive e geometrie non desarguesiane. Ann. Mat. Pura
Appl. 4 64(1), 1–76 (1964). https://doi.org/10.1007/BF02410047
23. J. André, Über nicht-Desarguessche Ebenen mit transitiver Translationsgruppe. Math. Z. 60(1),
156–186 (1954). https://doi.org/10.1007/BF01187370
q-Analogs of Designs: Subspace Designs 209
24. D.K. Ray-Chaudhuri, R.M. Wilson, On t-designs. Osaka J. Math. 12(3), 737–744 (1975)
25. M. Kiermaier, R. Laue, Derived and residual subspace designs. Adv. Math. Commun. 9(1),
105–115 (2015). https://doi.org/10.3934/amc.2015.9.105
26. T.V. Trung, On the construction of t-designs and the existence of some new infinite families of
simple 5-designs. Arch. Math. 47(2), 187–192 (1986). https://doi.org/10.1007/BF01193690
27. D.C. van Leijenhorst, Orbits on the projective line. J. Comb. Theory Ser. A 31(2), 146–154
(1981). https://doi.org/10.1016/0097-3165(81)90011-X
28. L.M.H.E. Driessen, t-designs, t ≥ 3, Technical Report, Technische Universiteit Eindhoven,
1978
29. N.S. Mendelsohn, Intersection numbers of t-designs, in Studies in Pure Mathematics, ed. by
L. Mirsky (Academic Press, London, 1971), pp. 145–150
30. W. Oberschelp, Lotto-Garantiesysteme und Blockpläne. Math.-Phys. Semesterber. 19, 55–67
(1972)
31. M. Kiermaier, M.O. Pavčević, Intersection numbers for subspace designs. J. Comb. Des. 23(11),
463–480 (2015). https://doi.org/10.1002/jcd.21403
32. E. Köhler, Allgemeine Schnittzahlen in t-Designs. Discret. Math. 73(1–2), 133–142 (1988–
1989). https://doi.org/10.1016/0012-365X(88)90141-0
33. S. Thomas, Designs and partial geometries over finite fields. Geom. Dedicata 63, 247–253
(1996)
34. A. Kerber, Applied Finite Group Actions, Algorithms and Combinatorics, vol 19 (Springer,
Berlin, 1999). https://doi.org/10.1007/978-3-662-11167-3
35. E.S. Kramer, D.M. Mesner, t-designs on hypergraphs. Discret. Math. 15(3), 263–296 (1976).
https://doi.org/10.1016/0012-365X(76)90030-3
36. B. Huppert, I. Endliche Gruppen, Grundlehren der Mathematischen Wissenschaften (Springer,
Berlin, 1967), http://opac.inria.fr/record=b1108495
37. M. Braun, Some new designs over finite fields. Bayreuth. Math. Schr. 74, 58–68 (2005)
38. M. Miyakawa, A. Munemasa, S. Yoshiara, On a class of small 2-designs over GF(q). J. Comb.
Des. 3(1), 61–77 (1995). https://doi.org/10.1002/jcd.3180030108
39. S, Braun, Construction of q-analogs of combinatorial designs, Presentation at the conference
Algebraic Combinatorics and Applications (ALCOMA10). (Thurnau, Germany, 2010)
40. S, Braun, Algorithmen zur computerunterstützten Berechnung von q-Analoga kombina-
torischer Designs. Diplomathesis Universität Bayreuth (2009)
41. M. Kiermaier, R. Laue, A. Wassermann, A new series of large sets of subspace designs over
the binary field. Des. Codes Cryptogr. (2016). https://doi.org/10.1007/s10623-017-0349-1
42. M. Braun, New 3-designs over the binary field. Int. Electron. J. Geom. 6(2), 79–87 (2013)
43. M. Braun, New infinite series of 2-designs over the binary and ternary field. Des. Codes
Cryptogr. 81(1), 145–152 (2016). https://doi.org/10.1007/s10623-015-0133-z
44. M. Braun, T. Etzion, P.R.J. Östergård, A. Vardy, A. Wassermann, Existence of q-analogs of
Steiner systems. Forum Math. 4(7), (2016). https://doi.org/10.1017/fmp.2016.5
45. M. Braun, Designs over the binary field from the complete monomial group. Australas. J.
Comb. 67(3), 470–475 (2017)
46. M. Braun, M. Kiermaier, A. Kohnert, R. Laue, Large sets of subspace designs. J. Comb. Theory
Ser. A 147, 155–185 (2017). https://doi.org/10.1016/j.jcta.2016.11.004
47. M. Braun, A. Wassermann, Disjoint q-Steiner systems in dimension 13, Universität Bayreuth,
Bayreuth, Technical Report, 2017
48. H. Suzuki, Five days introduction to the theory of designs (1989), http://subsite.icu.ac.jp/
people/hsuzuki/lecturenote/designtheory.pdf
49. P.J. Cameron, Locally symmetric designs. Geom. Dedicata 3, 65–76 (1974)
50. D. Ray-Chaudhuri, N. Singhi, q-analogues of t-designs and their existence. Linear Algebra
Appl. 114–115, 57–68 (1989). https://doi.org/10.1016/0024-3795(89)90451-5
51. R.M. Wilson, The necessary conditions for t-designs are sufficient for something. Util. Math
4, 207–215 (1973)
52. P. Keevash, The existence of designs. arXiv identifier 1401.3665 (2014)
210 M. Braun et al.
53. V. Guruswami, S. Kopparty, Explicit subspace designs, in 2013 IEEE 54th Annual Sympo-
sium on Foundations of Computer Science, pp. 608–617 (2013). https://doi.org/10.1109/FOCS.
2013.71
54. V. Guruswami, C. Xing, List decoding Reed-Solomon, algebraic-geometric, and Gabidulin
subcodes up to the singleton bound, in Proceedings of the Forty-fifth Annual ACM Symposium
on Theory of Computing, STOC ’13 (ACM, New York, NY, USA, 2013), pp. 843–852. https://
doi.org/10.1145/2488608.2488715
55. L. Teirlinck, Non-trivial t-designs without repeated blocks exist for all t. Discret. Math. 65(3),
301–311 (1987). https://doi.org/10.1016/0012-365X(87)90061-6
56. A. Fazeli, S. Lovett, A. Vardy, Nontrivial t-designs over finite fields exist for all t. J. Comb.
Theory Ser. A 127, 149–160 (2014)
57. P. Frankl, V. Rödl, Near perfect coverings in graphs and hypergraphs. Eur. J. Comb. 6(4),
317–326 (1985)
58. T. Abe, S. Yoshiara, On Suzuki’s construction of 2-designs over GF(q). Sci. Rep. Hirosaki
Univ. 10, 119–122 (1993)
59. T. Itoh, A new family of 2-designs over GF(q) admitting SLm (q l ). Geom. Dedicata 69(3),
261–286 (1998). https://doi.org/10.1023/A:1005057610394
60. M. Braun, A. Kohnert, P.R.J. Östergård, A. Wassermann, Large sets of t-designs over finite
fields. J. Comb. Theory Ser. A 124, 195–202 (2014). https://doi.org/10.1016/j.jcta.2014.01.
008
61. K. Metsch, Bose–Burton Type Theorems for Finite Projective, Affine and Polar Spaces, in
Surveys in Combinatorics, Lecture Notes Series, ed. by Lamb, Preece (London Mathematical
Society, 1999)
62. D.E. Knuth, Dancing links, in Millennial Perspectives in Computer Science, Cornerstones of
Computing, ed. by A.W. Roscoe, J. Davies, J. Woodcock (Palgrave, 2000), pp. 187–214
63. M. Braun, M. Kiermaier, A. Nakić, On the automorphism group of a binary q-analog of the
Fano plane. Eur. J. Comb. 51, 443–457 (2016). https://doi.org/10.1016/j.ejc.2015.07.014
64. M. Kiermaier, S. Kurz, A. Wassermann, The order of the automorphism group of a binary
q-analog of the fano plane is at most two. Des. Codes Cryptogr. (2017). https://doi.org/10.
1007/s10623-017-0360-6
65. J.J. Sylvester, Note on the historical origin of the unsymmetrical sixvalued function of six letters.
Philos. Mag. Ser. 4 21(141), 369–377 (1861). https://doi.org/10.1080/14786446108643072
66. R.H. Denniston, Sylvester’s problem of the 15 schoolgirls. Discret. Math. 9(3), 229–233 (1974).
https://doi.org/10.1016/0012-365X(74)90004-1
67. Z. Baranyai, On the factorization of the complete uniform hypergraph, in Infinite and finite
Sets, Colloquia Mathematica Societatis János Bolyai, vol. 1, ed. by A. Hajnal, R. Rado, V.T.
Sós (Bolyai János Matematikai Társulat and North-Holland, Budapest and Amsterdam, 1975),
pp. 91–107
68. A. Beutelspacher, On parallelisms in finite projective spaces. Geometriae Dedicata 3(1), 35–40
(1974)
69. R.H.F. Denniston, Some packings of projective spaces. Atti Accad. Naz. Lincei Rend. Cl. Sci.
Fis. Mat. Natur. 52(8), 36–40 (1972)
70. R.D. Baker, Partitioning the planes of AG 2m (2) into 2-designs. Discret. Math. 15(3), 205–211
(1976)
71. F. Wettl, On parallelisms of odd dimensional finite projective spaces. Period. Polytech. Transp.
Eng. 19(1–2), 111 (1991)
72. T. Etzion, A. Vardy, Automorphisms of codes in the Grassmann scheme. arXiv identifier
1210.5724 (2012)
73. T. Hishida, M. Jimbo, Cyclic resolutions of the bib design in P G(5, 2). Australas. J. Comb.
22, 73–79 (2000)
74. J.F. Sarmiento, Resolutions of PG(5, 2) with point-cyclic automorphism group. J. Comb.
Des. 8(1), 2–14 (2000). https://doi.org/10.1002/(SICI)1520-6610(2000)8:1<2::AID-JCD2>3.
0.CO;2-H
q-Analogs of Designs: Subspace Designs 211
75. M.R. Hurley, B.K. Khadka, S.S. Magliveras, Some new large sets of geometric designs of type
[3][2, 3, 28 ]. J. Algebra Comb. Discret. Struct. Appl. 3(3), 165–176 (2016). https://doi.org/10.
13069/jacodesmath.40139
76. L. Teirlinck, Locally trivial t-designs and t-designs without repeated blocks. Discret. Math.
77(1–3), 345–356 (1989). https://doi.org/10.1016/0012-365X(89)90372-5
77. G. B. Khosrovshahi, S. Ajoodani-Namini, Combining t-designs. JCTSA 58(1), 26–34 (1991).
https://doi.org/10.1016/0097-3165(91)90071-N
78. S. Ajoodani-Namini, Extending large sets of t-designs. J. Comb. Theory Ser. A 76(1), 139–144
(1996). https://doi.org/10.1006/jcta.1996.0093
79. S. Ajoodani-Namini, G. Khosrovashahi, More on halving the complete designs. Discret. Math.
135(1–3), 29–37 (1994). https://doi.org/10.1016/0012-365X(93)E0096-M
80. G.B. Khosrovshahi, B. Tayfeh-Rezaie, Trades and t-designs, Surveys in Combinatorics 2009,
London Mathematical Society Lecture Note Series (Cambridge University Press, Cambridge,
2009), pp. 91–111. https://doi.org/10.1017/CBO9781107325975.005
81. T. Etzion, Problems on q-analogs in coding theory. arXiv identifier 1305.6126 (2013)
82. T. Etzion, L. Storme, Galois geometries and coding theory. Des. Codes Cryptogr. 78(1), 311–
350 (2016). https://doi.org/10.1007/s10623-015-0156-5
83. A. Hartman, Halving the complete design. Ann. Discret. Math. 34, 207–224 (1987). https://
doi.org/10.1016/S0304-0208(08)72888-3
84. S. Ajoodani-Namini, All block designs with b = kv /2 exist. Discret. Math. 179(1–3), 27–35
(1998). https://doi.org/10.1016/S0012-365X(97)00024-1
Computational Methods in Subspace Designs
M. Braun (B)
Faculty of Computer Science, Darmstadt University of Applied Sciences,
64295 Darmstadt, Germany
e-mail: [email protected]
M. Kiermaier · A. Wassermann
Department of Mathematics, University of Bayreuth, 95440 Bayreuth, Germany
e-mail: [email protected]
A. Wassermann
e-mail: [email protected]
1 Introduction
Combinatorial design theory has a long and venerable history starting in the middle
of the 19th century. Combinatorial designs have many applications and there exists
a huge amount of literature. For a comprehensive overview we recommend the two
books [3, 29].
If one replaces in the definition of a combinatorial design set of points by vector
space and cardinality by dimension one gets the definition of a subspace design.
Subspace designs, also called q-analogs of designs, designs over finite fields,
or designs in vector spaces were introduced in the early 1970 s independently by
Ray-Chaudhuri [2], Cameron [25, 26] and Delsarte [31]. While receiving only occa-
sionally attention by relatively few research groups until 10 years ago, the situation
has changed a lot since then. Subspace designs have found much increased interest
now due to the connection to random network coding pointed out by Kötter and
Kschischang [64]. For an in-depth introduction to subspace designs the reader is
referred to chapter “q-Analog of Designs: Subspace Design”.
In terms of random network coding, one is mainly interested in very specific
subspaces designs, namely q-Steiner systems. The reason is that q-Steiner systems
are the best possible constant-dimension codes for random network coding. To be
precise, they are diameter-perfect constant-dimension codes. This is analog to the
situation in “classical” coding theory, where (combinatorial) Steiner systems are
the best possible constant-weight codes for a given length and minimum distance.
For more information on constant-dimension codes the reader is referred to chapters
“Construction of Constant Dimension Codes” and “Construction of Cyclic Subspace
Codes and Maximum Rank”.
Subspace designs and subspace codes with t = 1 and λ = 1 are better known as
(partial) spreads, which have been studied in finite geometry since many decades.
However, the first subspace design for t ≥ 2 was found only in 1987 [92], when the
explicit question for their existence has been open for already about 15 years. For
more information on geometric aspects the reader is referred to chapters “Geometrical
Aspects of Subspace Codes” and “Partial Spreads and Vector Space Paritions”.
Systematic computer search for subspace designs started in the 1990s [81]. Since
then, quite a few subspace designs could be constructed, the most prominent being
designs for t = 3 [17] and the first q-Steiner systems for t = 2 [16].
In this chapter we will study computational methods to construct subspace designs
and so called large sets of subspace designs. For an in-depth study of subspace designs
the reader is referred to chapter “q-Analog of Designs: Subspace Designs”. In par-
ticular, chapter “q-Analog of Designs: Subspace Designs” contains comprehensive
tables of all known simple subspace designs for small dimensions and t ≥ 2.
Much more detailed information on construction and classification algorithms of
combinatorial objects can be found in the book by Kaski and Östergård [53] and in
the chapter on computer construction in the Handbook of combinatorial designs [42].
Computational Methods in Subspace Designs 215
2 Preliminaries
are fulfilled. If a t-(v, k, λ)q design exists, the parameters are called realizable.
For fixed t, k, v the divisibility conditions imply a minimum λmin that fulfills the
conditions. It is easy to see that all admissible values of λ are multiples of λmin .
If a t-(v, k, λ) q design
v−t is realizable, then also the dual design with parame-
ters t-(v, v − k, v−t k
/ k−t λ)q and the supplementary design with parameters t-
(v, k, λmax − λ)q are realizable. Therefore, it is usually enough to restrict the search
for designs to 2 ≤ k ≤ v/2 and 1 ≤ λ ≤ λmax /2.
A celebrated, recent result by Fazeli, Lovett, and Vardy [36] is that there exist
subspace designs for every value of t and q if the parameters v, k, λ are large enough.
However, their proof is not constructive.
An automorphism of a subspace design D = (V, B) is a bijective mapping g ∈
PL(V ) such that B g = B. Under the composition of mappings, the set of all
automorphisms of a design forms a group, the automorphism group Aut(D) of the
design D. For every subgroup G of its automorphism group a design is said to be
G-invariant.
The action of PL(V ) on the subspace lattice of V preserves containment, that
is, for all g ∈ PL(V ) and all subspaces S, T ≤ V ,
G x g = g −1 G x g. (2)
A partition of the Graßmannian into N disjoint designs with the same parameters
is called large set of designs and denoted by LSq [N ](t, k, v). It is clear that
N · λ = λmax .
that is, N has to divide λmax and N determines λ. The large set parameters
LSq [N ](t, k, v) are called admissible if
v−s
≡0 (mod N ) for 0 ≤ s ≤ t.
k−s q
3 Computer Construction
Thus, this simple, greedy algorithm packs blocks into the design until no more
block can be found that consists solely of t-subspaces which are not covered yet.
Surprisingly enough, an analysis by Frankl and Rödl [40] shows that asymptotically
for v → ∞, the set of blocks returned by Algorithm 1 is expected to come quite close
to a Steiner system.
An alternative
description
ofAlgorithm 1 is the following: We fix an order on all
subspaces T ∈ Vt and K ∈ Vk and define the matrix At,k = (ai, j ) by
1, if Ti ⊂ K j ;
ai, j =
0, else.
That is, the matrix At,k is of size vt × kv . Now, if the resulting selection of blocks
in Algorithm 1 even forms a q-Steiner
system then this selection can be expressed
as a 0/1-vector x of length kv such that
⎛ ⎞
1
⎜ .. ⎟
At,k ·x =⎝.⎠ . (3)
1
Computational Methods in Subspace Designs 219
The matrix A1,2 together with the three solution vectors x looks as follows.
vertices\edges 1 2 3 4 5 6
a 1 0 0 1 1 0
b 1 1 0 0 0 1
c 0 1 1 0 1 0
d 0 0 1 1 0 1
design1 1 0 1 0 0 0
design2 0 1 0 1 0 0
design3 0 0 0 0 1 1
The three designs consist of the block sets {{a, b}, {c, d}}, {{a, d}, {b, c}}, and
{{a, c}, {b, d}}.
It turns out that problem (3) is well-known in computer science. It is called exact
cover problem and is known to be NP-complete [52]. In the general case of searching
for a t-(v, k, λ)q design we get a generalized exact cover problem of the form
⎛ ⎞
λ
⎜ .. ⎟
At,k ·x =⎝.⎠ . (4)
λ
For the construction of packing designs, the “=” in Eq. (4) has to be replaced by a
“≤”, for covering designs it has to be replaced by a “≥”.
There is a plethora of algorithms available to solve the exact cover problem and
its generalizations. We will discuss a few solving strategies in Sect. 6.
220 M. Braun et al.
But even if there are powerful algorithms available to solve these problems, the
biggest obstacle to this strategy for constructing subspace designs is that the sizes of
the problem instances will be prohibitively large even for small parameters.
Example 2 To find the binary analog of the Fano plane, i.e. a 2-(7, 3, 1)2 design, the
matrix A2,3 has 2 667 rows and 11 811 columns. The design would consist of 381
3-subspaces.
Although being the smallest open parameter set for subspace designs, the problem
is still out of reach for all known computer algorithms.
4 Using Groups
A possible strategy to tackle even very large instances is not to select individual
blocks but to choose whole “chunks” of blocks which fit together well. For this,
group theory comes in handy.
The idea to use groups to find combinatorial objects can be traced back at least to
Dembowski [32], Parker [86] in the 1950s, and even to Moore [82] in 1896.
Dembowski [32] studied tactical decompositions via group actions and found
additional necessary conditions for combinatorial objects having such groups as
automorphism groups. Later on, Kramer and Mesner [65] had the idea to prescribe
an automorphism group and search by computer for combinatorial designs with this
automorphism group. The same approach has been used before the work of Kramer
and Mesner at least by Magliveras [77] and Klin [57] in their PhD theses. In fact, the
method is a systematic version of finding a tactical decomposition of a structure by
means of the automorphism group of the structure.
So, with tactical decompositions as well as with the Kramer–Mesner method
we choose a group G and search for G-invariant designs. The resulting computer
problem will be smaller and thus in many cases solvable by computer hardware. But
we must be aware that those designs which are not G-invariant will not be found by
this approach.
Proof The statement follows immediately from (1) and from the fact that automor-
phisms map points to points and blocks to blocks.
Remark 1 In [32] it was also observed that there are nontrivial tactical decomposition
which do not stem from group actions.
The definition of the tactical decomposition matrices leads directly to the follow-
ing equations for t-(v, k, λ)q designs and 0 ≤ s ≤ t:
m
n
k
κi, j = , ρi, j = λs . (5)
i=1
s j=1
222 M. Braun et al.
is a tactical decomposition of a 2-(v, k, λ)q design. Let (ρi, j ) and (κi, j ) be the asso-
ciated decomposition matrices. Then, for all pairs of rows 1 ≤ l, r ≤ m,
n
λ · #Pr , l
= r ;
ρl, j κr, j = (7)
j=1
λs + λ · (#Pr − 1), l = r .
In the same paper there are more, refined equations and inequalities for the special
case q = 2. The preprint [30] generalizes the above equations for subspace designs
with t = 3.
Algorithmic application
An algorithm to find subspace designs with the help of tactical decompositions can
be the following approach. If we know the lengths of the block orbits then from
Eq. (6) we see that it is enough to work with one of the matrices (ρi, j ) or (κi, j ).
Algorithm 2 Choose a “promising” group G ≤ PL(v, q) and find 2-(v, k, λ)q
designs by using tactical decomposition matrices (ρi, j ).
1. Search for tentative tactical decomposition matrices: Compute—up to permuta-
tions of rows and columns—all possible matrices (ρi, j ) having nonnegative inte-
ger entries which satisfy the Eqs. (5) and (7) (and further equations or inequalities
if available, see [83]).
2. Indexing phase:
for all matrices (ρi, j ) from 2.:
for 1 ≤ i ≤ m, 1 ≤ j ≤ n:
replace all entries (i, j) of (ρi, j ) by 0/1-matrices of size #Pi × # B j
– having ρi, j ones in each row and
– being invariant under the simultaneous action of G on its rows and
columns.
if successful:
output incidence matrix of 2-(v, k, λ)q design
Computational Methods in Subspace Designs 223
Remark 2 Not every orbit matrix from Step 1 will give rise to subspace designs. In
contrast, a single matrix from Step 1 may produce more than one nonisomorphic
designs.
3
d c
5
4 2
a 6 b
Is Partitioned Into the two orbits {1, 2, 3, 4} and {5, 6}. 1
Recall that we aresearching
for a 1-(v, 2, 1) design. We know, that such adesign
consists of λ0 = 1 41 / 21 = 2 blocks and every point appears in λ1 = 1 03 / 01 = 1
blocks.
Therefore, we try to build our design by taking a block orbit of length two (there is
only one choice in this small case). Since there is just one point orbit, the only choice
in Step 1 is to take a trivial decomposition matrix consisting of the single entry, i.e.
n = m = 1. Equation (5) for combinatorial designs give immediately κ1,1 = 2 and
ρ1,1 = 1. Note, that we can not use the combinatorial design versions of Eq. (7) in
this case, since we are searching for a 1-design. Thus, the only possible matrix in
Step 1 is equal to (1).
In Step 2 we find that up to the action of σ just one 4 × 2-matrix having a single
one in every row: ⎛ ⎞
10
⎜0 1 ⎟
⎜ ⎟
⎝1 0 ⎠
01
It is the incidence matrix of the blocks points a, b, c, d and the blocks 5, 6. Therefore,
the blocks 5, 6 form a σ -invariant 1-(4, 2, 1) design.
Similar as in the previous section we choose a group G and search for G-invariant
designs. Thus, instead of searching for individual k-subspaces as in (4) the design
has to be composed of G-orbits on the k-subspaces. This approach applied to com-
binatorial designs is commonly attributed to Kramer and Mesner [65] and has been
used there with great success.
The set of blocks B of a G-invariant t-(v, k, λ)q design (G ≤ Aut(L(V ))) is
the disjoint union of orbits of G on the set Vk of k-dimensional subspaces of V .
224 M. Braun et al.
To obtain an appropriate selection of orbits of G on Vk we consider the incidence
G
matrix At,k whose rows are indexed by the G-orbits on the set of t-subspaces of V
G G
and whose columns are indexed by the orbits on k-subspaces. The entry aT,K of At,k
G G
corresponding to the orbits T and K is defined by
G
aT,K := #{K ∈ K G | T ≤ K }.
Theorem 4 (Kramer, Mesner [65]) Let G ≤ PL(v, q). There exists a G-invariant
t-(v, k, λ)q design if and only if there is a 0/1-vector x satisfying
⎛ ⎞
λ
⎜ .. ⎟
G
At,k · x = ⎝ . ⎠. (8)
λ
Example 4 We look again at the combinatorial design from Example 1 and 3 and
prescribe again the mapping σ : (a, b, c, d) → (b, c, d, a). Counting how often a
representative of the point orbit {a, b, c, d} appears in each of the two orbits on lines,
we get the following table.
{1, 2, 3, 4} {5, 6}
{a, b, c, d} 2 1
That is, using the Theorem of Kramer and Mesner the matrix A1,2 is condensed to the
σ
smaller matrix A1,2 = (2 1). Now, if we choose the orbit {5, 6} as the set of blocks,
we get a 1-(4, 2, 1) design. If we choose the other orbit we get a 1-(4, 2, 2) design.
Note that the other two designs in Example 1 are not found by this prescription of
automorphisms.
G
Remark 3 From Eq. (6) it is clear that At,k can either be computed by determining
(ρi, j ) or by computing (κi, j ).
In some cases it is faster to compute (κi, j ) and then determine (ρi, j ) by (6). The
relation between these two matrices is also referred to as Alltop’s lemma [1].
Computational Methods in Subspace Designs 225
In general, our approach in Sects. 4.1 and 4.2 is to prescribe certain groups of auto-
morphisms which arise as subgroups G of the general linear group GL(V ). When it
comes to the question which groups may occur as automorphism groups of designs,
one group stands out. At least up to now, most successful computer searches for sub-
space designs with prescribed automorphism groups used this group or subgroups
thereof, see Sect. 4.4. This group is the normalizer of a Singer cycle group. In the
following we will describe this group in more detail and explain why it is a promising
candidate for prescribing it as an automorphism group.
It will turn out to be helpful to apply the general linear group GL(v, q) in matrix
representation. In our notation, multiplication by group elements will be from the
right. Further—when appropriate—we will switch between the vectors of the vector
space V = Fqv and the corresponding elements of the field Fq v . The multiplicative
group (Fq∗ v , ·) consisting of the nonzero elements of Fq v is known to be cyclic,
generators are called primitive elements of Fq v .
Any cyclic subgroup of order q v − 1 of GL(V ) is called a Singer cycle group.
By setting V = Fq v it can be seen that Singer cycle groups do always exist: For any
primitive element α of Fq v , the mapping σ : V → V , x → αx is Fq -linear and of
order #Fq∗ = q v − 1 and thus generates a Singer cycle group.
To get a matrix representation of σ in GL(v, q), we can proceed as follows: Let
f = a0 + a1 x + a2 x 2 + . . . + an−1 x n−1 + x n ∈ Fq [x] be the minimal polynomial
of α over Fq . Then f is a primitive irreducible polynomial of degree v. With respect
to the Fq -basis (1, α, α 2 , . . . , α v−1 ) of V = Fq v , the transformation matrix of σ is
given by the companion matrix of f , which is
⎛ ⎞
0 10 ... 0
⎜ 0 01 ... 0 ⎟
⎜ ⎟
⎜ .. ..
.. . . .. ⎟ .
⎜ . .. . . ⎟
⎜ ⎟
⎝ 0 0 0 ... 1 ⎠
−a0 −a1 −a2 . . . −av−1
By [49, Sect. 7], any two Singer cycle subgroups of GL(V ) are conjugate.
The Galois group Gal(Fq v /Fq ) of the field extension Fq v /Fq , i.e. the group of all
field automorphisms of Fq v element-wise fixing Fq , is known to be cyclic of order v
and generated by the mapping F : x → x q . F is called Frobenius automorphism.
It is shown in [49, Satz 7.3] that the normalizer NGL(V ) (S) of the Singer cycle
group S = σ is given by
In the special case that v is prime, the possible 1-transitive automorphism groups are
exactly the subgroups of the normalizer of a Singer cycle group.
4.4 Results
In [16] the first q-Steiner system for t ≥ 2, an S(2, 3, 13)2 , has been constructed.
Since it was found with the method of Kramer and Mesner, this is a good chance to
demonstrate the power of this approach.
Without using groups the system (3) would have 13 = 11 180 715 rows and
13 2 2
= 3 269 560 515 columns. A q-Steiner system, i.e. a selection of columns such
3 2 3
that every row is covered exactly once has to consist of precisely 13 /
2 2 2 2
=
1 597 245 columns. However, finding a selection of that many columns is by far
out of reach of existing computer algorithms.
Instead, we prescribe the normalizer N (13, 2) of a Singer cycle group as automor-
phism group. Specifically, in [16] the Singer cycle group S(13, 2) for the polynomial
f (x) = x 13 + x 12 + x 10 + x 9 + 1 has been used.
In order to represent a G-invariant design it is sufficient to list
G by its genera-
tors and a set of representatives of the selected orbits of G on Vk . For a compact
representation we will write all n × m matrices X over Fq with entries xi, j , whose
indices are numbered from 0, as vectors of integers
⎡ ⎤
m−1
m−1
⎣ x0, j q j , . . . , xn−1, j q j ⎦ .
j=0 j=0
13
The order of the normalizer of the Singer cycle groups is #N (13, 2) = 13 2 −
1 = 106 483. Using compressed notation, one pair of generators is
[2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 27] and
[1, 4, 16, 64, 256, 1024, 4096, 54, 216, 864, 3456, 5659, 6234].
The orbits of 2-subspaces and 3-subspaces under the action of N (13, 2) are all
N (13,2)
full-length, resulting in a Kramer–Mesner matrix A2,3 with 13 /106 483 = 105
13 2 2
rows and 3 2 /106 483 = 30 705 columns. Now, we need to find a solution of the
Eq. (8) consisting of 13 3
/
2 2 2 2
= 15
#N (13, 2)
228 M. Braun et al.
N (13,2)
columns of A2,3 . Luckily, it turns out that this problem is in the reach of contem-
porary computer algorithms and hardware. It can be solved e.g. with the algorithm
dancing links by Knuth [59]. One solution corresponds to the 15 orbit representatives
listed below:
Meanwhile, 1316 mutually disjoint solutions have been determined with the algo-
rithm from Sect. 5.1 [23]. Therefore, the union of 1 ≤ λ ≤ 1316 of their block sets
gives a 2-(13, 3, λ)2 design. Together with their supplementary designs and noting
that λmax = 2047, this implies that all possible design parameters
are realizable.
Chapter “q-Analog of Designs: Subspace Designs” in this book contains tables
of all known subspace designs with small parameters. We conclude this section with
a list of those designs from these table which are constructed by computer and give
the prescribed groups as well as the sizes of the resulting Kramer–Mesner matrices.
The list contains one group which is not a subgroup of N (v, q), namely the
monomial group M(3, 23 ), see [15].
q = 2:
2-(6, 3, λ)2 : For all designs σ 7 was used. Matrix size: 77 × 155.
2-(7, 3, λ)2 : All known 2-(7, 3, λ)2 designs can be constructed by prescribing
S(7, 2). Matrix size: 3 × 15.
N (7, 2) for λ = 3, 5, 7, 10, 12, 14. Matrix size: 21 × 93.
2-(8, 3, 21)2 : N (4, 22 ). Matrix size: 15 × 105.
2-(8, 4, λ)2 : N (4, 22 ) for λ = 21, 35, 56, 70, 91, 105, 126, 140, 161, 175, 196, 210,
231, 245, 266, 280, 301, 315. Matrix size: 15 × 217.
N (7, 2) × 1 for λ = 7, 14, 49, 56, 63, 98 105, 112, 147, 154, 161, 196, 203, 210,
245, 252, 259, 294, 301, 308. Matrix size: 13 × 231.
σ 5 , φ for λ = 217, 224. Matrix size: 35 × 531.
3-(8, 4, λ)2 : N (4, 22 ) for λ = 11, 15. Matrix size: 105 × 217.
N (8, 2): λ = 11. Matrix size: 53 × 109.
2-(9, 3, λ)2 : N (3, 23 ) for λ = 21, 22, 42, 43, 63. Matrix size: 31 × 529.
N (8, 2) × 1 for λ = 7, 12, 19, 24, 31, 36, 43, 48, 55, 60. Matrix size: 28 × 408.
M(3, 23 ) for λ = 49. Matrix size: 40 × 460.
2-(9, 4, λ)2 : N (9, 2). Matrix size: 11 × 725.
2-(v, 3, λ)2 , v = 10, 11, 13: N (v, 2). Matrix sizes: 20 × 633 for v = 10, 31 × 2263
for v = 11, 105 × 30705 for v = 13.
Computational Methods in Subspace Designs 229
q = 3:
q = 4:
q = 5:
In [16] a list of non-existence results for prominent design parameters is given. Their
results show that q-Steiner systems with the following parameters and automor-
phisms do not exist:
This extends upon the previous work on non-existence of q-Steiner systems [34, 63,
92]. For example, it was shown in [92] that there is no Singer-invariant q-Steiner sys-
tem S(2, 3, 7)2 .
In [19, 55], a systematic exclusion of automorphisms of an S(2, 3, 7)2 has been
performed. For the question of the existence of such a G-invariant design, the sub-
groups of PL(7, 2) = GL(7, 2) only need to be considered up to conjugacy, see
Eq. (2). The result is that the automorphism group of an S(2, 3, 7)2 q-Steiner system
is either trivial or of order two. In the latter case, group is conjugate to
⎛ ⎞
01 10 00 00 00 00 00
⎜0 0 0 1 0 0 0⎟
⎝ 00 00 10 00 00 01 00 ⎠ .
0000100
0000001
230 M. Braun et al.
Interestingly, also a 2-(7, 3, 2)2 design is not known yet. For the automorphism
group of a design with these parameters, the authors were able to exclude all sub-
groups of GL(7, 2) except
• three conjugacy classes of groups of order 2,
• two conjugacy classes of groups of order 3,
• two conjugacy classes of groups of order 7.
Computing orbit representatives for matrix groups can be very time consuming even
for small parameters. One way to do this is to keep the bases of the subspaces in row
reduced echelon form and the group action is realized as multiplication of matrices
followed by Gauss elimination.
A fast method relying on the subgroup lattice to compute orbit representatives
was developed by [89] for combinatorial designs. This approach was generalized
to subspace designs by [13, 17, 24]. Recently, Koch [62] improved this method
considerably by removing the high memory consumption of the original algorithm.
In case the prescribed group is the Singer cycle group or its normalizer the com-
putation of the Kramer–Mesner matrix can be sped up enormously by considering
vectors in Fqv as elements of the finite field Fq v . We use this to show how to classify the
subspaces of Fqv into orbits under the action of Singer cycle group or its normalizer,
see [16, 35].
We fix a primitive element α of Fq v , and write a k-subspace X of Fqv as
X = {0, α x1 , α x2 , . . . , α xm }, where m = q k − 1 and x1 , x2 , . . . , xm ∈ Zq v −1 . In other
words, we represent all nonzero vectors in Fqv by their discrete logarithm with regard
to basis α.
For x ∈ Zq v −1 , let ρ(x) be the minimal cyclotomic representative for x, that is
ρ(x) = min{xq i mod (q v − 1) | 0 ≤ i ≤ v − 1}. We define
Lemma 2 1. If two k-subspaces X , Y of Fqv are in the same orbit under the action
of the Galois group F(v, q) then inv F (X ) = inv F (Y ).
2. If two k-subspaces X , Y of Fqv are in the same orbit under the action of the Singer
cycle group S(v, q) then inv S (X ) = inv S (Y ).
3. If two k-subspaces X , Y of Fqv are in the same orbit under the action of the
normalizer N (v, q) of the Singer cycle group then inv N (X ) = inv N (Y ).
Computational Methods in Subspace Designs 231
So, instead of using costly matrix multiplication we can compute the orbit repre-
sentatives with simple arithmetics modulo q v − 1.
In the special situation that q v − 1 is a prime we can speed up the computation of
inv N even further. One example is q = 2 and v = 13. Instead of working in the finite
field Zq v −1 we take once more the discrete logarithms and work modulo q v − 2. By
doing this, the action of the Frobenius automorphism φ reduces to an addition by
(q v − 2)/v. Thus, the numbers in inv N are considered modulo (q v − 2)/v.
Whenever subspace designs are constructed, immediately the natural question arises
which of them are isomorphic. The abstract formulation of this problem is the fol-
lowing: Given the action of a group G on a set X , and x, x ∈ X , how can we decide
if x ∼ x ? In our situation of subspace designs, the group G typically
is GL(v, q) or
PGL(v, q) or PL(v, q) etc., and the set X is the power set of Vk .
A first approach is the computation of invariants. Invariants are functions i :
X → Ω with some set Ω which are constant on the orbits, that is, x ∼ x implies
i(x) = i(x ). In the case i(x)
= i(x ), we know that x x . However, in general an
invariant cannot prove that x ∼ x , so we need further methods which we apply in
the case i(x) = i(x ). A good invariant should be reasonably efficient to compute
and not too often evaluate to the same expression if x and x are from different orbits.
A suitable source of invariants are the intersection numbers of blocks [56].
Sometimes, the following pragmatic approach can be applied: The isomorphism
problem is transformed into a graph theoretic problem and then fed into the software
nauty and its successors by McKay [80] to solve the graph isomorphism problem.
Furthermore, we would like to mention the algorithm of [38] (based on [37], see
also [39]), which is specialized for isomorphism problems on sets of subspaces of a
vector space.
Now we focus on the quite common situation that our designs have been con-
structed by subscribing some subgroup H of G, for example by the method of
Kramer–Mesner. Compared to the above situation, now we have the additional infor-
mation H ⊆ G x and H ⊆ G x . To take advantage of this extra knowledge, the theory
of group actions comes in handy. By theoretical arguments, often it is possible to
simplify or even solve the isomorphism problem.
For combinatorial designs, this approach was described by Laue et. al. [44, 71,
72], see also [53]. It involves the normalizers of certain groups. For a group G with
subgroup H , the normalizer of H in G will be denoted by NG (H ).
232 M. Braun et al.
NG (G x ) = {g ∈ G | G x = G x g }.
For the cases where Theorem 7 is not applicable, further theoretical results exist,
see [72]. One example is the following theorem.
Theorem 8 Let G ≤ GL(v, q) and let Δ be the set of G-invariant t-(v, k, λ)q
designs. Let P be a Sylow p-subgroup of G. Then after removing every design
from Δ that is invariant under any subgroup H such that either
• G < H < NGL(v,q) (G) or
• H = G, G n for some n ∈ NGL(v,q) (P) with G n
= G
two designs in Δ are isomorphic if and only if some element from NGL(v,q) (G) maps
one onto the other.
The method of Kramer–Mesner can also be adapted to construct large sets of designs.
This is explained for combinatorial designs in Chee [28]. In fact, the authors describe
three approaches based on the Kramer–Mesner theorem.
234 M. Braun et al.
The following algorithm describes a basic approach to find large sets. A version of
this algorithm for large sets of combinatorial designs can be found in [28, 73, 74].
The algorithm computes an LSq [N ](t, k, v) large set L consisting of N G-
invariant t-(v, k, λ)q designs. Either the algorithm terminates with a large set or
it ends without any statement about the existence.
Algorithm 3 1. [Initialize.] Set Ω as the complete set of G-orbits on Vk and set
L := ∅.
2. [Solve.] Find a random t-(v, k, λ)q design D = (V, B)) consisting of orbits of
Ω. If such a t-design exists insert D into L and continue with 3. Otherwise
terminate without a large set.
3. [Remove.] Remove the selected orbits in B from Ω. If Ω = ∅ then terminate
with a large set L . Otherwise go to 2.
The described algorithm can be implemented by a slight modification of the Kramer–
Mesner approach. We just have to add a further row to the Diophantine system of
Eq. (8) in the following way:
⎛ ⎞ ⎛ ⎞
λ
⎜ At,kG ⎟ ⎜ .. ⎟
⎜ ⎟·x =⎜
⎜.⎟
⎟
⎝ ⎠ ⎝λ⎠
··· y ··· 0
The vector y is indexed by the G-orbits on Vk corresponding to the columns of At,kG
.
The entry indexed by the G-orbit containing K is defined to be one if the orbit of K
has already been covered by a selected t-(v, k, λ)q design. Otherwise it is zero. In
every iteration step the vector y has to be updated.
Computational Methods in Subspace Designs 235
Remark 4 Another approach is to compute all 0/1-vectors which are solutions of the
Kramer–Mesner system (8) for a given group G. Every solution vector corresponds
to a design.
In a second step we try to find a subset of N disjoint solution vectors. This is again
an exact cover problem.
This approach is described in detail in [28] for combinatorial designs. The task will be
to search for a uniformly-G large set LSq [N ](t, k, v), where G ≤ H ≤ PL(v, q).
Moreover, the designs of the large set will not only be G-invariant, but also mutually
isomorphic.
Let n kG and n kH be the number of orbits of G and H acting on Vk and fix some
order K Gj , 1 ≤ j ≤ n kG , and K iH , 1 ≤ i ≤ n kH , on the G-orbits and H -orbits acting
on Vk .
The fusion matrix FkG,H = ( f i, j ) is the n kH × n kG matrix defined by
1, if K Gj ⊆ K iH ;
f i, j =
0, else.
6 Solving Algorithms
Solving Eq. (8) is a special instance of the multi-dimensional subset sum problem
which is known to be NP-complete [41]. Since problem (8) can be reduced to many
other NP-hard problems it is no surprise that there are many solving algorithms
available. In this section we will give an overview of the so far most promising
strategies to find subspace designs. For a survey, see also [42, 53, 78].
6.1 Backtracking
The problem (8) for λ = 1 is known as the exact cover problem. A common approach
to find all solution of an exact cover problem is to systematically test all combinations
of block orbits. Walker [93] was the first to call such an approach back-track.
A backtracking algorithm for solving the system (8) for λ = 1 and Kramer–
Mesner matrix A = (ai, j ) is quite simple and straight forward to describe:
Algorithm 4 Choose columns of A to find a solution of (8) for λ = 1.
1. If A has no columns, the problem is solved; terminate successfully.
2. Otherwise choose a row r with the least number of nonzero entries.
3. for each column c such that ar,c = 1:
include c in the partial solution
for each i such that ai,c = 1
delete row i from the matrix A;
for each j such that ai, j = 1,
delete column j from the matrix A.
4. Repeat this algorithm recursively on the reduced matrix A.
In [58] the strategy of Step 2 to choose those rows first which have the least number
of nonzero entries is justified. If the goal is to find all solutions then the order in
which the columns in Step 3 taken is irrelevant. This may be different if one wants
to find one solution at all.
The speed of this algorithm is largely determined by the choice of the data struc-
tures. In [59] Knuth uses doubly linked lists, all the navigation through the matrix is
done via pointers. By a trick due to Hitotumatu and Noshita [48], the use of pointers
enables a very fast recovering of the original data after stepping back from recursion.
The algorithm is called dancing links.
In [95] a parallel version of dancing links is described. [55] uses a brute force
parallelization which is better suited for batch system on computing clusters.
For problem instances with λ > 1 the situation changes. The dancing links algo-
rithm can be adapted to this case. The library libexact [54] contains an imple-
mentation, see also [79].
Computational Methods in Subspace Designs 237
When one attempts to solve systems of type (8) for large values of λ a detour via
lattices proves to be worthwhile.
Suppose that b1 , b2 , …, bn ∈ Qm . The integer span of these vectors, i.e.
n
L={ u i bi | u i ∈ Z}
i=1
238 M. Braun et al.
is called lattice. Given a lattice, central problems are to find shortest nonzero lattice
vectors with regard to various norms . and to find a basis of L consisting of short
vectors with regard to .2 . We will not dive further into this subject and not give a
precise definition what a “basis of short vectors” exactly is. The reader is referred to
[84] for an extensive overview.
In 1982, Lenstra, Lenstra and Lovász [75] gave a celebrated method—LLL algo-
rithm—which produces approximate solutions to both problems in polynomial time.
The LLL algorithm does lattice basis reduction – it takes a lattice basis as input
and outputs a reduced basis of the lattice, hopefully consisting of short vectors. The
amazing power of the LLL algorithm is that it performs much better than the the-
oretical analysis predicts and in many practical cases the output bases are already
solutions of the above problems.
The first ones to use lattice basis reduction for the search of combinatorial designs
were Kreher and Radziszowski [66, 67]. They used the original LLL algorithm as
proposed in [75] and the formulation of problem (8) as lattice problem from Lagarias
and Odlyzko [69].
Since then, this approach could be improved in many aspects. With improved
variants of the LLL algorithm much smaller basis vectors can be achieved, see [84].
In [94] an improved lattice formulation of problem (8) is given. For this lattice, a
solution of (8) corresponds to a shortest nonzero lattice vector in .∞ norm. This
was generalized in [96] to non-simple designs.
Further, the lattice basis reduction algorithms behave somewhat random. But [90]
proposes a method to find a shortest vector for the Euclidean norm from an LLL
reduced lattice basis by exhaustive enumeration. This was generalized by [51] to
arbitrary norms.
Combining these improvements many combinatorial designs for t = 6, 7, 8, 9
were found [4, 5, 7–12, 70, 71, 94]. The algorithm is used in a software system called
DISCRETA [6] which allows the user to easily prescribe automorphism groups and
try to solve the corresponding Kramer–Mesner system of equations.
The algorithm was also the method of choice to construct subspace designs in
many publications, see [13, 14, 17–20, 24] for an incomplete list.
Let A be an l × s Kramer–Mesner matrix from (8). The corresponding lattice
proposed in [94] is generated by the linearly independent columns of the matrix
⎛ ⎞
c·λ
⎜ .. ⎟
⎜ c· A . ⎟
⎜ ⎟
⎜ c · λ⎟
⎜ ⎟
⎜ ⎟
L = ⎜2 0 1 ⎟, (9)
⎜ .. . ⎟
⎜ . . ⎟
.
⎜ ⎟
⎜ 0 2 1 ⎟
⎝ ⎠
0 ... 0 1
Computational Methods in Subspace Designs 239
The condition b∞ = 1 ensures that bs+1 = ±1 and that bs+1 · (bi − bs+1 )/2 ∈
{0, 1} for 1 ≤ i ≤ s.
The big advantage of this method is that the size of λ has not much influence on
the runtime. This is in strong contrast with the backtracking approach above which
is best for λ = 1.
The height of the search tree in the second phase is determined by the number of
columns of B, i.e. it is roughly the difference between the number of unknowns and
the number of equations. As a consequence, having many equations is good for the
runtime of the algorithm and the number of orbits which have to be selected has not
much influence on the runtime.
The disadvantage of this lattice based approach is that the lattice basis reduction
in the first phase—albeit having polynomial runtime—takes prohibitively long time
for systems when the number of unknowns exceeds 3 000 (as a rule of thumb).
If the design parameters are small enough it may be easy to find one solution and one
is tempted to try to count all designs having automorphisms. Schmalz [89] developed
a graph theoretical approach to enumerate all solutions of (8) implicitly.
A similar approach is known in computer science as binary decision diagrams
and related data structures, see [60]. In [61, Exercise 50] Knuth describes a binary
method to count all solutions.
240 M. Braun et al.
The system of Eq. (8) can be regarded as integer linear programming problem. One
possible formulation is
max xi such that
i
⎛ ⎞
λ
⎜ .. ⎟
G
At,k · x = ⎝ . ⎠,
λ
xi ∈ {0, 1}.
There are a many software systems available to solve integer linear programming
problems. Among the most powerful and popular are CPLEX [50] and Gurobi [43].
It seems that for problems of type (8) integer linear programming algorithms are
still inferior to lattice basis reduction algorithms. But often the linear programming
part—i.e. using the relaxation xi ∈ [0, 1] ⊂ R—of these solvers is sufficient to show
nonexistence of solutions.
Moreover, these solving algorithms show their power when it comes to find pack-
ing designs, i.e. replacing “=” by “≤”. The online tables for the best bounds on
subspace codes1 contain many example where lower bounds were constructed by
using integer linear programming, compare [45, 63].
References
1. W.O. Alltop, On the construction of block designs. J. Comb. Theory 1, 501–502 (1966)
2. C. Berge, D. Ray-Chaudhuri, in Unsolved problems, ed. by C. Berge, D. Ray-Chaudhuri.
Hypergraph Seminar: Ohio State University 1972, in Lecture Notes in Mathematics, vol. 411
(Springer, Berlin, 1974), pp. 278–287. https://doi.org/10.1007/BFb0066199
1 http://subspacecodes.uni-bayreuth.de.
Computational Methods in Subspace Designs 241
3. T. Beth, D. Jungnickel, H. Lenz, Design Theory, vol. 1, 2, 2nd edn. (Cambridge University
Press, London, 1999)
4. A. Betten, A. Kerber, A. Kohnert, R. Laue, A. Wassermann, The discovery of simple 7-designs
with automorphism group PL(2,32), in AAECC 11, Lecture Notes in Computer Science, vol.
948 (Springer, Heidelberg, 1995), pp. 131–145
5. A. Betten, A. Kerber, R. Laue, A. Wassermann, Simple 8-designs with small parameters. Des.
Codes Cryptogr. 15(1), 5–27 (1998). https://doi.org/10.1023/A:1008263724078
6. A. Betten, R. Laue, A. Wassermann, DISCRETA – A tool for constructing t-designs. Lehrstuhl
II für Mathematik, Universität Bayreuth, http://www.mathe2.uni-bayreuth.de/discreta/
7. A. Betten, R. Laue, A. Wassermann, Simple 6 and 7-designs on 19 to 33 points. Congr. Numer.
123, 149–160 (1997)
8. A. Betten, R. Laue, A. Wassermann, Some simple 7-designs, eds. by. J.W.P. Hirschfeld, S.S.
Magliveras, M.J. de Resmini Geometry, Combinatorial Designs and Related Structures, Pro-
ceedings of the First Pythagorean Conference, London Mathematical Society Lecture Notes,
vol. 245, pp. 15–25 (1997)
9. A. Betten, R. Laue, A. Wassermann, New t-designs and large sets of t-designs. Discret. Math.
197/198, 83–109 (1999). Also appeared in the special volume Discrete Mathematics, Editor’s
Choice, Edition 1999
10. A. Betten, R. Laue, A. Wassermann, Simple 7-designs with small parameters. J. Comb. Des.
7, 79–94 (1999)
11. A. Betten, R. Laue, A. Wassermann, Simple 8-(40, 11, 1440) designs. Discret. Appl. Math.
95, 109–114 (1999)
12. A. Betten, R. Laue, A. Wassermann, A Steiner 5-design on 36 points. Des. Codes Cryptogr.
17, 181–186 (1999)
13. M. Braun, Konstruktion diskreter Strukturen unter Verwendung von Operationen linearer Grup-
pen auf dem linearen Verband, Ph.D. thesis, University of Bayreuth, Germany (2004)
14. M. Braun, Some new designs over finite fields. Bayreuth. Math. Schr. 74, 58–68 (2005)
15. M. Braun, Designs over the binary field from the complete monomial group. Australas. J.
Comb. 67(3), 470–475 (2017)
16. M. Braun, T. Etzion, P.R.J. Östergård, A. Vardy, A. Wassermann, Existence of q-analogs of
steiner systems. Forum Math. Pi 4(e7), 14 (2016). https://doi.org/10.1017/fmp.2016.5
17. M. Braun, A. Kerber, R. Laue, Systematic construction of q-analogs of t-(v, k, λ)-designs.
Des. Codes Cryptogr. 34(1), 55–70 (2005). https://doi.org/10.1007/s10623-003-4194-z
18. M. Braun, M. Kiermaier, A. Kohnert, R. Laue, Large sets of subspace designs. J. Comb. Theory
Ser. A 147, 155–185 (2017). https://doi.org/10.1016/j.jcta.2016.11.004
19. M. Braun, M. Kiermaier, A. Nakić, On the automorphism group of a binary q-analog of the
fano plane. Eur. J. Comb. 51, 443–457 (2016). https://doi.org/10.1016/j.ejc.2015.07.014
20. M. Braun, A. Kohnert, P.R.J. Östergård, A. Wassermann, Large sets of t-designs over finite
fields. J. Comb. Theory Ser. A 124, 195–202 (2014). https://doi.org/10.1016/j.jcta.2014.01.
008
21. M. Braun, P.R.J. Östergård, A. Wassermann, New lower bounds for binary constant-dimension
subspace codes. Exp. Math. 1–5 (2016). https://doi.org/10.1080/10586458.2016.1239145
22. M. Braun, J. Reichelt, q-analogs of packing designs. J. Comb. Des. 22(7), 306–321 (2014).
https://doi.org/10.1002/jcd.21376
23. M. Braun, A. Wassermann, Disjoint q-Steiner systems in dimension 13 Universität Bayreuth,
Bayreuth, Technical Report (2017)
24. S. Braun, Algorithmen zur computerunterstützten Berechnung von q-Analoga kombina-
torischer Designs. Diplomathesis Universität Bayreuth (2009)
25. P.J. Cameron, Generalisation of Fisher’s inequality to fields with more than one element. eds.
by T.P. McDonough, V.C. Mavron. Combinatorics - Proceedings of the British Combinatorial
Conference 1973, London Mathematical Society Lecture Note Series, vol. 13 (Cambridge
University Press, Cambridge, 1974), pp. 9–13. https://doi.org/10.1017/CBO9780511662072.
003
26. P.J. Cameron, Locally symmetric designs. Geom. Dedicata 3, 65–76 (1974)
242 M. Braun et al.
27. P.J. Cameron, W.M. Kantor, 2-transitive and antiflag transitive collineation groups of
finite projective spaces. J. Algebra 60(2), 384–422 (1979). https://doi.org/10.1016/0021-
8693(79)90090-5
28. Y.M. Chee, C.J. Colbourn, S.C. Furino, D.L. Kreher, Large sets of disjoint t-designs. Australas.
J. Comb. 2, 111–119 (1990)
29. C.J. Colbourn, J.H. Dinitz, in Handbook of Combinatorial Designs, 2nd edn, Discrete Mathe-
matics and Its Applications. (Chapman and Hall/CRC , 2006)
30. M. De Boeck, A. Nakić, Necessary conditions for the existence of 3-designs over finite fields
with nontrivial automorphism groups. ArXiv e-prints arXiv:1509.09158 (2015)
31. P. Delsarte, Association schemes and t-designs in regular semilattices. J. Comb. Theory Ser.
A 20(2), 230–243 (1976). https://doi.org/10.1016/0097-3165(76)90017-0
32. P. Dembowski, Verallgemeinerungen von Transitivitätsklassen endlicher projektiver Ebenen.
Math. Z. 69, 59–89 (1958)
33. P. Dembowski, Finite Geometries: Reprint of the 1968 Edition. (Springer, 2012)
34. T. Etzion, A. Vardy, On q-analogs of Steiner systems and covering designs. Adv. Math. Com-
mun. 5(2), 161–176 (2011). https://doi.org/10.3934/amc.2011.5.161
35. T. Etzion, A. Vardy, Automorphisms of codes in the Grassmann scheme. ArXiv e-prints
arXiv:1210.5724 (2012)
36. A. Fazeli, S. Lovett, A. Vardy, Nontrivial t-designs over finite fields exist for all t. J. Comb.
Theory Ser. A 127, 149–160 (2014)
37. T. Feulner, The automorphism groups of linear codes and canonical representatives of their
semilinear isometry classes. Adv. Math. Commun. 3(4), 363–383 (2009). https://doi.org/10.
3934/amc.2009.3.363
38. T. Feulner, Canonical forms and automorphisms in the projective space (2013)
39. T. Feulner, Eine kanonische Form zur Darstellung äquivalenter Codes – Computergestützte
Berechnung und ihre Anwendung in der Codierungstheorie, Kryptographie und Geometrie.
Ph.D. thesis, Universität Bayreuth (2013)
40. P. Frankl, V. Rödl, Near perfect coverings in graphs and hypergraphs. Eur. J. Comb. 6(4),
317–326 (1985)
41. M.R. Garey, D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-
Completeness (W.H Freeman and Company, New York, 1979)
42. P.B Gibbons, P.R.J Östergård, in Computational methods in design theory,eds. by C.J. Col-
bourn, J.H. Dinitz. Handbook of Combinatorial Designs, 2 edn., chap. VII.6, (Chapman and
Hall/CRC, 2007), pp. 755–783
43. I. Gurobi Optimization, Gurobi optimizer reference manual (2016), http://www.gurobi.com
44. E. Haberberger, A. Betten, R. Laue, Isomorphism classification of t-designs with group theo-
retical localisation techniques applied to some Steiner quadruple systems on 20 points. Congr.
Numer. 75–96 (2000)
45. D. Heinlein, M. Kiermaier, S. Kurz, A. Wassermann, Tables of subspace codes. ArXiv e-prints
arXiv:1601.02864 (2016)
46. C. Hering, Transitive linear groups and linear groups which contain irreducible subgroups of
prime order. Geom. Dedic. 2(4), 425–460 (1974). https://doi.org/10.1007/BF00147570
47. C. Hering, Transitive linear groups and linear groups which contain irreducible sub-
groups of prime order. II. J. Algebra 93(1), 151–164 (1985). https://doi.org/10.1016/0021-
8693(85)90179-6
48. H. Hitotumatu, K. Noshita, A technique for implementing backtrack algorithms and its applica-
tion. Inf. Process. Lett. 8(4), 174–175 (1979). https://doi.org/10.1016/0020-0190(79)90016-
4
49. B. Huppert, Endliche Gruppen I, in Grundlehren der mathematischen Wissenschaften, vol. 134
(Springer, Heidelberg, 1967)
50. IBM: ILOG CPLEX Optimizer (2010), http://www-01.ibm.com/software/integration/
optimization/cplex-optimizer/
51. M. Kaib, H. Ritter, Block reduction for arbitrary norms Universität Frankfurt, Preprint (1995)
Computational Methods in Subspace Designs 243
52. R.M. Karp, Reducibility among combinatorial problems, eds. by R.E. Miller, J.W. Thatcher,
J.D. Bohlinger. Complexity of Computer Computations: Proceedings of a symposium on the
Complexity of Computer Computations, March 20–22, 1972, (Springer, Boston, 1972), pp.
85–103. https://doi.org/10.1007/978-1-4684-2001-2_9
53. P. Kaski, P.R. Östergård, Classification Algorithms for Codes and Designs (Springer, Berlin,
2006). https://doi.org/10.1007/3-540-28991-7
54. P. Kaski, O. Pottonen, libexact user’s guide version 1.0. Technical Report 2008-1, Helsinki
University of Technology (2008)
55. M. Kiermaier, S. Kurz, A. Wassermann, The order of the automorphism group of a binary
q-analog of the fano plane is at most two. Designs, Codes and Cryptography (2017). To appear
https://doi.org/10.1007/s10623-017-0360-6
56. M. Kiermaier, M.O. Pavčević, Intersection numbers for subspace designs. J. Comb. Des. 23(11),
463–480 (2015). https://doi.org/10.1002/jcd.21403
57. Klin, M.H.: Investigations of algebras of invariant relations of certain classes of permutation
groups. Ph.D. thesis, Nikolaev (1974). In russian
58. D.E. Knuth, Estimating the efficiency of backtrack programs. Math. Comp. 29(129), 121–136
(1975)
59. D.E Knuth, Dancing links, eds. by A.W. Roscoe, J. Davies, J. Woodcock. Millennial perspec-
tives in computer science, Cornerstones of computing, (Palgrave, 2000), pp. 187–214
60. D.E. Knuth, The art of computer programming, vol. 4A (Addison-Wesley, New Jersey, 2011)
61. D.E Knuth, Dancing links. Technical Report Fasc 5c, Stanford University (2017)
62. M. Koch, Neue Strategien zur Lösung von Isomorphieproblemen. Ph.D. thesis, University of
Bayreuth, Germany (2016)
63. A. Kohnert, S. Kurz, Construction of large constant dimension codes with a prescribed min-
imum distance, eds. by J. Calmet, W. Geiselmann, J. Müller-Quade. Mathematical Methods
in Computer Science: Essays in Memory of Thomas Beth, (Springer, Heidelberg, 2008), pp.
31–42. https://doi.org/10.1007/978-3-540-89994-5_4
64. R. Kötter, F.R. Kschischang, Coding for errors and erasures in random network coding. IEEE
Trans. Inf. Theory 54(8), 3579–3591 (2008). https://doi.org/10.1109/TIT.2008.926449
65. E.S. Kramer, D.M. Mesner, t-designs on hypergraphs. Discret. Math. 15(3), 263–296 (1976).
https://doi.org/10.1016/0012-365X(76)90030-3
66. D.L. Kreher, S.P. Radziszowski, The existence of simple 6-(14, 7, 4) designs. J. Comb. Theory
Ser. A 43, 237–243 (1986)
67. D.L. Kreher, S.P. Radziszowski, Constructing 6-(14,7,4) designs. Contemp. Math. 111, 137–
151 (1990)
68. V. Krčadinac, A. Nakić, M.O. Pavčević, The Kramer–Mesner method with tactical decompo-
sitions: some new unitals on 65 points. J. Comb. Des. 19(4), 290–303 (2011). https://doi.org/
10.1002/jcd.20277
69. J.C. Lagarias, A.M. Odlyzko, Solving low-density subset sum problems. J. Assoc. Comp.
Mach. 32, 229–246 (1985). Appeared already in Proc. 24th IEEE Symp. Found. Comp. Sci.
(1983), 1–10
70. R. Laue, Halvings on small point sets. J. Comb. Des. 7, 233–241 (1999)
71. R. Laue, Constructing objects up to isomorphism, simple 9-designs with small parameters, in
Algebraic Combinatorics and Applications, (Springer, New York, 2001), pp. 232–260
72. R. Laue, Solving isomorphism problems for t-designs, ed by W.D. Wallis. Designs 2002:
Further Computational and Constructive Design Theory (Springer US, Boston, MA , 2003),
pp. 277–300. https://doi.org/10.1007/978-1-4613-0245-2_11
73. R. Laue, S. Magliveras, A. Wassermann, New large sets of t-designs. J. Comb. Des. 9, 40–59
(2001)
74. R. Laue, G.R. Omidi, B. Tayfeh-Rezaie, A. Wassermann, New large sets of t-designs with
prescribed groups of automorphisms. J. Comb. Des. 15(3), 210–220 (2007). https://doi.org/10.
1002/jcd.20128
75. A.K. Lenstra, H.W. Lenstra Jr., L. Lovász, Factoring polynomials with rational coefficients.
Math. Ann. 261, 515–534 (1982)
244 M. Braun et al.
76. M.W. Liebeck, The affine permutation groups of rank three. Proc. Lond. Math. Soc. (3) 54(3),
477–516 (1987). https://doi.org/10.1112/plms/s3-54.3.477
77. S.S Magliveras, The subgroup structure of the Higman-Sims simple group. Ph.D. thesis, Uni-
versity of Birmingham (1970)
78. R. Mathon, Computational methods in design theory, ed. by A.D. Keedwell. Surveys in combi-
natorics, Proceeding 13th Br. Combinatorial Conference, London Mathematical Society Lec-
ture Notes, vol. 166 (Guildford/UK, 1991), pp. 101–117
79. R. Mathon, Searching for spreads and packings, eds by J.W.P. Hirschfeld, S.S. Magliveras, M.J.
de Resmini. Geometry, Combinatorial Designs and Related Structures, Proceedings of the first
Pythagorean conference, Mathematical Society Lecture Notes, vol. 245, (London, 1997), pp.
161–176
80. B.D. McKay, A. Piperno, Practical graph isomorphism, II. J. Symb. Comput. 60, 94–112 (2014).
https://doi.org/10.1016/j.jsc.2013.09.003
81. M. Miyakawa, A. Munemasa, S. Yoshiara, On a class of small 2-designs over GF(q). J. Comb.
Des. 3(1), 61–77 (1995). https://doi.org/10.1002/jcd.3180030108
82. E.H. Moore, Tactical memoranda i-iii. Am. J. Math. 18(4), 264–303 (1896)
83. A. Nakić, M.O. Pavčević, Tactical decompositions of designs over finite fields. Des. Codes
Cryptogr. 77(1), 49–60 (2015). https://doi.org/10.1007/s10623-014-9988-7
84. P.Q Nguyen, B. Vallée, in The LLL Algorithm: Survey and Applications, 1st edn. Information
Security and Cryptography. (Springer, Heidelberg, 2009). https://doi.org/10.1007/978-3-642-
02295-1
85. S. Niskanen, P.R.J Östergård, Cliquer user’s guide, version 1.0. Technical Report T48, Helsinki
University of Technology (2003)
86. E.T. Parker, On collineations of symmetric designs. Proc. Am. Math. Soc. 8(2), 350–351 (1957).
http://www.jstor.org/stable/2033742
87. W. Pullan, Optimisation of unweighted/weighted maximum independent sets and minimum
vertex covers. Discret. Optim. 6(2), 214–219 (2009). https://doi.org/10.1016/j.disopt.2008.12.
001
88. J.F. Sarmiento, Resolutions of PG(5, 2) with point-cyclic automorphism group. J.
Comb. Designs 8(1), 2–14 (2000). https://doi.org/10.1002/(SICI)1520-6610(2000)8:1<2::
AID-JCD2>3.0.CO;2-H
89. B. Schmalz, t-Designs zu vorgegebener automorphismengruppe. Bayreuth. Math. Schr 41,
1–164 (1992). Ph.D thesis, Universität Bayreuth
90. C.P Schnorr, M. Euchner, Lattice basis reduction: Improved practical algorithms and solving
subset sum problems, in Proceedings of Fundamentals of Computation Theory ’91, Lecture
Notes in Computer Science, vol. 529, (Springer, Heidelberg, 1991), pp. 68–85
91. H. Suzuki, On the inequalities of t-designs over a finite field. Euro. J. Comb. 11(6), 601–607
(1990). https://doi.org/10.1016/S0195-6698(13)80045-5
92. S. Thomas, Designs over finite fields. Geom. Dedic. 24(2), 237–242 (1987). https://doi.org/
10.1007/BF00150939
93. R.J. Walker, An enumerative technique for a class of combinatorial problems. Proc. Sympos.
Appl. Math. 10, 91–94 (1960). American Mathematical Society, Providence, R.I. (1960)
94. A. Wassermann, Finding simple t-designs with enumeration techniques. J. Comb. Des. 6(2), 79–
90 (1998). https://doi.org/10.1002/(SICI)1520-6610(1998)6:2<79::AID-JCD1>3.0.CO;2-S
95. A. Wassermann, Covering the Aztec diamond with one-sided tetrasticks. Bull.Inst. Comb. Appl.
(ICA) 32, 70–76 (2001)
96. A. Wassermann, Attacking the market split problem with lattice point enumeration. J. Comb.
Optim. 6(1), 5–16 (2002)
97. J. Zwanzger, A heuristic algorithm for the construction of good linear codes. IEEE Trans. Inf.
Theory 54(5), 2388–2392 (2008). https://doi.org/10.1109/TIT.2008.920323
Part III
Application of Network Coding
Index Coding, Network Coding
and Broadcast with Side-Information
Abstract Index coding, the problem of efficient broadcast to many receivers with
side-infomation, is a rich and active research area. It has applications to a range of
multi-user broadcast scenarios such as video-on-demand and satellite communica-
tions. It has attracted significant theoretical interest both as a hard problem in its
own right and due to its connections to other network capacity problems. The central
problem of index coding, that of determining the optimal rate of an index code, is
still open. We describe recent advances on the index coding problem and its general-
izations in the context of broadcast with side-information. The two main approaches
to bounding the optimal rate of an index code, namely rank-minimization methods
and linear programming models, are discussed in detail. The latter of these, based on
graph-theoretical ideas in the classical case, can be extended even to generalizations
of the index coding problem for which there is no associated side-information hyper-
graph. We discuss error-correction in the index coding problem, the corresponding
bounds on the optimal transmission rate and decoding algorithms. We also illustrate
the connections to network coding, interference alignment and coded caching.
1 Introduction
E. Byrne (B)
School of Mathematics and Statistics, University College Dublin, Dublin, Ireland
e-mail: [email protected]
M. Calderini
Deptartment of Mathematics, University of Trento, Trento, Italy
e-mail: [email protected]
ject to noise. We give bounds on the transmission rate in this context and describe a
decoding method for Hamming like errors. Finally, in Sect. 5 we discuss connections
of the classical index coding problem to other problems of network communications,
such as its equivalence to network coding, relation to interference alignment and to
the coded-caching problem.
1.1 Notation
For any positive integer n, we let [n] := {1, . . . , n}. We write Fq to denote the finite
field of order q and use Fqn×t to denote the vector space of all n × t matrices over Fq .
Given a matrix X ∈ Fqn×t we write X i and X j to denote the ith row and jth column
of X , respectively. More generally, for subsets S ⊂ [n] and T ⊂ [t] we write X S
and X T to denote the |S | × t and n × |T | submatrices of X comprised of the rows
of X indexed by S and the columns of X indexed by T respectively. We write X
to denote the row space of X .
User i can retrieve its demand Ri X , for all possible choices of X if and only if
there exist matrices Ai , Bi satisfying
Ri = Ai V (i) + Bi L , (1)
from which it computes Ri X , knowing V (i) X (as its side information) and L X (which
was transmitted) [4]. It is generally assumed that a user does not demand Ri X if it
already has it in its cache. Therefore, we assume that no row of Ri is contained in
the row space of V (i) .
Remark 1 The uncoded downlink cost is nt, which is the cost of sending the full data
matrix X . The total coded downlink cost is N (n + t), which is the cost of transmitting
L and Y = L X . Therefore there is a coding gain only if t > n−N Nn
.
We now describe this in terms of a matrix code. First let r = mj=1 r j and let R
be the r × n matrix
R = [R1T , R2T , ..., RmT ]T .
κ(C , R) := min{rank(R + C) : C ∈ C },
which is called the minrank of the instance (R, C ) [4]. The block length t does not
affect the minrank parameter, however, due to overhead transmission costs, the gains
of coding are greater as t increases. The set R + C := {R + C : C ∈ C } is a coset
or translate of C , so κ(R + C ) is the minimum rank of any member of this coset.
It is also the rank distance of the matrix R to the side information code C . This
generalizes the minrank of a side-information graph or hypergraph, as it arises in the
index coding problem (cf. [3, 4, 13, 25]). Implicit in this is the fact that any full-rank
matrix L that realizes the instance (C , R) can be obtained by rank-factorization of a
member of R + C . Note that
Index Coding, Network Coding and Broadcast with Side-Information 251
dim C = ri vi
i∈[m]
over Fq , so |R + C | = q s where s = i∈[m] ri vi ≤ r n.
For a given side-information code C , the sender can satisfy any set of requests in
at most
ρ(C ) := max{κ(C , R) : R ∈ Fqm×n }
We start with the classical index coding (ICSI) with side information problem. In
this case it is assumed that the side-information held by the users is uncoded, so each
user has a subset of the data packets held by the broadcaster, and each user requests a
single other packet from the sender. As we will see below, a prominent characteristic
of the ICSI problem is that it can be identified with a unique directed hypergraph.
The unique sender has a data matrix X ∈ Fqn×t . There are m receivers, each with a
request for a data packet X i , and it is assumed that each receiver has a subset of mes-
sages X X i , for a subset Xi ⊆ [n]. The requested packets of the users are described by
a surjection f : [m] → [n], such that the packet requested by i is denoted by X f (i) ,
and it is assumed that f (i) ∈ / Xi for all i ∈ [m]. With respect to this viewpoint, the
side-information and requested data are represented as subsets of [n], the index set of
the data matrix X . Hence the term index coding. This description (see [13]), is indeed
a special case of the broadcast with side-information problem as given in Sect. 2. To
translate back to this setting, set the side information codes Ci to be generated by
matrices V (i) whose rows are standard basis vectors and the request matrices to be
the standard basis vectors Ri = e f (i) .
252 E. Byrne and M. Calderini
has x3 has x1 , x3
requests x1 U1 U2 requests x2
1
S
U4 U1
U2 U3
requests x1 U4 U3 requests x3 U2
has x2 has x1 , x2 2 U3 3
(a) ICSI problem (b) Side information hypergraph H
When m = n we assume that f (i) = i for all i ∈ [n], and the corresponding side
information hypergraph has precisely n hyperarcs, each with a different origin vertex.
It is simpler to describe such an ICSI instance as a digraph G = ([n], E ), the so-
called side information (di)graph [2]. For each hyperarc (i, Xi ) of H , are |Xi | arcs
(i, j) of G , for j ∈ Xi . Equivalently, E = {(i, j) : i, j ∈ [n], j ∈ Xi }.
We now formally define what is meant by a code for an instance of the ICSI
problem.
E : Fqn×t → FqN ,
is an Fq -code of length N for the instance described by H if for each i ∈ [m] there
exists a decoding map
satisfying
∀X ∈ Fqn×t : Di (E(X ), X X i ) = X f (i) ,
Bar-Yossef et al. showed [2, 3] that (for a given field size), the optimal length of
a scalar linear index code is equal to the minrank of the associate side-information
graph. The notion of minrank for an undirected graph G was first considered by
Haemers [21] in 1978 to obtain a bound for the Shannon graph capacity.
Such a result was extended to the more general case with m ≥ n in [13]. Therefore,
minrank characterizes the best possible scalar linear index code for a given finite field.
Let p be a fixed prime. The broadcast rate of an IC-instance I is defined as
follows [1].
Definition 2 Let H be a side-information hypergraph. We denote by βt (H ) the
minimal number of symbols required to realize an index coding instance I associated
to H for block length t, over all possible extensions of F p . That is,
βt (H ) βt (H )
β(H ) = lim = inf .
t→∞ t t t
In the following we will consider the scalar case, i.e. t = 1, moreover we report
the results on the minrank in the more general case of the hypergraphs.
Example 2 Consider the ICSI instance given in Example 1. Then we have that a
matrix M that fits the hypergraph H is of type
⎡X 1 X 2 X 3⎤
U1 1 0 ∗
U ⎢∗ 1 ∗⎥
M= 2 ⎢ ⎥
U3 ⎣ ∗ ∗ 1 ⎦
U4 1 ∗ 0
where the symbol “∗” may be replace by an arbitrary element of the field Fq .
Supp(u(i) ) ⊆ Xi (2)
(i)
u + e f (i) ∈ L. (3)
The lemma above implies the existence of a vector b(i) ∈ FqN such that b(i) L =
(i)
u + e f (i) , in which case the receiver at i retrieves
where Y is the message sent by the source over the broadcast channel.
As consequence we obtain the following
Theorem 1 Let I = (X , f ) be an instance of the ICSI problem, and H its
side information hypergraph. Then the optimal length of a q-ary linear H -IC is
minrk q (H ).
Therefore, min-rank characterizes the best possible scalar linear index code for a
given finite field.
Theorem 2 Let H be a side-information hypergraph, for any q we have
β(H ) ≤ minrk q (H ).
Index Coding, Network Coding and Broadcast with Side-Information 255
Take into account receiver 1, that requested X 1 and knows X 3 . Encoding X with L
we obtain
L X = [X 1 + X 3 , X 1 + X 2 ]T .
So, deleting X 3 from X 1 + X 3 receiver 1 obtain X 1 . Similarly for the other receivers.
Thus, do find an encoded matrix we need to select the linear independents rows
of a fitting matrix of the hypergraph.
The authors of [2] proved that in various cases, linear codes are optimal, so their
main conjecture was that linear index coding is always optimal, that is β(G ) =
minrk 2 (G ) for any graph G . This conjecture was later disproved by Lubetzky and
Stav in [26]. The authors show that for any positive ε > 0 there exist graphs, of
order n, where every linear index code requires at least n 1−ε bits, whereas a given
non-linear index code utilizes only n ε bits.
However, as shown by Peeters [29], computing the minrank of a general graph
is a hard task. More specifically, Peeters showed that deciding whether a graph has
min-rank three is an NP-complete problem.
Due to the result given in Theorem 1, we have that the problem of find a linear index
code is equivalent to a rank minimization problem over a finite field. An approach
to the minimum rank matrix completion problem over finite fields representing the
linear index coding problem was studied in [17].
In [17] first the complete sub-matrix of highest rank is identified, using a heuristic
scheme of polynomial complexity and then by using row (column) projection to
expand the complete sub-matrix iteratively. The goal of the projection step is to find
possible completions of an incomplete row or column such that they are in the span of
the complete sub-matrix. The steps of row and column projections are administered
over a decision tree.
To identify the maximal complete sub-matrix of M of highest rank, a heuristic
algorithm, starting with an initial complete sub-matrix, tries to improve it iteratively.
The row-improving step is performing in the following way, supposing that we
have the complete sub-matrix M IJ :
256 E. Byrne and M. Calderini
• Let I¯ = [m] \ I , select a row of M IJ¯ with fewer erasures (that is, stars “∗”).
• Suppose i is selected, consider M IJ∪{i} and remove the incomplete columns in it.
• If the rank of the resulting matrix is greater than M IJ , update the select I and J .
1. There are one or more incomplete rows that may be completed in a unique way in
the subspace spanned by the rows of the current complete sub-matrix. In this case
we complete these rows and update the complete sub-matrix. Then we switch the
projection direction over the next branch.
2. There is no row that may be completed uniquely, but there are some rows that
are in the subspace spanned by the rows of the complete sub-matrix. In this case,
we choose the incomplete row with minimum possible solutions. Then, for each
solution we analyze the consequent matrix completion, over multiple subsequent
branches, continuing the procedure in the alternate direction of projection.
Index Coding, Network Coding and Broadcast with Side-Information 257
3. The last case is when no row can be completed with a vector of the span of
the complete sub-matrix. Thus, the rank of the solution is to be increased. If the
increased rank is larger than the rank of the previously completed branches, the
current branch is eliminated; otherwise, all the possible solutions are examined
over multiple subsequent branches.
Step 2, described above, can be performed using erasure decoding techniques. Con-
sider a generator matrix G of the code spanned by the complete submatrix and its
parity check matrix H . Then suppose to have selected the row Mi restricted to the
column of the complete sub-matrix (the symbols stars now represent our variables).
We verify the solution of the system Mi · H = 0.
At each iteration, the branch with ‘maximum opportunity’ is selected, which
is quantified by a metric defined by the ratio of the completion percentage of the
matrix with respect to the rank of its complete sub-matrix. The branch with minimum
achieved rank identifies the solution.
Note that the growth of the tree due to a rank increment, that is the number of
new branches, is bounded above by q e , where e is the maximum number of erasures
that we have in the rows or in the columns. Moreover, in a path of the tree we could
increment the rank at most minrk(H ) − k times, where k is the rank of the starting
complete submatrix.
Furthermore, the growth due to the multiple allowed combinations for completing
a row or (column) is bounded above by q max(n,m)−k for each projection.
For large incomplete matrices the authors in [17] propose a sub-optimum algo-
rithm. Specifically, whenever the number of branches goes beyond a pre-set thresh-
old, we prune the branches having a small value with respect to the metric described
above.
In [31] the authors propose a linear algebraic algorithm to complete M (over F2 )
given a random subset of its entries. They establish some conditions on the row and
column spaces of M which guarantee that the algorithm runs in polynomial time.
Moreover a linear programming-based extension is proposed.
In particular, given a matrix M ∈ Fn×n 2 of rank r and a random subset of its
entries Ω, we can complete successfully M with high probability
in time O(n 2r +3 ),
whenever the cardinality of the set Ω is at least Ω n 2− r +1 .
1
258 E. Byrne and M. Calderini
There have been several hardness results for matrix completion over finite fields.
Tan et al. [34] studied the more general problem where, instead of entries, random
linear combinations of the entries are observed. They give various information-
theoretic bounds on the number of measurements necessary for low rank matrix
recovery.
The matrix completion problem over the reals seems to behave rather differently
and techniques do not appear to transfer to the finite field case. A method for matrix
completion over the real numbers is given in [22]. Note that linear index codes
over the reals have applications to topological interference management in wireless
networks [23, 27].
The method developed in [22] is based on an alternating projection (AP) approach.
As it is shown in the paper, completing the index coding matrix M by choosing values
for the symbols “∗” such that M has a low rank r can be thought of as finding the
intersection of two regions C and D in Rn×n defined by,
C = {M ∈ Rn×n | rk(M) ≤ r },
and
D = {M ∈ Rn×n | m i j = 0 if (i, j) ∈ E (G ) and m ii = 1, i ∈ [n]}.
can recover M in O(log(1/ε)) steps. Here σ1 and σr denote the largest and smallest
singular values of M, respectively, and || · || F is the Frobenius norm. However in this
context the authors in [22] show that AltMin does not perform as well as AP.
Candès and Recht in [10] showed that replacing the rank function by the nuclear
norm leads to finding the minimum rank with high probability (under certain condi-
tions). However, these results do not carry over directly to the index coding problem
because the model in [10] assumes the location of the fixed entries is chosen uni-
formly at random. In the index coding problem the matrix M has a specific structure,
that is, all the diagonal entries have to be equal to one. Indeed, as noted in [22] the
approach in [10] always output the maximum rank n.
In the analysis of the performance of these algorithms it is always assumed that
the set Ω is given at random. However, in the index coding problem, also in the case
of random graph, the diagonals entries are fixed to one, so it is not guaranteed that
this algorithms performs well.
Graph theoretic methods start from the well-known fact that all the users forming a
clique in the side information digraph can be simultaneously satisfied by transmitting
the XOR of their packets. Indeed, for such a graph we have that Xi = [n] \ {i}. Thus
sending Y = i X i , any receiver retrieves its requested packet.
Moreover, from the fact that for a graph G that is a union of disjoint graphs,
i.e. G = G1 ∪ · · · ∪ Gs , it holds that minrk(G ) = i minrk(Gi ), we have that an
achievable scheme for index coding on graphs is the number of disjoint cliques
required to cover G [2]. This number is called the clique-covering number cc(G ),
which is equal to the chromatic number of the complement graph χ (G ). This is
because all the vertices assigned to the same color cannot share an edge and hence
must form a clique on the complement graph.
In [2] the authors prove that for an acyclic graph G of order n the optimal broadcast
rate is n. Therefore if α(G ) is the order of the maximum acyclic induced subgraph of
G then α(G ) ≤ β(G ). In particular, when G is symmetric, α(G ) is the independence
number of G . These two results give the so-called sandwich property on the optimal
broadcast rate.
Theorem 3 ([2])
α(G ) ≤ β(G ) ≤ cc(G ).
Example 4 Consider the graph G in Fig. 3. We can see that any clique partition of
G is composed of at least 3 cliques, e.g. {{1, 2}, {3, 4}, {5}}. Thus cc(G ) = 3, and an
encoded scheme for the instance associated to G is Y = [X 1 + X 2 , X 3 + X 4 , X 5 ].
4 5
holds. Here deg Out (i) denotes the out-degree of the node i, that is, the edges outgo-
ing from i.
Note that a 0-partial clique is a usual clique.
The nodes contained in a partial clique correspond to a set n of clients, each
missing at most k packets of the n − 1 packets requested by the other receivers of the
set, and at least one client missing exactly k of those blocks. To satisfy the requests
of a k-partial clique we can use an (n, k + 1)-MDS code, e.g. Reed-Solomon codes.
Indeed suppose G is generator matrix, over a sufficient large field, of an MDS code
of length n and dimension k + 1. Now we can broadcast the message Y = G X . Now
any receiver is able to delete at least n − k − 1 columns of G from Y . So since every
set of k + 1 columns of G are linearly independent, we can retrieve the requested
packet. So, instead of partitioning a graph in clique we can use partial-clique.
r
β(G ) ≤ ki + 1.
i=1
Example 5 Consider the instance given by the side information graph G in Fig. 4.
We can see that using the scheme based on the clique cover we need 3 transmissions.
Using the partial clique scheme we can use 2 transmissions. In fact each receiver
knows one packet, so G is a 1-partial clique. Consider the matrix
101
G=
011
2 3
Index Coding, Network Coding and Broadcast with Side-Information 261
It turns out that the idea based on partitioning with cliques leads to a family of
stronger bounds, starting with an LP relaxation called the fractional clique covering
number. It can be readily checked that this rate is the solution to the integer program
min yC
C∈C
s.t. yC = 1 for all j ∈ [n] (5)
C: j∈C
Sending Y = [X 11 + X 21 , X 31 + X 41 , X 12 + X 51 , X 22 + X 32 , X 42 + X 52 ] we sat-
isfy all the requests, achieving a rate of 5/2.
Theorem 5 ([7]) The optimal broadcast rate is upper bounded by the optimal solu-
tion cc f (G ) of the LP relaxation of (5),
β(G ) ≤ cc f (G ) ≤ cc(G ).
In [40], Shanmugam, Dimakis, and Langberg showed, extending the clique cov-
ering scheme, that if the users are partitioned in cliques and the packets encoded for
each clique with the XOR as before, then we can reduce the number of transmissions
by applying an MDS code and using side information to recover them. Just as Birk
and Kol reduced the number of message transmissions with partial-clique [2].
262 E. Byrne and M. Calderini
The coding scheme given in [40] achieves the local clique covering number of G ,
denoted by ccl (G ) [16]. Further extending this scheme with fractional coloring, we
can establish the following.
Theorem 6 ([40]) The optimal broadcast rate is upper bounded by the optimal
solution ccl f (G ) of the LP relaxation of
min k
s.t. yC ≤ k for all j ∈ [n]
C:C∩X j =∅
(6)
yC = 1 for all j ∈ [n]
C: j∈C
We associate the graph G given in Fig. 5 with this instance, where an edge from
one clique to another means that all the nodes in a clique are connected to all the
nodes in the other clique. Using the scheme based on clique covering requires us to
use at least three transmissions. With local clique covering, we first encode using
clique covering to obtain Y = [X 1 + X 2 , X 3 + X 4 , X 5 + X 6 ]. Then, exploiting the
side information, we can encode Y using the MDS code also used in Example 5 to
obtain Y = [X 1 + X 2 + X 5 + X 6 , X 3 + X 4 + X 5 + X 6 ]. Then all receivers are able
to decode ther requested packets.
This linear programming approach was then used to extend these bounds to the
more general case of the hypergraphs. Blasiak, Kleinberg, and Lubetzky in [7] intro-
duced the concept of a hyperclique.
3 4 5 6
Index Coding, Network Coding and Broadcast with Side-Information 263
β(G ) ≤ ψ f (H ) ≤ ψ(H ).
In the work of Tehrani, Dimakis and Neely [36] the authors extend the idea of the
partial clique to the case m ≥ n, introducing the multicast partition.
As noted in [36], if we have a side-information hypergraph H and each receiver
knows at least k packets (i.e. |Xi | ≥ k), then we can use the same approach as in the
partial-clique case, namely, to use the generator matrix of an MDS code to encode
the packets.
Later, Shanmugam, Dimakis, and Langberg [30] proved that the fractional version
of this parameter provides an upper bound for the optimal rate.
In [30] the authors extended their previous result, defining the local hyperclique
covering number ψl (H ) of an hypergraph as the optimal solution of the integer
program
264 E. Byrne and M. Calderini
min k
s.t. yC ≤ k for all j ∈ [m]
C:C∩U j =∅
(9)
yC = 1 for all j ∈ [m]
C: j∈C
β(G ) ≤ ψl f (H ) ≤ ψl (H ).
In [30], another parameter, called the partitioned local hyperclique cover and its
fractional version for the groupcast setting is defined. This pararameter is stronger
than those based on local hyperclique covering and partition multicast.
Theorem 10 ([30])
p p
β(G ) ≤ ψl f (H ) ≤ ψl (H ).
However this new scheme is within a factor e from the fractional hyperclique
cover (implying the same for all previous bounds as well).
Theorem 11 ([30])
p
ψ f (H ) ≤ eψl f (H ).
Fig. 6 Comparison of graph theoretic bounds for the ICSI problem. u ← v means u ≤ v
In [12, 33] the authors give a generalization of the index coding problem in which both
demanded packets and locally cached packets may be linear combinations of some
set of data packets. We refer to this as the index coding with coded side information
problem (ICCSI). This represents a significant departure from the ICSI problem in
that an ICCSI instance no longer has an obvious association to a graph, digraph or
hypergraph, as in the ICSI case. However, as we show here, it turns out that many of
the results for index coding have natural extensions in the ICCSI problem.
One motivation for the ICCSI generalization is related to the coded-caching prob-
lem. The method in [28] uses uncoded cache placement, but the authors give an
example to show that coded cache placement performs better in general. In [8], it is
shown that in a small cache size regime, when the number of users is not less than
the number of files, a scheme based on coded cache placement is optimal. Moreover
in [39] the authors show that the only way to improve the scheme given in [28] is by
coded cache placement.
Another motivation is toward applications for wireless networks with relay helper
nodes and cloud storage systems [12] (Fig. 7).
X1 + X2 + X3 + X4
wants X1 wants X2
U1 U2
has X2 , X3 + X4 has X1 , X3 + X4
266 E. Byrne and M. Calderini
Consider the example in Table 1. We have a scenario with one sender and four
receivers U1 , U2 , U3 and U4 . The source node has four packets X 1 , X 2 , X 3 and X 4
and for i = 1, ..., 4 user Ui wants packet X i . The transmitted packet is subject to
independent erasures. It is assumed that there are feedback channels from the users,
informing the transmitting node which packets are successfully received. At the
beginning, in time slot 1, 2, 3 and 4 the source node transmits packets X 1 , X 2 , X 3
and X 4 , respectively. After time slot 4 we have the following setting: U1 has packet
X 2 , U2 has packet X 1 , U3 has packet X 4 and U4 has packet X 3 . Now from the classical
ICSI problem we have that receivers U1 and U2 form a clique, in the associated graph,
and then we can satisfy their request sending X 1 + X 2 . Similarly for U3 and U4 we
can use X 3 + X 4 . So, the source node in time slot 5 and 6 transmits the coded packet
X 1 + X 2 and X 3 + X 4 , intending that users receive the respective packet. However,
U1 and U2 receive the coded packet X 3 + X 4 and U3 and U4 receive X 1 + X 2 .
At this point if only the uncoded packets in their caches are used, we still need to
send two packets. If all packets in their caches are used, the source only needs to
transmit one coded packet X 1 + X 2 + X 3 + X 4 in time slot 7. If all four users can
receive this last transmission successfully, then all users can decode the required
packets by linearly combining with the packets received earlier.
We now describe an instance of index coding with coded-side information. As for
the uncoded case we have a data matrix X ∈ Fqn×t and a set of m receivers. For each
i ∈ [m], the ith user seeks some linear combination of the rows of X , say Ri X for
some Ri ∈ Fqn . We will refer to Ri as the request vector and to Ri X as the request
packet of User i. In this scenario a user’s cache is represented by a pair of matrices
It is assumed that any vector in the row spaces of V (i) and Λ(i) can be generated at the
ith receiver. We denote these respective row spaces by X (i) := V (i) and L (i) :=
Index Coding, Network Coding and Broadcast with Side-Information 267
Λ(i) for each i. The side information of the ith user is (X (i) , L (i) ). Similarly, the
sender S has the pair of row spaces (X (S) , L (S) ) for matrices
Example 8 Consider the instance given by the example represented in Fig. 4. Then
we have q = 2, m = n = 4, t = 1 and Ri = ei for all i ∈ [4] and X (S) = F42 . The
side information are given by the following matrices
(1) 0100 (2) 1000
V = ,V = ,
0011 0011
(3) 1100 (4) 1100
V = ,V = .
0001 0010
Remark 2 The reader will observe that the classical ICSI problem is indeed a special
case of the index coding problem with coded side information. Setting V (S) to be the
n × n identity matrix, Ri = e f (i) ∈ Fqn and V (i) to be the di × n matrix with rows
V j(i) = ei j for each i j ∈ Xi , yields X (i) = e j : j ∈ Xi . Then User i has the rows
of X indexed by Xi and requests X f (i) .
Remark 3 The case where the sender does not necessarily possess the matrix X
itself can be applied to the broadcast relay channel, as described in [33]. The authors
consider a channel as in Fig. 8, and assume that the relay is close to the users and
far away from the source, and in particular that all relay-user links are erasure-free.
Each node is assumed to have some storage capacity and stores previously received
data in its cache. The packets in the cache of the relay node are obtained as previous
broadcasts, hence it may contain both coded and uncoded packets. The relay node,
playing the role of the sender, transmits packets obtained by linearly combining
the packets in its cache, depending on the requests and coded side information of
all users. It seeks to minimize the total number of broadcasts such that all users’
demands are met.
We denote by
so that X = ⊕i∈[m] X (i) is the direct sum of the X (i) as a vector space over Fq . For
the remainder, we let X , X (S) , R be as defined above and write I = (X , X (S) , R)
to denote an instance of the ICCSI problem for these parameters.
The definition of an index code is similar to that of the ICSI case.
E : Fqn×t → FqN ×t ,
is an Fq -code for I of length N if for each ith receiver, i ∈ [m] there exists a
decoding map
satisfying
∀X ∈ Fqn×t : Di (E(X ), A) = Ri X,
for some vector A ∈ X (i) , in which case we say that E is an I -IC. E is called an
Fq -linear I -IC if E(X ) = L V (S) X for some L ∈ FqN ×dS , in which case we say that
L represents the code E, or that the matrix L realizes E. If t = 1, we say that L
represents a scalar linear index code. If t > 1 we say that the code is vector linear.
We write L to denote the space L V (S) .
As before, for the ICCSI instance βt (I ) denotes the minimum broadcast rate for
block-length t where the encoding is over all possible extensions of F p . That is, for
I = (X , X (S) , R)
βt (I ) βt (I )
β(I ) = lim = inf .
t→∞ t t t
Index Coding, Network Coding and Broadcast with Side-Information 269
As shown in [4], it turns out that also for the case of coded side information the optimal
length of a scalar linear index code is linked to a problem of rank minimization.
The result of Lemma 1 is generalized by the following
Lemma 2 ([4]) Let L ∈ FqN ×dS . Then L represents an Fq -linear I -IC index code
of length N if and only if for each i ∈ [m], Ri ∈ L + X (i) .
So Lemma 2 gives necessary and sufficient conditions for a matrix L to represent
a linear code of the instance I . The sufficiency of the statement of Lemma 2 has
already been noted in [33]).
Remark 4 If the equivalent conditions of the above lemma hold we have that for each
i ∈ [m], Ri = b(i) L V (S) + a(i) V (i) for some vectors a(i) , b(i) . So User i decodes its
request by computing
β(I ) ≤ κ(I ).
Similarly to the classical ICSI, we have that optimal linear index coding matrix
can be obtained by solving a matrix completion problem over a finite field. However,
this matrix completion problem is different from the conventional matrix completion
problem. This comes from the fact that, in this more general problem, the rows of
the matrix have to lie in the spaces X (i) ’s. In [25] it is proposed a random greedy
algorithm (over F2 ) that minimizes the rank of the derived matrix.
As said before an ICCSI instance no longer has an obvious association to a com-
binatorial structure such as a graph or hypergraph. However, all the bounds given
270 E. Byrne and M. Calderini
in Sect. 3.1 can be generalized to the ICCSI case adopting a Linear Programming
approach.
We start with the following definition, introduced in [33] as a coding group,
wherein a procedure to detect such as subset is given. It is easy to see that this
definition generalizes the definition of a hyperclique given in Sect. 3.1.
Definition 9 Let I = (X , X (S) , R) be an instance of the ICCSI problem. A subset
of receivers C ⊆ [m] is called generalized clique if there exists v ∈ X (S) such that
Ri ∈ v + X (i) for all i ∈ C.
For simplicity in the following we refer to a generalized clique just as a clique.
Note that demand Ri X of each user i of a clique can be met by sending the message
vX , that is one packet as for the classical case. Hence a set of cliques that partitions
the set [m] ensures that all requests can be delivered in at most transmissions.
We denote by C the set of all cliques of I = (X , X (S) , R).
Definition 10 We define the generalized clique cover number of I , denoted by
ϕ(I ), to be the optimal solution of the following integer program:
min yC
C∈C
s.t. yC = 1 for all j ∈ [m] (11)
C: j∈C
The LP relaxation of (11) (so with the relaxed constraint 0 ≤ yC ≤ 1 for all C)
is the fractional generalized clique cover number ϕ f (I ).
Theorem 13 ([5]) Let I = (X , X (S) , R). There exist achievable Fq -linear index
codes corresponding to ϕ(I ) and ϕ f (H ). In particular, we have
β(I ) ≤ ϕ f (I ) ≤ ϕ(I ).
That is, R(C) contains all the vectors that we can use to encode X in order that all
receivers in C can decode correctly.
Definition 11 For each C ∈ C fix a vector vC ∈ R(C). We define the following
integer program with respect to the vectors vC .
Index Coding, Network Coding and Broadcast with Side-Information 271
min k
s.t. yC ≤ k for all j ∈ [m]
C:vC ∈X
/ ( j) (12)
yC = 1 for all j ∈ [m] yC ∈ {0, 1}for all C ∈ C and k ∈ N.
C: j∈C
This is an extension of the local hyperclique cover: for a set of fixed vC , given
user j ∈ [m] and some feasible solution to (11), count number of cliques C in that
generalized clique cover such that vC is not contained in the side-information X ( j)
and let k be the maximum number of such cliques for each j. The optimal solution
of (12) is the minimum value of k over all possible solutions of (11) and all choices
of vC . The minimum of the LP relaxation of (12) over all possible vC ’s is called
the fractional local generalized clique cover number ϕl f (I ). Clearly the optimal
solution of (12) depends on the choice of vectors vC .
Theorem 14 ([5]) Let I = (X , X (S) , R). There are achievable linear index codes
corresponding to ϕl (I ) and ϕl f (I ) implying β(I ) ≤ ϕl f (I ) ≤ ϕl (I ).
In the multicast partition scheme for the ICSI case we want to find a partition
where the knowledge, i.e. the cardinality of Xi , of the users among the sets of the
partition is maximized. Now, the knowledge of a user is given by the dimension of
the space X (i) , so we obtain the following
Definition 12 We define the partition generalized multicast number, ϕ p (I ) to be
the optimal solution of the following integer program
min aM dM
M⊂[m]
s.t. a M = 1 for all j ∈ [m]
M: j∈M (13)
a M ∈ {0, 1} for all M ⊂ [m], M = ∅.
and d M = dim(R M ) − min dim(R M ∩ X ( j) ).
j∈M
Theorem 15 ([5]) Let I = (X , X (S) , R). There are achievable linear index codes
p p
of lengths ϕ p (I ) and ϕ f (I ), which implies that β(I ) ≤ ϕ f (I ) ≤ ϕ p (I ).
The final approach considered combines partition multicast and local clique cov-
ering. The users are partitioned into multicast groups and independently covered by
generalized cliques. Each multicast group offers a reduced ICCSI problem to which
a restricted local clique cover is applied.
Definition 13 Define the following integer program
min aM k M
M⊂[m]
s.t. yC ≤ k M for all j ∈ M
( j)
C:vC ∈X
/
C∩M=∅ (14)
a M = 1, yC = 1 for all j ∈ [m]
M: j∈M C: j∈C
The minimum of the LP relaxation of (14) over all possible choices of vC is called
p
the fractional partitioned local generalized clique cover number ϕl f (I ).
p
Theorem 16 ([5]) There are achievable linear index codes corresponding to ϕl (I )
p p p
and ϕl f (I ) implying β(I ) ≤ ϕl f (I ) ≤ ϕl (I ).
The comparison between the parameter introduced in Sect. 3.1 (see Fig. 6) are no
more valid in this contest, as shown in the following remarks.
Index Coding, Network Coding and Broadcast with Side-Information 273
p
Remark 5 The parameters ϕ p and ϕl are not comparable. From the parameters given
in [30] we have that there exist instances of the ICSI problem for which ϕ p (I ) ≥
ϕl (I ). Now, consider the ICCSI instance with m = n = 3, q = 2, X (S) = F32 .
p
Then the set of all cliques is C = {{1}, {2}, {3}}. Moreover we can see that vi , vi ∈
/
X (1) for all i. Now, if we consider the multicast group M = {1, 2, 3} we can note
that d M = 2 and that k M = 3 because none of the six vectors above is in the space
X (1) . Then we have 2 = ϕ p (I ) ≤ ϕl (I ) = 3.
p
Remark 6 The parameters ϕ p and ϕ are not comparable. From the parameters given
in [30], there exist instances of the ICSI problem for which ϕ(I ) ≥ ϕ p (I ). Now
consider the ICCSI instance with m = n = 2, q = 2, X (S) = F22 .
and R1 = 10, R2 = 01. It is easy to check that using the multicast group partition
we need two transmissions, but it can be seen that {1, 2} is a clique and that v{1,2} =
01 ∈ R({1, 2}), yielding 1 = ϕ(I ) ≤ ϕ p (I ) = 2.
p
Remark 7 We have ϕl (I ) ≤ ϕl (I ) ≤ ϕ(I ). It is easy to check that ϕl (I ) ≤
ϕ(I ) as k is at most equal to the number of cliques that form a partition of [m].
p
Then we have also ϕl (I ) ≤ ϕl (I ). In fact, among the possible optimal solutions
we have those where M = [m] and in that case we obtain exactly ϕl (I ).
Fig. 9 ICCSI bounds introduced in this section. Smaller quantities are placed to the left and the
weakest bound is placed to the rightmost of the figure. Arrows indicate the relationship they satisfy
Error correction in the index coding problem has been considered in [4, 14]. In this
model it is assumed that some erroneous packets have been transmitted among N
coded packets E(X ), that is the users receive a transmission Y = E(X ) + W , for
some error matrix W . The question is now to determine the shortest possible length
N of a linear index code such that each receiver can recover its demanded packet,
assuming that E(X ) has been corrupted by noise.
This problem was introduced in [14] for the case of uncoded side information
and extended in [4] to include the coded-side information case. For the case of
Hamming errors, it is shown that ideas from classical coding theory can be adapted
to the linear index coding problem to obtain bounds on the transmission rate where
at most δ rows of E(X ) have been affected by noise. For linear index codes, generic
decoding algorithms based on syndrome decoding can be applied. Rank-metric error
correction was also considered in [4]. In this exposition, for brevity we will describe
the Hamming case only.
The Hamming distance d H (Z , Z ) between a pair of matrices Z , Z is the number
of non-zero rows of their difference Z − Z , which is also the Hamming weight
w H (Z − Z ).
The formal notion of a δ-error correcting index code is as follows.
satisfying
Di (E(X ) + W, A) = Ri X
Then the set of vectors of Fq4 such that V (i) u = 0 and Ri u = 0 for some i ∈ [4] is
given by
{1000, 0100, 0010, 1010, 0101, 0011, 1101, 1110, 0111},
276 E. Byrne and M. Calderini
which, after including the zero vector, contains the subspace {0000, 1010, 0100,
1110}, and no larger subspace. It follows that α(I ) = 2.
Theorem 18 (α-bound) Let I be an instance of the ICCSI problem. Then
N (α(I ), 2δ + 1) ≤ N (I , δ).
The argument used in the proof of the α-bound may be sketched as follows. We
let CU := {L V (S) u : u ∈ U } for U of maximum dimension as described above. If
L realizes an (I , δ)-ECIC then CU is an Fq -linear [N , α, 2δ + 1] code, so that the
ECIC necessarily has length at least α(I ). We give sufficient conditions for tightness
of the α-bound.
Let U ⊥ denotes the orthogonal space of U with respect to the usual scalar product
in Fqn .
Corollary 1 Let I be an instance of the ICCSI problem. If there exists a matrix
⊥ ⊥
B ∈ Fqα(I )×dS satisfying BV (S) ∩ V (i) ⊂ Ri ⊥ for all i ∈ [m] then
N (α(I ), 2δ + 1) = N (I , δ).
α(I ) ≤ κ(I ),
⊥ ⊥
with equality occurring if there exists L ∈ Fqα(I )×dS satisfying L V (S) ∩ V (i) ⊂
Ri ⊥ for all i ∈ [m].
Theorem 19 (κ-bound) Let I be an instance of the ICCSI problem. Then
N (I , δ) ≤ N (κ(I ), 2δ + 1).
κ(I ) + 2δ ≤ N (I , δ).
Example 10 Let m = 6, n = 5, q = 2 and let X (S) = Fq5 . Suppose that X (i) has
dimension di = 2 for each i ∈ {1, ..., 6}. Let I be the instance defined by user
side-information
Index Coding, Network Coding and Broadcast with Side-Information 277
01110 10001 11110
V (1) = , V (2) = , V (3) = ,
00111 00110 00011
(4) 10010 (5) 00110 (6) 10010
V = ,V = ,V = ,
01111 00011 00110
It can be checked that κ(I ) = 3 and that α(I ) = 3. It follows from the α-
bound that 6 = N (3, 3) = N (α(I ), 3) ≤ N (I , 1). From the κ-bound we have
6 = N (3, 3) = N (κ(I ), 3) ≥ N (I , 1).
We construct a matrix L that realizes a 1-error correcting ECIC for this instance
as ⎡ ⎤ ⎡ ⎤
10000 100
⎢ 01000 ⎥ ⎢ 010 ⎥ ⎡ ⎤
⎢ ⎥ ⎢ ⎥
⎢ 00011 ⎥ ⎢ 001 ⎥ 10000
L=⎢ ⎥ ⎢ ⎥⎣ ⎦
⎢ 01011 ⎥ = ⎢ 011 ⎥ 01000 = L 2 L 1 ,
⎢ ⎥ ⎢ ⎥ 00011
⎣ 11000 ⎦ ⎣ 110 ⎦
11011 111
where L 2 has column space a [6, 3, 3] binary linear code and L 1 realizes an optimal
code I -IC.
Theorem 21 Let I be an instance of the ICCSI problem. Let L ∈ FqN ×dS be selected
uniformly at random over Fq . The probability that L corresponds to a Hamming
metric Fq -linear (I , δ)-ECIC is at least
m
Vq (N , 2δ)
1− q n−di −1 (q − 1) .
i=1
qN
278 E. Byrne and M. Calderini
It is well known that the function Hq (x) is continuous and increasing on (0, 1 −
(1/q)) and that Vq (n, λn) ≤ q Hq (λ)n [24].
q (n−di −1)
1 − (q − 1) .
q N (1−Hq (λ))
i∈m̂
q N (1−Hq (λ))−(n−d−1)
m< ,
q −1
Remark 8 The α and Singleton bounds have rank-metric analogues, as does Theorem
21. The interested reader is referred to [4] for further details.
For the remainder of this section, we let L ∈ FqN ×dS be a matrix corresponding to an
(I , δ)-ECIC. Suppose that for some i ∈ [m] the ith user, receives the message
where L V (S) X is the codeword transmitted by S and W(i) is the error vector in FqN .
/ X (i) , there exists an invertible matrix M(i) ∈ Fqn×n such that
Since Ri ∈
V (i) M(i) = [I |0] where I is the identity matrix in Fdi ×di , and Ri M(i) = edi +1 .
Index Coding, Network Coding and Broadcast with Side-Information 279
−1
Now define X := M(i) X ∈ Fqn×t . Then we have
V j(i) X = e j M(i)
−1
X = X j for j ∈ [di ]
and
−1
Ri X = edi +1 M(i) X = X d i+1 .
Let L = L V (S) M(i) and let [s] := [n] \ [s]. Consider the following two codes. We
define C (i) ⊂ FqN to be the column space of the matrix [L di +1 |L [di +1] ] ∈ FqN ×n and
we define C(i) ⊂ FqN to be the subspace of C (i) spanned by the columns of L [di +1] .
For each i ∈ [m], we have C(i) ⊆ C (i) with dim(C (i) ) = dim(C(i) ) + 1. As usual,
for an Fq -linear code C ∈ FqN we write C ⊥ := {y ∈ FqN : x · y = 0} to denote its
⊥ ⊥
dual code. Then we have C (i) ⊆ C(i) ⊥ with ri = dim(C(i) ⊥ ) = dim(C (i) ) + 1 for
some ri . Let H(i) be a parity check matrix of C(i) of the form
h (i)
H(i) = ∈ Frqi ×N , (15)
H (i)
⊥
where H (i) is a parity check matrix of C (i) and h (i) ∈ C(i) ⊥ \ C (i) .
Then
H(i) L di +1 = [sdi +1 , 0, . . . , 0]T
0110 1000 1000 1101
V (1) = , V (2) = , V (3) = , V (4) = .
0010 0011 0001 0110
⊥
The vectors in F42 in V (i) \Ri⊥ for some i ∈ [4] comprise the set
Step I I I : Compute
Result: Ri X = X̂ di +1
It is easy to check that α(I ) = 2 and κ(I ) = 2, so from the α and κ bounds we
have
Let ⎡ ⎤
⎡ ⎤ 1 1 1 0
1 0 11 ⎢0
⎢0 1 1 0⎥
0 0 1⎥ ⎢ ⎥
M(4) =⎢
⎣0
⎥ and L = L M(4) =⎢
⎢1 0 1 0⎥⎥
1 0 1⎦ ⎣1 1 1 1⎦
0 0 10
0 1 0 1
Index Coding, Network Coding and Broadcast with Side-Information 281
00111
Therefore α4 = 0 and β4 = [111]T . Now from Step II, we obtain that the vector
ε = [00001]T is a solution of (3) and in Step III we obtain
X̂ 3 = (0 − [00011] · [00001])/1 = 1 = X 4 .
5 Connections
The equivalence of the index and network coding problems is important, particularly
in relation to the fundamental question of determining the capacity of an arbitrary
network coding instance.
An instance of the index coding problem may be viewed as an instance of network
coding in which there is a single internal node of in-degree greater than one, i.e. a
single coding point, whose outgoing edge has some capacity c B , which represents
the broadcast rate. We illustrate this connection by an example shown in the Fig. 5.1
below, where the index coding instance on the left is the same as that of Fig. 1 and the
figure on the right is the corresponding network coding instance. The edges outgoing
from the source nodes all have unit capacity, whilst all other edges have capacity c B .
An edge joining an ith source node with a jth sink node (shown below in red) exists
282 E. Byrne and M. Calderini
has x3 has x1 , x3
x1 x2 x3
requests x1 1 2 requests x2
has x1 , x2 , x3 S
edge capacities cB
requests x1 4 3 requests x3
has x2 has x1 , x2
x1 x2 x3 x1
D = {Du : u ∈ U } such that the arguments of Fe and Du respectively are the outputs
of edges incoming to e and u. The acyclic structure of G means that F yields a well-
defined set of global encoding functions P = {Pe : e ∈ E }, so that Pe (X ) is the output
of edge e for any transmitted X = (X s : s ∈ S). More precisely, for any e ∈ E , we
have
Pe (X ) = Fe (Pe (X ) : e ∈ In(e)).
X e = Pe (X S ) = Fe (Pe (X S ) : e ∈ In(e)).
We claim that for each receiver of the corresponding instance I there have a decoding
map that outputs its request vector.
284 E. Byrne and M. Calderini
De (E(X ), X X e ) := Fe ((E e (X ) : e ∈ Xe ) − X X e )
= Fe (Pe (X S ) : e ∈ In(e))
= Pe (X S ) = X e ,
D0 (E(X ), X X 0 ) := (E e (X ) : e ∈ E ) − (Pe (X X 0 ) : e ∈ E )
= (X e + Pe (X S ) : e ∈ E ) − (Pe (X S ) : e ∈ E )
= XE ,
as requested by user t0 .
Therefore the network code (F, D ) for I yields an index code for the instance
I.
Conversely, suppose there is a code (E, D) of length N = |E | for the index
coding instance I . We will construct a code (F, D ) for the network coding instance
I . Given any Y ∈ Im E ⊂ FqN ×t , the existence of D0 means that for each W ∈
|S|×t
Fq there exists unique Z ∈ FqN ×t satisfying D0 (Y, W ) = Z ; equivalently, such
that E(W, Z ) = Y .
Then choose Y ∈ Im E. Let X S be the source data to be transmitted. Then X E =
(X e : e ∈ E ) := D0 (Y, X S ). For each e ∈ E , define recursively a local and global
encoding functions as follows.
• If e is incident with a source node s ∈ S then
X e = Pe (X S ) = Fe (X s ) := De (Y, X s ) = X s .
e1 e4
e5
e6 e7
u2 u1
The index code (E, D) for the instance I thus yields the network code (F, D ) for
the network coding instance I .
We summarize this in the following theorem, which is a simplified version of
[18, Theorem 1], in which we assume constant rate of all sources and a zero-error
solution. The reader is referred to [18] for further details.
• N := 7.
286 E. Byrne and M. Calderini
We remark that the set of all F2 -linear feasible solutions for this index coding
problem are matrices with the same row space as one of the form
⎡ ⎤
1 0 00 0 ∗ 00 ∗
⎢0 1 ∗0 0 0 ∗0 0⎥
⎢ ⎥
⎢∗ 0 10 0 0 00 0⎥
⎢ ⎥
⎢∗ 0 01 0 0 00 0⎥
⎢ ⎥
⎢0 ∗ 00 1 0 00 0⎥
⎢ ⎥ (19)
⎢0 ∗ 00 0 1 00 0⎥
⎢ ⎥
⎢0 0 0∗ ∗ 0 10 0⎥
⎢ ⎥
⎢0 0 00 0 0 ∗1 0⎥
⎢ ⎥
⎣0 0 00 0 0 ∗0 1⎦
∗ ∗ 11 1 1 11 1
where ∗ may be replace by an arbitrary element of F2 . It can be checked that the least
F2 -rank any such matrix may have is 7, so the optimal length of an F2 -linear index
code of I is 7.
Of course there exists a linear network code over F2 for the instance I illustrated
by the butterfly network. For Y ∈ F22 , the global encoding functions given by:
The claim is now that there exists a length 7 index code for the instance described.
Define a map E : F92 −→ F72 by
Du 1 (X {e4 ,e7 } ) := Du 1 (0, X {e4 ,e7 } ) = X 1 and Du 2 (X {e1 ,e6 } ) := Du 2 (0, X {e1 ,e6 } ) = X 2 .
The stronger version of the equivalence between network and index coding is
given by the following.
Theorem 24 ([18, Theorem 1]) Let I be an instance of the network coding prob-
lem. Let I be the corresponding instance of the index coding problem with broadcast
288 E. Byrne and M. Calderini
rate c B . For any rate vector R, any integer t, and any ε ≥ 0 it holds that I is (ε, R , t)
feasible if and only if I is (ε, R, c B , t) feasible.
Here R = (Rs : s ∈ S) ∈ |S| is a rate vector for I , indicating a transmission
rate of Rs for each source s ∈ S, and R = (R , ce : e ∈ E ) ∈ n represents a rate
vector for I , where ce is the capacityof edge e in the network. The quantity c B is
the sum of the edge capacities: c B = e∈E ce . As before t is the block length. The
instance I (respectively I ) is called (ε, R , t)-feasible (respectively (ε, R, c B , t)-
feasible) if each terminal node can retrieve its required data with probability at least
1 − ε. The capacity region of the instance I is the set of R such that for any ε, δ ≥ 0
the instance I is (ε, (1 − δ)R , t)-feasible for some blocklength t.
In spite of the equivalence demonstrated in Theorem 24, it is not known whether or
not the network coding capacity region of I can be obtained by solving the capacity
region of the index coding instance I . This is referred to as capacity equivalence.
While this equivalence holds for linear codes, and for certain network topologies the
question of capapcity equivalence for general networks is unknown. The question
has an interesting connection to the edge removal problem.
Choosing b(k) = (U f (k),k L f (k) )−1 U f (k),k and u(k) = (U f (k),k L f (k) )−1 U f (k),k L X k
yields a solution to the index coding problem as given in (4).
The alignment property corresponds to linear dependence among the columns
of L, which results in reduction of broadcast rate. If all columns of L are linearly
independent, N = n and the transmission rate is the same as for routing, that is,
where every transmitted symbol occupies a different time-slot. In TIM, the side-
information, Xi , of the ith user is called an antidote for the messages {X j , j ∈ Xi }.
User i uses its antidotes to effectively cancel |Xi | columns of L and to hence observe
a linear combination of n − |Xi | − 1 interfering vectors in the column space of the
remaining columns of L, i.e. in the column space of L [n]\(X i ∪ f (i)) . Therefore, a
necessary condition for decoding at the ith receiver is that the column space of
L f (i) has trivial intersection with the column space of L [n]\(X i ∪ f (i)) . In particular,
resolvability for User i requires the dimension of the space spanned by the interfering
columns of L, those indexed by [n]\(Xi ∪ f (i)) should be no more than n − 1, in
which case the interfering vectors must align in an n − 1 dimensional space.
In Fig. 5.2, the diagram on the left is the index coding instance shown already
in Fig. 5.1. The image on the right is a related interference alignment problem. The
upper nodes represent transmitters and the lower nodes are receivers. In the TIM
graph shown a receiver node is connected to a sender node if the receiver lies within
the transmission range of the sender. In the corresponding index coding problem,
there is a link from a source node to a receiver if and only if it is absent in the TIM
graph (Fig. 12).
An optimal solution to the toy index coding instance shown above (for which
receivers 1, ..., 4 demand X 1 , X 2 , X 3 , X 1 respectively) is given by
100
L = [L 1 , L 2 , L 3 ] = .
011
In the language of TIM, we say that there is alignment with respect to L 2 and L 3 .
The vectors
x1 x2 x3 S1 S2 S3
edge capacities cB
x1 x2 x3 x1 R1 R2 R3 R4
satisfy the conditions as described above, so each kth user can decode its demand
X f (k) . For example,
⎛ ⎡ ⎤ ⎞
X1
1 100 ⎣ ⎦ 0 ⎠
X f (1) = [1 0] [1 0] ⎝ X2 − X3 = X1
0 011 1
X3
Ri = [O · · · H · · · O]
for some ri × matrix H with standard basis vectors of length as rows. Each user
has a subset of some number of packets from each block and the same number of
packets v in total. In terms of (C , R), this imposes the constraints that for each i,
• V (i) is an v × n matrix,
• Ri and V (i) have standard basis vectors as rows,
• the jth block of columns of V (i) has some − ri standard basis vectors of length
as columns that complete H to a basis of Fq .
If a subset of users wish to receive the same block, the delivery to that set of users
becomes a local multicast problem.
The main difference between the coded-caching problem and the index coding
problem is the role of the sender in the placement phase. The index coding problem
Index Coding, Network Coding and Broadcast with Side-Information 291
is essentially one of delivery for given (C , R); the placement is not necessarily
controlled by the sender. However, in the coded caching problem, we seek an optimal
placement of the side-information code C in advance of knowing the users’ request
matrix R. The sender tries to choose C in such a way that for any R all users’ demands
can be met with a small number of transmissions. More precisely, the coded caching
problem seeks to find, or obtain bounds on:
In [28] the authors use the cut-set bound to derive a lower bound on the optimal
storage memory rate trade-off. Furthermore, they devise a scheme that achieves
this rate within a constant factor. So asymptotically, the canonical coded caching
problem is solved. Moreover, it was shown in [39] that improvements to the scheme
presented in [28] can only be achieved by considering caching schemes with coded
side-information.
For example, the matrices V (i) may have rows that are not standard basis vectors,
which corresponds to the cache data (the side-information) being encoded. Then Ci
is an arbitrary nv-dimensional matrix code for each i. In [35] the authors propose a
scheme for coded-caching with coded side-information using MDS and rank metric
codes. Their scheme delivers an improvement in the memeory-rate trade-off of sev-
eral known schemes and are in some cases optimal. However, their scheme requires
large field sizes.
References
10. E.J. Candès, B. Recht, Exact matrix completion via convex optimization. Found. Comput.
Math. 9(6), 717–772 (2009)
11. T.H. Cormen, C. Stein, R.L. Rivest, C.E. Leiserson, Introduction to Algorithms, 2nd edn.
(McGraw-Hill Higher Education, New York, 2001)
12. M. Dai, K.W. Shum, C.W. Sung, Data dissemination with side information and feedback. IEEE
Trans. Wireless Commun. 13(9), 4708–4720 (2014)
13. S.H. Dau, V. Skachek, Y.M. Chee, On the security of index coding with side information. IEEE
Trans. Inf. Theory 58(6), 3975–3988 (2012)
14. S.H. Dau, V. Skachek, Y.M. Chee, Error correction for index coding with side information.
IEEE Trans. Inf. Theory 59(3), 1517–1531 (2013)
15. S.H. Dau, V. Skachek, Y.M. Chee, Optimal index codes with near-extreme rates. IEEE Trans.
Inf. Theory 60, 1515–1527 (2014)
16. P. Erdös, Z. Füredi, A. Hajnal, P. Komja’th, V. Rödl, A. Seress, Coloring graphs with locally
few colors. Discret. Math. 59(1), 21–34 (1986)
17. H. Esfahanizadeh, F. Lahouti, B. Hassibi, A matrix completion approach to linear index coding
problem, in Information Theory Workshop (ITW) (IEEE, 2014), pp. 531–535
18. M. Effros, S. El Rouayheb, M. Langberg, An equivalence between network coding and index
coding. IEEE Trans. Inf. Theory 61(5), 2478–2487 (2015)
19. A. El Rouayheb, A. Sprintson, C. Georghiades, On the index coding problem and its relation
to network coding and matroid theory. IEEE Trans. Inf. Theory 56(7), 3187–3195 (2010)
20. M. Fazel, H. Hindi, S. Boyd, Rank minimization and applications in system theory in American
Control Conference, vol. 4 (IEEE, 2004), pp. 3273–3278
21. W. Haemers, An upper bound for the Shannon capacity of a graph. Colloq. Math. Soc. Jànos
Bolyai 25 (1978)
22. X. Huang, S. El Rouayheb, Index coding and network coding via rank minimization, in IEEE
Information Theory Workshop (ITW) (2015), pp. 14–18
23. S.A. Jafar, Topological interference management through index coding. IEEE Trans. Inf. The-
ory 60(1), 529–568 (2014)
24. H. Loeliger, An upper bound on the volume of discrete spheres. IEEE Trans. Inf. Theory 40(6),
2071–2073 (1994)
25. N. Lee, A.G. Dimakis, R.W. Heath Jr, Index coding with coded side-information. IEEE Com-
mun. Lett. 19(3)(2015)
26. Eyal Lubetzky, Uri Stav, Nonlinear index coding outperforming the linear optimum. IEEE
Trans. Inf. Theory 55(8), 3544–3551 (2009)
27. H. Maleki, V.R. Cadambe, S.A. Jafar, Index coding - an interference alignment perspective.
IEEE Trans. Inf. Theory 60(9), 5402–5432 (2014)
28. M. Maddah-Ali, U. Niesen, Fundamental limits of caching. IEEE Trans. Inf. Theory 60(5),
2856–2867 (2014)
29. R. Peeters, Orthogonal representations over finite fields and the chromatic number of graphs.
Combinatorica 16(3), 417–431 (1996)
30. K. Shanmugan, A. Dimakis, M. Langberg, Graph theory versus minimum-rank for index cod-
ing, in Proceedings of the 2014 IEEE International Symposium on Information Theory (ISIT)
(2014), pp. 291–295. arXiv:1402.3898.v1
31. J. Saunderson, M. Fazel, B. Hassibi, Simple algorithms and guarantees for low rank matrix
completion over F2 . IEEE Int. Symp. Inf. Theory (ISIT). Barcelona 2016, 86–90 (2016)
32. D. Silva, F.R. Kschischang, R. Koetter, Communication over finite-field matrix channels. IEEE
Trans. Inf. Theory 56(3), 1296–1305 (2010)
33. K.W. Shum, D. Mingjun, C. Sung, Broadcasting with coded side information. 2012 IEEE 23rd
Int. Symp. Pers. Indoor Mobile Radio Commun. (PIMRC) 89(94), 9–12 (2012)
34. V.Y.F. Tan, L. Balzano, S.C. Draper, Rank minimization over finite fields: fundamental limits
and coding-theoretic interpretations. IEEE Trans. Inf. Theory 58(4), 2018–2039 (2012)
35. C. Tian, J. Chen, Caching and delivery via interference elimination, in 2016 IEEE International
Symposium on Information Theory (ISIT) (2016), pp. 830–834
Index Coding, Network Coding and Broadcast with Side-Information 293
36. A.S. Tehrani, A.G. Dimakis, M.J. Neely, Bipartite index coding, in Proceedings of the IEEE
2012 International Symposium on Information Theory (ISIT) (Boston, 1-6 Jul 2012), pp. 2246–
2250
37. J.I. Tamir, E.R. Elenberg, A. Banerjee, S. Vishwanath, Wireless index coding through rank
minimization, in IEEE ICC 2014 - Wireless Communications Symposium (2014), pp. 5209–
5214
38. M.F. Wong, M. Langberg, M. Effros, On a capacity equivalence between network and index
coding and the edge removal problem, in 2013 IEEE International Symposium on Information
Theory (2013), pp. 972–976
39. K. Wan, D. Tuninetti, P. Piantanida, On the optimality of uncoded cache placement, in 2016
IEEE Information Theory Workshop (ITW) (2016), pp. 161–165
40. K. Shanmugam, A.G. Dimakis, M. Langberg, Local graph coloring and index coding, in 2013
IEEE International Symposium on Information Theory Proceedings (ISIT) (2013), pp. 1152–
1156
41. P. Jain, P. Netrapalli, S. Sanghavi, Low-rank matrix completion using alternating minimization,
in Proceedings of the forty-fifth annual ACM symposium on Theory of computing (ACM, 2013),
pp. 665–674
42. M. Hardt, Understanding alternating minimization for matrix completion, in IEEE 55th Annual
Symposium on Foundations of Computer Science (FOCS) (2014), pp. 651–660
Implementation of Network Coding
in Wireless Systems
1 Introduction
In classical routing applications, intermediate nodes simply store and forward the
received symbol to the destinations or other intermediate nodes without modifying
the content of received packets. As 5G and beyond 5G communication technologies
target high data rate and low delay demands based on real-time applications in dense
network scenarios, the efficient usage of network resources (bandwidth, power, and
time) becomes critical at intermediate nodes to jointly increase the throughput and
reduce the delay. Network coding (NC) is proposed as a smart routing solution which
meets high throughput and low latency demands [1].
The transmission process of NC systems is completed in two orthogonal phases;
the broadcast phase and the relaying phase. In the broadcast phase, information
symbols are radiated from source nodes and received by intermediate nodes (referred
to relay nodes hereafter). Relay nodes typically decode the received symbols and
combine symbols from multiple sources to obtain network coded symbols. In the
relaying phase, each relay node determines the NC coefficients based on the selected
coding type for all symbols and encodes the detected source symbols. Then, relay
nodes forward the encoded symbols to destination nodes. Each destination node
needs to receive several coded symbols, at least as many as the number of source
nodes, to successfully decode the transmitted symbols.
In classical routing schemes, relay nodes sequentially send the received symbols,
which may cause a high delay and a low data rate. Hence, by using NC, the data
rate can be increased while obtaining low transmission latency. NC has a flexible
nature for an extension to multiple source and multiple relay cases by determining
different code sets for each relay. Hence, we can use NC as a smart routing tool, by
efficiently serving dense network users, furthermore it can be used as a solution for
the scalability problem in dense networks. We focus on linear NC in this chapter, but
there are also some works about non-linear mapping schemes on received bits [2].
The application of NC in wireless networks inherently holds one advantage and
one disadvantage. Firstly, there may be direct links that may be used to provide
an improved error performance, between source and destination pairs due to the
broadcast nature of wireless channel. On the other hand, error propagation may
emerge at destination node due to wireless channel impairments. Whether a direct
link, also termed as cooperation link, is present or not depends on the corresponding
link qualities. These links provide additional cooperative diversity to improve the
error performance [3]. Hence, when the implementation of NC in wireless networks
is designed by considering cooperation links, the system is named as network coded
cooperation (NCC). NCC has higher diversity gain and increased spectral efficiency
when compared to NC with the help of cooperation links.
Wireless networks are more prone to transmission errors when compared to wired
counterparts due to channel impairments. In the early works on NC, only error-free
cases are considered [1]. Although this is a valid assumption for wired networks,
it is not realistic for wireless networks. As mentioned above, different from NC,
in NCC, destination nodes use the source symbols that are received through direct
Implementation of Network Coding in Wireless Systems 297
links in the broadcast phase to improve the error performance. Hence, destination
nodes have multiple received symbols in both broadcast and relaying phases. The
symbols received in the relaying phase are encoded by using the selected network
code. A combining procedure at destination nodes needs to be used to exploit full
diversity. As the combining procedure, there are two frequently used detector types;
the rank-based detector [4] and the maximum likelihood (ML) [5] detector.
Diversity-multiplexing trade-off (DMT) is a tool that determines the set of diver-
sity and multiplexing gain pairs that can be obtained simultaneously for commu-
nication systems. DMT can be used to assess the performance of NCC systems.
The asymptotic DMT of NCC systems is studied in [6, 7]. These works focus on
time-division multiple access (TDMA) to preserve orthogonality among different
source and relay transmissions. On the other hand, [8] considers an efficient multi-
ple access technique, orthogonal-frequency division multiple access (OFDMA), to
provide orthogonality while providing frequency diversity gain. This system model
is called as NCC-OFDMA.
The theoretical DMT results of NCC-OFDMA system which is superior accord-
ing to benchmark systems is presented in [8]. In [9], an NCC-OFDMA framework is
established to evaluate its performance by using software defined radio (SDR) nodes.
The results show that NCC-OFDMA system enables easy implementation and pro-
vides higher reliability against wireless channel errors, leading to higher throughput
when compared to its NC counterpart. Through implementation, real-time issues are
analyzed and insights about a more comprehensive deployment are shared.
The aim of this chapter is to show with theoretical analysis and practical applica-
tion scenarios, that NCC is a strong candidate for next generation wireless systems.
We address the theoretical performance bounds of NCC through DMT analyses and
highlight practical application challenges with real-time implementation by using
SDR nodes. In order to evaluate the system performance, bit error rate (BER), error
vector magnitude (EVM) and signal-to-noise ratio (SNR) metrics are used.
The rest of this chapter is organized as follows. In Sect. 2, the signalling model
of NCC-OFDMA system and coding details are given. After that, DMT results of
NCC system are given in comparison with the state-of-the-art studies in Sect. 3. In
Sect. 4, implementation and test results of NCC-OFDMA system are presented. The
benefits of NCC-OFDMA are emphasized in Sect. 5.
2 Basic Principles
System models of NC and NCC are given in Fig. 1 a, b, respectively. Both two
systems include P source nodes, M relay nodes, and a single destination node. The
main advantage of NCC different from NC is the exploitation of direct transmission
links between source and destination pairs, as shown in the figure. In the linear NC
system, the destination node has M network-coded symbols, composed of linear
combinations of P source symbols. In order to recover all P source symbols, the
destination node needs at least P symbols, hence, we need to satisfy P ≤ M the
298 S. Tedik Basaran et al.
(a) (b)
Fig. 1 a Block diagram of NC system. b Block diagram of NCC system with the presence of direct
source to destination links
constraint in an NC system. On the other hand, this necessity is eliminated due to the
presence of direct transmission links in the NCC system. The direct transmission links
assist the relay-aided communication by providing additional cooperative diversity
gain.
NCC systems using TDMA strategy are generally planned for multiple users. To
exploit frequency diversity gain while ensuring orthogonality among multiple users,
OFDMA technique is considered for multiple access for NCC systems, referred to
as NCC-OFDMA. The transmission process of the NCC-OFDMA system is also
completed in two orthogonal phases: broadcast and relaying phases. In the broadcast
phase, all source nodes emit their own signals. The signals of the sources can be
captured jointly by the relay nodes and the destination node because of the broadcast
nature of wireless channel. In the wireless systems, the transmission qualities of
source-relay links are generally considered to be higher than the source-destination
links. Therefore, the subcarrier assignment process is performed according to the
attributes of the source-destination links. Following the broadcast phase, the relay
nodes demodulate the signals when they received during the broadcast phase and
combine them by using the coefficients of the selected network code. The combined
symbols formed at the relay nodes are called network coded symbols. After that, in
the relaying phase, relay nodes transmit the network coded symbols to the destination
nodes.
Let the frequency domain representation of the nth subcarrier channel gain of link
t be given by Ht [n], where t ∈ {si d, si r j , r j d}, i = 1, . . . , P, j = 1, . . . , M, n ∈
Ft with Ft is the set of the assigned subcarriers of the transmitter of link t. The number
of subcarriers is equal to N . All transmissions are carried out with unit power in the
system. The received signal from jth relay node of ith source node in the broadcast
phase is given as:
where Wsi r j [n] represents the additive white Gaussian noise (AWGN) at the jth
relay node. jth relay node detects X i [n] by using Ysi r j [n], and the detected symbol
Implementation of Network Coding in Wireless Systems 299
where ✢ denotes the summation operator in the field, GF(q), where q is the size of
the field. Source and network coded signals received by the destination node in two
phases from the source and relay nodes are defined as follows:
where AWGN components at the destination node in the broadcast and relaying
phases are denoted by Wsi d [n] and Wr j d [n], respectively.
If we assume error-free transmission among source-relay pairs, ( X̃ i j = X i ), to
simplify the expressions, the vector notation of received signals can be given as:
⎡ ⎤
Ys1 d
⎢ Ys2 d ⎥ ⎡ ⎤T ⎡ ⎤
⎢ ⎥
⎢ .. ⎥ a1 0 ··· 0 α11 · · · α1M X1
⎢ . ⎥ ⎢
⎢ ⎥ ⎢0 a2 ··· 0 α21 · · · α2M ⎥⎥
⎢
⎢ X2 ⎥⎥
⎢ Ys P d ⎥=⎢ . .. .. .. .. .. .. ⎥ ⎢ .. ⎥ , (4)
⎢ ⎥ ⎣ . . . ⎦ ⎣
⎢ Yr1 d ⎥ . . . . . . ⎦
⎢ ⎥
⎢ .. ⎥ 0 0 · · · a P α P1 · · · αP M XP
⎣ . ⎦
Yr M d
which can be also expressed as y = Zx. The first P entries of y represent the received
symbols of the direct transmission links among source and destination nodes. If the
ith direct transmission link is available, ai is equal to 1, otherwise it is equal to 0. αi j
is generated from GF(q) according to the current coding scheme in the relay nodes.
The last M entries of y denote the received encoded symbols from M relay nodes.
Z indicates the global coding matrix of NCC, consisting of direct link and relay link
coefficients. The aim of destination node is to recover x from y thanks to Z. Detailed
explanations and comparisons about signal modeling of NC and NCC can be found
in [12]. We explain the detection methods of NCC in detail to show effect of the
detector on the system in the next subsection.
300 S. Tedik Basaran et al.
There are two receiver strategies of NC depending on the availability of the global
coding matrix (Z) at destination node: coherent and non-coherent NC. Most of NC
and NCC works assume that destination node knows the coding coefficients [4, 13],
and this strategy is named as coherent NC. On the other hand, if coding coefficients are
not available at the destination node, the destination node can obtain the coefficients
through transmitting pilot symbols. This second approach is called non-coherent
NC [14]. In order to recover source symbols, a new coding metric based on sub-
spaces is proposed against erasures and errors of non-coherent RNC. To obtain x,
Gauss–Jordan elimination method can be used to solve the set of linear equations of
NCC over GF(q) [4, 13]. To apply Gauss–Jordan elimination for obtaining P source
symbols, we need at least P independent equations. This condition corresponds to
Z to be of full rank. In addition to performance corruptions due to wireless channels
as mentioned above, incorrect estimations of X i at relay nodes may cause error
propagation at destination node.
Coding coefficients, αi j , can be selected from different linear code sets like as MDS
[10], maximum rank distance (also called Gabidulin) codes [11] or be produced
randomly [4, 13]. MDS codes achieve equality in Singleton bound [11], and are
preferred in different applications as error correction and storage. MDS codes are
accepted as an important coding class due to their capabilities about error detection
and error correction based on the Hamming distance criterion. The redundancy-
reliability ratio of MDS codes is the optimal.
The other class of coding includes rank distance approach. In the rank distance
approach, the code construction is based on detecting and correcting of rank errors
by supplementing redundancy [11]. Instead of selecting from predetermined code
sets, in RNC, network code coefficients can be generated randomly. In RNC, cod-
ing coefficients have a uniform distribution and independently chosen from GF(q).
RNC yields flexible scheduling opportunity to NCC systems based on dynamically
changing network components with improving the efficiency of the NCC systems.
To obtain more information about the dynamic coding according to wireless channel
can be found in chapter “Opportunistic Network Coding”.
In both NC and NCC, broadcast and relaying phases are completed in P and M
orthogonal transmission blocks, respectively. TDMA, which causes undesired delay
for dense networks, can be used to provide orthogonality between transmission links.
On the other hand, multiplexing gain can be obtained by allocating transmission
Implementation of Network Coding in Wireless Systems 301
links in frequency domain thanks to OFDMA. At the same time, OFDMA provides
additional frequency diversity gain through assigning different subcarriers to users
according to channel quality of each subcarrier to the corresponding user. There are
also joint resource allocation schemes to unify assigning of various limited resources
as power, subcarrier, and bits. Employing subcarrier allocation processes can improve
the efficiency of the system. The comparative theoretical performance bounds of
various NCC schemes will be assessed in the following section by providing DMT
results.
Figure 2 depicts diversity gain d versus multiplexing gain r for various cooperative
communication protocols. It is known that conventional cooperative (CC) systems
including space-time coding [3] and opportunistic relaying [15] achieve the same
DMT of d(r ) = (M + 1)(1 − 2r ), r ∈ (0, 0.5).
In [6], Peng et al. consider a NCC system which consists of P source-destination
pairs and M relay nodes with dynamic coding (DC-NCC). Particularly, the “best”
relay (which has the best end-to-end path between source and destination) among the
set of M available relay nodes are selected and then the relay dynamically employs
XOR operation on the source packets based on instantaneous source to relay channel
quality. It is shown that the DC-NCC system can achieve a full diversity gain of
M + 1. However, diversity gain of M + 1 can only be obtained under the assumption
where the destination can successfully overhear the data from other source nodes. If
this optimistic assumption is removed, the achievable diversity gain of the DC-NCC
system reduces to only two and does not improve by increasing the number of relay
candidates.
In an effort to improve the diversity gain, random NCC (RNCC) system and
deterministic NCC (DNCC) system are presented in [7], where relay nodes encode
the sources’ packets using an encoding matrix of size (P + M) × P. As described
in the previous section, in this setup, the first P rows form an identity sub-matrix,
corresponding to the direct transmissions in the broadcasting phase. In addition, the
remaining columns and rows correspond to the packets transmitted by relays in the
relaying phase. In DNCC system the coefficients in the encoding matrix are preset
while in RNCC system are drawn randomly from finite field. The associated DMT
302 S. Tedik Basaran et al.
CC
d (r ) Ideal Space-Time Coding,
Opportunistic Relaying
M 1
DC-NCC
Repetition Coding
DNCC, RNCC
2
Non-Cooperative
r
1 0.5 P P 1
M 1 P M P 1
analysis reveals that a full diversity gain of M + 1 can be maintained through the
use of MDS codes typically used for point to point channels.
The DMT expressions of DC-NCC and DNCC/RNCC systems are given in [7].
As can be seen from Fig. 2, CC and RNCC/DNCC systems can achieve full diversity
gain of M + 1 when r = 0. However, DNCC/RNCC systems outperform CC systems
in terms of multiplexing gain and offer higher diversity gain than that of CC systems
for the same spectral efficiency. On the other hand, in comparison to other schemes,
DC-NCC systems have the highest multiplexing gain and offer more diversity gain
as r increases. This is due to the fact that only one relay XOR’es source packets
and therefore the overall transmission takes place in P + 1 orthogonal time slots. It
is worth mentioning that as P increases the spectral efficiency of the NCC systems
moves towards the ideal case. Therefore, NCC systems have better DMT performance
and outperform CC systems. On the other hand, repititon coding which is based on
simply repeating the data bits, has the worst DMT performance.
OFDMA systems are expected to extract both frequency and spatial diversity. In the
literature, DMT performance of CC-OFDMA system has been studied in [17]. The
underlying assumption in [17] is that the subcarriers are independent. Furthermore,
just one subcarrier is allocated to each source node. The derived DMT expression is
given by [17]
d(r ) = N (M + 1)(1 − 2r ), r ∈ (0, 0.5). (5)
The aforementioned NCC systems [6, 7] build upon the assumption of TDMA. To
exploit the multipath diversity gains and have further gains over NCC systems, the
combination of OFDM with NCC has been investigated in the literature. More specif-
ically, in [8] the DMT performance of NCC-OFDMA system is studied. In the system
under consideration, the transmission rate for all nodes is equal to R0 . There is L
number of coherence bandwidths due to the frequency selective channel. Further-
more, K 1 = N /P and K 2 = N /M are the numbers of subcarriers assigned to each
source and each relay in the broadcasting phase and the relaying phase, respectively.
This leads to different transmission rates for subcarriers in these two phases i.e.,
Rs1 = R0 /K 1 for the broadcasting phase and Rs2 = R0 /K 2 for the relaying phase.
By using Marcum Q-function of order one represented by Q 1 (·, ·), the outage prob-
abilities of subcarriers in the broadcasting phase for S → D links over Rician fading
channels are given by [8]
S D (K 1 ) = 1 − Q 1 (α, β S D ) ,
Poutsub (6)
√
where α = 2k and β S D = 2 (1 + k) 2 Rs1 N̂ − 1 ρ G S D . ρ is SNR and G X Y is
normalized path loss expressions with respect to S → D links. Similarly, for S → R
links, the outage probability of the subcarriers is given by
S R (K 1 ) = 1 − Q 1 (α, β S R ) ,
Poutsub (7)
where β S R = 2 (1 + k) 2 Rs1 N̂ − 1 ρ GSR.
In Eqs. (6) and (7), k is Rician factor, N̂ is the number of subcarriers within the
coherence bandwidth while calculating as N̂ =N /L. On the other hand, the outage
probability of subcarriers in the relaying phase (i.e., R → D links) can be obtained as
304 S. Tedik Basaran et al.
R D (K 2 ) = 1 − Q 1 (α, β R D ) ,
Poutsub (8)
where β R D = 2 (1 + k) 2 Rs2 N̂ − 1 ρ G RD.
Relay nodes which successfully decode all of their received packets from P source
nodes are allowed to participate in the relaying phase and the rows of the encoding
matrix corresponding to the relays with erroneous decisions are discarded. The DMT
expression of NCC-OFDMA system is given by [8]
P + M max {P, M} P L
d(r ) =L(M + 1) 1 − r , r ∈ 0, .
P L P + M max {P, M}
(9)
As expected, NCC-OFDMA systems are capable to fully extract both frequency
and spatial diversity and significantly outperform NCC systems which build upon
TDMA. The DMT of CC-OFDMA system with the same system configuration is
given by [8]
max{P, M} 1 L
d (r ) = L (M + 1) 1 − (M + 1) r , r ∈ 0,
L M + 1 max{P, M}
where selection relaying is considered. As can be seen from Fig. 3, both CC-OFDMA
and NCC-OFDMA systems achieve full diversity gain of L(M + 1) when r = 0.
However, maximum multiplexing gain of CC-OFDMA systems is always lower than
that of NCC-OFDMA systems indicating multiplexing gain loss in CC systems.
As another transmission strategy, if relay can decode even one packet correctly
from one of P source packets, it is allowed to participate in the relaying phase. In
this case, only the coefficients in the encoding matrix corresponding to the erroneous
opt
packets would be zero instead of discarding the whole row. Let Pout denote the
outage probability of the system under this assumption. A lower bound on the outage
low
probability Pout is the case when all the relays decode all P packets correctly and can
participate in the relaying phase i,e., m = 0 (see Eq. (14) of [8]) and the probability
that any relay successfully decodes all P packets received during the broadcasting
phase PR is equal to 1. Therefore, Pout in (16) of [8] is reduced to
Implementation of Network Coding in Wireless Systems 305
d (r )
CC-OFDMA
L ( M + 1) (All Relays Participate)
CC-OFDMA
(Relay Selection)
NCC-OFDMA
r
1 L L P L
0.5
M + 1 max{P, M } max{P, M } P + M max{P, M }
M
P−1− j
M M− j j P i
low
Pout = Pout R D 1 − Pout R D P−i
Pout 1 − PoutS D . (10)
j=0
j i=0
i SD
The lower bound of the outage probability in high SNR regime can be obtained as
L(M+1)
α2 β 2
low
lim Pout = C exp − , (11)
β→0 2 2
M P −L(M− j) −L( j+1)
where C = M j=0 j P−1− j
G RD GSD .
opt
Note that, Pout < Pout < Pout . Using squeezing theorem [18], we have
low
opt
log(Pout )
L(M + 1) < − lim < L(M + 1). (12)
log(ρ)
Therefore, one can conclude that the slopes of outage probability in log-log scale
low opt
for Pout , Pout , and Pout are identical and the achievable diversity gain of the system
remains the same regardless of which relaying strategy is used. Therefore, the DMTs
under two relaying strategies are identical.
306 S. Tedik Basaran et al.
NCC-OFDMA system gives full diversity gain when multiplexing gain is equal
to zero and maximum multiplexing gain performance among the other fundamen-
tal systems while no diversity gain. In order to test its high theoretical capability,
the real time implementation of NCC-OFDMA system is necessary. To perform
the implementation of NCC-OFDMA system, SDR implementation is used. SDR
implementations of various wireless communication techniques have been realized
recently. This trend continues to grow because of the benefits of SDR implemen-
tations over simulations. Modeling a transmission environment in simulation is not
realistic in most cases because hardware related issues show random characteristics
at each transmission and appropriate modeling of these becomes impossible.
CC structure that is inherent to NCC systems, may complicate the implementation
of NCC models in real-time. Such an implementation requires the realization of
multiple nodes in addition to proper communication between these nodes. As a
natural consequence of these requirements, accurate synchronization of these nodes
is a must in order to operate them cooperatively. Beyond these necessities, a flexible
design is also necessary to deploy algorithms to hardware without any problem.
In order to create a functional NCC testbed, an SDR based testbed is implemented
in [9] by considering the mentioned aspects. A testbed was created for the real-time
implementation of proposed NCC model in order to observe performance from a dif-
ferent perspective and validate simulation results. As SDR components, LabVIEW,
NI USRP-2921 nodes, NI PXI-6683H module, and NI PXIe-5644R Vector Signal
Transceiver (VST) are used. NCC testbed is implemented with 5 NI USRP-2921 SDR
nodes where three of them are used as source nodes and other two nodes are used as
destination. We used two physically separated receivers to seperately examine their
performances. For relay node, NI PXIe-5644R VST module is utilized which can
operate in 65 MHz to 6 GHz frequency range and can support 80 MHz instantaneous
bandwidth. Moreover, NI PXI-6683H timing and synchronization module which
includes a TCXO oscillator is used as synchronization source. All PXI modules are
managed via NI PXIe-1082 chassis. LabVIEW is used as software tool due to its
easy programming and SDR compatibility features.
As an expected necessity, NCC testbed needs a proper synchronization solution
for the robust performance due to its cooperative setup. Main component of this
solution is NI PXI-6683H module which provides 10 MHz clock signal. This signal
is distributed to one destination and two source nodes via RF cables. Other nodes
receive this signal with MIMO cables from synchronized nodes. Due to initial con-
nection of VST module to the chassis, relay node is also synchronized with the same
synchronization resource. One drawback of this setup is the limitation of distances
between nodes due to limited lengths of cables. These cables are used because of
their sufficient RF performances, longer cables have higher losses. This limitation
makes observing the effects of different distances on the system performance diffi-
cult, however we overcome this drawback by configuring source gains properly. By
configuring the hardware in LabVIEW code, synchronization solution is generated.
Implementation of Network Coding in Wireless Systems 307
with destination nodes. Moreover, relay’s link quality is subject to a higher path loss,
when compared to the first setup. When experiment results are evaluated, transmis-
sion gain levels also need to be considered with distance configurations.
Note that although only a single physical device is used as a relay node, there are three
linear components of the received source symbols are generated at the relay node.
Then, results of these are summed in GF(4) by using GF(4) addition SubVI for
each data loop. In result, three separate network coded symbols are obtained which
are transmitted by relay node’s transmitter in corresponding frequency resources.
Implementation of Network Coding in Wireless Systems 309
In multiplication and addition SubVI, GF(4) multiplication and addition tables are
implemented by using multiple array functions and case structures. An exemplary
view of relay network coding SubVI can be seen in Fig. 5. With corresponding input-
output configurations, NCC-OFDMA code is obtained.
In order to measure the performance of our system, real-time tests are exper-
imented. As explained earlier, two different setups are created, where difference
between the setups are the different distance configurations between nodes. The
quality of each link between nodes is measured. Both NC and NCC results are mea-
sured to compare their performances. The results of all types of links are shown in
this section, except source-relay links because of their superior performances. For
measuring the link performance, EVM, SNR and BER metrics are measured for each
link. EVM and SNR metrics are measured in terms of percentage and dB respec-
tively, and given with these units in the tables. The EVM value of the ith source for
single OFDMA frame can be calculated as:
2
2
1
|Fsi d | n∈Fsi d Ii [n] − I˜i [n] + Q[n] − Q̃[n]
E V Mi = , (14)
|vmax |
where Ii [n] ( I˜i [n]) and Q i [n] ( Q̃ i [n]) denote the real and imaginary components of
the X i [n] ( X̃ i [n]). |Fsi d | represents the cardinality of the subcarrier set, where |vmax |
denotes the maximum absolute value of X i [n].
For the first setup, three different relay transmit gain levels are experimented
for each destination nodes. Because of directional differences between source-
destination pairs due to location differences, error performance of the sources can be
quite different from each other. In order to approximate error performances, source
gains are selected differently for each source node. However, diversified source per-
formances can provide more comprehensive results. Therefore, locations and gains
of sources are organized in a way that clear performance differences can be observed.
The source transmission gains of S1 , S2 and S3 are set as 14, 8 and 6 dB respec-
tively. These gains have not been changed during the experiments. As stated, the effect
310 S. Tedik Basaran et al.
of source gain changes on the overall performance is observed with two setups. Each
one has a different location-gain adjustment. As the first step, first setup is experi-
mented. Firstly, source-destination link performances are evaluated to analyze per-
formance differences between source nodes. For D1 , S2 has the worst transmission
performance where the S1 is the best one, as demonstrated in Table 3. EVM and
BER results can be used for this analysis. EVM and BER results are obtained as
26.71% and 1.5 × 10−3 for the data transmitted by the S2 where results are lower for
the S1 node’s transmitted data, which are 15.09% and 1 × 10−6 respectively. SNR
results show similar differences, which can be observed from the Table 3. EVM,
BER and SNR metrics are obtained as 18.73%, 4.5 × 10−4 and 14.82 dB for the data
transmitted by S3 . As explained, transmission gains of source nodes are not changed
during each setup, however, usage of two different setups allows us to understand
the effect of different source node gains on the performance. This effect will be dis-
cussed when source-destination link performances of the second setup will be given.
If similar error performance evaluation is done for the D2 , it can be observed from
the Table 3 that S2 has the worst transmission performance and S1 has the best trans-
mission performance similar to results obtained for the D1 . One difference is the fact
that error performance is slightly better for the S2 , however, this is not valid for other
source nodes and their transmission performances slightly worse for the D2 . EVM
and BER results for the transmission of S2 are obtained as 25.11% and 1.3 × 10−3
respectively. These values are obtained as 16.15% and 6 × 10−5 for the transmission
of S1 and 19.02% and 7 × 10−4 for the transmission of S3 . Secondly, error perfor-
mance results of relay-destination links are obtained which are shown in Table 2, and
performance results for the overall NC and NCC operations are obtained as in Table 4.
For the D1 , at −12 dBm relay transmit gain, EVM results for the relay-destination
links are obtained as 13.29, 13.74 and 13.78% respectively. BER results for the same
components are obtained as 1 × 10−7 on average. At the same relay transmit gain,
NC operation’s BER results for the transmissions of S1 , S2 and S3 are obtained as
1.4 × 10−4 , 8.6 × 10−4 and 3.3 × 10−4 respectively. When compared to the source-
destination link results, slight performance improvement can be observed. However,
NCC operation improves error performances further, where these error performances
for the source nodes are obtained as 0, 4.7 × 10−4 and 1.9 × 10−4 respectively. As
shown, NCC operation is quite effective and error performance for the transmission
of first source node decreases to 0.
For the −16 dBm relay transmit gain, relay-destination link EVM results are
obtained as 15.14, 16.07 and 15.57% respectively. BER performance of the same
links are obtained as 1.6 × 10−4 on average. At the same configuration, NC opera-
tion’s BER results increase and obtained as 5.5 × 10−4 , 1.3 × 10−3 and 5.5 × 10−4
respectively. BER values decrease with the NCC operation, obtained as 2 × 10−5 ,
8 × 10−4 and 3.4 × 10−4 respectively.
For the −20 dBm relay transmit gain, error performances decrease further. For
this gain, BER results for the relay-destination links are obtained as 4.2 × 10−3 on
average and EVM results are obtained as 32.38, 32.66 and 34% respectively. At this
gain, BER results for the NC operation are obtained as 3.6 × 10−3 , 6.5 × 10−3 and
6 × 10−3 respectively. Better performances are observed with NCC operation where
312 S. Tedik Basaran et al.
BER results are obtained as 2.7 × 10−4 , 3.3 × 10−3 and 8 × 10−4 respectively. It
is clear that performances of relay transmissions are critical for robust NC or NCC
operation and if low relay transmit gain is used, reliable performance cannot be
obtained.
For the D2 , at −12 dBm relay transmit gain, BER results of NC operation for
the transmissions of S1 and S3 are obtained as 0, where related value is 6 × 10−4
for the S2 . NCC operation does not create any improvement, as the same BER val-
ues are obtained. Error performance results are better for the D2 , compared to the
D1 . This is due to better relay-destination link performances which create effective
improvements. EVM results of relay-destination links are obtained as on average
8.91% and transmissions are completed without any bit error in these links. At
the −16 dBm relay transmit gain, BER results of NC operation are obtained as
2.9 × 10−5 , 8 × 10−4 and 7.9 × 10−5 for source nodes, respectively. For these relay
experiments, NCC operation creates clear performance improvements as correspond-
ing BER values are obtained as 10−6 , 1 × 10−4 and 1.4 × 10−5 respectively. EVM
results are obtained as 14.71% and BER results are obtained as 9 × 10−5 on average
for relay-destination link transmissions. At the −20 dBm relay transmit gain, for
relay-destination links, EVM results and BER results are obtained as 25.6% and
1 × 10−3 on average, respectively. At the same gain, BER results of NC operation
are obtained as 7 × 10−4 , 1.7 × 10−3 and 1.1 × 10−3 for source nodes, respectively.
Moreover, BER results of NCC operation are obtained as 4 × 10−5 , 8 × 10−4 and
4 × 10−4 respectively and clear performance improvements are observed. In result,
when compared to the previous results, relay-destination links are important espe-
cially for NCC operation’s performance and certain improvements can be observed.
As a common observation, as relay transmission performance becomes better, NC
and NCC operations can decrease source-destination errors effectively.
As mentioned, one more setup is configured in order to create worse source-
destination and relay-destination link performances compared to the first setup. For
this setup, two relay transmit gains are experimented because, performance results
of good relay transmit gain levels are evaluated in the first setup and relay transmit
gain can be decreased to the minimum of −15 dBm, configurations below this value
results in poor performance results. It is noteworthy that gain level is a parameter
configured in the LabVIEW, performance of relay or source nodes should also be
evaluated by considering distances to destination nodes.
As first step, source-destination link performances are measured which are demon-
strated in Table 5. For the D1 , again, worst performance is performed by the S2 and the
S1 has the best performance. BER results for source nodes are obtained as 7 × 10−4 ,
2.2 × 10−3 and 1 × 10−3 respectively. Similarly, EVM results for source nodes are
obtained as 29.20, 35.64 and 34.97% respectively. SNR results verify error perfor-
mances and obtained as 11.41, 10.61 and 10.66 dB respectively. Same measure-
ments are also performed for the D2 . BER results for source nodes are obtained as
2.3 × 10−3 , 3.6 × 10−3 and 4.6 × 10−3 respectively. EVM measurement is also per-
formed and EVM results are obtained as 31.05, 35.45 and 39.11% respectively. More-
over, SNR values are measured as 11.16, 10.09 and 9.67 dB respectively. Therefore,
it is clear that S3 has the worst performance where the S1 has the best performance.
Implementation of Network Coding in Wireless Systems 313
destination link performances are measured, BER and EVM results are obtained as
7 × 10−4 and 18.59% on average. Same observations are also done for the D2 . At −13
dBm relay transmit gain, BER results for NC operation are measured as 3 × 10−4 ,
5 × 10−4 and 6.5 × 10−4 respectively. Accordingly, BER results for NCC operation
are obtained as 1.7 × 10−4 , 2.5 × 10−4 and 3 × 10−4 respectively. Furthermore, BER
and EVM results for relay-destination links are obtained as 8 × 10−5 and 19.29% on
average. Similarly, at −15 dBm relay transmit gain, BER results for NC operation
are measured as 2.5 × 10−3 , 3.5 × 10−3 and 4.2 × 10−3 respectively. Accordingly,
BER results for NCC operation are obtained as 1 × 10−3 , 1.2 × 10−3 and 2.4 × 10−3
respectively. Thus, improvement that is obtained with NCC operation, is observed
similar to previous results. Furthermore, BER and EVM results for relay-destination
links are obtained as 2.5 × 10−3 and 22.05% on average.
In order to verify results demonstrated in the tables, individual BER and EVM
results obtained at each of 20 tests are given by bar charts. Firstly, BER results
obtained for the link between S2 and D1 that are obtained with first setup at −16
dBm relay transmit gain, are given in Fig. 6. Secondly, BER results obtained for
the link between S3 and D2 that are obtained with the second setup at −15 dBm
relay transmit gain, are given in Fig. 7. It can be observed that individual results also
represent overall results given in the tables.
Moreover, EVM results obtained for the links between each source node and relay
nodes, are shown in Fig. 8. As mentioned, these links have very good performances.
As the last observation, individual EVM results obtained at each test are shown in
Fig. 9, where links between source nodes and D1 are considered with the second
setup. Similar to BER charts, EVM charts also show consistency of results shown in
the tables.
The usage of OFDMA is vital to analyze realistic usage scenarios of NCC opera-
tion. By evaluating multiple user scenarios with OFDMA, this NCC implementation
4
Bit Error Rate
0
0 2 4 6 8 10 12 14 16 18 20
Test Index
Fig. 6 BER results obtained during consecutive tests for the first setup
Implementation of Network Coding in Wireless Systems 315
6
Bit Error Rate
0
0 2 4 6 8 10 12 14 16 18 20
Test Index
Fig. 7 BER results obtained at consecutive tests for the second setup
16
Error Vector Magnitude (%)
14
12
10
0
0 2 4 6 8 10 12 14 16 18 20
Test Index
shows how resources can be divided and managed. Validating theoretical components
in real-time with realistic transmission environment and hardware issues is the most
crucial outcome of the implementation. It is shown that with a flexible design of such
a testbed, NCC operation in real-time can be easily realized and error performance
can be improved significantly. Beyond NCC, NC performance is also measured in
real-time. NC also improves error performance, but NCC has clear benefits espe-
cially in terms of error performance. As future mobile networks will include massive
number of devices, it will be more challenging to obtain desired error performances.
Thus, relay-based communication would be very beneficial in terms of the error per-
316 S. Tedik Basaran et al.
40
Error Vector Magnitude (%)
35
30
25
20
0 2 4 6 8 10 12 14 16 18 20
Test Index
formances. NCC is a suitable candidate for such dense network scenarios and tight
system requirements resulting from increasing usage rates can be overcome with
easy deployment and cost efficiency of NCC.
5 Conclusion
NCC is a candidate for smart routing application, that can be used in 5G or beyond
technologies. Due to its natural characteristics as allowing scalability and providing
robustness to channel impairments, NCC can be easily adapted to the target network,
alleviating the expected implementation issues in dense network deployments. In
this chapter, we present the theoretical DMT bounds in comparison with the state-
of-the-art design solutions and details of implementation setup of an NCC system.
We show that NCC is a convenient smart routing approach to satisfy requirements of
next generation communication systems by performing both of theoretical analyses
and real-time implementation.
References
1. R. Ahlswede, N. Cai, S.Y. Li, R.W. Yeung, Network information flow. IEEE Trans. Inf. Theory
46(4), 1204–1216 (2000)
2. R. Dougherty, C. Freiling, K. Zeger, Insufficiency of linear coding in network information flow.
IEEE Trans. Inf. Theory 51(8), 2745–2759 (2005)
3. J.N. Laneman, G.W. Wornell, Distributed space-time-coded protocols for exploiting coopera-
tive diversity in wireless networks. IEEE Trans. Inf. Theory, 49(10), 2415–2425 (2003)
Implementation of Network Coding in Wireless Systems 317
4. T. Ho, M. Mdard, R. Koetter, D.R. Karger, M. Effros, J. Shi, B. Leong, A random linear network
coding approach to multicast. IEEE Trans. Inf. Theory, 52(10), 4413–4430 (2006)
5. M. Di Renzo, M. Iezzi, F. Graziosi, On diversity order and coding gain of multisource multirelay
cooperative wireless networks with binary network coding. IEEE Trans. Veh. Tech. 62(3),
1138–1157 (2013)
6. C. Peng, Q. Zhang, M. Zhao, Y. Yao, W. Jia, On the performance analysis of network-coded
cooperation in wireless networks. IEEE Trans. Wireless Commun. 7, 3090–3097 (2008)
7. H. Topakkaya, Z. Wang, Wireless network code design and performance analysis using
diversity-multiplexing tradeoff. IEEE Trans. Commun. 59(2), 488–496 (2011)
8. A.R. Heidarpour, G.K. Kurt, M. Uysal, Finite-SNR diversity-multiplexing tradeoff for network
coded cooperative OFDMA Systems. IEEE Trans. Wirel. Commun. 16(3), 1385–1396 (2017)
9. S. Gokceli, H. Alakoca, S.T. Basaran, et al., EURASIP J. Adv. Sig. Process. 2016(8) (2016)
10. F.J. MacWilliams, N.J.A. Sloane, The Theory of Error-Correcting Codes. North-Holland
Mathematical Library (North-Holland Publishing Company, Amsterdam, 1977)
11. E.M. Gabidulin, Theory of codes with maximum rank distance. Problemy Peredachi Informat-
sii, 21(1), 3–16 (1985)
12. S.T. Basaran, G.K. Kurt, M. Uysal, I. Altunbas, A tutorial on network coded cooperation. IEEE
Commun. Surv. Tutor. 18(4), 2970–2990 (2016)
13. P.A. Chou, Y. Wu, K. Jain, Practical network coding. in Proceedings of the Annual Allerton
Conference on Communication Control and Computing, vol. 41, No. 1, (2003) pp. 40–49
14. R. Koetter, F.R. Kschischang, Coding for errors and erasures in random network coding. IEEE
Trans. Inf. Theory, IEEE, 54, 3579–3591 (2008)
15. A. Bletsas, A. Khisti, D.P. Reed, A. Lippman, A simple cooperative diversity method based on
network path selection. IEEE J. Sel. Areas Commun. 24(3), 659–672 (2006)
16. J.N. Laneman, Network coding gain of cooperative diversity. in Proceedings of IEEE MILCOM,
vol. 1, (2004) pp. 106–112
17. B. Bai, W. Chen, K.B. Letaief, Z. Cao, Joint relay selection and sub-channel allocation for
amplify-and-forward OFDMA cooperative networks. in Proceedings of IEEE International
Communications Conference (ICC’2012) (2012) pp. 4192–4196
18. M. Gromov, Pseudo holomorphic curves in symplectic manifolds. Invent. Math. 82(2), 307–347
(1985)
Opportunistic Network Coding
Abstract In this chapter we describe a practical view of the usage of the network
coding theory over realistic communication networks. In particular, we introduce
opportunistic network coding, which can be applied to wireless networks with mesh
topologies and multiple unicast streams. With the term opportunistic we describe
the opportunistic nature of this type of coding, as packets are encoded only if the
opportunity arises and there are no mechanisms within it to increase the number of
coding opportunities. Different coding approaches have been proposed that cover
different network configurations and traffic patterns. In particular, we focused on the
main design aspects of BON and COPE, the two opportunistic network coding proce-
dures that perform network coding on the packet level and can significantly improve
the network throughput. In addition, we are also describing performance metrics,
which are found suitable for performance evaluation of network coding algorithms.
For illustration purposes we also show typical results for the above mentioned algo-
rithms. The results show that opportunistic network coding can significantly improve
the wireless mesh network performance in terms of throughput and delay.
Introduction
The network coding benefits are not limited to either wireline networks or multicast
applications. The opportunistic network coding which is investigated in this chapter
shows, how benefits can be achieved also in the wireless networks and with multiple
unicast streams.
The term opportunistic network coding describes the opportunistic nature of this
type of coding, as packets are encoded only if the opportunity arises and there are
no mechanisms to increase the number of coding opportunities. Packets are coded
for one hop only, where they are decoded. In general coding of different and same
streams is possible, though we can expect only coding of different streams.
p2 p1
p1 p2
Vi VR Vj
pR = p1 p2
Opportunistic network coding benefits can be best explained with the help of the
simple example depicted in Fig. 1. Consider a three-node chain topology where node
V1 has a packet p1 destined for node V2 , and node V2 has a packet p2 for the destination
node V1 . The two nodes can exchange their packets through an intermediate relay
node VR . Hence, nodes V1 and V2 send packets p1 and p2 to VR . In a conventional
system where network coding is not used, VR first transmits p1 , which is then followed
by the p2 . In the case where a network coding procedure is applied, the VR performs
an algebraic operation over the two packets (e.g., XOR) and sends out an encoded
packet p R = p1 ⊕ p2 . Upon reception, node V1 XORs the received encoded packet
p R with the sent packet p1 and obtains the packet p2 . The same procedure is used
on node V2 . V2 is familiar with the content of p2 and XORs it with the just-received
packet p R , thus obtaining p1 officially destined to it. By using network coding the
number of transmissions that all three nodes need to perform in order to deliver both
packets to their destinations has been reduced from 4 to 3.
The example in Fig. 1 presents a topology that is suitable for the chain-structure
coding, i.e., a topology where the two packets are travelling in the opposite directions
and get encoded in the intermediate node(s). In such a case, all the recipient nodes
have sufficient information for successful packet decoding without packet overhear-
ing. Furthermore, packet retransmission may appear only due to the unsuccessful
delivery of the encoded packet to one of the recipient nodes.
A more interesting case arises with a more general network deployment. In such
a case, the question is which packets the coding node should encode together in such
a way that the recipient nodes will be able to decode the encoded packet. When a
node has a packet to forward, it needs to know whether encoding of this packet with
other queued packet(s) might save bandwidth, i.e., it needs to determine whether the
receivers can decode the encoded packets. Consider the situation in Fig. 2. Nodes V1
and V2 are sending packets p13 and p24 via the relay node VR to the nodes V3 and V4 ,
respectively. If VR creates an encoded packet from p13 and p24 , e.g., p R = p13 ⊕ p24 ,
the receiving node V3 will be able to decode the encoded packet p R if V3 has overheard
Opportunistic Network Coding 321
p13
VR
p13 V3
p24
V4
the p24 transmission from V2 to VR . The situation is similar for V4 , which needs to
overhear the p13 transmission from V1 to R.
Let us highlight why the coding packets that travel in the opposite directions are
preferred. Assume the situation presented in Fig. 1 where packets pn and pm travel
in the opposite directions, i.e. pn from V j via VR to node Vi and pm via versa. If we
describe the links between nodes with packet delivery probabilities, i.e. probability
that packets are successfully transmitted between two links, then we can estimate the
chances that the encoded packet pn ⊕ pm will be successfully received and decoded
on the two nodes is
where PVR V j and PVR Vi are the probabilities that packets are successfully transmitted
from node VR to node V j and to node Vi , respectively.
In a more general situation where packet pn travels from Vi to V j and pm from
Vk to Vl , then the probability that the encoded packet pn ⊕ pm will be successfully
received and decoded on the two recipient nodes is:
The difference to the first case is that also two overhearing events need to take place
for each of the receiving nodes to have sufficient information to perform decoding.
Information Required in the Opportunistic Coding Process
The more packets we encode together the looser the conditions in coding process are,
and with that the higher the possibility that receiving nodes will not be able to decode
those packets. However, if coding conditions are hard to meet, then there are only few
coding opportunities and low bandwidth saving benefits. Good opportunistic coding
algorithm does not only attempt to encode as many packets as possible, but rather
makes sure that the encoded packets are very likely to be decoded. Making incorrect
322 K. Alic and A. Svigelj
802.11b and 802.11g is encumbered with legacy issues that reduce throughput by an
additional ∼20%. Besides, the actual bandwidth available to individual clients can
be even much lower due to the shared nature of the wireless medium. Also, mesh net-
works usually operate in the unlicensed 2.45 GHz Industrial, Scientific and Medical
(ISM) frequency band. Hence, bandwidth is shared also with other networks or net-
work devices, e.g. Bluetooth peripheral devices, spread-spectrum cordless phones,
or microwave ovens. Interference affects the quality of a wireless link and, conse-
quently, its error rate and achievable capacity.
Regardless of their capacity limitations wireless mesh networks are appealing in
areas with scarce wired infrastructure. Such places can be found in less developed
areas or in places such as tunnels, battlefields, on board of public transportation etc.
Furthermore, due to low operational and deployment costs commercial deployment
can also be found in urban areas with the main application of offering cheap Internet
connectivity.
In a mesh network, each router can be seen as part of a backbone infrastructure
and also as an access point for end users. In this chapter we see mesh routers as
access points that offer end-users access, hence traffic generated on nodes can be
considered aggregated from multiple users.
The network coding procedures discussed in this work are positioned between the
network and the link layer.
Routing-path selection also influences the performance of network coding. Rout-
ing that takes into account also network coding can further boost the network per-
formance, as can poorly selected routing in combination with network coding result
even in poorer network performance. The proposed BON procedure works as an
independent layer, but its performance is indirectly still related to the performance
of routing [1, 2].
In this chapter we consider the link-state routing protocol that is widely adopted
in the wireless mesh networks. We adopted symmetric routing (with symmetric we
refer to path selection of traffic flows that travel in the opposite directions).
Wireless mesh networks were initially based on the IEEE 802.11 standard. There-
fore, we provide a brief overview of general properties of the standard important from
the opportunistic network coding perspective.
The standard offers mechanisms for packet distribution to the nodes within their
communication range. Unicast inherently assure reliable delivery of packets to the
next hop while broadcast offers distribution of data to multiple users. With network
coding we want all the nodes to listen to all the transmissions. To this end, the
broadcast mechanism in the link layer seems a suitable solution at a first glance.
However, due to the absence of collision detection and backoff on the source node the
reliability of broadcast is questionable. For this purpose we adopt pseudo broadcast
first presented in [1] and discussed in this chapter.
The Coding Algorithms
The general COPE and BON architecture is shown in Fig. 3. Packets arriving from the
network layer are placed into the network coding queues. Both coding procedures
324 K. Alic and A. Svigelj
Network layer
Packet pool
Queues
P
ACK & Ret.
management
Packet decoding
Packet Coding
Link layer
foresee use of FIFO queues, but also other queue scheduling can be used. When
the node is granted access to the wireless channel the coding process takes the first
packer from the queues and searches for coding opportunities amongst remaining
packets in the output queue. If there are no coding opportunities identified, the packets
are sent out as they are. None of the two algorithms deliberately delays packets
for the purpose of finding additional coding opportunities. If packet coding finds
coding opportunities, the outgoing packets are coded into one encoded packet and
retransmissions are scheduled for each individual native packet.
All the received packets go first through the decoding process. If packets are suc-
cessfully decoded each native packet coded in the encoded packet is stored into the
packet pool. If any of the native packets are destined to the recipient node acknowl-
edgement message is sent out. If received packet is acknowledgement type of packet
the scheduled retransmission is cancelled. Packets with next hop address the same
as the recipient node are also sent to network layer for further processing.
COPE
All the received packets go first through the decoding process. If packets are suc-
cessfully decoded each native packet coded in the encoded packet is stored into the
packet pool. If any of the native packets are destined to the recipient node acknowl-
edgement message is sent out. If received packet is acknowledgement type of packet
the scheduled retransmission is cancelled. Packets with next hop address the same
as the recipient node are also sent to network layer for further processing.
In COPE the coding process depends on the nodes’ knowledge on what infor-
mation (which packets) its neighbouring nodes have. Based on this knowledge the
Opportunistic Network Coding 325
coding process is straightforward and the decoding process will have a high suc-
cess rate. Due to the nature of wireless communications and imposed delays that
comes with this knowledge can be used only to find a small portion of all possible
coding opportunities. Hence, the COPE coding process also uses guessing which is
done through the delivery probability that is calculated in all of the ETX (Expected
Transmissions Count) based routing protocols. COPE incorporates two techniques to
support such coding process, namely opportunistic listening and learning neighbour
state:
Opportunistic Listening
In COPE the coding process depends on the nodes’ knowledge on what information
(which packets) its neighbouring nodes have. Based on this knowledge the coding
process is straightforward.
COPE foresees that all the nodes listen to all transmissions. As already mentioned
all the packets carry potentially useful information that can be used in the decoding
process. COPE also uses information obtained for the coding process. When a packet
is received on the node the sender and recipient node information is extracted and
noted. The node that overheard the transmission now knows that the two nodes have
the packet.
Learning Neighbour State
COPE procedure also foresees the use of the reception reports. All the nodes in the
network send out reports in which information on the received packets is stored.
Reports are broadcasted periodically or when opportunity arises they are attached to
the regular outgoing packets.
Guessing
In a network where we do not want to delay packets and Quality of Service (QoS)
should be at least considered, relying solely on the knowledge on the state of the
network would miss a great deal of coding opportunities. Hence, COPE foresees
also guessing, when information on the state of the network, i.e. whether the packet
under the question was received by the node.
The well-known COPE algorithm guessing relies on the information gathered in
the network layer, i.e. the expected transmission count matrix (ETX):
1
ETX = (3)
PVi Vl PVl Vi
With this metric each link between two nodes is described with the inverse of the
packet delivery probability and its successful acknowledgement. Information can be
used in a way that it reflects the probability that a node received certain packet.
326 K. Alic and A. Svigelj
PD = P1 P2 . . . Pn−1 (4)
The coding algorithm assures that the decoding probability PD for all the next hops
for a given combination of encoded packets is above the threshold G.
BON
With BON assumptions that each node has positions of all of its neighbouring nodes,
and that nodes have fixed locations are made. Algorithm makes coding decisions
based solely on the information about the packet’s previous and next hop node posi-
tion, hence, it acts completely independently of all other communication layers, and
is completely protocol agnostic.
The BON Coding Algorithm
The decision making on which packets to encode together can be based on the
information already available on the node or the required information needs to be
gathered.
The coding process is based on the local bearing (as used in the navigation)
of the packet, which is defined on the relay node and depends on the positions of
the packet’s previous hop and the packet’s next hop [2, 3]. Packets that have not
travelled at least one hop are not codable, and so a bearing is not defined for them.
Let us use the example from Fig. 4a to explain the definition of bearing. A packet
pi j (R) has been transmitted from the node Vi to the relay node VR and its next hop is
V j . Locations of nodes Vi and V j are known and are given in Cartesian coordinate
system as (X i , Yi )(X j , Y j ). We define bearing for the packet pi j (R) on the relay node
VR as a unit vector calculated as:
(X j − X i , Y j − Yi )
bi j = , (5)
(X j − X i , Y j − Yi )
and translated into three dimensional space where also the node elevation (Z ) is
taken into account:
Opportunistic Network Coding 327
Fig. 4 Graphical presentation of a a bearing, b bearings for two packets travelling in the opposite
direction and c the vicinity for packet pi j (R) in the shape of an infinite cone
(X j − X i , Y j − Yi , Z j − Z i )
bi j = . (6)
(X j − X i , Y j − Yi , Z j − Z i )
In the coding process we are primarily interested in packets that are travelling
in opposite directions. Without loss of generality we build on a two-dimensional
example presented in Fig. 4b where the packet pi j (R) has the same next hop as was the
packet p ji (R) ’s previous hop and vice versa (the case of the so-called chain topology).
In such a case, the bearings of the two packets are bi j − b ji = 0 . The two packets can
be seen as representatives of the two flows that are travelling in the opposite directions.
Coding of such packets is an ideal combination as no overhearing between the nodes
is needed and the recipient nodes can always decode the encoded packet.
Since such opportunities (i.e. when packets travel in exactly opposite directions)
do not provide a sufficient number of coding opportunities, the coding opportunities
need to be searched for also amongst other packets. In general, we can assume that
the nodes that are located in the vicinity of the transmitting node have a better chance
of successfully overhearing the packet transmission than nodes that are located far
from it. Thus, they also provide a possibly good coding opportunity. With the coding
algorithm we are looking for packets ( pkl (R) ) that are codeable with the transmitting
packet ( pi j (R) ) on the relay node. We consider pkl (R) to be codable with pi j (R) , if
the pkl (R) destination node Vl is in the vicinity of the pi j (R) source node Vi and vice
versa.
Definition 1 With BON the vicinity of the node V j for packet pi j (R) on the relay
node VR is described as an area within the shape of an infinite cone with the apex in
the packet source Vi , and cone axis with the direction bi j and the aperture 2εi j (R) .
328 K. Alic and A. Svigelj
Example of such an area for a packet pi j (R) that is on the node VR , with the
previous hop Vi and the next hop V j is shown in Fig. 4c, where the cone has the apex
in node Vi and the aperture 2εi (R) . The node V j lies directly on the cone axes. With
εi (R) we define how large the vicinity for packet pi j (R) is, hence we refer to it as
tolerance angle.
Definition 2 With BON coding the packets pi j (R) and pkl (R) are codeable on the
relay node if previous hop of pi j (R) (Vi ) is in the vicinity of the next hop of pkl (R) (Vl )
and vice versa, where vicinity of nodes for packets pi j (R) and pkl (R) is set according
to the Definition 1 with εi j (R) and ε ji (R) accordingly.
Let us illustrate using general two-dimensional examples from Fig. 5a, b where
matching and a non-matching packet pairs are presented respectively. In both pre-
sented cases the initial situation is the same. Let us point out that the location of
the VR has no impact on the coding decision, and its location is changed only for
the reasons of graphical presentation. Packets pi j (R) and pkl (R) are both on the relay
node VR . Vi and V j are the previous and the next hop for pi j (R) and Vk and Vl are the
previous and the next hop for pkl (R) . εi j (R) and εkl (R) are tolerance angles that relate
to packets’ previous hops on the relay VR .
In Fig. 5a we can see that the node Vi is located in the vicinity of the node Vl for
packet pkl (R) and the similar goes for the node Vk , which is in the vicinity of the node
V j for packet pi j (R) . Since we want that the condition in Definition 2 is met for both
situations in the given example, the two packets are codeable.
In Fig. 5b we can see that the node Vi is located in the vicinity of the node Vl for
packet pkl (R) and the node Vk is outside the vicinity of the node V j for packet pi j (R) .
(R)
ij
(R)
ij
Vj
pij(R)
Vj
Vk pkl(R)
pkl(R) pij(R)
Vk →
bkl VR
→ VR
bkl
(R)
pkl(R) pkl(R) pij →
→ pij(R) bij
bij Vl
Vi
Vl
Vi
(R)
kl
(R)
kl
Fig. 5 Graphical presentation of general coding case for a a matching packet pair and b of a general
coding case for a non-matching coding pair
Opportunistic Network Coding 329
Since we want that the condition is met for both situations in the given example
the two packets are not codeable. Packets pi j (R) and pkl (R) would be codeable if
εi j was larger. By increasing the tolerance angle we cover a larger area and thus
increase probability that packets will meet the conditions. However, by increasing
the tolerance angle parameter, the probability that the receiver will not be able to
decode the packet is also increased. By reducing the parameter ε towards zero, the
coding opportunities are reduced, but the probability of a successful packet decoding
on the receiving nodes is increased.
By further generalization the BON coding procedure allows also coding of mul-
tiple packets. Multiple packets are encoded into one encoded packet when all packet
pairs and their corresponding nodes are within the vicinity area. The higher the ε
values, the higher the possibility of coding multiple packets on the other hand, if
at least one ε = 0 only two packets can be encoded. In BON coding the balance
between coding opportunities and successful packet decoding is set through the
parameter ε, which is adapted automatically on every node. The algorithm handling
self-adjustment is presented in Algorithm 1.
330 K. Alic and A. Svigelj
• ACK packets. These are standalone acknowledgement messages that are created
only when no opportunity has been found to add them as a header to regular
outgoing packets.
• Retransmitted (native) packets dedicated queue is used in BON only. Packets are
placed in special sub-queue to prevent coding the same packet set together again
and thus trying to avoid the possible mistake in the coding process.
• Regular outgoing (native) packets that have arrived from the network layer and
have arrived from one of the neighbouring nodes or have their origin on this node.
COPE uses this queue also for retransmitted packets, which are placed at the top
of the queue and thus processed first.
When there are packets present in one of the output queues, the BON and COPE
procedure signal the link layer that the access to the wireless media is required. When
the link layer signals that it has successfully gained access to the channel, the queue
is selected depending on its priority. If we are dealing with retransmitted or regular
queue, the coding procedure is initiated.
Coding Procedure
The coding process using the FIFO system always takes the packet p0 that is at the
head of the output queue (retransmission or regular) and searches for possible coding
opportunities with the other packets in the regular outgoing queue. If there are no
coding options found, the packet is sent out as-is (Fig. 6).
Signalization
The two algorithms under the spotlight use two types of signalization, namely
acknowledgement messages and reception reports. The acknowledgements in BON
and COPE have the same structure, while reception reports are unique to COPE only.
Opportunistic Network Coding 331
Encode if possible
Yes Schedule
Encoded?
retransmissions
No
Add
acknowledgements
to headers
Send to wireless
device
Acknowledgement messages in the network coding layer are used only for native
packets that have been received as part of the encoded packet. Acknowledgement
messages are generated by the receiving node, designated as a packet’s next hop.
Please note that we are discussing only the acknowledgement messages in the net-
work coding layer, while acknowledgements in the other layers remain as they were.
The acknowledgement message in the network coding layer is required to indicate
the success in the packet decoding procedure.
Cumulative acknowledgement in a structure proposed in [1] are used. Acknowl-
edgement massages are sent in a bulk every time an opportunity arises and when there
are new messages in the pool. The latest received packet sequence number is used
for reference. This is followed by a sequence of Boolean values that also indicates
status of the received packets for the packets with lower sequence number. E.g. an
entry {A, 50, 01011111} confirms that packets 50, 48, 46-42 have been received and
that packets 49 and 47 are still missing.
332 K. Alic and A. Svigelj
To make this operate, packet sequence number needs to be recorded. Each node
indexes outgoing packet per each neighbour individually and the same holds true for
all the received packets.
Acknowledgement messages confirm reception for every received native packet
that has been received as part of the encoded packet. Cumulative acknowledgement
report messages are broadcasted periodically, every Tu (referred to as acknowledge-
ment packets). If the opportunity arises, the acknowledgement messages are attached
to the regular outgoing packets. In this case cumulative acknowledgement can be
seen only as an additional header, thus introducing less overhead. In case that the
upper limit of acknowledged packets per is reached, the acknowledgement process is
triggered and acknowledgement massages are sent out as individual packet. Cumu-
lative acknowledgement messages reduce the overhead compared to the individual
acknowledgement messages.
Reception reports are messages used in COPE only. With these nodes inform
their neighbours on which packets they have received Also reports are sent out when
opportunity arises or in the absence of those periodically. Similar as acknowledge-
ments, also reports are compact. They are formed as headers, where first information
on number of reports in the header is given. One report is used for each neighbour
with updated status. Second information in the header is address of the neighbour that
transmitted the packet, followed by the last packet id received from that node. This
is followed by a sequence of Boolean values that also indicates status of the received
packets for the packets with lower sequence number. Reports include information
on the packet ID and neighbour address because both data are needed to identify the
packet in a unique way. More can be read in [1].
Packet Reception
In addition to handling acknowledgement packets, the recipient node needs to be able
to also handle native and encoded packets, which both can carry additional header
that contains acknowledgement massages.
Packet reception process is presented in Fig. 7. Upon packet reception in the
network coding module, further actions depend on whether the packet is encoded
or native. In the case when an encoded packet (consisting of M native packets) is
received, the process checks the packet pool where all the received, sent and overheard
packets are stored for decoding purposes. The encoded packet can be decoded if a
node has in its packet pool at least M−1 packets. The process has to determine
whether it has already received M−1 of the packets encoded in the encoded packet.
If not, the encoded packet cannot be decoded and it is simply dropped. If the node
has at least the required M−1 packets, i.e., sufficient information, it decodes the
encoded packet using these packets with the XOR operations, thus obtaining a native
packet that has not been received before. From here on the process is the same as
upon receiving a native packet. If the packet is new (i.e. newer received before),
its copy is inserted into the packet pool for decoding purposes. It does so for every
received native packet, as all the received packets are potentially needed for further
decoding purposes. The process checks whether the node is the next hop of the
native packet. If so, and if the packet has been a part of the encoded packet, an
Opportunistic Network Coding 333
Extract
acknowledgements,
Drop packet
update
retransmissions
No
Encoded?
Decodable?
No
Yes
Am I
Drop packet
next-hop?
No
Yes
Send packet to
routing module
acknowledgement message is scheduled and the packet is sent to the network layer
for further processing.
Packet Retransmission
If an ACK message is not received within a predetermined time, the retransmission
event is triggered. A native packet that has been sent out as part of the encoded packet
and has not been acknowledged, is placed in the retransmission output queue.
Packets require retransmissions for two reasons. Packets cannot be decoded on
the recipient node (i) because there are not enough packets in the packet pool, and
(ii) because packets get lost in the transmission/reception procedure.
The packets in the retransmissions queue can be coded again. However, coding
opportunities are searched for only within the packets in the regular output queue.
334 K. Alic and A. Svigelj
This mechanism ensures that it is not possible for the same set of packets to be coded
again. Hence, the situation where the same set of packets is encoded again is avoided.
With every packet retransmission we want to increase the probability of successful
packet decoding on the recipient node. and we can do so by decreasing the parameter
ε. Hence, we foresee that with every packet retransmission parameter ε is decreased.
Pseudo Broadcast
With network coding we need to overhear as many transmissions as possible for the
network coding mechanisms to seize their full potential. Hence, a natural approach
would be to use a broadcast mechanism. As shown in [1] this does not work due to
poor reliability and lack of backoff and they propose a pseudo broadcast mechanism
which unicasts packets that are meant for the broadcast.
The link-layer destination field is set to the MAC address of one of the intended
recipients. Since all the nodes are set in the promiscuous mode, they can overhear
packets not addressed to them. When a node receives a packet with a MAC address
that is identical to its own, it sends an ACK message to the sender. Regardless of
the address of the next hop of the packet, the node sends the packet to the network
coding module.
Performance Metrics for Network Coding Procedures
Network coding is a relatively new approach; whose fundaments we are still learning.
With opportunistic network coding we may claim the same, as knowledge in what
kind of networks and with which traffic distributions we can expect benefits and how
does the new layer affect the performance of applications with high QoS demands has
not yet been obtained. Depending on what we wanted to show, we adopted different
metrics, and on the high level we can group them into two categories:
• Performance metrics that capture the detailed network response on the use of
network coding. Corresponding set of results is shown against the network load,
which is always measured over longer periods. Network load was selected as the
key influence for the network coding performance as it can be measured in a
straight-forward manner and there is a strong correlation between performance
benefits and load.
• Performance metrics that allow higher level conclusions such as the influence
of the network topology on the performance of the network. The main issue in
showing such results is in defining a performance metric that is only dependant
on the parameter under scope.
Thus, in the following we are presenting some performance metrics, which we found
suitable for performance evaluation of opportunistic network coding algorithms. In
addition, we also show some illustrative results. As the elementary metric reflecting
the quantity of service we can observe the network goodput (g), which is the number
of useful information bits delivered by the network to a certain destination per unit
of time. The goodput in graphs can be shown as a sum of all the goodput on all
the network nodes at particular network scenario e.g. particular load g(i) or plain as
current goodput on node or network.
Opportunistic Network Coding 335
Example of goodput defined as a sum of all the goodput on all the network nodes at
particular network load is shown in Fig. 8. Goodput is shown for the two opportunistic
coding procedures and reference scenario, where coding is not used.
We further define the gain G(i) in ith simulation run as the relative increase of
goodput obtained with network coding with respect to goodput without network
coding:
g N C (i) − gno coding (i)
G(i) = 100% (7)
gno coding (i)
where gain can be observed for the whole traffic in the network or just on the individ-
ual flow level. Similar as goodput also gain can be observed for particular scenarios.
Example graph for gain for the same case scenario as presented in Fig. 8 is shown in
Fig. 9.
As a typical QoS metric we measure End-to-End Delay and jitter at the application
layer. Both ETE delay and jitter are measured for each particular flow separately and
for all the flows. Regardless of the case, we can write the following:
336 K. Alic and A. Svigelj
K a (i)
n−1 dn
E T E(i) = (8)
K a (i)
where dn is the ETE delay of the nth packet and K a (i) is the number of packets
received in the application layer.
Jitter is the standard deviation from true periodicity of a presumed periodic signal.
We measure jitter only for flows with constant interarrival packet rates:
K f (i)
1 1
F(i)
jitter (i) = (dn f − E T E f (i))2 (9)
F(i) f =1 K f (i) n=1
where F is the number of flows, K f is the number of packets received in the appli-
cation layer belonging to the f th flow, and ETE f is ETE for f th flow. Where we
are interested in jitter of only one particular flow, this same equations is used for
calculation and F(i) = 1.
Typical delay results are presented in Fig. 10. On the figure values for COPE,
BON and reference scenario where coding is not used are shown.
Opportunistic network coding performance primarily depends on the quantity of
load and also on different parameters. When analysis or evaluation on of the influence
of different network and traffic characteristics on the performance efficiency of the
network coding needs to be performed we require a load independent metric to
quantify the result, in particular, if we want to access the dependency of gain on
other parameters (e.g. queue length, packet length, topology, etc.). Thus, we propose
MaxGain, which is calculated as the average of the 3 highest gain values obtained
among results for a given set of parameter values. We first sort vector G(i) where i =
{1, 2,…, I} and I is the number of simulation runs from the highest to lowest value:
References
1. S. Katti, H. Rahul, W. Hu, D. Katabi, M. Médard, J. Crowcroft, XORs in the air: practical
wireless network coding. IEEE/ACM Trans. Netw. 16, 497–510 (2008)
2. K. Alic, E. Pertovt, A. Svigelj, Bearing-opportunistic network coding. Int. J. Comput. Commun.
Control. 10, 154–164 (2015)
3. K. Alic, A. Svigelj, A one-hop opportunistic network coding algorithm for wireless mesh net-
works, Wirel. Netw. (2016) https://doi.org/10.1007/s11276-016-1384-y
4. K. Alic, A. Svigelj, Self-adaptive practical opportunistic network-coding procedure for static
wireless mesh networks, Ad Hoc Sens. Wirel. Netw. 36(1–4), 87–105 (2017)
5. S. Katti, D. Katabi, W. Hu, H. Rahul, M. Medard, The importance of being opportunistic:
practical network coding for wireless environments. Presented at the 43rd Allerton conference
on communication, control, and computing, 2005
Coded Random Access
Abstract This chapter presents an overview of coded slotted ALOHA (CSA), which
is a slotted ALOHA-based random access scheme with iterative interference can-
cellation. The iterative reception algorithm of CSA is analogous to the iterative
belief-propagation erasure-decoding, motivating the use of the tools from codes-on-
graphs to design and analyze CSA schemes. The asymptotic performance analysis
of CSA for the collision channel model is derived using the and-or tree evaluation
and instantiated for the case of frameless ALOHA. The and-or tree evaluation is then
adapted to the case of block-fading channels and threshold-based reception criterion,
which is another frequently used model in wireless systems. Finally, the performance
of CSA is assessed in multi access point scenario for the collision channel model,
assuming different variants of cooperation among the access points.
1 Introduction
time-instants in which users attempt the access in a random manner; the aim is to
avoid the interference among the users, as it may prevent successful reception of
their access requests by the AP.
Slotted ALOHA (SA) is a prominent example of a random access protocol, used,
e.g., in RFID networks, satellite networks, and as the basis for the connection estab-
lishment in cellular access networks. In its original form, SA assumes that the time
is divided in equal-length slots and that users are slot-synchronized, i.e., there is a
certain level of coordination among the users, provided by the AP that broadcasts
time-references. Each accessing user, independently and uncoordinatedly, decides on
the slot-basis with a certain probability whether to transmit. From the AP perspective,
a slot can be an idle (i.e., containing no transmission), a singleton (i.e., containing
a single transmission) or a collision slot (i.e., containing multiple transmissions).
The SA performance is standardly assessed on the collision channel model, which
assumes that (i) transmissions occurring in singleton slots are successfully received
(i.e., decoded) with probability 1, and (ii) any transmission occurring in a collision
slot is not received with probability 1. One of the basic performance metrics of SA is
the expected throughput, denoted by T , which is the measure of the efficiency of the
use of the slots. Specifically, the expected throughput can be defined as the average
number of transmissions (i.e., user packets) that can be successfully decoded in a
slot, which, for the collision channel model, is equal to the probability that the slot
is singleton. Denoting the slot access probability by p A , the throughput is computed
as
N
T = Pr{slot is singleton} = p A (1 − p A ) N −1 ≈ N p A e−N pa , (1)
1
where N denotes the number of accessing users, and where the approximation holds
as N → ∞, and N p A = β, where β is a constant. Obviously, in order to boost the
throughput of SA for the collision channel model, one should maximize the proba-
bility that an observed slot is singleton, which is done by optimizing the slot-access
probability p A . It is easy to verify that, asymptotically, the limit on the maximum
expected throughput is 1e packet/slot, achieved when p A = N1 (i.e., β = 1).
Coded Random Access 341
PS
≥ b, (2)
PN + PI
where PS , PN and PI are the signal power, the noise power and the combined power
of the interfering signals, respectively, and b is the capture threshold. It is typically
assumed that b does not depend on the SINR. Also, note that in the case when PI = 0,
which holds for singleton slots, the signal has to capture the slot against the noise.
342 Č. Stefanović and D. Vukobratović
Fig. 3 Example of FSA with iterative IC: Initially, packet 2 is decoded in singleton slot 3. In
the next step, the replica of packet 2 is cancelled from slot 1. Slot 1 now becomes singleton and
packet 1 becomes decoded. The replica of packet 1 is cancelled from slot 4, slot 4 becomes sin-
gleton and packet 3 becomes decoded. The throughput in this example is 3/4 packet/slot, while the
throughput of standard FSA would be 1/4 packet/slot
Fig. 4 Graph representation of the example in Fig. 3: The decoding and the removal of replicas
correspond to the removal of the graph edges
1 Throughout the text it is assumed that the IC is perfect, i.e., the signal affected by the IC is perfectly
to with an umbrella term Coded Slotted ALOHA (CSA). CSA schemes can asymp-
totically achieve throughput of 1 packet per slot on the collision channel, which is
the ultimate bound for this channel model.
The contention process of CSA can be represented via a bipartite graph, see Fig. 5,
standardly used for the representation of codes-on-graphs. The nodes on the left
represent users, the nodes on the right represent slots, and an edge that connects a
user node with a slot node corresponds to a transmission of the user packet replica.2
The number of edges incident to a user node u is called user degree, denoted by |u|.
Correspondingly, the number of edges incident to a slot node s is called slot degree
|s|.
In the basic version of frame-based CSA, so-called Irregular Repetition Slot-
ted ALOHA (IRSA), each user randomly and independently selects its degree,
i.e., number of replicas to be sent, from a predefined probability distribution Λk ,
k = 1, . . . , M,
Λk = Pr{|u| = k}, (3)
M
where α = k=1 kΛk is the average user degree. In the next step, each user u ran-
domly, independently and without repetition chooses |u| out of M slots from the
frame, in which it sends replicas of its packet. In this way, the bipartite graph is
created.
It is easy to verify the slot degrees are independent and identically distributed
(i.i.d.) binomial random variables. In particular,
l
N β β N −l
Ωl = Pr{|s| = l} = 1− , (4)
l N N
2 In
the rest of text, the terms user/user node, slot/slot node, and edge/replica will be used inter-
changeably.
344 Č. Stefanović and D. Vukobratović
where β = αMN is the average slot degree,3 and Nβ is the probability that a user chooses
a particular slot when transmitting a replica. Letting M, N → ∞, and M ∝ N , (5)
becomes
βl
Ωl = e−β , (5)
l!
i.e., |s| becomes a Poisson distributed random variable. For the ease of exposition,
it is customary to use polynomial notation to denote the user and the slot degree
distributions:
def
M
Λ(x) = Λk x k , (6)
k=1
N
Ωl x l ≈ e−β(1−x) ,
def
Ω(x) = (7)
l=1
where (7) follows from (5). Strictly speaking, Λ(x)/Ω(x) are referred to as node-
oriented user/slot degree distributions. There are also edge-oriented user/slot degree
distributions, which correspond to probabilities that a randomly chosen edge is con-
nected to a user/slot node of a certain degree. Specifically, denote by λk the probability
that an edge is connected to a user node of degree k and by ωl the probability that an
edge is connected to a slot node of degree l. λk can be computed as
kΛk N kΛk
λk = = , k = 1, . . . , M, (8)
Nα α
where kΛk N is the number of edges incident to user nodes of degree k and N α is
the total number of edges. Similarly, ωl can be computed as
lΩl β l−1 −β
ωl = ≈ e , l = 1, . . . , N . (9)
β (l − 1)!
def
M
1
M
Λ (x)
λ(x) = λk x k−1 = kΛk x k−1 = , (10)
k=1
α k=1 α
1 N
Ω (x)
≈ e−β(1−x) ,
def
ω(x) = N ωl x l−1 = = lΩl x l−1 = (11)
l=1
β l=1
β
where F (x) denotes the derivative of F(x), and where (11) follows from (7).
N
3 It is easy to verify that β = l=1 lΩl .
Coded Random Access 345
i.e., the edge is removed if and only if all the other l − 1 edges incident to the
slot node have been removed via interference cancellation in previous iteration,
which happens with probability (1 − qi−1 )l−1 .5 Averaging over the edge-oriented
slot degree distribution yields
pi = ωl pi(l) = 1 − ωl (1 − qi−1 )l−1 = 1 − ω(1 − qi−1 ) = 1 − e−βqi−1 .
l l
(13)
Similarly, pick an edge user node of degree k in the i-the iteration of the and-
or tree evaluation, and designate it as the reference edge. The probability that the
reference edge is not removed is equal to
i.e., the edge is not removed only if none of the other edges incident to a user node
has been removed in the iteration.6 Averaging over the user edge-oriented degree
distribution yields
qi = λk qi(k) = λk pik−1 = λ( pi ) = λ(1 − e−βqi−1 ). (15)
k k
The initial value is q0 = 1; i.e., initially, all edges are present in the graph. The output
of the evaluation is the probability that a user packet is recovered
PR = 1 − lim qi . (16)
i→∞
N PR
T = = G PR , (17)
M
where G = M N
is the load of the scheme.
Evidently, from (15)–(17), the asymptotic performance crucially depends on the
choice of λ(x) and the average slot degree β, where β = Gα. On the other hand, both
λ(x) and the average user degree α depend on Λ(x). Therefore, the performance of
the scheme ultimately depends on Λ(x) and the load G. The threshold of the scheme,
denoted by G ∗ , is defined as the maximum value of the load for which the following
condition holds
Comparing (18) with (15) reveals that, for given Λ(x), G ∗ is the maximum load for
which the probability of not recovering user packet will decrease over the iterations
of the reception algorithm. In other words, for given Λ(x) and when G ≤ G ∗ , the
probability of user recovery PR tends to 1, and, thus, T becomes equal to G, see
(17). Finally, it can be proven the upper bound on the achievable threshold, denoted
by G max for any user degree distribution whose average degree is α is given by
6 I.e., a packet is recovered if any of its replicas is decoded, which can be modeled via logical ‘or’.
Coded Random Access 347
Frameless ALOHA is a variant of CSA that has two distinctive features: (i) frame-
length is not a-priori defined, but determined on-the-fly such that the instantaneous
throughput is maximized, and (ii) like in the original SA framework, each user
independently decides whether to transmit its packet replica on the slot basis using
a predefined slot access probability.
Assume that the slot access probability p A is uniform for all users and over all
slots
β
pA = , (20)
N
where N denotes the number of users. Assume that all users are synchronized, such
that they start contending from the first slot of the frame and denote the current length
of the frame as M. The probability the a user degree is equal to k, k = 0, . . . , M, is
k
k β
M k M β β M−k G β
Λ(k) = p A (1 − p A ) M−k = 1− ≈ e− G ,
k k N N k!
(21)
where G here denotes the current load. Thus, the edge-oriented user degree distribu-
tion (10) becomes
β
λ(x) = e− G (1−x) , (22)
which also implies that a user packet can not be recovered at least with the same
probability. In other words, PR ≥ 1 − Λ0 , and Λ0 → 0 only when G → ∞. How-
ever, the key strength of frameless ALOHA is the capability to adapt to the actual
evolution of the iterative reception algorithm, attempting to terminate the contention
when the instantaneous throughput is maximized. The instantaneous throughput is
defined as
NR
TI = , (25)
M
348 Č. Stefanović and D. Vukobratović
0.2
0
0 25 50 75 100 125 150
M
where N R is the current number of recovered users and M denotes the current frame
length. Similarly, the instantaneous fraction of resolved users is defined as
NR
FI = . (26)
N
Figure 7 shows an example how TI and FI change with M for an instance of frameless
ALOHA. For this instance, the optimum frame length that maximizes the throughput
is when M = 120 and TI = 0.8. An optimal contention-termination criterion has to
identify when the maximum TI has been reached in every instance of the contention,
where both the slot-position of the maximum and the value of the maximum vary
across the instances.
Assume that the wireless links between the users and the AP are affected with block-
fading and noise, such that the composite signal received in slot sm , denoted by Sm
is
Sm = h m,n Un + Z m , m = 1, . . . , M, (27)
n∈A m
where Am is the set of the indices of the users active in sm , h m,n is the channel
coefficient between the user u n and the AP that describes the impact of the block-
fading, Un is the signal (i.e., packet replica) of user u n , and Z m is the additive white
Gaussian noise. The total received power in sm is
Coded Random Access 349
Rm = ||h m,n Un ||2 + PN , (28)
n∈A m
where the expected noise power PN is constant for all slots. A frequent assumption
is that the users are able to perform long-term power control, such that the expected
powers of their transmissions at the point of reception are the same and equal to some
constant P. Further, assuming that h m,n are i.i.d. random variables for every m and
n m , (28) can be transformed to
Rm = X n P + PN , (29)
n∈A m
where X n is the random variable with unit power describing the impact of fading.
In the threshold-based model, the capture of signal U j in slot sm occurs if
Xj
k ≥ b, (30)
n∈A m ,n= j X n + PN /P
c.f. (2). Moreover, the use of IC potentially enables the iterative recovery of col-
lided signals within sm . Specifically, if (30) is satisfied and U j recovered, then U j
is removed from sm (as well as all other slots where its replicas appear) and the
condition (30) may become satisfied for some of the signals remaining in sm . In
other words, besides inter-slot IC, the fading and capture effect also enable intra-
slot IC; note that the latter is not possible for the collision channel model. In terms
of the asymptotic performance evaluation, the possibility of performing intra-slot IC
impacts the probability of user recovery (12) in the following way
l−1
l −1 t
pi(l) = 1 − C(t) qi−1 (1 − qi−1 )l−t−1 , (31)
t=0
t
where C(t) is the probability that the reference edge is removed in slot of degree l
where l − t − 1 edges have been removed via inter-slot IC in the previous iteration
(i.e., t + 1 edges remain in the slot).7 Assuming that b ≥ 1, i.e., that the receiver is
able to decode a single transmission at a time, C(t) can be further decomposed into
t
C(t) = C(t, r ) (32)
r =0
where C(t, r ) is the probability that the reference edge is recovered after r applica-
tions of the intra-slot IC.
7 Note that for the collision channel model, it is implicitly assumed that C(0) = 1 and C(t) = 0,
t = 1, . . . , l − 1.
350 Č. Stefanović and D. Vukobratović
Without loss of generality and the slight abuse of notation, label the edges remain-
ing in slot sm at the start of the iteration i in the following way: (i) the first r are
arranged by their powers in the descending order, (ii) the rest have their powers lower
than the power of the edge r but do not feature any particular arrangement, (iii) the
reference edge is labeled by r + 1, and (iv) the remaining t − r edges are labeled
arbitrarily. Then, the probability C(t, r ) is equal to
t!
C(t, r ) = ×
(t − r )!
X1 X2 X r +1
× Pr t+1 ≥ b; t+1 ≥ b; . . . ; t+1 ≥b ,
j=2 X j + PN /P j=3 X j + PN /P j=r +2 X j + PN /P
(33)
t!
where X i is the power of the ith edge, and where (t−r )!
is the number of realizations
in which the power of the reference edge is not among r largest.8
If the coefficients h m,n are i.i.d. Rayleigh distributed random variables, which is an
often used model in wireless communications, the probability distribution function
of X j is given by
l−1 r +1
e− γ ((1+b) −1)
t 1
t! l −1 t
pi(l) =1− qi−1 (1 − qi−1 )l−t−1
t=0 r =0
(t − r )! (1 + b)(r +1)(t+1− r +2
2 ) t
(36)
l−1
t
l − 1! e ((1+b) −1)
− γ1 r +1
=1− t
qi−1 (1 − qi−1 )l−t−1 ,
t=0 r =0
(t − r )!(l − t − 1)! (1 + b)(r +1)(t+1− r +2
2 )
(37)
8 Itis assumed that the all realizations in terms of the ordering of the powers are a priori equally
likely.
Coded Random Access 351
β l−1 (l)
pi = ωl pi(l) = 1 − p (38)
l l
(l − 1)! i
l−1 r +1
e− γ ((1+b) −1)
t 1
t
qi−1 (1 − qi−1 )l−t−1
= 1 − e−β β l−1 . (39)
l t=0 r =0
(t − r )!(l − t − 1)! (1 + b)(r +1)(t+1− r +2
2 )
The previous part of the chapter considered the CSA scheme in the single AP scenario.
However, in many wireless communication scenarios of interest, a user transmission
can be detected at multiple APs. Examples include satellite communication networks,
networks of WiFi APs, or dense deployment of cellular base stations in urban areas,
including e.g., the cellular small cell networks. One such scenario is illustrated in
Fig. 8, where a large number of sensors attempt to upload their packets to a network
of APs.
In multi-AP scenarios, as introduced earlier, each AP can exploit the temporal
diversity of user’s packet replicas via IC across the time slots. However, the CSA
scheme can also exploit the spatial diversity, where IC is done across multiple APs
in a single time slot. More precisely, due to limited range of user transmissions, a
packet replica of a transmitting user may appear as a singleton slot at one of the
surrounding APs, while at the same time being a collision slot at other surrounding
APs. In that case, an AP decoding a clean packet replica in a singleton slot can
(spatially) cooperate with neighboring APs by sharing the decoded packet replica,
thus allowing them to use IC to remove the replica from their collision slots.
In the rest of this chapter, we formalize more precisely the model for multi-
AP scenario and provide a brief review of some of the recent results and possible
directions for further study.
We consider a scenario with N contending users and M APs, where both users and
APs are placed independently and uniformly at random in a unit-square area. The
time domain is slotted and slots are organized into frames containing τ slots per
frame. The system is both frame- and slot-synchronous across all APs and all users.
As in CSA, each user transmits packet replicas in one or more randomly selected
slots within the frame, where the number of transmitted replicas is governed by the
(temporal) degree distribution Λ(x) = i Λi x i , and Λi is the probability of sending
i replicas. However, unlike in the single-AP model, in the multi-AP model we assume
that a user transmission is of limited range, so that the user’s signal can be detected
only by APs that lie in a circle of radius r centered at the user. The system load is
defined as the number of users per AP per slot: G = N /(Mτ ).
After users transmit their replicas in a given frame, the decoding process at all
the APs is initiated. We consider two decoding models: (i) non-cooperative, where
APs do not cooperate during the decoding process, and (ii) cooperative, where APs
cooperate by exchanging decoded users’ replicas during the decoding process. Note
that the cooperative case requires that if two APs exchange information, i.e., if they
share common users, then they have to be connected via a backhaul link. After the
decoding process is finished, each user is decoded if and only if it is decoded by
any of the APs in the network (thus we assume no explicit user-to-AP association).
We are interested in the two main performance metrics: (i) the probability that an
arbitrary user is recovered, denoted as PR , and (ii) the system throughput T defined
as T = G · PR , both of which depend on the system load G.
For convenience, it is useful to introduce a graph representation of the multi-
AP setup. To this end, we define two different but related graph models. The
first model illustrates the connectivity between the users and the APs. Let U =
{U1 , U2 , . . . , U N } represents the set of user nodes, and B = {B1 , B2 , . . . , B M } rep-
resent the set of AP nodes. An edge of the graph connects the user node Ui and the
AP node B j iff the jth AP is within the range r of the ith user. The resulting graph
G = (U ∪ B, EG ) is a random bipartite geometric graph. We denote the (spatial)
degree distributions of user and AP nodes as Q(x) = i Q i x i and R(x) = i Ri x i ,
respectively, where Q i (resp. Ri ) is the probability a user (resp. AP) node is of
degree i.
The second graph model refines the previous spatial model by introducing the
temporal dimension. In other words, it expands each AP node into τ slot nodes
Coded Random Access 353
observed at the AP during a frame of duration τ . Thus, apart from the set U , we
now have the set S of slot nodes S j,t , 1 ≤ j ≤ M, 1 ≤ t ≤ τ , representing the tth
time slot at the jth AP. An edge of the graph connects the user node Ui and the
slot node S j,t if and only if: (i) the ith user transmitted a replica in the tth time
slot, and (ii) the jth AP is within the range r from the ith user. The resulting graph
H = {U ∪ S , EH } is a random bipartite geometric graph. We denote the degree
distributions of the user and the slot nodes in H as U (x) and S(x), and note that
they are easily derived from Λ(x), Q(x) and R(x).
Figure 9 illustrates an example of the graph representation of the multi-AP system
from Fig. 8, for a simple case when the frame contains a single slot, i.e., τ = 1. Note
that, in this case, the two graph models G and H are equivalent. Figure 10 illustrates
an example of the same multi-AP scenario for the frame length equal τ = 3 slots. In
this case, Fig. 10 represents the graph H , while the underlying graph G remains the
same as in Fig. 9.
Similarly as in the single-AP model, the graph model H is useful for formalization
of the iterative IC decoding algorithm. We also consider the iterative IC decoding that
resembles the iterative graph-peeling erasure decoder for LDPC codes. However, the
IC decoder now operates on the graph H of the multi-AP model. Due to the fact that
this graph is based on the random bipartite geographic graph model, analyzing the
decoding performance is considerably more challenging for the multi-AP scenario.
Unfortunately, asymptotic analysis based on the density evolution method, which is
a standard tool for analyzing the IC decoders on sparse random graphs, does not hold
here. This follows from the fact that the probability of appearance of small cycles in
the underlying (geometric) graph does not vanish asymptotically with the size of the
graph.
In the following subsection, we discuss the performance of the IC decoding over
the graph models for the multi-AP scenario. We consider four different decoding
scenarios depending on the assumptions if the APs cooperate during the decoding
process and if each AP performs temporal IC decoding.
In this section, we consider the performance of the iterative IC decoder in the multi-
AP scenario under the asymptotic setting. We let the number of user nodes N → ∞
and the number of APs M = M(N ) → ∞, the number of slots in the frame τ → ∞
and the transmission range r → 0, under constraints that the average number of APs
within the range of a user: Mr 2 π → δ, and the load: N /(Mτ ) → G, where δ and G
are positive constants. We ignore the edge-effects of users/APs placed close to the
edges of the unit-square area as they asymptotically vanish.
In the asymptotic setup, it is easy to show that the spatial degree distribution of
users Q(x) is a Poisson distribution with parameter δ. Thus an upper limit on PR is the
probability that a user is not heard by any AP, which equals PR ≤ 1 − exp(−δ). For
different decoding scenarios, we will be interested in the (asymptotic) user recovery
probability PR and the system throughput T . We will be also interested in threshold
phenomena involving the system load G; namely, the maximum load G (δ) for which
the decoding scheme is still able to achieve the upper bound:G (δ) = sup{G ≥ 0 :
PR → 1 − e−δ }.
Case 1: Non-cooperative Decoding Without Temporal IC - In this model,
each AP follows standard SA protocol without IC decoding across the time slots.
In addition, APs do not communicate and exchange information with each other. In
this case, it is sufficient to observe the decoder operation on a multi-AP graph with
a frame length τ = 1 (as in Fig. 9). Note that the decoding process will be able to
collect all the users that have at least one edge incident to a degree one AP. However,
characterizing the number of such users is a rather challenging task.
• Recovery probability:
∞
δ k 4 −aδG
PR → (−1)k−1 e dμk (a), (40)
k=1
k! 1
Coded Random Access 355
The above bound follows from analyzing the probability of occurrence of the
stopping sets of size two in an underlying random bipartite geometric graph.
• Threshold load: G (δ) = 0. As in the previous case, PR splits away from 1 −
exp(−δ) at G = 0, however, compared to Case 1, the negative slope of decay at
G = 0 is significantly lower, thus providing better performance of spatial cooper-
ation over non-cooperative case.
The above two cases show that, without temporal IC across the time slots at each
AP, it is difficult to exploit the full power of IC decoding due to the structure of the
underlying geometric graphs.
Case 3: Non-cooperative Decoding with Temporal IC - In this scenario, we
observe a system of M APs distributed in a unit-square area that do not cooperate, but
independently run the CSA across time slots of a frame. If observed independently,
the performance of each AP depends only on the temporal degree distribution Λ(x)
the users apply to generate replicas. More precisely, for a given Λ(x) and the load
H (number of users per slot), let PRS (H ) be the user recovery probability in the
asymptotic setup (where the number of users and slots tend to infinity, but their ratio
tends to H ). Then, a threshold load H exists such that, for H ≤ H , it holds that
PRS (H ) = 1. As we present next, using the performance of CSA in the single-AP
case, we can express the performance of non-cooperative decoding with temporal IC
in the multi-AP case.
• Recovery probability:
• Throughput: Let ε = exp(−δ), then the peak normalized (per AP) throughput is
lower-bounded as T ≥ H8 e ln(1/ε)
1−ε
.
1 H
• Threshold load: G (δ) ≥ 8e δ . In other words, the recovery probability stays at
the maximal possible value 1 − exp(−δ) at least in the range G ∈ [0, 8e1 Hδ ].
In the case of CSA in Multi-AP scenario, a number of open problems arise that yet
have to be solved. Note that even the simplest extension to Multi-AP scenario, the
case of SA without cooperation and without temporal IC (Case 1) lacks an elegant
and closed-form solution for the average system throughput. In the following, we
provide several scenarios which we find relevant and which are subject of our current
study.
Different Multi-AP Models; The Multi-AP model presented in this chapter is
mainly motivated by applications in dense cellular systems where APs correspond to
small base stations. In this case, the geometric graph model is a reasonable approxi-
mation of a user to AP coverage and connectivity. However, in certain scenarios such
as satellite networks, all users might be heard at all satellites, although with different
channel conditions (e.g., some user-to-AP channels being exposed to harsh fading
while others not). This has led to slightly different and analytically more tractable
model, wherein underlying graph representation follows random graph model (unlike
random geometric graph model).
Asynchronous System Operation: In reality, signals transmitted from users will
travel different distances to different neighbouring APs, thus arriving at APs with
different delay. This delay variability may vary from rather small in dense small cell
networks, to very large in multi-AP satellite systems. Thus the assumption that the
system is perfectly slot synchronized across all users and all APs might be impossi-
ble to achieve in practice. In more realistic model, we might explore the scenario in
which users are asynchronous and send their packet replicas in arbitrary time instants
which are not aligned to slot boundaries. Such a system may still employ IC decod-
ing and may still provide significant performance improvements over traditional
ALOHA. Thus the performance of asynchronous ALOHA in Multi-AP scenario is
an interesting and relevant research direction.
Multi-AP Models with Directional Antennas: The latest trends in wireless com-
munications advocate shifting the operational communications band to higher fre-
quencies above 6 GHz into the so called mmWave band. In such an environment, to
overcome high signal attenuation, typical transmission strategies involve directional
antennas in which the transmitted signal is emitted as a focused and narrow-angle
beam in a certain direction. An interesting extension to CSA in Multi-AP environment
would be to observe how the system throughput changes with the transition towards
mmWave communications and narrow-beam antennas. Our preliminary results show
that this should help improving the system throughput in ultra-dense deployments
since users transmitting in narrow beams could better avoid interfering each other,
which in terms of the underlying graph representation means that the occurrence
of short cycles could be significantly reduced, leading to better performance of the
iterative IC decoding.
358 Č. Stefanović and D. Vukobratović
4 Literature Review
The performance of slotted ALOHA was analyzed in [13]. Framed slotted ALOHA
was proposed in [9]. The threshold-based capture model was topic of multitude
works, c.f. [8, 17–19].
There is an abundance of literature related to CSA. In the following, some of
notable works are briefly mentioned. An accessible overview of CSA is presented
in [12]. FSA with iterative IC was originally proposed in [1], assuming that each
user sends two replica in randomly selected slots of the frame and showing that the
maximum expected throughput on the collision channel is 0.55 packet/slot [1]. IRSA
was introduced in [4], where it was also shown how to design user degree distributions
whose thresholds are close to 1. The upper bound on the threshold of any user degree
distribution with a given average degree was derived in [10]. A generalization of
the scheme, in which users contend with segments produced by applying a linear
segment-oriented code on the segments of the user packet, is introduced and analyzed
in [11].
Frameless ALOHA was inspired by the rateless coding paradigm [5]; it was
introduced and its asymptotic performance analyzed in [15]. The optimization of the
termination criterion that maximizes expected throughput of the scheme in scenarios
with finite number of users was addressed in [14].
Derivation of the and-or tree evaluation for the threshold-based capture model
was performed in [16]; the same work also addresses the performance of frameless
ALOHA for Rayleigh black-fading channel with the threshold-based capture effect.
Design of the user degree distributions for IRSA on Rayleigh black-fading channel
with threshold-based capture was assessed in [2].
The and-or tree evaluation was originally conceived in [6].
CSA in Multi-AP scenario is introduced and analyzed in [3]. The exposition in
this chapter follow this approach. Somewhat different model and overview of results
is also presented in [7].
References
1. E. Casini, R.D. Gaudenzi, O. del Rio Herrero, Contention resolution diversity slotted ALOHA
(CRDSA): an enhanced random access scheme for satellite access packet networks. IEEE
Trans. Wirel. Commun. 6(4), 1408–1419 (2007)
2. F. Clazzer, E. Paolini, I. Membeli, C. Stefanovic, Irregular repetition slotted ALOHA over the
Rayleigh block fading channel with capture, in Proceedings of IEEE ICC 2017. Paris, France
(2017)
3. D. Jakovetic, D. Bajovic, D. Vukobratovic, V. Crnojevic, Cooperative slotted ALOHA for
multi-base station systems. IEEE Trans. Commun. 63(4), 1443–1456 (2015)
4. G. Liva, Graph-based analysis and optimization of contention resolution diversity slotted
ALOHA. IEEE Trans. Commun. 59(2), 477–487 (2011)
5. M. Luby, LT codes, in Proceedings of 43rd IEEE FOCS. Vancouver, BC, Canada (2002)
6. M.G. Luby, M. Mitzenmacher, A. Shokrollahi, Analysis of random processes via And-Or tree
evaluation, in Proceedings of 9th ACM-SIAM SODA. San Francisco, CA, USA (1998)
Coded Random Access 359
7. A. Munari, F. Clazzer, G. Liva, Multi receiver ALOHA: a survey and new results, in Proceedings
of IEEE ICC 2015 - MASSAP Workshop. London, UK (2015)
8. G.D. Nguyen, A. Ephremides, J.E. Wieselthier, On capture in random-access systems, in Pro-
ceedings of IEEE ISIT 2006. Seattle, WA, USA (2006)
9. H. Okada, Y. Igarashi, Y. Nakanishi, Analysis and application of framed ALOHA channel
in satellite packet switching networks - FADRA method. Electron. Commun. Jpn. 60, 60–72
(1977)
10. E. Paolini, G. Liva, M. Chiani, Graph-based random access for the collision channel without
feed-back: capacity bound, in Proceedings of IEEE Globecom 2011. Houston, TX, USA (2011)
11. E. Paolini, G. Liva, M. Chiani, Coded slotted ALOHA: a graph-based method for uncoordinated
multiple access. IEEE Trans. Inf. Theory 61(12), 6815–6832 (2015)
12. E. Paolini, C. Stefanovic, G. Liva, P. Popovski, Coded random access: how coding theory helps
to build random access protocols. IEEE Commun. Mag. 53(6), 144–150 (2015)
13. L.G. Roberts, ALOHA packet system with and without slots and capture. SIGCOMM Comput.
Commun. Rev. 5(2), 28–42 (1975)
14. C. Stefanovic, P. Popovski, ALOHA random access that operates as a rateless code. IEEE
Trans. Commun. 61(11), 4653–4662 (2013)
15. C. Stefanovic, P. Popovski, D. Vukobratovic, Frameless ALOHA protocol for wireless net-
works. IEEE Commun. Lett. 16(12), 2087–2090 (2012)
16. C. Stefanovic, M. Momoda, P. Popovski, Exploiting capture effect in frameless ALOHA for
massive wireless random access, in Proceedings of IEEE WCNC 2014. Istanbul, Turkey (2014)
17. A. Zanella, M. Zorzi, Theoretical analysis of the capture probability in wireless systems with
multiple packet reception capabilities. IEEE Trans. Commun. 60(4), 1058–1071 (2012)
18. M. Zorzi, Capture probabilities in random-access mobile communications in the presence of
Rician fading. IEEE Trans. Veh. Technol. 46(1), 96–101 (1997)
19. M. Zorzi, R.R. Rao, Capture and retransmission control in mobile radio. IEEE J. Sel. Areas
Commun. 2(4), 1289–1298 (1994)
Part IV
Codes for Distributed
Storage Systems
An Overview of Coding for Distributed
Storage Systems
Abstract This chapter provides a short survey of coding for distributed storage
systems. It describes the code design criteria for such codes, emphasizing what
makes them different from traditional codes for communication. It then focuses
on two large families of codes, regenerating codes and locally repairable codes,
including a discussion on how these codes are used in an adversarial setting.
A distributed storage system consists of a set of hard drives (disks), or nodes, which
is used to store data in a distributed manner: the same file could be stored multiple
times, one copy per hard drive, over a set of two, three, or more hard drives, or pieces
of the same file could be stored across a set of hard drives. Reasons why one may
want to store data in a distributed manner (rather than on a single disk) include
• ease of scale: if the system runs out of memory, one just adds more disks to the
storage system,
• reliability: if there is a single disk, and it fails, the stored data is lost, while if there
are several disks containing the same data, the data will have chances of surviving,
depending on the failure(s), and on how the data is stored.
If there are several disks, but each file is stored only on a single disk, then reliability
cannot be achieved, because in the event of this specific disk failure, data will be lost.
This is why redundancy is needed. The simplest form of redundancy is replication.
Two or three copies of a file are made, and they are all stored in different disks. The
S. Liu (B)
Institute of Network Coding-The Chinese University of Hong Kong,
Hong Kong, China
e-mail: [email protected]
F. Oggier
Division of Mathematical Sciences, School of Physical and Mathematical
Sciences, Nanyang Technological University, Singapore, Singapore
e-mail: [email protected]
© Springer International Publishing AG 2018 363
M. Greferath et al. (eds.), Network Coding and Subspace Designs,
Signals and Communication Technology,
https://doi.org/10.1007/978-3-319-70293-3_14
364 S. Liu and F. Oggier
notion of redundancy has been well studied in the context of noisy communication,
via coding theory: a signal is transmitted over a noisy channel, because of the noise,
part of the signal will be lost, so redundancy is added to the transmitted signal, to
help the receiver recover the transmitted signal, despite it being distorted through the
communication channel. The process of adding redundancy to the transmitted signal
is called “encoding”.
We will assume throughout this chapter that data can be modeled as a vector with
coefficients in some finite field Fq , for q a prime power. Encoding thus consists of
mapping a vector f ∈ FM q to a vector x ∈ Fq , called codeword, where n > M . The
n
set of codewords is called a code. If this mapping is linear, we can write x = f G for
some M × n matrix G of rank M , and we speak of a linear code, with parameters
[n, M ], where n is the length and M the dimension. The simplest example of linear
code is the repetition code with parameters [n, 1] which maps f to a vector containing
n copies of f: (f, . . . , f). The repetition code corresponds to a replication scheme for
storage: there are n copies of f, each of them are stored on a different disk, over n
disks. This scheme is very reliable: there are n copies of f, therefore n−1 disk failures
can happen, and still the data will survive. The same is true for communication over
a noisy channel: up to n−1 transmitted signals can be lost, the intended message will
still be communicated reliably. The problem with this scheme is that its rate M /n is
poor, respectively its storage overhead n/M is high.
The trade-off between reliability and rate is well known in coding theory, and
is characterized by the Singleton bound. Reliability is captured by the minimum
Hamming distance dH of a code C:
where d (x, x ) counts in how many coefficients the vectors x and x differ. The
minimum Hamming distance tells us that given a codeword in C, we can lose up to
dH (C)-1 coefficients, and still be able to recover our data. This is because any x
differs in at least dH (C) coefficients from any other x . Now the Singleton bound
tells us, given n and M , what is the maximum possible dH .
Proof Take the qM codewords of C, and look at their first M − 1 coefficients. Since
we can have at most qM −1 distinct vectors of length M − 1, among the vectors
obtained by looking at the first M − 1 coefficients of qM vectors, there must be at
least two vectors which are the same by the pigeon hole principle, corresponding to
two codewords x = x which are equal on their first M − 1 coefficients, implying
that they can different at most on n − (M − 1) coefficients, which completes the
proof.
Codes reaching the Singleton bound are called maximum distance separable
(MDS) codes. The most famous class of MDS codes is the class of Reed–Solomon
codes [33]. A Reed–Solomon code C can be described as
An Overview of Coding for Distributed Storage Systems 365
M −1
C = {(p(w1 ), p(w2 ), . . . , p(wn )) : p(X ) = pi X i ∈ Fq [X ]} (1)
i=0
where w1 , . . . , wn are n distinct elements of Fq (and thus n ≤ q). From the description,
a codeword is made of n evaluations of a polynomial of degree M − 1. Polynomial
interpolation tells us that we can recover the polynomial as long as we still have the
evaluation of p(X ) in at least M points, which means that we can lose at most n − M
of them, corresponding to a Hamming distance of n − M + 1.
Reed–Solomon codes have been used for communications, and for storage appli-
cations such as CDs [12]. In the context of distributed storage systems, they are also
optimal when it comes to trade reliability and storage overhead. Why then not just
adopt Reed–Solomon codes as such1 instead of researching novel coding strategies
for distributed storage systems?
The reason is that coding for distributed storage includes one more dimension, on
top of reliability and storage overhead, namely that of maintenance or repairability.
In a communication scenario, a signal is transmitted, and received at a given point
of time. Once the signal is received, it must be recovered taking into account lost
information due to channel noise, but this degradation is now given, it will not
change. This is a main difference with a distributed storage scenario. Suppose a disk
has failed at a given point of time, nothing prevents another disk to fail later on,
in fact, the failure of one disk may trigger other disk failures. Therefore, without a
maintenance mechanism, the data will eventually be lost, because no coding solution
can protect against an arbitrarily large amount of failures. What maintenance does is
illustrated on an example with two copies of a file f. If the first copy is lost because
of a disk failure, a disk or node which is still alive make a new copy of f, so that the
storage system still has two copies overall, despite one failure. In fact, keeping three
copies of f is somewhat even more prudent, because once the first failure occurred,
there is no more protection. Having three copies allows to lose one, start recreating
a new copy, and tolerate one more failure in the process of creating a new copy
(which may take time). Suppose now a Reed–Solomon codeword is used to encode
f, each codeword coefficient is stored on a distinct disk, across n different disks. In
the event of one failure, recovering the one missing coefficient is asking for a lot
of resources: data needs to be transferred from M nodes, the codeword needs to be
recomputed, the missing coefficient is then recovered, but at a high cost in terms of
both communication and computation costs. If the system were to wait for several
failures to happen before starting this repair procedure, the cost would be amortized,
but at the risk of losing the data if the system waits for too long.
Research on coding for distributed storage has thus focused on getting codes with
• high reliability (fault tolerance),
1 We are not claiming that Reed–Solomon codes are not used in distributed storage systems, we
added “as such” as a way to say that something else has to be taken into account in all cases, even
if one wants to use Reed–Solomon codes.
366 S. Liu and F. Oggier
• low storage overhead (if storage overhead is not an issue, replication is a great
practical solution),
• good maintenance mechanisms.
What good maintenance means is still under discussion, but in this chapter, we
will focus on two aspects, low communication costs in Sect. 2, and a low number of
live nodes to be contacted during repair in Sect. 3. Other aspects are also discussed
in [23].
2 Regenerating Codes
Fig. 1 Four nodes, labelled from 1 to 4 failed. Four other nodes in the center with the same labels
are repairing the lost data by contacting live nodes 5, 6, 8, 9. We have d = 2, e.g., node 3 downloads
data from nodes 5 and 9. In the original regenerating code case, the four failures will be repaired
sequentially. In the collaborative case discussed next, nodes 1, 2, 3, 4 involved in the repair are
exchanging data as well
k−1
mincut(S, DC) ≥ min{(d − i)β, α}. (2)
i=0
Proof Let xi denote the newcomer during the ith repair, i ≥ 0. Write xi as a logical
pair (xiin , xiout ) formed by an incoming node, so that an edge between xiin and xiout
models the storage capacity α. Consider a data collector that connects to k output
nodes, say{xiout : i = 0, 1, . . . , k − 1}. We show that any cut between S and DC in
the graph has a capacity that satisfies (2). Since we may assume that outgoing edges
of S and incoming edges of DC have infinite capacity, we only need to consider cuts
(U, U ), S ∈ U and DC ∈ U , where these infinite capacity edges do not participate.
Let C denote the edges in the cut.
Let (x0in , x0out ) be the first repair node. We have two cases: (1) If x0in ∈ U , then the
edge with weight α between x0in and x0out must be in the cut C. (2) If x0in ∈ U , then the
cut contains d edges carrying β coefficients. Thus the first node brings a contribution
of c0 ≥ min{d β, α} to the cut.
Let us consider the second repair node (x1in , x1out ). There are again two cases:
(1) x1in ∈ U , then the edge with weight α is again in the cut. (2) If x1in ∈ U , then
at most one of its incoming edges could be from x0out , thus at least d − 1 edges
carrying β coefficients are in the cut. The min-cut contribution from the second node
is c1 ≥ min{(d − 1)β, α}.
368 S. Liu and F. Oggier
Using the Minimum cut-Maximum flow Theorem, we get that the initial file size M
must satisfy
k−1
M ≤ min{(d − i)β, α}.
i=0
k−1
Thus the largest that M can get is M = i=0 min{(d − i)β, α}, and codes
reaching this bound are called regenerating codes. We may now ask to minimize
α = α(d , γ ) subject to the aforementioned constraint on the size of M , which can
equivalently be stated as a function of γ instead of β: M = k−1 i=0 min{(1−i/d )γ , α}.
This optimization problem can be easily solved in closed form. This is because
(1−(k −1)/d )γ < (1−(k −2)/d )γ < · · · < (1−1/d )γ < γ . Since α must belong
to any of these intervals, the constraints can be restated removing all the minima, and
the minimum value of α is found. Suppose for example that α ≤ (1 − (k − 1)/d )γ ,
then the constraint becomes kα = M , for which γ ≥ α d −(k−1) d
= Mk d −(k−1)
d
.
Similarly, if α ≥ γ , we get
k−1
1 (k − 1)k 2d − (k − 1)
M = (1 − i/d )γ = k − γ =k γ,
i=0
d 2 2d
is indeed characterizing the smallest possible value for α, since we have the constraint
that any k nodes should be able to retrieve the file f, thus no node can store less than
M /k symbols. This point of the trade-off is called the minimum storage regenerating
point (MSR). Then the other extreme point
M 2d M 2d
(α, γ ) = , , (4)
k 2d − (k − 1) k 2d − (k − 1)
gamma 0.5
0.4
0.3
0.2
0.2 0.3 0.4 0.5 0.6
alpha
Fig. 2 Two trade-off curves, with α on the x-axis, and γ = γ (α) on the y-axis. The outer line
corresponds to t = 1 failure repair. The inner one corresponds to t = 3 simultaneous repairs using
a collaborative strategy. The parameters are set to be k = 4, d = 5 and we normalized the file size.
We observe that t = 3 yields a better trade-off than t = 1
It is also clear from this formula that d = n − 1 brings most benefits in terms of
bandwidth savings.
No matter how many failures occurred in the storage system, the strategy that we
just analyzed holds for one failure repair at a time, so multiple failures are handled
by performing multiple repairs sequentially.
To repair more than one failure simultaneously, two independent works [14, 38]
introduced collaborative (coordinated, cooperative) regenerating codes, which allow
repairs using the data not only from live nodes, but also from all nodes currently being
repaired. This strategy introduces a collaborative phase, on top of the download phase
done previously. The analysis generalized the one presented above: a min-cut bound
is computed, taking into account the collaboration, and a trade-off for collaborative
regenerating codes is obtained, between storage and repair bandwidth, where repair
bandwidth takes into account that data is exchanged during collaboration.
Theorem 2 ([14, 38]) Consider an information flow graph, where every node has
a storage capacity of α, and repairs are performed by a group of t nodes, that is
the system triggers a repair when t failures occur. Suppose that a data collector DC
connects to a subset of k nodes which were all involved in different phases
g−1 of repairs,
where each phase involves a group of ui nodes, 1 ≤ ui ≤ t, and k = i=0 ui . Then
a min-cut bound for collaborative repair is
370 S. Liu and F. Oggier
⎧ ⎛ ⎞ ⎫
g−1 ⎨
i−1 ⎬
M ≤ ui min α, ⎝d − ⎠ β + (t − ui )β , (5)
⎩ ⎭
i=0 j=0
where β is the exchange repair bandwidth, that is each of the repairing nodes
exchanges β symbols with every other t − 1 repair nodes.
Solving the problem of minimizing α under the constraints given by the above
bound now becomes difficult, the interested reader may refer to [40] for the compu-
tations. An example of the trade-off curve obtained for t = 3 is shown in Fig. 2. It
turns out that increasing t actually improves the trade-off between storage and repair
bandwidth.
Both scenarios are included as particular cases of partially collaborative regen-
erating codes, proposed in [19]. The idea is to introduce freedom in the extent of
collaboration, by allowing repair nodes to exchange data with only a subset of the
nodes currently being repaired. A min-cut bound is available, however determining
the corresponding trade-off curve is open.
Theorem 3 ([19]) For partial collaboration, the repair process of t failures involves
t nodes, which will all download β amount of data from d live nodes, and exchange
β amount of data with a subset of t − s nodes, 1 ≤ s ≤ t. Then the min-cut bound is
⎛ ⎧ ⎛ ⎞ ⎫
⎨ i−1 ⎬
M ≤ min ⎝ ui min α, ⎝d − uj ⎠ β + (t − s + 1 − ui )β
u∈P ⎩ ⎭
i∈I j=0
⎧ ⎛ ⎞ ⎫⎞
⎨
i−1 ⎬
+ ui min α, ⎝d − uj ⎠ β ⎠ (6)
⎩ ⎭
i∈Ī j=0
The above bounds and trade-offs all address the preservation of data through different
repair phases. Suppose a node contains the piece fi 2 of a file f, and after repair, afi
is being stored, for a = 0. For example, using the alphabet F3 = {0, 1, 2}, a node
storing the coefficient 1 fails, is repaired, but the value after repair is now 2, not 1.
In terms of recovering fi , both fi and afi play the same role (since a = 0, a−1 exists
and computing a−1 afi gives back fi , in the example, 2 · 2 gives back 1). However,
they are not bitwise the same data. Therefore, we distinguish exact repair, where lost
data is exactly recovered bit by bit, from functional repair, where the data itself is
not the same, but the information contained in the data is maintained. Exact repair is
often preferred, since it is easier to keep track of the data with respect to functional
repair, where transformation of the data should also be available. The above bounds
however hold for functional repair.
The question thus becomes that of achievability of these trade-offs for exact repair.
It is known that the extreme points (MSR and MBR) are achievable, and we will give
some example for these two cases in the next subsection. How to characterize the
interior points for exact repair remains open in general. We summarize some of
the results known so far. It was first shown in [46], using a particular code with
parameters n = 4, k = 3, d = 3, that the exact repair trade-off lies strictly away
from the functional repair trade-off. In [35], it was more generally shown that the
exact repair trade-off lies strictly above the functional trade-off for any values n, k, d .
From these results, it became clear that one would have to address the question
of finding trade-off bounds for exact repair. However, the exact repair trade-off for a
fixed (n, k, d ) varies with the file size M , making it more natural to consider instead
the normalized pairs (α/M , β/M ).3 In this case, we refer to the normalized exact
repair (ER) trade-off. In [34, Theorem III.4], an upper bound on the normalized ER
trade-off is computed for every choice of parameters n, k, d . This upper bound can
be combined with the code construction proposed in [36] for k = 3 and d = n − 1,
for any n, to fully characterize the normalized ER tradeoff for this set of parameters.
In the introduction, we discussed linear codes, but so far, nothing was mentioned
about whether codes are linear or not. This is because the properties of information
preservation, or that of data recovery, are independent of the regenerating code being
linear. However, linear codes are of course nicer than non-linear ones, because they
have been better studied, they come with easier encoding and decoding algorithms.
So one may wonder whether adding the constraint of linearity might help in under-
standing the normalized ER trade-off. In [5], a non-explicit upper bound is given
for the general ER trade-off case, which, when applied to the special case of linear
codes, gives an explicit upper bound for the ER linear trade-off problem, for any
parameter n, k, d . In [21], another upper bound is given for the ER linear codes case,
which turns out to be optimal for the parameters k = n − 1, d = n − 1 for any n, but
for the limited region where β/M ≤ 2α/Mk. For an improvement of this bound, as
well as comparisons between the different bounds discussed, we refer to [34].
3 Since γ = d β, we may consider the trade-off in terms of either (α, γ ) or (α, β).
372 S. Liu and F. Oggier
We next present two code constructions, one at MSR point, and one at MBR point.
Construction of MSR codes. This construction is actually illustrating how an MDS
code can be used for storage, in the setting of regenerating codes. Consider a file f
of length M = k with coefficients in Fq , q a prime power. Set the parameters of the
regenerating code to be
d = k, n ≥ k + 1, M = k.
Let G be a generator matrix of an (n, k) MDS code over Fq , say that of a Reed–
Solomon code, and denote by gi the ith column of G, i = 1, . . . , n, that is G =
[g1 , . . . , gn ]. By the MDS property, any k columns of G form an invertible matrix.
We denote the data file f by a k-dimensional row vector, f = (f1 , . . . , fk ). Suppose
the ith node store fgi , that is α = 1.
Recovery. The data can be recovered by contacting nodes i1 , . . . , ik . The il -th node
contains fgil , for l = 1, . . . , k, for a total of k coefficients, by the MDS property, the
data file can be retrieved.
Repair phase. Suppose that the ith node has failed. A newcomer connects to
d = k live nodes say i1 , . . . , id and downloads fgil for l = 1, . . . , d from each of the
nodes, thus β = 1. By the MDS property, the newcomer can compute f.
The total number of coefficients involved in the repair is d β = k, that is the repair
bandwidth is k, and the construction indeed achieves the MSR point, since
M M d
(αMSR , γMSR ) = , = (1, k).
k k d −k +1
Construction of MBR codes [39]. This time, consider a data file f of length M =
k(k + 1) with coefficients in Fq . Set the parameters of the regenerating code to be
d = k, n = k + 1, M = k(k + 1).
The object f can be written as f = (f1 , . . . , fk+1 ) where fi = (f(i−1)k , . . . , fik−1 ) has
length k, 1 ≤ i ≤ n = k + 1.
Let g1 , . . . , gn−1 be n − 1 = k independent column vectors of length k over Fq .
For i = 1, 2, . . . , n, the content of node i consists of the k coefficients of fi , and
of the n − 1 parity-check coefficients
computed from other groups fi+j , j = 1, . . . , n−1. Node i thus stores α = k +n−1 =
2k coefficients of the form fi+j gj where i + j and j are understood modulo n.
Recovery. Suppose without loss of generality that a data collector connects to
nodes 1, . . . , k, and downloads f1 , f1+k gk from node 1,…, fk , fk+1 g1 from node k.
The coefficients of fk+1 can be computed from fk+1 ·gk , . . . , fk+1 ·g1 since g1 , . . . , gn−1
are linearly independent.
An Overview of Coding for Distributed Storage Systems 373
Repair process. Suppose that node j failed. The newcomer downloads fi · gi+(n−j)
and fj · gj+(n−i) from node i, i = 1, . . . , n, i = j. Thus the parity-check coefficients
stored in node j can be recovered directly from fi · gi+(n−j) with i = 1, . . . , n, i =
j, while fj is recovered from fj · gj+(n−i) , using that the gj involved are linearly
independent. The total number of coefficients involved in the repair is 2k, that is the
repair bandwidth is 2k = 2d , and the construction indeed achieves MBR point, since
M 2d M 2d
(αMBR , γMBR ) = , = (2k, 2k).
k 2d − k + 1 k 2d − k + 1
There have been many works containing code constructions for regenerating
codes, the above two examples were meant to give an illustration, and are in no
way representative of the richness of the literature on this topic. Maybe the most
complete reference is http://storagewiki.ece.utexas.edu/doku.php.
2.4 Security
Once constructions and fault tolerance of regenerating codes have been well studied,
it became natural to wonder about their performance in the presence of an adversary.
The security of storage systems using (collaborative) regenerating codes has been
considered, both against passive adversaries, or eavesdroppers, who can only read
the data but not modify it, and active, or Byzantine attackers, who on the contrary
are able to corrupt data.
The techniques used in the context of secure regenerating codes are similar to
those discussed in the previous section: an information flow graph is considered,
this time taking into account the presence of an adversary, and a min-cut bound is
computed. We present next one such analysis [28], for the passive adversary case.
As before, a file f ∈ FM q is encoded into n pieces f1 , . . . , fn , and each piece is stored
at a distinct node. We label the nodes such that the ith node xi stores fi , i = 1, . . . , n.
As in Theorem 1, we represent the node xi by (xiin , xiout ), with an edge of capacity α
in between. Assume that nodes x1 , . . . , xk have failed, and have been repaired by the
newcomers xn+1 , . . . , xn+k . In the presence of a passive eavesdropper, data objects
are encrypted for ensuring their confidentiality. We therefore distinguish the secure
file f s of size M s from its encrypted version, the file f of size M . Encoding is then
done on top of the encrypted file f.
Denote by fε the encoded data stored in nodes belonging to the set ε. An eaves-
dropper who can read up to l, l < k, nodes among all the n storage nodes, possibly
at different time instances as the system evolves, accesses the l input nodes in the set
ε1 = {xn+1in
, . . . , xn+l
in
} while they were being repaired.
Consider a data collector DC that collects data from the k output nodes ε =
{xn+1
out
, . . . , xn+k
out
}. We have
k
Ms ≤ min{(d + i − 1)β, α}.
j=l+1
M s = H (f s ) = H (f s |fε1 )
= H (f s |fε1 ) − H (f s |fε ) (7)
= I (f s ; fε\ε1 |fε1 ) (8)
≤ H (fε\ε1 |fε1 ) (9)
k
= H (fn+i |fn+1 , . . . , fn+i−1 ) (10)
i=l+1
k
≤ min{(d − i + 1)β, α} (11)
i=l+1
Corollary 1 At the minimum storage repair point (MSR), the secure file size M s is
upper bounded by
M s ≤ (k − l)α.
k
Ms ≤ (n − i)β.
i=l+1
The above analysis was extended to the collaborative case [22], in particular
in the presence of rogue nodes which voluntarily corrupt the data that they transmit
during repair. It was shown that the repair bandwidth obtained to secure (information
theoretically) collaborative regenerating codes from Byzantine attacks is worse than
An Overview of Coding for Distributed Storage Systems 375
Theorem 5 ([15, 20]) Consider a secure object f of secure file size M s , i.e., M s =
H (f s ). Consider an eavesdropper who has access to the set of nodes ε1 , ε2 , |ε1 | = l1 ,
|ε2 | = l2 , then
H (f s ) ≤ H (fj |fn+1 , . . . , fj−1 , fε1 , dε2 ),
j∈R
β
M s ≤ (k − l1 )(2d + t − k − l1 ) . (12)
2
k−l1 −l2
The generalization of the above two bounds for the partial collaborative case
is found in [20]. Code constructions, when available, are found in the respective
aforementioned papers. See also e.g. [3, 8, 29].
376 S. Liu and F. Oggier
In the last section, we saw how regenerating codes minimize repair bandwidth by
contacting a large number of live nodes (preferably all the n − 1 live nodes in the
case of one failure). One may argue that getting answers from all these nodes in
time to ensure an efficient repair may not be easy: other nodes may just be busy
reading, writing, or managing their data. Locally repairable codes somehow stand in
an opposite corner of the code design spectrum, by focusing on reducing the number
d of live nodes to be contacted per repair. For a repetition code, d = 1 is achieved.
For other codes, we need at least d ≥ 2.
The idea that repair efficiency improves when a small number of nodes is con-
tacted appears in the construction of Pyramid codes [10]. Pyramid codes contain
information symbols, followed by redundancy symbols, and distinguish local and
global redundancy symbols, the local ones being those which are computed using
a small number of information symbols, while the global ones possibly need all
the information symbols to be computed. This can be achieved by taking a Reed–
Solomon code, then shortening it, and finally by adding some new symbols obtained
by encoding information symbols, part of them set to zero, e.g., to add two local sym-
bols, set the first half and the second half respectively of the information symbols to
zero. For example, suppose a file f = (f1 , . . . , f6 ) is encoded using a Reed–Solomon
code. Retain two parity symbols p1 , p2 from it, then set f1 = f2 = f3 = 0 and obtain a
new Reed–Solomon codeword from which a parity p3 is kept, then alternate and set
f4 = f5 = f6 = 0 and keep a parity p4 from its Reed–Solomon codeword. This yields
a final codeword (f1 , . . . , f6 , p1 , p2 , p3 , p4 ) where p1 , p2 are the global redundancy
symbols, and p3 , p4 are the local ones. The motivation for this is to handle degraded
read, or how to read data when some of the symbols are missing. One solution is to
quickly compute the missing symbols of the data to be read using the local redun-
dancy symbols. This in turn implies that the local nodes can be repaired by contacting
a small number of live nodes. Local Reconstruction Codes form a class of codes for
distributed storage systems which optimize Pyramid codes, proposed by the same
research group, and which have been incorporated in Windows Azure [11].
In [24], minimizing the repair degree, that is the number of live nodes to be
contacted per repair, was proposed as a code design criterion, and self-repairing codes
were designed, which mimic the encoding of Reed–Solomon codes via polynomial
evaluation, but using linearized polynomials. A linearized polynomial p(X ) ∈ Fq [X ]
satisfies that p(w + w ) = p(w) + p(w ) for w, w ∈ Fq .
To be consistent with the existing literature, we will use in the following the
notation d for the minimum distance of a code, and k for its dimension (while d
was the repair degree, and k the number of nodes contacted to retrieve an object, for
regenerating codes).
An Overview of Coding for Distributed Storage Systems 377
In [7], the notion of locality was introduced. The ith coordinate of a codeword is
said to have locality r, if its value is determined by at most r other coordinates.
Codes that have a minimum Hamming distance of d but also have the property that
any information coordinate has locality r or less were proposed, and the following
Singleton-type bound was given. We state and prove it for linear codes, even though
it is known to hold for non-linear codes4 [6].
Theorem 6 Let C be an [n, k] linear code, that is a code of length n and dimension
k, with minimum distance d and locality r. Then
k −1
n−k +1−d ≥ . (15)
r
Proof [16] Let G be the generator matrix of C, and for a codeword in C, each of
its coefficients is stored by a distinct node. Choose any k−1 r
nodes, call these the
“leaders”. Each leader can be written as a linear combination of at most r other nodes,
call this set the “set of friends of the leader”. Now define N as the set of nodes which
is the union of all sets of friends of the leaders (at most r k−1
r
of them) but without
the leaders themselves. Then clearly N has at most r r elements, thus less than k
k−1
elements so that the set of columns in G that corresponds to N spans a space of rank
< k. Since G has full rank it is possible to enlarge N to a set N of more than k − 1
columns such that the rank of its corresponding columns equals exactly k − 1. Note
that because the code has locality r, this enlargement operation can be done without
involving any of the leaders. Now define U as the union of N and the set of leaders.
Then U has at least k − 1 + k−1 r
nodes but still, because the code has locality r,
the corresponding columns in G span a space of dimension < k. By definition of the
minimum distance, all (k × ·)-submatrices of G that have rank < k must have less
than n − d columns. It therefore follows that k − 1 + k−1 r
≤ n − d , which proves
the theorem.
The bound (15) has been shown to be tight [7] over a large enough finite field.
The term locally repairable code (LRC) was coined in [27] to refer to codes with
a prescribed repair degree, or locality. The term is reminiscent of the theoretical
computer science terminology “locally decodable” or “locally correctable” codes.
Describing possible technical connections among these families of codes is beyond
the scope of this survey.
By now, a locally repairable (or locally recoverable) code is a linear [n, k, r] code
that encode k information symbols into a codeword of length n, with the property
that for any symbol of the codeword, there exist at most r other symbols such that the
value of the symbol can be recovered from them. Then r is called the repair locality.
4 Infact, we will not discuss non-linear codes, even though some works have been done on this
topic.
378 S. Liu and F. Oggier
For LRC codes, if a symbol is lost due to a node failure, its value can be recovered
by contacting at most r other nodes.
MDS codes are actually LRC codes, with locality r = k. MDS codes can recover
the largest possible number of erased symbols among all [n, k] codes, since their
Hamming distance is n − k + 1. Thus (15) for MDS codes becomes
k −1
n − k + 1 − (n − k + 1) ≥
k
and the bound is tight, even though r is high. An [n, k, r] LRC code that achieves the
bound (15) with equality is called an optimal LRC code. Pyramid codes are known
to yield LRC codes [7] whose information symbols have optimal repair locality. In
[31, 41], rank-metric codes are used to construct optimal LRCs, while [45] gave a
construction based on Reed–Solomon codes that is optimal for any 1 < r < k.
We repeat the disclaimer used for regenerating codes: the literature on locally
repairable codes is vast, and we do not pretend to provide an exhaustive list of
constructions. Since MDS codes are optimal with repair locality r = k, we choose
to present a construction from [30], which uses generalized Reed–Muller codes, and
achieves r = 2 and r = 3.
LRC codes with locality 2. Let q be a prime. Consider an object f = (f1 , . . . ,
fM ) ∈ FM
q of length M = m, and the multivariate polynomial g in Fq [X1 , . . . , Xm ]
of degree 1 given by
m
g(X1 , . . . , Xm ) = fi Xi .
i=1
ai , ai + t((q − 1)ai + aj ) ∈ Fm
q,
ai , aj , ai + th.
Since t goes from 2 to L + 1, and with ai , aj , there are L + 2 points on a line, that is
ai , ai + h, . . . , ai + (L + 1)h.
An Overview of Coding for Distributed Storage Systems 379
Suppose the node storing ai fails, the repair can be realized by contacting two other
nodes storing the values corresponding to two points on the same line, say the nodes
containing g(ai + t1 h), g(ai + t2 h) for L ≥ 1, t1 = t2 . Consider g as a polynomial
in t, then g has degree 1 in t, so by polynomial interpolation, the two values g(ai +
t1 h), g(ai + t2 h) are enough to compute g(ai + th), and evaluating it in t = 0 yields
back g(ai ). This shows that this code has repair locality r = 2.
LRC codes with locality 3. Similarly, consider a file f = (f1 , . . . , fM ) ∈ FM
q of
m+2
length M = m , and the polynomial g in Fq [X1 , . . . , Xm ] of degree 2 given by
α
g(X1 , . . . , Xm ) = fi X1 i,1 · · · Xmαi,m ,
i∈M
Since t goes from 3 to L + 2, and with 2ai , ai + aj , 2aj , there are L + 3 points on a
line, that is
2ai , 2ai + h, 2ai + 2h, . . . , ai + (L + 2)h.
Suppose the node storing 2ai fails, the repair can be realized by contacting three other
nodes storing the values corresponding to three points on the same line, say the nodes
containing g(2ai + t1 h), g(2ai + t2 h), g(2ai + t3 h) for L ≥ 1, t1 = t2 = t3 . Consider
again g as a polynomial in t, which this time has degree at most 2. By polynomial
interpolation, three values are enough to reconstruct the polynomial g(2ai + th), and
g(ai ) is obtained by setting t = 0. This shows a repair locality of r = 3.
We note three directions that have been pursued in the design of LRC codes:
• To get practical codes, it is often desirable to have a small alphabet Fq , preferably in
characteristic 2. In [1], integrated interleaved codes have been studied and showed
to be good candidates to obtain LRC codes over F2b , for small values of b. In [44],
cyclic codes and subfield subcodes of cyclic codes are considered as LRC codes,
where their minimum distance and locality are derived. In particular, the binary
case is treated.
• Suppose that one may want different codeword symbols to have different locality.
Bounds and constructions, optimal with respect to these bounds, for LRC codes
with different localities have been considered in [13, 49].
380 S. Liu and F. Oggier
• The security model presented in Sect. 2.4 for regenerating codes has also been
considered for LRCs in [31]. Under the same eavesdropper threat, bounds on the
secure file size were computed. For a reference on Byzantine attacks for LRCs,
see e.g. [42].
We have seen above that LRC codes have the local repair property that each symbol
can be recovered using at most r other symbols, so a natural question is whether
this set of at most r symbols, called recovering set is unique. When each symbol
has several recovering sets, then we may ask whether these sets are disjoint. These
questions are important for the health of the distributed storage system. If the node
that fails has a unique recovering set, and some other failures affect this set, then
the recovery set cannot be used, and local repair becomes impossible. Therefore it
is important to understand the structure of recovering sets.
As an illustration, consider the code constructions of the last subsection with
parameters L = 1 and N = 3. For the construction with locality 3, the evaluating
points of the polynomial g are
and the points 2a1 , a1 + a2 , 2a2 , a2 − a1 are actually on the same line. We similarly
list the points on the same line:
L1 : 2a1 , a1 + a2 , 2a2 , a2 − a1 ,
L2 : 2a1 , a1 + a3 , 2a3 , a3 − a1 ,
L3 : 2a2 , a2 + a3 , 2a3 , a3 − a2 .
Suppose a node stores g(2a1 ). Since there are two lines L1 , L2 containing 2a1 , the
symbol g(2a1 ) has two recovering sets, a1 +a2 , 2a2 , a2 −a1 and a1 +a3 , 2a3 , a3 −a1 ,
and they do not intersect. This is also true for the points 2a2 and 2a3 . However, for
other points, they only have one recovering set.
In [26, 45], LRC codes with disjoint recovering sets are proposed. Tamo and Barg
[45] gave two methods to construct LRC codes with multiple recovering sets. One
use the concept of orthogonal partition, the second combines several LRC codes into
a longer multiple recovering code. In [47], codes providing δ − 1 non-overlapping
local repair groups of size no more than r per coordinate were introduced. In [32],
recovering sets are studied using the concept of (r, t)-availability: a code symbol is
said to have (r, t)-availability if it can be rebuilt from t disjoint recovering sets, each
of size at most r.
An Overview of Coding for Distributed Storage Systems 381
4 Concluding Remarks
This chapter surveyed two main families of codes for distributed storage systems.
While we have already mentioned that the references in terms of code constructions
are far from exhaustive, we would like to conclude by also listing aspects of the topic
which have not been considered.
• Other design criteria, for codes to provide efficient data insertion (e.g. [25]), data
update (e.g. [43]), or versioning (e.g. [9]), have not been covered.
• The view point of code design the way it was presented is looking at one snapshot
of the network, it is oblivious of the actual system, and does not take into account
the fact that a node actually stores many objects (e.g. [2]), which means that
data allocation, or management of metainformation is important. There have been
works looking at systems aspects and implementation of these codes (e.g. [17])
which we did not discuss either.
• Regarding security aspects, we only described information theoretical approaches,
while there are many works discussing cryptographic or system approaches to
secure code based distributed storage systems.
• Finally, there is a vast body of work coming from the storage systems and dis-
tributed systems community. They started discussing coding for distributed storage
systems before the information and coding community did (e.g. [18, 48]), and they
also have proposed many interesting code designs, often motivated by considera-
tions closer to working systems.
Acknowledgements This work is supported by the MoE Tier-2 grant eCODE: Erasure Codes for
Datacenter Environments.
References
1. M. Blaum, S.R. Hetzler, Integrated interleaved codes as locally recoverable codes: properties
and performance. Int. J. Inf. Coding Theory 3(4), 324 (2016)
2. A. Datta, L. Pamies-Juarez, F. Oggier, A study of the performance of novel storage-centric
repairable codes. Springer Comput. 98(3) (2015)
3. T.K. Dikaliotis, A.G. Dimakis, T. Ho, Security in distributed storage systems by communicating
a logarithmic number of bits, in Proceedings of the 2010 IEEE International Symposium on
Information Theory (ISIT) (2010), pp. 1948–1952
4. A.G. Dimakis, P.B. Godfrey, Y. Wu, M.J. Wainwright, K. Ramchandran, Network coding for
distributed storage systems. IEEE Trans. Inf. Theory 56(9) (2010)
5. I.M. Duursma, Shortened regenerating codes. CoRR (2015), arXiv:1505.00178
6. M. Forbes, S. Yekhanin, On the locality of codeword symbols in non-linear codes. Discret.
Math. 324, 78–84 (2014)
7. P. Gopalan, C. Huang, H. Simitci, S. Yekhanin, On the locality of codeword symbols. IEEE
Trans. Inf. Theory 58(11), 6925–6934 (2011)
8. Y.S. Han, R. Zheng, W.H. Mow, Exact regenerating codes for Byzantine fault tolerance in
distributed storage, in Proceedings of IEEE INFOCOM (2012), pp. 2498–2506
9. J. Harshan, F. Oggier, A. Datta, Sparsity exploiting erasure coding for distributed storage of
versioned data. Springer Comput. (2016)
382 S. Liu and F. Oggier
10. C. Huang, M, Chen, J. Li, Pyramid codes: flexible schemes to trade space for access efficiency
in reliable data storage systems, in Sixth IEEE International Symposium on Network Computing
and Applications, July 2007, pp. 79–86
11. C. Huang, H. Simitci, Y. Xu, A. Ogus, B. Calder, P. Gopalan, J. Lin, S. Yekhanin, Erasure
coding in windows Azure storage, in 2012 USENIX Annual Technical Conference, 12–15 June
2012
12. K.A.S. Immink, Codes for Mass Data Storage Systems, Second fully revised edition (Shannon
Foundation Publishers, Eindhoven, 2004), http://www.turing-machines.com/pdf/codes_for_
mass_data2.pdf. ISBN 90-74249-27-2
13. S. Kadhe, A. Sprintson, Codes with unequal locality, in IEEE International Symposium on
Information Theory (ISIT) (2016), pp. 435–439
14. A.-M. Kermarrec, N. Le Scouarnec, G. Straub, Repairing multiple failures with coordinated
and adaptive regenerating codes, in The 2011 International Symposium on Network Coding
(NetCod 2011)
15. O.O. Koyluoglu, A.S. Rawat, S. Vishwanath, Secure cooperative regenerating codes for dis-
tributed storage systems. IEEE Trans. Inf. Theory 60(9), 5228–5244 (2014), arXiv:1210.3664
16. M. Kuijper, D. Napp, Erasure codes with simplex locality, in 21st International Symposium on
Mathematical Theory of Networks and Systems, Groningen, The Netherlands (2014)
17. M. Li, P.P.C. Lee, STAIR codes: a general family of erasure codes for tolerating device and
sector failures in practical storage systems, in Proceedings of the 12th USENIX Conference on
File and Storage Technologies (FAST’14), Santa Clara, CA (2014)
18. W.K. Lin, D.M. Chiu, Y.B. Lee, Erasure code replication revisited, P2P 2004
19. S. Liu, F. Oggier, On storage codes allowing partially collaborative repairs, in IEEE Interna-
tional Symposium on Information Theory (ISIT) 2014, pp. 2440–2444
20. S. Liu, F. Oggier, Partially collaborative storage codes in the presence of an eavesdropper. Int.
J. Inf. Coding Theory 3(3), 177–196 (2016)
21. S. Mohajer, R. Tandon, New bounds on the (n, k, d) storage systems with exact repair, in IEEE
International Symposium on Information Theory, ISIT 2015, Hong Kong, China, 14–19 June
2015, pp. 2056–2060
22. F. Oggier, A. Datta, Byzantine fault tolerance of regenerating codes, in The 11th IEEE Inter-
national Conference on Peer-to-Peer Computing (P2P 2011), Kyoto, arXiv:1106.2275
23. F. Oggier, A. Datta, Coding techniques for repairability in networked distributed storage sys-
tems, Foundations and Trends in Communications and Information Theory (Now Publishers,
Breda, 2013)
24. F. Oggier, A. Datta, Self-repairing homomorphic codes for distributed storage systems, INFO-
COM 2011
25. L. Pamies-Juarez, A. Datta, F. Oggier, RapidRAID: pipelined erasure codes for fast data archival
in distributed storage systems, arXiv:1207.6744
26. L. Pamies-Juarez, H.D.L. Hollmann, F. Oggier, Locally repairable codes with multiple repair
alternatives, in IEEE International Symposium on Information Theory (ISIT) (2013), pp. 892–
896
27. D.S. Papailiopoulos, A.G. Dimakis, Locally repairable codes, in IEEE International Symposium
on Information Theory (ISIT) (2012), arXiv:1206.3804
28. S. Pawar, S. El Rouayheb, K. Ramchandran, Securing dynamic distributed storage systems
against eavesdropping and adversarial attacks. IEEE Trans. Inf. Theory (Spec. Issue Facet.
Coding Theory Algorithm Netw.) 57(9) (2011)
29. K.V. Rashmi, N.B. Shah, K. Ramchandran, P.V. Kumar, Regenerating codes for errors and
erasures in distributed storage, in Proceedings of the 2012 IEEE International Symposium on
Information Theory (ISIT) (2012), pp. 1202–1206
30. A.S. Rawat, S. Vishwanath, On locality in distributed storage systems, in IEEE Information
Theory Workshop (ITW) (2012), pp. 497–501
31. A.S. Rawat, O.O. Koyluoglu, N. Silberstein, S. Vishwanath, Optimal locally repairable and
secure codes for distributed storage systems. IEEE Trans. Inf. Theory 60(1), 212–236 (2014)
An Overview of Coding for Distributed Storage Systems 383
32. A.S. Rawat, D.S. Papailiopoulos, A.G. Dimakis, S. Vishwanath, Locality and availability in
distributed storage. IEEE Trans. Inf. Theory 62(8), 4481–4493 (2016)
33. I. Reed, G. Solomon, Polynomial codes over certain finite fields. J. Soc. Ind. Appl. Math. 8,
300–304 (1960)
34. B. Sasidharan, N. Prakash, M.N. Krishnan, M. Vajha, K. Senthoor, P.V. Kumar, Outer bounds
on the storage-repair bandwidth tradeoff of exact-repair regenerating codes. Int. J. Inf. Coding
Theory 3(4), 255–298 (2016)
35. B. Sasidharan, K. Senthoor, P.V. Kumar, An improved outer bound on the storage repair-
bandwidth tradeoff of exact-repair regenerating codes, in IEEE International Symposium on
Information Theory, ISIT 2014, pp. 2430–2434
36. K. Senthoor, B. Sasidharan, P.V. Kumar, Improved layered regenerating codes characterizing
the exact-repair storage-repair bandwidth tradeoff for certain parameter sets, in 2015 IEEE
Information Theory Workshop, ITW 2015, Jerusalem, Israel, 26 April–1 May 2015, p. 15
37. N.B. Shah, K.V. Rashmi, P.V. Kumar, Information theoretically secure regenerating codes for
distributed storage, in Proceedings of IEEE Globecom (2011)
38. K.W. Shum, Cooperative regenerating codes for distributed storage systems, in The Interna-
tional Conference on Communications (ICC 2011), Kyoto, arXiv:1101.5257
39. K.W. Shum, Y. Hu, Exact minimum-repair-bandwidth cooperative regenerating codes for dis-
tributed storage systems, in The International Symposium on Information Theory (ISIT 2011),
Saint-Petersburg
40. K.W. Shum, Y. Hu, Cooperative regenerating codes. IEEE Trans. Inf. Theory 59(11), 7229–
7258 (2013)
41. N. Silberstein, A.S. Rawat, O.O. Koyluoglu, S. Vishwanath, Optimal locally repairable codes
via rank-metric codes, in IEEE International Symposium on Information Theory (ISIT) (2013)
42. N. Silberstein, A.S. Rawat, S. Vishwanath, Error-correcting regenerating and locally repairable
codes via rank-metric codes. IEEE Trans. Inf. Theory 61(11), 5765–5778 (2015)
43. A. Singh Rawat, S. Vishwanat, A. Bhowmick, E. Soljanin, Update efficient codes for distributed
storage, in IEEE International Symposium on Information Theory (ISIT) (2011)
44. I. Tamo, A. Barg, S. Goparaju, R. Calderbank, Cyclic LRC codes, binary LRC codes, and upper
bounds on the distance of cyclic clodes. Int. J. Inf. Coding Theory 3(4), 32 (2016)
45. I. Tamo, A. Barg, A family of optimal locally recoverable codes. IEEE Trans. Inf. Theory
60(8), 4661–4676 (2014)
46. C. Tian, Characterizing the rate region of the (4,3,3) exact-repair regenerating codes. IEEE J.
Sel. Areas Commun. 32(5), 967–975 (2014)
47. A. Wang, Z. Zhang, Repair locality with multiple erasure tolerance. IEEE Trans. Inf. Theory
60(11), 6979–6987 (2014)
48. H. Weatherspoon, J. Kubiatowicz, Erasure coding vs replication: a quantitative comparison,
Peer-to-Peer Systems, LNCS (2002)
49. A. Zeh, E. Yaakobi, Bound and constructions of codes with multiple localities, in IEEE Inter-
national Symposium on Information Theory (ISIT) (2016), pp. 641–644
Matroid Theory and Storage Codes: Bounds
and Constructions
Abstract Recent research on distributed storage systems (DSSs) has revealed inter-
esting connections between matroid theory and locally repairable codes (LRCs). The
goal of this chapter is to introduce the reader to matroids and polymatroids, and illus-
trate their relation to distributed storage systems. While many of the results are rather
technical in nature, effort is made to increase accessibility via simple examples. The
chapter embeds all the essential features of LRCs, namely locality, availability, and
hierarchy alongside with related generalised Singleton bounds.
In this chapter, we will discuss the theoretical foundations of locally repairable codes
(LRCs), which were introduced in chapter “An Overview of Coding for Distributed
Storage Systems”. While our main interest is in the codes and their applicability for
distributed storage systems, significant parts of our machinery comes from matroid
theory. We will develop this theory to the extent that is needed for the applications,
and leave some additional pointers to interpretations in terms of graphs and projective
geometries.
The need for large-scale data storage is continuously increasing. Within the
past few years, distributed storage systems (DSSs) have revolutionised our tradi-
The authors gratefully acknowledge the financial support from the Academy of Finland (grants
#276031 and #303819), as well as the support from the COST Action IC1104.
tional ways of storing, securing, and accessing data. Storage node failure is a fre-
quent obstacle in large-scale DSSs, making repair efficiency an important objective.
A bottle-neck for repair efficiency, measured by the notion of locality [27], is the
number of contacted nodes needed for repair. The key objects of study in this paper
are locally repairable codes (LRCs), which are, informally speaking, storage systems
where a small number of failing nodes can be recovered by boundedly many other
(close-by) nodes. Repair-efficient LRCs are already in use for large-scale DSSs used
by, for example, Facebook and Windows Azure Storage [40].
Another desired attribute, measured by the notion of availability [31], is the
property of having multiple alternative ways to repair nodes or access files. This
is particularly relevant for nodes containing so-called hot data that is frequently and
simultaneously accessed by many users. Moreover, as failures are often spatially
correlated, it is valuable to have each node repairable at several different scales. This
means that if a node fails simultaneously with the set of nodes that should normally
be used for repairing it, then there still exists a larger set of helper nodes that can
be used to recover the lost data. This property is captured by the notion of hierarchy
[10, 32] in the storage system.
Network coding techniques for large-scale DSSs were considered in [7]. Since
then, a plethora of research on DSSs with a focus on linear LRCs and various localities
has been carried out, see [13, 27, 30, 34, 39] among many others. Availability for
linear LRCs was defined in [31]. The notion of hierarchical locality was first studied
in [32], where bounds for the global minimum distance were also obtained.
Let us denote by (n, k, d, r, δ, t), respectively, the code length, dimension, global
minimum distance, locality, local minimum distance, and availability. Bold-faced
parameters (n, k, d, t) will be used in the sequel to refer to hierarchical locality
and availability. It was shown in [40] that the (r, δ = 2)-locality of a linear LRC
is a matroid invariant. The connection between matroid theory and linear LRCs
was examined in more detail in [47]. In addition, the parameters (n, k, d, r, δ) for
linear LRCs were generalised to matroids, and new results for both matroids and
linear LRCs were given therein. Even more generally, the parameters (n, k, d, r, δ, t)
were generalised to polymatroids, and new results for polymatroids, matroids and
both linear and nonlinear LRCs over arbitrary finite alphabets were derived in [46].
Similar methods can be used to bound parameters of batch codes [49], as discussed in
chapter “Batch and PIR Codes and Their Connections to Locally Repairable Codes”.
For more background on batch codes, see e.g. [16, 23]. Moreover, as certain specific
LRCs and batch codes1 belong to the class of private information retrieval (PIR)
codes as defined in [9, Definition 4], the related LRC and batch code bounds also
hold for those PIR codes. See Sect. 5.3 and chapter “Batch and PIR Codes and Their
Connections to Locally Repairable Codes” for more discussion.
The main purpose of this chapter is to give an overview of the connection between
matroid theory and linear LRCs with availability and hierarchy, using examples for
improved clarity of the technical results. In particular, we are focusing on how the
1 To
this end, we need to make specific assumptions on the locality and availability of the LRC [9,
Theorem 21], which also implies restrictions on the query structure of the batch code.
Matroid Theory and Storage Codes: Bounds and Constructions 387
parameters of a LRC can be analysed using the lattice of cyclic flats of an associated
matroid, and on a construction derived from matroid theory that provides us with
linear LRCs. The matroidal results on LRCs reviewed here are mostly taken from
[10, 46, 47].
The rest of this chapter is organised as follows. In Sects. 1.1 and 1.2, we introduce
distributed storage systems and how they can be constructed by using linear codes.
In particular, we consider locally repairable codes with availability. Section 2 gives a
brief introduction to the concepts and features related to matroids relevant to LRCs. In
Sect. 3, we summarise the state-of-the-art generalised Singleton bounds on the code
parameters for linear codes, as well as discuss existence of Singleton-optimal linear
codes and matroids. Section 4 reviews some explicit (linear) code constructions. In
Sect. 5, we go beyond linear codes and consider polymatroids and related generalised
Singleton bounds, which are then valid for all LRCs over any finite alphabet, and
also imply bounds for PIR codes when restricted to systematic linear codes. Section 6
concludes the chapter and discusses some open problems. Further results in matroid
theory and especially their representability are given in appendix for the interested
reader. The following notation will be used throughout the paper:
F : a field;
Fq : the finite field of prime power size q;
E : a finite set;
G : a matrix over F with columns indexed by E;
G(X ) : the matrix obtained from G by restricting to the columns
indexed by X , where X ⊆ E;
C(G) : the vector space generated by the columns of G;
R(G) : the vector space generated by the rows of G;
C : linear code C = R(G) over F generated by G;
CX : the punctured code of C on X , i.e., C X = R(G(X )), where
X ⊆ E;
2E : the collection of all subsets of a finite set E;
[ j] : the set {1, 2, . . . , j} for a positive integer j;
n, k, d, r, δ, t, h : code length, dimension, minimum distance, locality, failure
tolerance, availability, hierarchy, respectively;
[n, k, d] , (n, k, d) : parameters of a linear/general code, respectively;
(n, k, . . .)i : parameter values when we consider information symbols, e.g.,
information symbol locality;
(n, k, . . .)a : parameter values when we consider all code symbols, e.g., all
symbol locality;
(n, k, . . .)s : parameter values when we consider systematic code symbols,
e.g., systematic symbol locality;
(n, k, d, t) : parameter values for different hierarchy levels.
Remark 1 Here, d denotes the minimum (Hamming) distance of the code, rather
than the number of nodes that have to be contacted for repair, as is commonplace in
388 R. Freij-Hollanti et al.
the theory of regenerating codes. In chapter “An Overview of Coding for Distributed
Storage Systems”, the minimum distance of the code was denoted by d H .
The motivation to study punctured codes arises from hierarchical locality; the
locality parameters at the different hierarchy levels correspond to the global param-
eters of the related punctured codes. The puncturing operation on codes corresponds
to the so-called restriction (or deletion) operation on matroids.
We also point out that G(E) = G and C E = C. We will often index a matrix G
by [n], where n is the number of columns in G.
A linear code C can be used to obtain a DSS, where every coordinate in C represents
a storage node in the DSS, and every point in C represents a stored data item. While
one often assumes that the data items are field elements in their own right, no such
assumption is necessary. However, if C is a code over the field F and the data items
are elements in an alphabet A, then we must be able to form the linear combinations
f 1 a1 + f 2 a2 for f 1 , f 2 in F and a1 , a2 in A. Moreover, if we know the scalar f , we
must be able to read off a from f a. This is achieved if A ∼ = Fα is a vector space over
F, wherefore we must have |A| ≥ |F|. Thus, the length of the data items must be at
least the number of symbols needed to represent a field element. In particular if the
data items are measured in, e.g., kilobytes, then we are restricted to work over fields
of size not larger than about 28000 . Beside this strict upper bound on the field size, the
complexity of operations also makes small field sizes — ideally even binary fields
— naturally desirable.
Example 1 Let C be the linear code generated by the following matrix G over F3 :
1 2 3 4 5 6 7 8 9
1 0 0 0 1 1 1 1 1
G= 0 1 0 0 1 0 1 2 2
0 0 1 0 0 1 1 0 0
0 0 0 1 0 0 0 1 2
Then, C corresponds to a 9 node storage system, storing four files (a, b, c, d), each
of which is an element in Fα3 . In this system, node 1 stores a, node 5 stores a + b,
node 9 stores a + 2b + 2d, and so on.
Two very basic properties of any DSS are that every node can be repaired by some
other nodes and that every node contains some information.2 We therefore give the
following definition.
2 We remark that if one takes into account queueing theoretic aspects, then data allocation may
become less trivial (some nodes may be empty). Such aspects are discussed, especially in a wireless
setting, in chapters “Opportunistic Network Coding” and “Coded Random Access”. However, these
considerations are out of the scope of this chapter.
Matroid Theory and Storage Codes: Bounds and Constructions 389
The very broad class of linear LRCs will be defined next. It is worth noting that,
contrary to what the terminology would suggest, a LRC is not a novel kind of code,
but rather the “locality parameters” (r, δ) can be defined for any code. What we call
a LRC is then only a code that is specifically designed with the parameters (r, δ) in
mind. While the locality parameters can be understood directly in terms of the storage
system, it is more instructive from a coding theoretic point of view to understand
them via punctured codes. Then, the punctured codes will correspond exactly to the
restrictions to “locality sets”, which can be used to locally repair a small number of
node failures within the locality set.
Definition 3 Let G be a matrix over F indexed by E and C the linear code generated
by G. Then, for X ⊆ E, C X is a linear [n X , k X , d X ]-code where
n X = |X |,
k X = rank(G(X )),
d X = min{|Y | : Y ⊆ X and k X \Y < k X }.
Alternatively, one can define the minimum distance d X as the smallest support of
a non-zero codeword in C X = R(G(X )). We use Definition 3, as it has the advantage
of not depending on the linearity of the code.
390 R. Freij-Hollanti et al.
Example 2 Consider the storage code C from Example 1. Let Y1 = {1, 2, 3, 5, 6, 7},
X 1 = {1, 2, 5} and X 2 = {2, 6, 7}. Then CY1 , C X 1 and C X 2 are storage codes with
The code C is non-degenerate, if d ≥ 2 and |C{i} | > 1 for all coordinates i ∈ [n].
(i) x ∈ Ri ,
(ii) |Ri | ≤ r + δ − 1,
(iii) d(C Ri ) ≥ δ,
(iv) i = j ⇒ Ri ∩ R j = {x}.
(n, k, d, r, δ, t)s -LRC, (n, k, d, r, δ, t)i -LRC, and (n, k, d, r, δ, t)a -LRC,
2 Introduction to Matroids
Matroids were first introduced by Whitney in 1935, to capture and generalise the
notion of linear dependence in purely combinatorial terms [48]. Indeed, the combi-
natorial setting is general enough to also capture many other notions of dependence
occurring in mathematics, such as cycles or incidences in a graph, non-transversality
of algebraic varieties, or algebraic dependence of field extensions. Although the
original motivation comes from linear algebra, we will see that a lot of matroid
terminology comes from graph theory and projective geometry. More details about
these aspects of matroid theory are relegated to the appendix.
2.1 Definitions
(I.1) ∅ ∈ I ,
(I.2) Y ∈ I , X ⊆ Y ⇒ X ∈ I ,
(I.3) For all pairs X, Y ∈ I with |X | < |Y |, there exists
y ∈ Y \ X such that X ∪ {y} ∈ I .
and X ∈ I if and only if ρ(X ) = |X |. It is an easy (but not trivial) exercise to show
that the two definitions are equivalent under this correspondence. Another frequently
used definition is in terms of the set of bases for a matroid, which are the maximal
independent sets. Further, we will also use the nullity function η : 2 E → Z, where
η(X ) = |X | − ρ(X ) for X ⊆ E.
Any matrix G over a field F generates a matroid MG = (ρ, E), where E is the set
of columns of G, and ρ(I ) is the rank over F of the induced matrix G(I ) for I ⊆ E.
Consequently, I ∈ I precisely when I is a linearly independent set of vectors.
It is straightforward to check that this is a matroid according to Definition 8. As
elementary row operations preserve the row space R(G(I )) for all I ⊆ E, it follows
that row equivalent matrices generate the same matroid.
Two matroids M1 = (ρ1 , E 1 ) and M2 = (ρ2 , E 2 ) are isomorphic if there exists a
bijection ψ : E 1 → E 2 such that ρ2 (ψ(X )) = ρ1 (X ) for all subsets X ⊆ E 1 .
Definition 10 A matroid that is isomorphic to MG for some matrix G over F is said
to be representable over F. We also say that such a matroid is F-linear.
Two trivial matroids are the zero matroid where ρ(X ) = 0 for each set X ⊆ E,
and the one where ρ(X ) = |X | for all X ⊆ E. These correspond to all-zeros matrices
and invertible n × n-matrices respectively. The first non-trivial example of a matroid
is the following:
Definition 11 The uniform matroid Unk = (ρ, [n]), where [n] = {1, 2, . . . , n}, is
given by the rank function ρ(X ) = min{|X |, k} for X ⊆ [n].
The following straightforward observation gives yet another characterisation of
MDS codes.
Proposition 1 G is the generator matrix of an [n, k, n − k + 1]-MDS code if and
only if MG is the uniform matroid Unk .
function, but observe that they can equally well be formulated in terms of independent
sets. The effect of these operations on the representability of the matroid is discussed
in appendix. In addition to the operations listed here, two other very important matroid
operations are dualisation and contraction. As these are not explicitly used here to
understand locally repairable codes, we leave their definition to appendix.
Definition 12 The direct sum of two matroids M = (ρ M , E M ) and N = (ρ N , E N ) is
M ⊕ N = (τ, E M E N ),
Obviously, for any matroid M with underlying set E, we have M|E =M. The
restriction operation is also often referred to as deletion of E \ X , especially if
E \ X is a singleton. Given a matrix G that represents M, the submatrix G(X ) rep-
resents M|X .
Definition 14 The truncation of a matroid M = (ρ, E) at rank k ≤ ρ(E) is Mk =
(ρ , E), where ρ (X ) = min{ρ(X ), k}.
Geometrically, the truncation of a matroid corresponds to projecting a point con-
figuration onto a generic k-dimensional space. However, this does not imply that
truncations of F-linear matroids are necessarily F-linear, as it may be the case that
there exists no k-space that is in general position relative to the given point con-
figuration. However, it is easy to see that Mk is always representable over some
field extension of F. In fact, via a probabilistic construction,
one sees that the field
extension can be chosen to have size at most q nk [17].
The relaxation is the elementary operation that is most difficult to describe in
terms of rank functions. It is designed to destroy representability of matroids, and
corresponds to selecting a hyperplane in the point configuration, and perturbing it
so that its points are no longer coplanar. To prepare for the definition, we say that a
circuit is a dependent set, all of whose subsets are independent. For any nonuniform
matroid M = (ρ, E), there are circuits of rank ρ(E) − 1. This is seen by taking any
dependent set of rank ρ(E) − 1, and deleting elements successively in such a way
that the rank does not decrease. We mention that a matroid that has no circuits of
Fig. 1 The non-Pappus matroid, which is not representable over any field. If there were a line
between the three points in the middle, then the figure would illustrate the matroid MG in Example 4.
Relaxation of the circuit {4, 5, 6} corresponds to deletion of this line in the figure
rank < ρ(E) − 1 is called a paving matroid. It is conjectured that asymptotically (in
the size) almost all matroids are paving [24]. Recent research shows that this is true
at least on a “logarithmic scale” [28].
Definition 15 Let M = (I , E) be a matroid with rank function ρ, and let C be a
circuit of rank ρ(E) − 1. The relaxation of M at C is the matroid (I ∪ {C}, E).
Example 4 The first example of a matroid constructed by relaxation is the non-
Pappus matroid of Fig. 1. This is constructed by relaxing the circuit {4, 5, 6} from
the representable matroid MG , where
1 2 3 4 5 6 7 8 9
1 0 −1 1/2 0 −1/2 1 0 −1
G=
1 1 1 0 0 0 −1 −1 −1
1 1 1 1 1 1 1 1 1
and can be defined over any field of odd (or zero) characteristic, other than F3 .
There is a straightforward connection between linear codes and matroids. Indeed, let
C be a linear code generated by a matrix G. Then C is associated with the matroid
MG = (ρ, E). As two different generator matrices of C have the same row space, they
will generate the same matroid. Therefore, without any inconsistency, we denote the
associated linear matroid of C by MC = (ρC , E). In general, there are many different
codes C = C with the same matroid structure MC = MC . In the appendix, we will
see how this phenomenon can be interpreted as a stratification of the Grassmannian
over a finite field.
A property of linear codes that depends only on the matroid structure of the code
is called matroid invariant. For example, the collection of information sets and the
parameters [n, k, d] of a code are matroid invariant properties. This is the content of
the following easy proposition.
Matroid Theory and Storage Codes: Bounds and Constructions 395
Proposition 2 Let C be a linear [n, k, d]-code and X ⊆ E. Then for MC = (ρC , E),
(i) n X = |X |,
(ii) k X = ρC (X ),
(iii) d X = min{|Y | : Y ⊆ X , ρC (X \ Y ) < ρC (X )},
(iv) X is an information set of C ⇐⇒
X is a basis of MC ⇐⇒ ρC (X ) = |X | = k.
Example 5 Let C denote the [n, k, d]-code generated by the matrix G given in
Example 1. Then [n, k, d] = [9, 4, 3], where the value of d arises from the fact that
ρC ([9] \ {i, j}) = 4 for i, j = 1, 2, . . . , 9, and ρC ([9] \ {4, 8, 9}) = 3. Two informa-
tion sets of C are {1, 2, 3, 4} and {1, 2, 6, 8}, as we already saw before in Example
3.
It is rather easy to see that two different linear codes can have the same associated
matroid. As a consequence, not every property of a linear code is matroid invariant.
An example of a code invariant that is not matroid invariant is the covering radius
[5, 37]. Indeed, an [n, k, d]-MDS code, i.e., a realisation of the uniform matroid
Unk , generically has covering radius d − 1 = n − k, yet there exist MDS codes with
lower covering radii. An explicit example is given in [5].
One matroid invariant that has singled out as essential for describing the repairability
of storage codes is the lattice of cyclic flats. To define this, remember that X ⊆ E is a
circuit in M = (I , E) if X is dependent, but all proper subsets of X are independent.
A cyclic set is a (possibly empty) union of circuits. Equivalently, X is cyclic if for
every x ∈ X
ρ(X \ {x}) = ρ(X ).
Then X is cyclic if and only if cyc(X ) = X . We refer to cyc as the cyclic core operator.
396 R. Freij-Hollanti et al.
and notice that X ⊆ cl(X ) by definition. We say that X is a flat if cl(X ) = X . There-
fore, X is a cyclic flat if
for all x ∈ X and y ∈ E \ X . The set of flats, cyclic sets, and cyclic flats of M are
denoted by F (M), U (M), and Z (M), respectively.
It is not entirely obvious that the set of cyclic flats is nonempty. However, it follows
from the matroid axioms that the closure operator cl preserves cyclicity, and that the
cyclic core operator cyc preserves flatness. Thus we can consider cl and cyc as maps
2 E → F (M)
cl : ,
U (M) → Z (M)
and
2 E → U (M)
cyc : .
F (M) → Z (M)
In particular, for any set X ⊆ E, we have cyc ◦ cl(X ) ∈ Z (M) and cl ◦ cyc(X ) ∈
Z (M).
Let M[G] = (ρ, E) be a linear matroid, generated by G. Then X ⊆ E is a cyclic
flat if and only if the following two conditions are satisfied
In terms of storage codes, a cyclic flat is thus a set X ⊆ E of storage nodes such that
every node in X can be repaired by the other nodes in X , whereas no node outside
X can be repaired by X . This observation shows the relevance of cyclic flats for
storage applications. The strength of using Z (M) as a theoretical tool comes from
its additional lattice structure, which we will discuss next.
A collection of sets P ⊆ 2 E ordered by inclusion defines a partially ordered set
(poset) (P, ⊆). Let X and Y denote two elements of P. Z is the join X ∨ Y if it is
the unique maximal element in {W ∈ P : X ⊆ W , Y ⊆ W }. Dually, Z is the meet
X ∧ Y if it is the unique minimal element in {W ∈ P : X ⊇ W , Y ⊇ W }.
A pair of elements in an arbitrary poset does not need to have a join or a meet. If
(P, ⊆) is a poset such that every pair of elements in P has a join and a meet, then
P is called a lattice. The bottomand top elements of a finite lattice (P, ⊆) always
exist, and are denoted by 1P = X ∈P X and 0P = X ∈P X , respectively.
Matroid Theory and Storage Codes: Bounds and Constructions 397
Two basic properties of cyclic flats of a matroid are given in the following propo-
sition.
Proposition 3 ([4]) Let M = (ρ, E) be a matroid and Z the collection of cyclic
flats of M. Then,
(i) ρ(X ) = min{ρ(F) + |X \ F| : F ∈ Z }, for X ⊆ E,
(ii) (Z , ⊆) is a lattice, X ∨ Y = cl(X ∪ Y ) and
X ∧ Y = cyc(X ∩ Y ) for X, Y ∈ Z .
Proposition 3 (i) shows that a matroid is uniquely determined by its cyclic flats
and their ranks.
Example 6 Let MC = (ρC , E) be the matroid associated to the linear code C gen-
erated by the matrix G given in Example 1. The lattice of cyclic flats (Z , ⊆) of MC
is given in the figure below, where the cyclic flat and its rank are given at each node.
An axiom scheme for matroids via cyclic flats and their ranks was independently
given in [4, 35]. This gives a compact way to construct matroids with prescribed
local parameters, which we have exploited in [47].
Theorem 1 (see [4] Theorem 3.2 and [35]) Let Z ⊆ 2 E and let ρ be a function
ρ : Z → Z. There is a matroid M on E for which Z is the set of cyclic flats and ρ
is the rank function restricted to the sets in Z , if and only if
For a linear [n, k, d]-code C with MC = (ρC , E) and Z = Z (MC ), and for a
coordinate x, we have
(i) d ≥ 2 ⇐⇒ 1Z = E,
(ii) C{x} = {0F } for every x ∈ E ⇐⇒ 0Z = ∅.
Proposition 4 Let C be a linear [n, k, d]-code and Z denote the collection of cyclic
flats of the matroid MC = (ρC , E). Then C is a non-degenerate storage code if and
only if 0Z = ∅ and 1Z = E.
is such that
ρ(F) + |X \ F| > ρ(F X ).
for all F F X in Z .
If this is indeed the case, then it is easy to verify that F X as defined in Theorem
2 is indeed the closure cl(X ) as defined earlier. In order to analyze the parameters
[n X , k X , d X ] of a punctured code C X , we will use the lattice of cyclic flats of MC|X .
Example 7 Let Z = Z (MC ) be the lattice of cyclic flats given in Example 6, where
MC = (ρC , E) is the matroid associated to the linear LRC C generated by the matrix
Matroid Theory and Storage Codes: Bounds and Constructions 399
The very simple structure of Z X shows that C X has the very favourable property
of being an MDS code. Indeed, the following proposition is immediate from the
definitions of the involved concepts.
Proposition 6 Let C be a linear code of length n and rank k. The following are
equivalent:
(i) C is an [n, k, n − k + 1]-MDS code.
(ii) MC is the uniform matroid Unk .
(iii) Z = Z (MC ) is the two element lattice with 1Z = [n] and 0Z = ∅.
For linear LRCs we are also interested in when a coordinate set is an information
set, or equivalently, if it is a basis for the matroid. This property is determined by the
cyclic flats as follows.
(i) |X | = ρC (1Z ),
(ii) |X ∩ F| ≤ ρC (F) for every F ∈ Z .
Example 8 Let C be the linear [n, k, d]-code generated by the matrix G given in
Example 1. Then, by the lattice of cyclic flats for MC given in Example 6, C is a linear
LRC with all-symbol (2, 2)-locality. We notice that, by Proposition 7, {1, 2, 3, 4} is
an information set of C. This follows as it is not contained in either of Y1 and Y2 ,
while all its subsets are. On the other hand, {1, 2, 8, 9} is not an information set of
C, as it is itself a subset of Y2 .
Theorem 4 Let C be a linear [n, k, d]-LRC, where Z = Z (MC ) for the matroid
MC = (ρC , E). Then, for any X ∈ U (MC ), C X is a linear [n X , k X , d X ]-LRC with
(i) n X = |X |,
(ii) k X = ρ(F X ),
(iii) d X = n X − k X + 1 − max{η(Y ) : Y ∈ Z (MC |X ) \ X }.
Example 9 Let Z = Z (MC ) be the lattice of cyclic flats given in Example 6, where
MC = (ρC , E) is the matroid associated to the linear [n, k, d]-LRC C generated
by the matrix G given in Example 1. Then by Example 7, X = {1, 2, 3, 7} is a
cyclic set, and by Theorem 4 C X is a linear [n X , k X , d X ]-LRC with parameters
n X = 4, k X = 3 and d X = 4 − 3 + 1 − 0 = 2. Moreover, n = n E = 9, k = k E = 4
and d = d E = 9 − 4 + 1 − 3 = 3.
3 Singleton-Type Bounds
Many important properties of a linear code C are due to its matroid structure, which
is captured by the matroid MC . By the results in [10, 47], matroid theory seems
to be particularly suitable for proving Singleton-type bounds for linear LRCs and
nonexistence results of Singleton-optimal linear LRCs for certain parameters.
Even though matroids can be associated to linear codes to capture the key proper-
ties for linear LRCs, this cannot be done in general for nonlinear codes. Fortunately,
by using some key properties of entropy, any code (either linear and nonlinear) C
can be associated with a polymatroid PC so that PC captures the key properties of
the code when it is used as a LRC. A polymatroid is a generalisation of a matroid.
For any linear code C the associated polymatroid PC and matroid MC are the same
object. We will briefly discuss the connection between polymatroids and codes in
Sect. 5. Singleton-type bounds for polymatroids were derived in [46], and polyma-
troid theory for its part seems to be particularly suitable for proving such bounds for
general LRCs. In Sect. 5 we will also review Singleton-type bounds for polymatroids
and general codes with availability and hierarchy.
Matroid theory provides a unified way to understand and connect several different
branches of mathematics, for example linear algebra, graph theory, combinatorics,
geometry, topology and optimisation theory. Hence, a theorem proven for matroids
gives “for free” theorems for many different objects related to matroid theory. As
described earlier, the key parameters (n, k, r, d, δ, t) of a linear LRCs C are matroid
properties of the matroid MC and can therefore be defined for matroids in general.
Matroid Theory and Storage Codes: Bounds and Constructions 401
Before stating Theorem 5 below, it is not at all clear that the Singleton-type bounds,
already proven for linear LRCs, also hold for matroids in general. Especially, one
could doubt this generality of the bound because of the wide connection between
matroids and a variety of different mathematical objects, as well as for the sake of
the recently proven result, stated in Theorem 13 later on, that almost all matroids
are nonrepresentable. However, Theorem 5 gives a Singleton-type bound that holds
for matroids in general. This implies, as special cases, the same bound on linear
LRCs and other objects related to matroids, e.g., graphs, almost affine LRCs, and
transversals. For the bound to make sense for various objects, a description of the
parameters (n, k, d, r, δ) has to be given for the objects in question. To give an
example, for a graph,
• n equals the number of edges,
• k equals the difference of the number of vertices and the number of connected
components,
• d is the smallest number of edges in an edge-cut (i.e., a set of edges whose removal
increases the number of connected components in the graph).
Recall that the Singleton bound [36] states that for any linear [n, k, d]-code we
have
d ≤ n − k + 1. (2)
In what follows, we state generalised versions of this bound, accounting for the
various parameters relevant for storage systems. We start with the general one for
matroids.
Theorem 5 was stated for all-symbol locality in [47]. However, the proof given
in [47] implies also information-symbol locality. As an illustration on how matroid
402 R. Freij-Hollanti et al.
theory and cyclic flats can be useful for proving Singleton-type of bounds we will
here give a proof of Theorem 5.
∅ = Y0 Y1 · · · Ym = E
That d Z i ≥ δ follows from the fact that Z i = cl(Rx ) for some x ∈ B and therefore
Matroid Theory and Storage Codes: Bounds and Constructions 403
The Singleton bound given in (2) was generalised by Gopalan et al. in [13] as
follows. A linear (n, k, d, r )i -LRC satisfies
k
d ≤n−k+1− −1 . (4)
r
The bound (4) shows that there is a penalty for requiring locality. That is, the smaller
the locality r the smaller the upper bound on d. By the definition of LRCs, any linear
[n, k, d]-code with locality r is also a linear [n, k, d]-code with locality k. Hence,
by letting the locality be k, the bound (4) implies (2).
The bound (4) was generalised in [30] as follows. A linear (n, k, d, r, δ)i -LRC
satisfies
k
d ≤n−k+1− − 1 (δ − 1). (5)
r
The bound (5) again shows that there is a penalty on the upper bound for d depending
on the size of the local distance δ. This is, the bigger the local distance δ the smaller
the upper bound on the global distance d. However, we must remark that any linear
(n, k, d, r, δ)i -LRC satisfies d ≥ δ, and this property also holds more generally for
matroids [47]. The bound (4) follows from the bound (5) by letting δ = 2.
A bound including availability was proven in [44]. This bound states that a linear
(n, k, d, r, t)i -LRC satisfies
t (k − 1) + 1
d ≤n−k+1− −1 . (6)
t (r − 1) + 1
A linear LRC, or more generally a matroid, that achieves any of the Singleton-type
bounds given above will henceforth be called Singleton-optimal.
Any (n, k, d, r, δ)i -matroid M satisfies that δ ≤ d. Hence, by the bound (5), k ≤
n − (δ − 1) rk for M. Thus, regardless of the global minimum distance d, any
(n, k, d, r, δ)-LRC with either information or all-symbol locality, has parameters
n, k, r, δ in the set
404 R. Freij-Hollanti et al.
k
P(n, k, r, δ) = (n, k, r, δ) ∈ Z : 2 ≤ δ and 0 < r ≤ k ≤ n − (δ − 1)
4
.
r
(7)
A very natural question to ask then is for which parameters (n, k, r, δ) ∈ P(n, k, r, δ)
there exists a Singleton-optimal matroid or linear LRC, regarding both informa-
tion and all-symbol locality. We remark that existence results on Singleton-optimal
linear LRCs imply existence results on Singleton-optimal matroids. Conversely,
nonexistence results on Singleton-optimal matroids implies nonexistence results on
Singleton-optimal linear LRCs.
When considering information-symbol locality it is known that the upper bound
for d given in (5) is achieved for all parameters (n, k, r, δ) ∈ P(n, k, r, δ) by linear
LRCs over sufficient large fields. This follows from [14], where a new class of codes
called pyramid codes was given. Using this class of codes, Singleton-optimal linear
(n, k, d, r, δ)i -LRCs can be constructed for all parameters in P(n, k, r, δ).
It is well known that Singleton-optimal linear (n, k, d, r, δ)a -LRCs exist when r =
k. Namely, the LRCs in these cases are linear [n, k, n − k + 1] MDS-codes. However,
existence or nonexistence results when r < k are in general not that easy to obtain. In
[38], existence and nonexistence results on Singleton-optimal linear (n, k, d, r, δ)a -
LRCs were examined. Such results were given for certain regions of parameters,
leaving other regions for which the answer of existence or nonexistence of Singleton-
optimal linear LRCs is not known. The results on nonexistence were extended to
matroids in [47]. All the parameter regions for the nonexistence of Singleton-optimal
linear LRCs in [47] were also regions of parameters for the nonexistence of Singleton
optimal matroids for all-symbol locality. Further, more regions of parameters for
nonexistence of Singleton-optimal matroids with all-symbol locality were given in
[47]. This implies new regions of parameters for nonexistence of Singleton-optimal
linear LRCs with all-symbol locality.
The nonexistence results for Singleton-optimal matroids were proven via the
following structure result in [47]. Before we state the theorem we need the concept
of nontrivial unions. Let M = (ρ, E) be a matroid with repair sets {Rx }x∈E . For
Y ⊆ E, we say that
RY = Rx and RY is a nontrivial union if Rx RY \{x} for every x ∈ Y.
x∈Y
Then, the following properties must be satisfied by the collection of repair sets and
the lattice of cyclic flats Z of M:
Matroid Theory and Storage Codes: Bounds and Constructions 405
(i) 0Z = ∅,
(ii) for each x ∈ E,
a) Rx is an atom of Z ,
(i.e., Rx ∈ Z , 0Z < Rx and Z ∈ Z such that 0Z < Z < Rx ),
b) η(Rx ) = δ − 1,
(iii) for each Y ⊆ E with RY being a nontrivial union,
c) |Y | < rk ⇒ RY ∈ Z ,
d) |Y | < rk ⇒ ρ(R Y ) = |RY | − |Y |(δ − 1),
e) |Y | ≤ rk ⇒ |Rx (RY \{x} )| ≤ |Rx | − δ, for each x ∈ Y,
f ) |Y | ≥ rk ⇒ {Z ∈ Z : Z ⊇ RY } = 1Z = E.
Conditions (i) and (ii) in the structure theorem above for Singleton-optimal
matroids show that each repair set Rx must correspond to a uniform matroid with |Rx |
elements and rank |Rx | − (δ − 1). Further, condition (iii) gives structural properties
on nontrivial unions of repair sets. This can be viewed as structural conditions on
how nontrivial unions of uniform matroids need to be glued together in a Singleton-
optimal matroid, with the uniform matroids corresponding to repair sets. For
Singleton-optimal linear (n, k, d, r, δ)a -LRCs, the property of the repair sets being
uniform matroids corresponds to the repair sets being linear [|Rx |, |Rx | − (δ − 1), δ]-
MDS codes. We remark that structure theorems when r |k for Singleton-optimal linear
(n, k, d, r, δ)a -LRCs and the special case of (n, k, d, r, δ = 2)a -LRCs are given in
[13, 18], respectively. These theorems show that the local repair sets correspond to
linear [r + δ − 1, r, δ]-MDS codes that are mutually disjoint. This result is a special
case of Theorem 6.
Example 10 By Theorem 1, the poset with its associated subsets of E = [16] and
rank of these subsets in the figure below defines the set of cyclic flats Z and the rank
function restricted to the sets in Z of a matroid M on E. From Theorem 4, we obtain
that (n, k, d) = (16, 7, 6) for the matroid M. Choosing repair sets R1 = · · · = R5 =
X 1 , R6 = · · · = R9 = X 2 , R10 = · · · = R13 = X 3 and R14 = · · · = R16 = X 4 , we
obtain that M is an (n = 16, k = 7, d = 6, r = 3, δ = 3)a -matroid. It can easily be
checked that all the properties (i)–(iii) are satisfied by the matroid M and the chosen
repair sets. Further, we also have that M is Singleton-optimal as
k
n−k+1− − 1 (δ − 1) = 6 = d.
r
406 R. Freij-Hollanti et al.
4 Code Constructions
In [47], a construction of a broad class of linear (n, k, d, r, δ)a -LRCs is given via
matroid theory. This is generalised in [10, 46] to account for availability and hierar-
chy, respectively.
A construction of (n, k, d, r, δ)a -matroids via cyclic flats:
m
Let F1 , . . . , Fm be a collection of finite sets and E = i=1 Fi . Assign a function
ρ : {Fi } ∪ {E} → Z satisfying
where
η(Fi ) = |Fi | − ρ(Fi ) for i ∈ [m] and FI = Fi for I ⊆ [m].
i∈I
Matroid Theory and Storage Codes: Bounds and Constructions 407
Extend ρ to {FI } → Z by
ρ(FI ) = min |FI | − η(Fi ), ρ(E) (9)
i∈I
(i) n = |E|,
(ii) k = ρ(E),
(iii) d = n − k + 1 − max{ i∈I η(Fi ) : FI ∈ Z \ E},
(iv) δ = 1 + min{η(Fi ) : i ∈ [m]},
(v) r = max{ρ(Fi ) : i ∈ m}.
That M(F1 , . . . , Fm ; ρ) defines a matroid follows from a proof given in [47] that
the pair (ρ, Z ) satisfies the axiomatic scheme of matroids via cyclic flats and their
ranks stated in Theorem 1. The correctness of the parameters (n, k, d, r, δ) when
F1 , . . . , Fm are considered as the repair sets also follows from [47].
We remark, that the matroids constructed in Theorem 7 satisfy, for all unions of
repair sets FI with ρ(FI ) < ρ(E), that
Properties (i) and (ii) above are trivially seen to be fulfilled by uniform matroids Uk,n ,
where Z = {∅, E}, ρ(∅) = 0 and ρ(E) = k. However, uniform matroids cannot be
constructed by Theorem 7, since all constructed matroids by this theorem have r < k
and uniform matroids have r = k. Though both uniform matroids and the matroids
constructed in Theorem 7 satisfy properties (i) and (ii) in (11), we will consider them
in terms of a class of matroids M , defined as follows:
By the structure Theorem 6, the properties (i) and (ii) in (11) are necessary (but not
sufficient) for Singleton-optimal (n, k, d, r, δ)a -matroids.
Theorem 8 ([20]) Every gammoid M(Γ, E, T ) is Fq -linear for all prime powers
q ≥ 2|E| .
In [47], it is proven that the matroids constructed in Theorem 7 are indeed gam-
moids, and hence representable. This is achieved by explicitly constructing a triple
(Γ, E, T ) whose associated matroid is M(F1 , . . . , Fm ; ρ). The details of the con-
struction are left to Theorem 14 in the appendix. The essence of the argument is to
construct a graph of depth three, whose sources correspond to the ground set of the
matroid, and whose middle layer corresponds to the repair sets, with multiplicities
to reflect the ranks of the repair sets.
In general it is extremely hard to prove that a matroid is linear (or the converse).
There is no known deterministic algorithm to solve this problem in general. However,
by combining the results given in Theorems 7–14, we obtain the following result.
Note that the bound q ≥ 2|E| given in Theorem 9 is a very rough bound. There
are many matroids M(F1 , . . . , Fm , E; k; ρ) = MC for linear LRCs C over Fq where
q 2|E| . In Example 13, for instance, we constructed a code over F5 , while the
field size predicted by Theorem 9 was 212 = 4096 5. To construct an explicit
linear (n, k, d, r, δ)a -LRC from a matroid M(F1 , . . . , Fm , E; k; ρ), one can use the
directed graph representation of the matroid given in Theorem 14, together with
results on how to construct a generator matrix from this representation [20].
As we saw earlier, it is known that there exists a Singleton-optimal linear
(n, k, d, r, δ)i -LRC for all parameters (n, k, r, δ) ∈ P(n, k, r, δ) (cf. (7) for a def-
inition of P(n, k, r, δ)). Further, it is also known that if r = k, then all Singleton-
optimal linear LRCs are linear [n, k, n − k + 1]-MDS codes. In [38] existence and
nonexistence of Singleton-optimal linear (n, k, d, r, δ)a -LRCs were examined. The
parameter regions for existence given in [38] were both obtained and extended in
[47] by the construction of linear LRCs via matroid theory given in Theorem 9.
Hence, the results in [47] about nonexistence and existence of Singleton-optimal
linear (n, k, d, r, δ)a -LRCs settled large portions of the parameter regions left open
in [38] leaving open only a minor subregion. Some improvements of the results in
[38] were also given for δ = 2 in [45] via integer programming techniques.
For (n, k, r, δ) ∈ P(n, k, r, δ) it is also very natural to ask what is the maximal
value of d for which there exist an (n, k, d, r, δ)a -matroid or a linear (n, k, d, r, δ)a -
LRC. We denote this maximal value by dmax (n, k, r, δ). In [47] it was proven that
k
dmax (n, k, r, δ) ≥ n − k + 1 − (δ − 1)
r
for linear LRCs. For
matroids, this result is straightforward, as a matroid with
d = n − k + 1 − rk (δ − 1) can be constructed as a truncation of the direct sum of
r +δ−1
n
uniform matroids of size si ≤ r + δ − 1 and rank si − δ + 1 ≤ r . As repre-
sentability (over some field) is preserved under direct sums and truncation, the result
follows for linear LRCs. However, with this straightforward argument, and with the
bound on the field size of truncated matroids from [17], the field size required could
be as large as
n
r · r +δ−1
n
(r + δ − 1) · .
i=k
i
Significant work is needed in order to bound the field size even in this special case.
This result was improved in [47] and further in [29]. Also, the parameter region
of Singleton-optimal linear (n, k, d, r, δ)-LRCs was also extended in [29]. The exis-
tence of Singleton-optimal linear LRCs obtained by the matroidal construction
described here depends mainly on the relation between the parameters a and b where
a = rk r − k and b = r +δ−1
n
(r + δ − 1) − n. Thus, we can easily get Singleton-
optimal linear LRCs for all possible coding rates.
Matroid Theory and Storage Codes: Bounds and Constructions 411
k
d ≥n−k+1− (δ − 1).
r
Comparing this to the generalised Singleton bound (5), we notice that the codes we
construct are “almost Singleton-optimal”.
The underlying matroid will again be a truncation of
r +δ−1
n
Ussii −δ−1 .
i=1
However, rather than first representing this direct sum, which has rank
n
(si − δ + 1) = n − (δ − 1),
i
r +δ−1
As suggested in the previous sections, there are several assumptions that can be made
in order to give more explicit code constructions for optimal LRCs. Next, we will
follow [39, 40] in assuming that n is divisible by r + δ − 1 and k is divisible by r .
Then, an optimal LRC with d = n − k − ( rk − 1)(δ − 1) + 1 exists for any choice
of k. We will also assume that n = q is a prime power, although this assumption can
easily be removed at the price of a more technical description of the code.
We will construct a Singleton-optimal code in this case as an evaluation code, gen-
eralising the construction of MDS codes as Reed-Solomon codes. The main philoso-
phy goes back to [40], but due to a technical obstacle, [40] still required exponential
field size. This technicality was overcome by the construction in [39], which we will
present next. Evaluation codes have a multitude of favourable properties, not least
that the field size can often be taken to be much smaller than in naïve random code
constructions. Moreover, the multiplicative structure used for designing evaluation
codes can also be exploited when one needs to do computations with the codes in
question.
Let A be a subgroup of Fq of size r + δ − 1 and let g = i∈A (x − i) be the
polynomial of degree r + δ − 1 that vanishes on A. We will construct a storage code
whose nodes are the elements of Fq and whose locality sets are the cosets of A.
n
Thus, there are r +δ−1 locality sets, each of size r + δ − 1. The codewords will be
the evaluations over Fq of polynomials of a certain form. As the rank of the code
that we are designing is k = r · rk , we can write the messages as a r × rk matrix
⎛ ⎞
a0,0 · · · ar −1,0
⎜ . .. ⎟
a = ⎝ .. . . . . ⎠
a0, rk −1 · · · ar −1, rk −1
Matroid Theory and Storage Codes: Bounds and Constructions 413
of polynomials is constant over the subgroup A ⊆ Fq and thus on all of its cosets by
construction of g. It follows that when restricted to any such coset, the function f a is
a polynomial of degree ≤ r − 1, and so can be extrapolated to all points in the coset
from any r such evaluation points. This proves the (r, δ)-locality.
As discussed, this construction depends on a collection of assumptions on the
divisibility of parameters that are needed for the rather rigid algebraic structures to
work. Some of these assumptions can be relaxed, using more elaborate evaluation
codes, such as algebraic geometry codes over curves and surfaces [2, 3]. While
this field of research is still very much developing, it seems that the rigidity of the
algebraic machinery makes it less suitable for generalisations of the LRC concept,
for example when different nodes are allowed to have different localities.
414 R. Freij-Hollanti et al.
In this section we will introduce the notion of hierarchical codes, which are natural
generalisations of locally repairable codes. After this, we will briefly describe the
connection between (n, k, d, r, δ, t)-LRCs and polymatroids given in [46].
(n, k, d, t) = [(n 1 , k1 , d1 , t1 ), . . . , (n h , kh , dh , th )]
The code C above as well as all the related subcodes C X i should be non-degenerate.
For consistency of the definition, we say that any symbol in a non-degenerate storage
code has 0-level hierarchical availability.
Example 14 Let C be the code generated by the matrix G in Example 1 and let
x = 2. Then x has 2-level hierarchical availability
This follows from Example 2 where CY1 implies the (6, 3, 3, 1)-availability, and the
(3, 2, 2, 2)-availability is implied by C X 1 and C X 2 .
The most general Singleton bound for matroids with hierarchy in the case t = 1
are the following given in [10, 32]:
ki
di (M) ≤ n i − ki + 1 − (d j − d j+1 ) −1 ,
j>i
kj
(R4) ρ(X ) ∈ Z ,
(R5) ρ(X ) ≤ |X | .
Using the joint entropy and a result given in [11] one can associate the following
polymatroid to every code.
Definition 20 Let C be an (n, k)-code over some alphabet A of size s. Then PC =
(ρC , [n]) is the polymatroid on [n] with the set function ρC : 2[n] → R where
|{c ∈ C : c X = z X }|
|C|
ρC (X ) = logs
z ∈C
|C| |{c ∈ C : c X = z X }|
X X
and ρC (∅) = 0.
We remark that for linear codes MC = PC . Using the above definition of PC , one
can now prove the following useful properties.
Proposition 8 Let C be an (n, k)-code over A with |A| = s. Then for the polymatroid
PC = (ρC , [n]) and any subsets X, Y ⊆ [n],
(i) PC (X ) ≤ |X |,
(ii) |C X ∪Y | > |C X | ⇐⇒ ρC (X ∪ Y ) > ρC (X ),
(iii) |C| = s ρC ([n]) ,
(iv) |C|/|An | = s ρC ([n])−n .
We remark that, even though |C| = s ρC ([n]) for nonlinear codes and |C X | = s ρC (X )
for all X for linear codes, it is not true in general that |C X | = s ρC (X ) for X [n]
for nonlinear codes. This stems from the fact that, for non-linear codes, the uniform
distribution over the code does not necessarily map to the uniform distribution under
coordinate projection.
After scaling the rank function of a finite polymatroid P = (ρ, E) by a constant
c such that cρ(X ) ≤ |X | for all X ⊆ E, we obtain a polymatroid satisfying axiom
(R5). We will assume that such a scaling has been performed, so that all polymatroids
satisfy axiom (R5).
416 R. Freij-Hollanti et al.
We are now ready to define a cyclic flat of a polymatroid P = (ρ, E), namely
X ⊆ E is a cyclic flat if
ρ(X ∪ {e}) > ρ(X ) for all e ∈ E \ X and ρ(X ) − ρ(X \ {x}) < 1 for all x ∈ X.
Let Z denote the family of cyclic flats of the polymatroid P. Assuming that
E ∈ Z , we can define the parameters n, k, d of P via the cyclic flats and their ranks,
namely
The definitions of (n, k, d, r, δ, t)i and (n, k, d, r, δ, t)a -polymatroids are carried
over directly from Definition 16. In addition, the parameters (n, k, d, r, δ, t)i and
(n, k, d, r, δ, t)a of a LRC C are the same as the corresponding parameters for PC .
Using the cyclic flats and similar methods as for matroids, Singleton-type bounds
can be proven for polymatroids in general, which then imply bounds on all objects
related to polymatroids, e.g., matroids, linear and nonlinear LRCs, and hypergraphs.
This is the content of the next section.
It is not clear whether the Singleton-type bounds given for linear LRCs in (2)–(6)
also hold for general LRCs — in general the upper bound on d might have to be
larger. As we will describe briefly in Sect. 5, any general LRC can be associated with a
polymatroid that captures the key properties of the LRC. Using this connection we are
able to define the (n, k, d, r, δ, t)-parameters and information-symbol, systematic-
symbol, and all-symbol locality sets for polymatroids in general.
The class of polymatroids is much bigger than the class of the polymatroids arising
from general LRCs. Hence, it is also not clear whether the Singleton-type bounds
given in (2)–(6) also hold for polymatroids in general. However, from [46], we
obtain a Singleton-type bound for polymatroids in Theorem 10 below. This theorem
shows that all the Singleton-type bounds given in (2)–(6) are polymatroid properties.
Further, the polymatroid result also extends all these bounds by including all the
parameters (n, k, d, r, δ, t) at the same time.
Matroid Theory and Storage Codes: Bounds and Constructions 417
The methods used to prove the Singleton-type bound given for polymatroids
in Theorem 10 are similar to those used for proving the Singleton-type bound for
matroids in Theorem 5. Especially, the notion of cyclic flats is generalised to poly-
matroids and used as the key tool in the proof. However, some obstacles occur since
we are dealing with real-valued rank functions in the case of polymatroids instead
of integer-valued rank functions, which was the case for matroids. As a direct con-
sequence of Theorem 10, the Singleton-type bounds given in (2)–(6) are valid for all
objects associated to polymatroids.
Theorem 10 is stated for information-symbol locality. This implies that the bound
(13) is also valid for systematic-symbol and all-symbol locality. Hence, as a direct
corollary, the bounds (2)–(13) hold for information-symbol, systematic-symbol, and
all-symbol locality for all objects associated to polymatroids, e.g., entropy functions,
general LRCs, hypergraphs, matroids, linear LRCs, graphs and many more. If we
restrict to systematic linear codes, then the bound also holds for PIR codes [9, Def-
inition 4]. The connection is not as straightforward in the nonlinear case, since the
definitions of a repair group are then slightly different for LRCs (as defined here)
and PIR codes, while coinciding in the linear case.
The bound (4), for all-symbol LRCs (as subsets of size |B| K of B αn , where B
is a finite set, A = B α is the alphabet, and α and K are integers), follows from a
result given in [27]. The bound (5), for all-symbol LRCs (as a linear subspace of
Fqαn with the alphabet A = Fqα ), is given in [34]. This result is slightly improved for
information-symbol locality in [18]. The bound (6), for (n, k, d, r, t)s -LRCs where
k is a positive integer, follows from a result given in [31]. The following bound for
(n, k, d, r, t)a -LRCs with integral k was given in [41],
t !
"
k−1
d ≤n−k+1− .
i=1
ri
One parameter which has not been included above is the alphabet size. Small
alphabet sizes are important in many applications because of implementation and
efficiency reasons. The bound (14) below takes the alphabet size into account, but is
only inductively formulated. Before stating this bound we introduce the following
notation:
(q)
kopt (n, d) = max{k : C is an (n, k, d)-code over an alphabet of size q}.
418 R. Freij-Hollanti et al.
It is a hard open problem in classical coding theory to obtain a value for the parameter
(s)
kopt (n, d) for linear codes. This problem seems to be even harder for codes in general.
However, by using other known bounds, such as the Plotkin bound or Greismer bound,
(s)
it is possible to give an explicit value for kopt (n, d) for some classes of parameters
(s, n, d). This has been done for example in [33].
We remark that when considering nonlinear LRCs, some extra care has to be taken
in terms of how to define the concepts associated with the LRCs. Two equivalent
definitions in the linear case may differ in the nonlinear case. In this chapter, we
have chosen to consider δ as a parameter for the local distance of the repair sets, i.e.,
any node in a repair set R can be repaired by any other |R| − δ + 1 nodes of R. The
condition used in [6, 27, 31, 41] is for δ = 2 only assuming that a specific node in
a repair set R can be repaired by the rest of the nodes of R. It is not assumed that
any node in R can be repaired by the other nodes of R, i.e., that the local distance is
2. A Singleton bound using the weaker condition of guaranteeing only repair of one
node in each repair set implies directly that the same upper bound on d is true for
the case with local distance 2.
We have shown how viewing storage codes from a matroidal perspective helps
our understanding of local repairability, both for constructions and for fundamental
bounds. However, many central problems about linear LRCs boil down to notoriously
hard representability problems in matroid theory.
A famous conjecture, with several consequences for many mathematical objects,
is the so called MDS-conjecture. This conjecture states that, for a given finite field
Fq and a given k, every [n, k, d]-MDS code over Fq has n ≤ q + 1, unless in some
special cases. Currently, the conjecture is known to hold only if q is a prime [1]. Linear
Singleton-optimal LRCs may be seen as a generalisation of linear MDS codes. An
interesting problem would therefore be to consider an upper bound on n for linear
Singleton-optimal LRCs over a certain field size q with fixed parameters (k, r, δ, t).
In this setting, a sufficiently good upper bound on n would be a good result.
Instead of fixing the Singleton-optimality and trying to optimise the field size, we
could also fix the field Fq , and try to optimise the locality parameters. This would
give us bounds on the form
k
d ≤n−k+1− − 1 (δ − 1) − p(q, n, k, r, δ),
r
Matroid Theory and Storage Codes: Bounds and Constructions 419
where the dependence on the field size q is isolated to a “penalty” term p(q, n, k, r, δ).
Partial results in this direction are given by the Cadambe–Mazumdar bound [6], and
LRC versions of the Griesmer and Plotkin bounds [33]. However, the optimality of
these bounds is only known for certain ranges of parameters. Further research in this
direction is definitely needed, but seems to lead away from the most obvious uses of
matroid theory.
Finally, it would be interesting to characterise all Singleton-optimal LRCs up to
matroid isomorphism. The constructions discussed in this paper appear to be rather
rigid, and unique up to shifting a few “slack” elements between different locality
sets. However, it appears to be difficult to prove that all Singleton-optimal matroids
must have this form. Once a complete characterisation of Singleton-optimal matroids
has been obtained, this could also be taken as a starting point for possibly finding
Singleton-optimal nonlinear codes in the parameter regimes where no Singleton-
optimal linear codes exist.
Example 15 The matrix G and the graph Γ given below generate the same matroid,
regardless of the field over which G is defined.
420 R. Freij-Hollanti et al.
Some examples of independent sets in G and Γ are {3, 4, 6}, {1, 2, 3, 5}, {2, 3, 4, 6}.
The set X = {5, 6, 7} is dependent in MΓ as these edges form a cycle, and it is
dependent in MG as the submatrix
5 6 7
0 1 1
G(X ) = 0 1 1
−1 −1 0
1 0 −1
Indeed, graphical matroids are representable over any field F. To see this, for a
graph Γ with edge set E, we will construct a matrix G(Γ ) over F with column set
E as follows. Choose an arbitrary spanning forest T ⊆ E in Γ , and index the rows
of G(Γ ) by T . Thus G(Γ ) is a T × E-matrix. Choose an arbitrary orientation for
each edge in the graph. For e ∈ T ⊆ E and uv ∈ E, the entry in position (e, {uv})
is 1 (respectively −1) if e is traversed forward (respectively backward) in the unique
path from u to v in the spanning forest T . In particular, the submatrix G(Γ )(T ) is
an identity matrix. It is straightforward to check that the independent sets in G(Γ )
are exactly the noncyclic sets in Γ .
Example 16 The matrix G in Example 15 is G(Γ ) where Γ is the graph in the same
example, and the spanning forest T is chosen to be {1, 2, 3, 4}.
g : Fk → F(X 1 , . . . , X k )
Matroid Theory and Storage Codes: Bounds and Constructions 421
ρ ∗ (X ) = |X | + ρ(E \ X ) − ρ(E).
The definition of the dual matroid lies in the heart of matroid theory, and has pro-
found interpretations. In geometric terms, let M be represented by a k-dimensional
subspace V of Fn . Then, the matroid dual M ∗ is represented by the orthogonal com-
plement V ⊥ ⊆ Fn . Surprisingly and seemingly unrelatedly, if Γ is a planar graph
and M = MΓ is a graphical matroid, then M ∗ = MΓ¯ , where Γ¯ is the planar dual
of Γ . Moreover, the dual MΓ∗ of a graphical matroid is graphical if and only if Γ is
planar.
Definition 22 The contraction of X ⊆ E in the matroid M = (ρ, E) is M/ X =
(ρ , M \ X ), where ρ (Y ) = ρ(Y ∪ X ) − ρ(X ).
∗
Contraction is the dual operation of deletion, in the sense that M/ X = (M|E\X )∗ .
The terminology comes from graphical matroids, where contraction of the edge
e ∈ E corresponds to deleting e and identifying its endpoints in the graph. Notice
that it follows directly from submodularity of the rank function that ρ M/ X (Y ) ≤
ρ M| E\X (Y ) for every Y ⊆ E \ X . In terms of subspace representations, contraction of
e ∈ E corresponds to intersecting the subspace that represents M with the hyperplane
{xe = 0}.
As matroids are used as an abstraction for linear codes, it would be desirable to
have a way to go back from matroids to codes, namely to determine whether a given
matroid is representable, and when it is, to find such a representation. Unfortunately,
there is no simple criterion to determine representability [25, 43]. However, there are
a plethora of sufficient criteria to prove nonrepresentability, both over a given field
and over fields in general. In recent years, these methods have been used to prove
two long-standing conjectures, that we will discuss in sections Rota’s Conjecture
and Most Matroids are Nonrepresentable respectively.
422 R. Freij-Hollanti et al.
Rota’s Conjecture
Theorem 11 ([42]) Let M = (ρ, E) be a matroid. The following two conditions are
equivalent.
1. M is linearly representable over F2 .
2. There are no sets X ⊆ Y ⊆ E such that M|Y/ X is isomorphic to the uniform
matroid U42 .
In essence, this means that the only obstruction that needs to be overcome in
order to be representable over the binary alphabet, is that no more than three nonzero
points can fit in the same plane. For further reference, we say that a minor of the
matroid M = (ρ, E) is a matroid of the form M|Y/ X , for X ⊆ Y ⊆ E. Clearly, if
M is representable over F, then so is all its minors. Let L(F) be the class of matroids
that are not representable over F, but such that all of their minors are F-representable.
Then the class of F-representable matroids can be written as the class of matroids
that does not contain any matroid from L(F) as a minor. Gian-Carlo Rota conjectured
in 1970 that L(F) is a finite set for all finite fields F. A proof of this conjecture was
announced by Geelen, Gerards and Whittle in 2014, but the details of the proof still
remain to written up [12].
Theorem 12 For any finite field F, there is a finite set L(F) of matroids such that
any matroid M is representable if and only if it contains no element from L(F) as a
minor.
Since the 1970s, it has been known that a matroid is representable over F3 if and
only if it avoids the uniform matroids U52 , U53 , the Fano plane P 2 (F2 ), and its dual
P 2 (F2 )∗ as minors. The list L(F4 ) has seven elements, and was given explicitly in
2000. For larger fields, the explicit list is not known, and there is little hope to even
find useful bounds on its size.
For a fixed finite field F, it follows rather immediately from the minor-avoiding
description in the last section that the fraction of n-symbol matroids that is F-
representable goes to zero as n → ∞. It has long been a folklore conjecture that
this is true even when representations over arbitrary fields are allowed. However, it
was only in 2016 that a verifiable proof of this claim was announced [26].
Matroid Theory and Storage Codes: Bounds and Constructions 423
Theorem 13
#linear matroids on n elements
lim = 0.
n→∞ #matroids on n elements
The proof is via estimates of the denominator and enumerator of the expression
in Theorem 13 separately. Indeed, it is shown in [19] that the number of matroids on
n nodes is at least Ω(2(2−ε) ) for every ε > 0. The proof of Theorem 13 thus boiled
n
3
down to proving that the number of representable matroids is O(2n ). This is in turn
achieved by bounding the number of so called zero-patterns of polynomials.
For completeness, we end this appendix with a theorem that explicitly presents the
matroids constructed in Theorem 7 as gammoids. As discussed in Sect. 4.2, this
proves the existence of Singleton-optimal linear LRCs whenever a set system satis-
fying (8) exists.
References
1. S. Ball, On sets of vectors of a finite vector space in which every subset of basis size is a basis.
J. Eur. Math. Soc. 14, 733–748 (2012)
2. A. Barg, I. Tamo, S. Vlăduţ, Locally recoverable codes on algebraic curves (2016),
arXiv:1603.08876
3. A. Barg, K. Haymaker, E. Howe, G. Matthews, A. Várilly-Alvarado, Locally recoverable codes
from algebraic curves and surfaces (2017), arXiv:1701.05212
4. J.E. Bonin, A. de Mier, The lattice of cyclic flats of a matroid. Ann. Comb. 12, 155–170 (2008)
424 R. Freij-Hollanti et al.
5. T. Britz, C.G. Rutherford, Covering radii are not matroid invariants. Discret. Math. 296, 117–
120 (2005)
6. V. Cadambe, A. Mazumdar, An upper bound on the size of locally recoverable codes, in
International Symposium on Network Coding (2013), pp. 1–5
7. A. Dimakis, P.B. Godfrey, Y. Wu, M.J. Wainwright, K. Ramchandran, Network coding for
distributed storage systems. IEEE Trans. Inf. Theory 56(9), 4539–4551 (2010)
8. T. Ernvall, T. Westerbäck, R. Freij-Hollanti, C. Hollanti, Constructions and properties of linear
locally repairable codes. IEEE Trans. Inf. Theory 62, 5296–5315 (2016)
9. A. Fazeli, A. Vardy, E. Yaakobi, PIR with low storage overhead: coding instead of replication
(2015), arXiv:1505.06241
10. R. Freij-Hollanti, T. Westerbäck, C. Hollanti, Locally repairable codes with availability and
hierarchy: matroid theory via examples, in International Zürich Seminar on Communications
(IEEE/ETH, 2016), pp. 45–49
11. S. Fujishige, Polymatroidal dependence structure of a set of random variables. Inf. Control
39(1), 55–72 (1978)
12. J. Geelen, B. Gerards, G. Whittle, Solving Rota’s conjecture. Not. Am. Math. Soc. 61, 736–743
(2014)
13. P. Gopalan, C. Huang, H. Simitci, S. Yekhanin, On the locality of codeword symbols. IEEE
Trans. Inf. Theory 58(11), 6925–6934 (2012)
14. C. Huang, M. Chen, J. Lin, Pyramid codes: flexible schemes to trade space for access efficiency
in reliable data storage systems, in International Symposium on Network Computation and
Applications (IEEE, 2007), pp. 79–86
15. A. Ingleton, R. Main, Non-algebraic matroids exist. Bull. Lond. Math. Soc. 7, 144–146 (1975)
16. Y. Ishai, E. Kushilevitz, R. Ostrovsky, A. Sahai, Batch codes and their applications, in The 36th
ACM Symposium on Theory of Computing (STOC) (2004)
17. R. Jurrius, R. Pellikaan, Truncation formulas for invariant polynomials of matroids and geo-
metric lattices. Math. Comput. Sci. 6, 121–133 (2012)
18. G.M. Kamath, N. Prakash, V. Lalitha, P.V. Kumar, Codes with local regeneration and erasure
correction. IEEE Trans. Inf. Theory 60(8), 4637–4660 (2014)
19. D. Knuth, The asymmetric number of geometries. J. Comb. Theory Ser. A 16, 398–400 (1974)
20. B. Lindström, On the vector representations of induced matroids. Bull. Lond. Math. Soc. 5,
85–90 (1973)
21. B. Lindström, On p-polynomial representations of projective geometries in algebraic combi-
natorial geometries. Math. Scand. 63, 36–42 (1988)
22. B. Lindström, On algebraic matroids. Discret. Math. 111, 357–359 (1993)
23. H. Lipmaa, V. Skachek, Linear batch codes, in The 4th International Castle Meeting on Coding
Theory and Applications (4ICMCTA) (2015)
24. D. Mayhew, M. Newman, D. Welsh, G. Whittle, On the asymptotic proportion of connected
matroids. Eur. J. Comb. 32(6), 882–890 (2011)
25. D. Mayhew, M. Newman, G. Whittle, Yes, the missing axiom of matroid theory is lost forever
(2015), arXiv:1412.8399
26. P. Nelson, Almost all matroids are non-representable, arXiv:1605.04288
27. D. Papailiopoulos, A. Dimakis, Locally repairable codes, in International Symposium on Infor-
mation Theory (IEEE, 2012), pp. 2771–2775
28. R. Pendavingh, J. van der Pol, On the number of matroids compared to the number of sparse
paving matroids. Electron. J. Comb. 22 (2015), 17pp
29. A. Pöllänen, T. Westerbäck, R. Freij-Hollanti, C. Hollanti, Improved singleton-type bounds for
locally repairable codes, in International Symposium on Information Theory (IEEE, 2016), pp.
1586–1590
30. N. Prakash, G.M. Kamath, V. Lalitha, P.V. Kumar, Optimal linear codes with a local-error-
correction property, in International Symposium on Information Theory (IEEE, 2012), pp.
2776–2780
31. A.S. Rawat, D. Papailiopoulos, A. Dimakis, S. Vishwanath, Locality and availability in dis-
tributed storage (2014), arXiv:1402.2011v1
Matroid Theory and Storage Codes: Bounds and Constructions 425
32. B. Sasidharan, G.K. Agarwal, P.V. Kumar, Codes with hierarchical locality (2015),
arXiv:1501.06683v1
33. N. Silberstein, A. Zeh, Optimal binary locally repairable codes via anticodes (2015),
arXiv:1501.07114v1
34. N. Silberstein, A.S. Rawat, O. Koyluoglu, S. Vishwanath, Optimal locally repairable codes
via rank-metric codes, in International Symposium on Information Theory (IEEE, 2013), pp.
1819–1823
35. J.A. Sims, Some problems in matroid theory. Ph.D. thesis, Oxford University (1980)
36. R.C. Singleton, Maximum distance q-nary codes. IEEE Trans. Inf. Theory 10(2), 116–118
(1964)
37. A. Skorobogatov, Linear codes, strata of Grassmannians, and the problems of Segre, in Inter-
national Workshop on Coding Theory and Algebraic Geometry (1992), pp. 210–223
38. W. Song, C. Yuen, S.H. Dau, T.J. Li, Optimal locally repairable linear codes. IEEE J. Sel. Areas
Commun. 32(5), 1019–1036 (2014)
39. I. Tamo, A. Barg, A family of optimal locally recoverable codes. IEEE Trans. Inf. Theory
60(8), 4661–4676 (2014)
40. I. Tamo, D. Papailiopoulos, A. Dimakis, Optimal locally repairable codes and connections to
matroid theory, in International Symposium on Information Theory (IEEE, 2013), pp. 1814–
1818
41. I. Tamo, A. Barg, A. Frolov, Bounds on the parameters of locally recoverable codes. IEEE
Trans. Inf. Theory 62(6), 3070–3083 (2016)
42. W. Tutte, A homotopy theorem for matroids, I, II. Trans. Am. Math. Soc. 88, 148–178 (1958)
43. P. Vámos, The missing axiom of matroid theory is lost forever. J. Lond. Math. Soc. 18, 403–408
(1978)
44. A. Wang, Z. Zhang, Repair locality with multiple erasure tolerance. IEEE Trans. Inf. Theory
60(11), 6979–6987 (2014)
45. A. Wang, Z. Zhang, An integer programming-based bound for locally repairable codes. IEEE
Trans. Inf. Theory 61(10), 5280–5294 (2015)
46. T. Westerbäck, R. Freij, C. Hollanti, Applications of polymatroid theory to distributed storage
systems, in Allerton Conference on Communication, Control, and Computing (2015), pp. 231–
237
47. T. Westerbäck, R. Freij-Hollanti, T. Ernvall, C. Hollanti, On the combinatorics of locally
repairable codes via matroid theory. IEEE Trans. Inf. Theory 62, 5296–5315 (2016)
48. H. Whitney, On the abstract properties of linear dependence. Am. J. Math. 57, 509–533 (1935)
49. H. Zhang, V. Skachek, Bounds for batch codes with restricted query size, in IEEE International
Symposium on Information Theory (ISIT) (2016)
Batch and PIR Codes and Their Connections
to Locally Repairable Codes
Vitaly Skachek
Abstract Two related families of codes are studied: batch codes and codes for private
information retrieval. These two families can be viewed as natural generalizations of
locally repairable codes, which were extensively studied in the context of coding for
fault tolerance in distributed data storage systems. Bounds on the parameters of the
codes, as well as basic constructions, are presented. Connections between different
code families are discussed.
1 Introduction
In this chapter, we discuss two related families of codes: batch codes and codes
for private information retrieval (PIR codes). These two families can be viewed as
natural generalizations of locally repairable codes, which were extensively studied
in the context of coding for fault tolerance in distributed data storage systems.
Batch codes were first presented in [15], where it was suggested to use them
for load balancing in the multi-server distributed data storage systems. It was also
suggested in [15] to use these codes in private information retrieval. A number
of constructions of batch codes were presented therein. Later, the authors of [33]
proposed to use so-called “switch codes” for facilitating the routing of data in the
network switches. It turns out, however, that switch codes are a special case of batch
codes.
Coding schemes for PIR were studied in [12]. The authors showed that a family of
codes, which is a relaxed version of batch codes, can be employed in classical linear
PIR schemes in order to reduce the redundant information stored in a distributed
server system. This relaxed version of the batch codes is termed PIR codes.
In these schemes, typically a distributed data storage system is considered. The
coded words are written across the block of disks (servers), where each disk stores
a single symbol (or a group of symbols). The reading of data is done by accessing
V. Skachek (B)
Institute of Computer Science, University of Tartu, 50409 Tartu, Estonia
e-mail: [email protected]
2 General Settings
Throughout this chapter, we denote by N the set of nonnegative integer numbers. For
n ∈ N, define [n] {1, 2, . . . , n}. Let ei be the row vector having one at position i
and zeros elsewhere (the length of vectors will be clear from the context).
Let Σ be a finite alphabet. Let x = (x1 , x2 , . . . , xk ) ∈ Σ k be an information vector.
The code is a set of coded vectors
y = (y1 , y2 , . . . , yn ) = C (x) : x ∈ Σ k ⊆ Σ n ,
y=x·G. (1)
Codes with locality were proposed for use in the distributed data storage systems [11].
In such systems, the data is stored in many disks (servers), and these servers may
fail from time to time. It is possible to use erasure-correcting codes, where parts of a
Batch and PIR Codes and Their Connections … 429
codeword are stored in different servers. A failure of one server can be viewed as an
erasure of a symbol or of a group of symbols. In order to repair the erased symbols,
there is a need to bring a few other symbols from other servers. In general, it would
be beneficial to minimize the traffic in the network. For an overview of coding for
distributed storage systems the reader is referred to chapter “An Overview of Coding
for Distributed Storage Systems”. We continue by recalling the definition of locally
repairable codes (LRCs).
Definition 1 The code C has locality r ≥ 1, if for any y ∈ C , any symbol in y can
be recovered by using at most r other symbols of y.
Codes with low locality were extensively discussed, for example, in [11]. A some-
what similar family of codes, known as one-step majority-logic decodable codes, was
investigated in the classical literature [18]. Recently, the bounds on the parameters
of LRCs were derived in [14]. It was shown therein that the parameters of a linear
[n, k, d] code with locality r over F satisfy1 :
k
n ≥k+d + −2. (2)
r
This bound can be viewed as a refinement of the classical Singleton bound, where
rk − 1 is an additive penalty for locality of the code, when compared to the classical
Singleton bound. The proof is done by iterative expurgating of the code, and by taking
into account that there are dependencies between sets of r + 1 symbols, which consist
of an arbitrary symbol in y and its recovery set. The bound in (2) is tight. In fact,
several known constructions attain it with equality (see, for example, [14, 26, 30]).
Assume that the linear code C is systematic, i.e. the matrix G contains a k × k
identity submatrix I. Then, the symbols of y corresponding to I are called information
symbols. It is possible to require recoverability of information symbols only (from
sets of size at most r ). In that case, the code is said to have locality of information
symbols. Otherwise, if all symbols of y are recoverable from small sets, the code has
locality of all symbols.
The above model was extended to codes with locality and availability in [24].
Definition 2 The code C has locality r ≥ 1 and availability δ ≥ 1, if for any y ∈ C ,
any symbol in y can be reconstructed by using any of δ disjoint sets of symbols, each
set is of size at most r .
In [34], the authors consider linear codes with locality r and availability δ of all
symbols. They derive the following bound on the parameters of the code:
δ(k − 1) + 1
n ≥k+d + −2. (3)
δ(r − 1) + 1
1 Thisresult is proven in Theorem 6, Chap. “An Overview of Coding for Distributed Storage Sys-
tems”.
430 V. Skachek
In [24], systematic codes (linear or non-linear) are considered, with locality r and
availability δ of information symbols. The authors show the bound analogues to (3)
for that case. In particular, we observe that when availability δ = 1, i.e. there is only
one recovery set for each symbol, then (3) coincides with (2). The proof technique
in both cases is based on the idea similar to that of [14].
Another related model is considered in [23]. In that model, several different sym-
bols are recovered from a small set of recovery symbols. By building on the ideas
in the previous works, the authors derive a variation of the bound (3) for the model
under consideration. Other related works, for example, include [6, 13, 19, 21, 29,
35, 36] and the references therein.2
4 Batch Codes
Batch codes were first presented in the cryptographic community in [15]. In that work,
the authors proposed to use batch codes for load balancing in the distributed systems,
as well as for private information retrieval. The authors of [15] have also presented
a few constructions of various families of batch codes. Those constructions were
based on recursive application of simple batch codes (so-called “sub-cube codes”),
on classical Reed-Muller codes, on locally decodable codes, and others.
The following definition is based on [15].
Definition 3 Let Σ be a finite alphabet. We say that C is an (k, n, t, M, τ )Σ batch
code over a finite alphabet Σ if it encodes any string x = (x1 , x2 , . . . , xk ) ∈ Σ k
into M strings (buckets) of total length n over Σ, namely y1 , y2 , . . . , y M , such that
for each t-tuple (batch) of (not necessarily distinct) indices i 1 , i 2 , . . . , i t ∈ [k], the
symbols xi1 , xi2 , . . . , xit can be retrieved by reading at most τ symbols from each
bucket.
More formally, by following the presentation in [31], we can state an equivalent
definition.
Definition 4 An (k, n, t, M, τ )Σ batch code C over a finite alphabet Σ is defined
by an encoding mapping C : Σ k → (Σ ∗ ) M (there are M buckets in total), and a
decoding mapping D : Σ n × [k]t → Σ t , such that
1. The total length of all buckets is n;
2. For any x ∈ Σ k and
i 1 , i 2 , . . . , i t ∈ [k] , (4)
2 Inparticular, the use of matroids in bounding the parameters of various families of codes with
locality is thoroughly treated in chapter “Matroid Theory and Storage Codes: Bounds and Construc-
tions”.
Batch and PIR Codes and Their Connections … 431
In what follows, we consider a special case of primitive multiset batch codes with
n = M and τ = 1. Under these conditions, each symbol can be viewed as a separate
bucket, and only one reading per bucket is allowed.
We assume that the information and the coded symbols are taken from the finite
field F = Fq , where q is a prime power. Additionally, we assume that the encoding
mapping C : Fk → Fn is linear over F, and therefore the code C is a linear [n, k]
code over F. In that case, C falls under the linear coding framework defined in (1).
We also refer to the parameter t as the size of a query of the code. The batch code
with the parameters n, k and t over Fq is denoted as [n, k, t]q -batch code (or simply
[n, k, t]-batch code) in the sequel.
This framework was first considered in [17], and the similarities with locally
repairable codes were mentioned. The main difference between these two families,
however, is that the supported query types are different. In batch codes we are inter-
ested in reconstruction of the information symbols in x, while in locally repairable
codes the coded symbols in y are to be recovered.
The following simple result was established in [17, Theorem 1].
Theorem 1 Let C be an [n, k, t]q batch code. It is possible to retrieve xi1 , xi2 , . . . , xit
by t different users in the primitive multiset batch code model (where the symbol xi
is retrieved by the user , = 1, 2, . . . , t, respectively) if and only if there exist t
non-intersecting sets T1 , T2 , . . . , Tt of indices of columns in the generator matrix G,
and for each T , 1 ≤ ≤ t, there exists a linear combination of columns of G indexed
by that set, which equals to the column vector eiT , for all ∈ [t].
432 V. Skachek
The reader can find the proof of this theorem in [17]. Next, we show examples
that further illustrate this concept.
The corresponding code is a sub-cube code constructed in [15, Sect. 3.2]. By using this
code, the information symbols (x1 , x2 ) are encoded into (y1 , y2 , y3 )=(x1 , x2 , x1 + x2 ).
Assume that the query contains two different symbols (x1 , x2 ). Then, we can
retrieve these symbols directly by using the following equations:
x1 = y1
.
x2 = y2
Alternatively, assume that the query contains two copies of the same symbol, for
example (x1 , x1 ). Then, we can retrieve these symbols by using the following equa-
tions:
x1 = y1
.
x1 = y2 + y3
Similarly, (x2 , x2 ) can be retrieved. We conclude that C is a [3, 2, 2]2 batch code.
Example 2 ([17]) Pick the following binary 4 × 9 generator matrix of a batch code
C given as ⎛ ⎞
101000101
⎜0 1 1 0 0 0 0 1 1⎟
G=⎜ ⎟
⎝0 0 0 1 0 1 1 0 1⎠ .
000011011
It can be verified in a similar manner that any 4-tuple (xi1 , xi2 , xi3 , xi4 ), where
i 1 , i 2 , i 3 , i 4 ∈ [4], can be retrieved by using the symbols of y, by using each symbol
at most once. We conclude that C is a [9, 4, 4]2 batch code.
Batch and PIR Codes and Their Connections … 433
Example 3 ([32]) Pick the following binary 3 × 7 generator matrix of a batch code
C given as ⎛ ⎞
1001101
G = ⎝0 1 0 1 0 1 1⎠ .
0010111
It can be verified in a similar manner that any 4-tuple (xi1 , xi2 , xi3 , xi4 ), where
i 1 , i 2 , i 3 , i 4 ∈ [4], can be retrieved by using the symbols of y, by using each symbol
at most once. We conclude that C is a [7, 3, 4]2 -batch code. Moreover, it was shown
in [32] that all queries can be satisfied when each user reads at most r = 2 symbols
from y.
Constructions of linear batch codes using graphs without short cycles were
presented in [10]. A family of codes, related to batch codes, and corresponding
to the case t = k, termed switch codes, was studied in [8, 32, 33]. It was suggested
in [33] to use such codes for efficient routing of data in the network switches.
The following property of batch codes was observed in [17] for binary linear
codes, and later generalized to nonbinary (and also to non-linear) codes in [40].
Theorem 2 Let C be an [n, k, t]q -batch code. Then, the minimum Hamming dis-
tance of C is at least t.
It follows that any [n, k, t]q -batch code is in particular a classical [n, k, ≥ t]q
error-correcting code, and a variety of classical bounds, such as Singleton bound,
Hamming bound, Plotkin bound, Griesmer bound, Johnson bound, Elias-Bassalygo
bound, are all applicable to batch codes (when the minimum distance d is replaced
by the query size t).
434 V. Skachek
where gi are all possible different binary nonzero column vectors of length m, i =
1, 2, . . . , 2m − 1 [25, Problem 2.18].
For a classical error-correcting [n, k, d] code over Fq , the Plotkin bound is defined
as follows [20, Theorem 2.2.29]:
qd
if qd > (q − 1)n, then q ≤ k
.
qd − (q − 1)n
The topic of private information retrieval (PIR) protocols has been a subject of a lot
of research over the last two decades [9]. In the PIR scenario, the database is stored
in a number of servers in a distributed manner. The user is interested in reading an
item from the database without revealing to any server what item was read. In the
classical approach, the data is replicated, and the replicas are stored in a number of
different servers. The user accesses some of these servers, such that no server learns
what data the user is interested in (it is assumed that the servers do not collude).
Batch and PIR Codes and Their Connections … 435
A novel approach to PIR is based on coding, and it was studied, for example in
[1, 7, 16]. More specifically, assume that x = (x1 , x2 , . . . , xk ) is an information
vector, which is encoded into C (x) = y = (y1 , y2 , . . . , yn ). The symbols of y are
stored in different servers in a distributed manner.
In [7], the authors show that there is a fundamental trade-off between download
communication complexity of the protocol (the number of symbols or bits down-
loaded by the user from the database) and the storage overhead (the number of
redundant symbols or bits stored in the database). Later, the authors of [12] show
that it is possible to emulate many of the existing PIR protocols by using a code
of length n that approaches (1 + ε)k for vanishing ε (for sufficiently large k). This
approach leads to PIR schemes with storage data rate arbitrarily close to 1. The
authors define a special class of codes, which allows for such efficient PIR protocols.
Definition 6 ([12]) An k × n binary matrix G has property At if for all i ∈ [k], there
exist t disjoint sets of columns of G that add up to ei . A binary linear [n, k] code C
is called a t-server PIR code (or, simply, PIR code) if there exists a generator matrix
G for C with property At .
The batch codes turn out to be a special case of PIR codes, with a difference
that PIR codes support only queries of type (xi , xi , . . . , xi ), i ∈ [k], while batch
codes support queries of a more general form (xi1 , xi2 , . . . , xit ), possibly for different
indices i 1 , i 2 , . . . , i t ∈ [k]. It follows that batch codes can be used as PIR codes.
Since for PIR codes (as well as for batch codes), the code rate R approaches
1 [15, 22] for large values of k, it is more appropriate to talk about redundancy (as
a function of k), rather than about the code rate. This is in contrast to PIR/batch
codes with restricted size of reconstruction sets, where the asymptotic loss of code
rate takes place. The redundancy of the codes will be defined and analyzed in the
following sections.
Constructions of PIR codes were presented very recently, for example, in
[3, 12, 39].
As it was mentioned above, there are two types of LRCs considered in the literature:
LRCs with locality of information symbols and LRCs with locality of all symbols.
In order to preserve the information symbols in the coded word, a code with
locality of information symbols has a systematic encoding matrix G = [I|A] for some
matrix A. Consider LRCs with locality r and availability δ = t − 1 of information
symbols. Then, each information symbol yi , 1 ≤ i ≤ k, in y, can be recovered from δ
disjoint sets Ti of symbols, |Ti | ≤ r . Such a code can also be viewed as a PIR code that
supports any query of t copies of an information symbol with locality r (including
one copy of the information symbol in the systematic part). Generally, it does not
436 V. Skachek
follow that such a code is a batch code, since there is no guarantee that mixed queries
of different information symbols are supported by disjoint reconstruction sets.
On the other hand, a systematic batch or PIR code with restricted size of recon-
struction sets allows to recover any query of t information symbols with recovery
sets of size r . Since in the systematic case, the information symbols are a part of
a coded word y, it follows that this code is an LRC with locality r and availability
δ = t − 1 of information symbols.
We obtain the following corollary (see also Theorem 21 in [12]).
It follows that the bounds derived for the parameters of the LRCs with locality
and availability of information symbols can be applied also to systematic batch or
PIR codes.3
On the other hand, for the non-systematic case, there is no simple known connec-
tion between linear batch codes with restricted size of reconstruction sets and LRCs
with availability, as it is illustrated in the following examples.
y = (y1 , y2 , . . . , y3k )
k
k
k
= (x1 , x2 , . . . , xi , x1 , x2 , . . . , xi , x1 , x2 , . . . , xi ) .
i=1 i=1 i=1
3 Please
note that generally it does not follow here that the bounds for LRCs with locality of all
symbols are applicable to systematic batch or PIR codes.
Batch and PIR Codes and Their Connections … 437
The following example shows that batch or PIR code with small size of recon-
struction sets is not necessarily LRC with all symbols locality, even in the systematic
case (the example can be also modified to a non-systematic case).
Here, k = 2κ. This matrix G is a diagonal block matrix, where each block is a 2 × 3
generator matrix of a basic sub-cube code in [15], with an additional all-ones column.
Let C be a binary linear code generated by this matrix.
The code C , when viewed as a batch code, supports any two queries of the form
(xi , x j ) (1 ≤ i ≤ k, 1 ≤ j ≤ k), with size of reconstruction sets at most 2. Therefore,
C is a batch code with r = 2, t = 2. In particular, it is a PIR code with r = 2 and
t = 2.
On the other hand, the code C , when viewed as an LRC, has locality of at least
k
κ, since in order to recover yn = i=1 xk , one needs to combine at least κ other
symbols of y.
As we see, this batch code with r = 2 and t = 2 has locality at least k/2 = κ,
when used as an LRC with all symbols locality.
In [31], the systematic batch codes with unrestricted size of reconstruction sets are
considered. The codes under consideration have restriction on the value of t (typically,
it is a small constant), yet there is no restriction on r , so we can assume that r = n.
Define the parameters B(k, t) and P(k, t) to be the shortest length n of any linear
systematic batch and PIR code, respectively, for given values of k and t. Define the
optimal redundancy of systematic batch and PIR codes, respectively, as
B(k, t)
lim =1.
k→∞ k
438 V. Skachek
In a case of switch codes, k = t, it is shown in [33] that B(k, k) = O k 2 / log(k) .
√
A constructive proof showing that r P (k, t) = t · k(1 + o(1)) was given in [12]. As
for the lower bound on r P (k, t), it was recently shown in [22] (see also [37]) that
for a fixed t ≥ 3, r P (k, t) = (k), thus establishing an asymptotic behavior for the
redundancy of the PIR codes.
Since every batch code is also a PIR code, it follows that B(k, t) ≥ P(k, t), and
r B (k, t) ≥ r P (k, t). The relations between B(k, t) and P(k, t) for specific choices
of t were extensively studied in [31]. Thus, for example, it was shown that B(k, t) =
P(k, t) for 1 ≤ t ≤ 4, while for 5 ≤ t ≤ 7,
In [38], the authors study linear batch codes with restricted size of reconstruction
sets. They aim at refining the Singleton bound for that case by using ideas in [14] and
subsequent works. Note, however, that these ideas cannot be applied directly, because
in LRCs there are dependencies between different coded symbols, and expurgation of
the code in the proof of the bound (2) (and similar bounds) uses these dependencies.
Therefore, the authors of [38] consider a query of t copies of the same symbol (for
example, (x1 , x1 , . . . , x1 )), and show that the symbols in different reconstruction
sets possess certain dependencies. By using this property, they apply an expurgation
technique similar to that of [14, 23, 24, 34], and obtain the following relation on
Batch and PIR Codes and Their Connections … 439
the parameters of batch codes with size of reconstruction sets restricted to r . The
proof actually only assumes property At , and therefore it is directly applicable to
PIR codes as well.
Theorem 4 ([38]) Let C be a linear [n, k, t]q -batch code (or PIR code) with the
size of reconstruction sets restricted to r . Then, it holds:
k
n ≥ k + d + (t − 1) −1 −1. (5)
rt − t + 1
Now, observe that if the [n, k, t]q -batch code (or PIR code) allows for reconstruc-
tion of any batch of t symbols, then it also allows for reconstruction of any batch
of β symbols, 1 ≤ β ≤ t. Therefore, expression (5) in Theorem 4 can be adjusted as
follows:
#
k
n ≥ k + d + max (β − 1) −1 −1. (6)
1≤β≤t,β∈N rβ − β + 1
If the code is systematic, then there is always a reconstruction set of size 1 for
one of the queried symbols. In that case, the last expression can be rewritten as:
#
k
n ≥k+d + max (β − 1) −1 −1. (7)
2≤β≤t,β∈N rβ − β − r + 2
Example 7 ([38]) Take r = 2 and t = β = 2. Then, the bound in (7) is attained with
equality by the linear systematic codes of minimum distance 2, defined as follows:
• yi = xi for 1 ≤ i ≤ k, and y j = x2( j−k)−1 + x2( j−k) for k + 1 ≤ j ≤ k + k/2,
when k is even,
• yi = xi for 1 ≤ i ≤ k, y j = x2( j−k)−1 + x2( j−k) for k + 1 ≤ j ≤ k + (k − 1)/2,
and yk+(k+1)/2 = xk , when k is odd.
In that case, d = 2, and we obtain
n = k + k/2 if k is even ,
n = k + (k + 1)/2 if k is odd .
In both cases, the bound (7) is attained with equality for all k ≥ 1.
Example 8 Consider the code C in Example 3, which was studied in [32]. As dis-
cussed, C is a linear [7, 3, 4]2 -batch code, with the size of reconstruction sets at most
r = 2. Its minimum Hamming distance is d = 4. We pick β = 2, and observe that
the right-hand side of Eq. (7) can be re-written as
440 V. Skachek
3
3 + 4 + (2 − 1) −1 −1=7,
2·2−2−2+2
and therefore the bound in (7) is attained with equality for the choice β = 2. The
code C in Example 3 is optimal with respect to that bound. We note, however, that
general simplex codes (of larger length) do not attain (7) with equality.
A slight improvement to the above bounds for both batch and PIR codes can be
obtained, if one considers simultaneously reconstruction sets for, say, two queried
batches (x1 , x1 , . . . , x1 ) and (x2 , x2 , . . . , x2 ), and studies intersections of their recon-
struction sets. The analysis along those lines was done in [38], and the following result
was derived.
Assume that
k ≥ 2(r t − t + 1) + 1 . (8)
Denote
k+ε
A = A(k, r, d, β, ε) k + d + (β − 1) −1 −1,
rβ − β + 1
k+λ
B = B(k, r, d, β, λ) k + d + (β − 1) −1 −1,
rβ − β + 1
k
C = C(k, r, β, λ, ε) (rβ − λ + 1)k − (ε − 1) .
2
Theorem 5 ([38]) Let C be a linear [n, k, t]-batch code over F with the minimum
distance d and size of reconstruction sets at most t. Then,
#
n≥ $ % &
max '() max {min {A, B, C}} . (9)
ε,λ∈N∩[1,rβ−β]
β∈N∩ 1,min t, k−3
2(r −1)
10 Open Questions
Below, we list some open questions related to batch and PIR codes.
1. Derive tighter bounds on the length or redundancy of batch and PIR codes, in
particular, for small alphabet size, for large values of t, or for bounded values of
r.
2. Construct new optimal or sub-optimal batch and PIR codes.
3. Do non-linear batch (or PIR) codes have better parameters than their best linear
counterparts?
4. Do non-systematic batch (or PIR) codes have better parameters than their best
systematic counterparts?
5. Propose batch and PIR codes that allow for efficient reconstruction algorithms.
Batch and PIR Codes and Their Connections … 441
Acknowledgements The material in this chapter has benefited a lot from discussions of the author
with his students and colleagues, including Venkatesan Guruswami, Camilla Hollanti, Helger Lip-
maa, Sushanta Paudyal, Eldho Thomas, Alexander Vardy, Hui Zhang and Jens Zumbrägel. This
work is supported in part by the grants PUT405 and IUT2-1 from the Estonian Research Council
and by the EU COST Action IC1104.
References
22. S. Rao, A. Vardy, Lower bound on the redundancy of PIR codes (2016), arXiv:1605.01869
23. A.S. Rawat, A. Mazumdar, S. Vishwanath, Cooperative local repair in distributed storage.
EURASIP J. Adv. Signal Process. (2015)
24. A.S. Rawat, D.S. Papailiopoulos, A.G. Dimakis, S. Vishwanath, Locality and availability in
distributed storage. IEEE Trans. Inf. Theory 62(8), 4481–4493 (2016)
25. R.M. Roth, Introduction to Coding Theory (Cambridge University Press, Cambridge, 2006)
26. N. Silberstein, A.S. Rawat, O.O. Koyluoglu, S. Vishwanath, Optimal locally repairable codes
via rank-metric codes, in Proceedings IEEE International Symposium on Information Theory
(ISIT), Istanbul, Turkey (2013), pp. 1819–1823
27. N. Silberstein, A. Gál, Optimal combinatorial batch codes based on block designs. Des. Codes
Cryptogr. 78(2), 409–424 (2016)
28. D. Stinson, R. Wei, M. Paterson, Combinatorial batch codes. Adv. Math. Commun. 3(1), 13–17
(2009)
29. I. Tamo, A. Barg, Bounds on locally recoverable codes with multiple recovering sets, in Pro-
ceedings IEEE International Symposium on Information Theory (ISIT), Honolulu, HI, June-July
2014 (2014), pp. 691–695
30. I. Tamo, A. Barg, A family of optimal locally recoverable codes. IEEE Trans. Inf. Theory
60(8), 4661–4676 (2014)
31. A. Vardy, E. Yaakobi, Constructions of batch codes with near-optimal redundancy, in Proceed-
ings IEEE International Symposium on Information Theory (ISIT), Barcelona, Spain (2016),
pp. 1197–1201
32. Z. Wang, H.M. Kiah, Y. Cassuto, Optimal binary switch codes with small query size, in Pro-
ceedings IEEE International Symposium on Information Theory (ISIT), Hong Kong, China
(2015), pp. 636–640
33. Z. Wang, O. Shaked, Y. Cassuto, J. Bruck, Codes for network switches, in Proceedings IEEE
International Symposium on Information Theory (ISIT), Istanbul, Turkey (2013), pp. 1057–
1061
34. A. Wang, Z. Zhang, Repair locality with multiple erasure tolerance. IEEE Trans. Inf. Theory
60(11), 6979–6987 (2014)
35. T. Westerbäck, R. Freij, C. Hollanti, Applications of polymatroid theory to distributed storage
systems, in Proceedings 53rd Allerton Conference on Communication, Control, and Comput-
ing, Allerton, IL, USA, September-October 2015 (2015), pp. 231–237
36. T. Westerbäck, R. Freij-Hollanti, T. Ernvall, C. Hollanti, On the combinatorics of locally
repairable codes via matroid theory. IEEE Trans. Inf. Theory 62(10), 5296–5315 (2016)
37. M. Wootters, Linear codes with disjoint repair groups, unpublished manuscript (2016)
38. H. Zhang, V. Skachek, Bounds for batch codes with restricted query size, in Proceedings
IEEE International Symposium on Information Theory (ISIT), Barcelona, Spain (2016), pp.
1192–1196
39. Y. Zhang, X. Wang, H. Wei, G. Ge, On private information retrieval array codes (2016),
arXiv:1609.09167
40. J. Zumbrägel, V. Skachek, On bounds for batch codes, in Algebraic Combinatorics and Appli-
cations (ALCOMA), Kloster Banz, Germany (2015)