1. Introduction
The concept of
network coding was introduced in [
1] as a method to increase the information flow within a network modelled as an acyclic directed graph with possibly more than one source and receiver. This network operates with vectors of a given vector space
over the finite field of
q elements
, being
q a prime power. The intermediate nodes transmit random
-linear combinations of these vectors, instead of simply routing them. In [
2], Koetter and Kschischang presented an algebraic approach to network coding. Since vector spaces are invariant by linear combinations, the authors suggested using vector subspaces, in lieu of vectors, as codewords. In the same paper, the authors explained how to use the channel in order to send a vector space of
. The sender injects the set of vectors of any basis of the given vector space into the network and every intermediate node sends random
-linear combinations of the available vectors. In the end, the receiver collects the incoming vectors and forms the
-vector subspace spanned by them. In this context, a
subspace code of length
n is just a nonempty collection of subspaces of
. In case we restrict ourselves to subspaces with the same dimension, we speak about
constant dimension codes. The study of constant dimension codes has led to many papers in recent years. We refer the reader to [
3] and references therein for the basics on these codes.
Subspace codes require a single use of the channel described above to send a codeword, i.e., a subspace. These codes were generalized in [
4] as the so-called
multishot subspace codes. More precisely, in an
r-shot code, codewords are sequences of
vector subspaces of
. In this case, sending a codeword needs
r uses (shots) of the channel. As it was shown in that paper, fixed the values
n and
q, multishot codes could achieve better cardinality and distance than
one-shot codes just by introducing a new parameter: the number of the channel uses.
In this paper we focus on
flag codes, a specific family of multishot codes whose codewords are given by sequences of nested subspaces (
flags) with prescribed dimensions. In the network coding framework, flag codes were introduced in [
5]. In that work, the authors studied flag codes as orbits of subgroups of the general linear group and provided some constructions of them as well as a new channel model for flags.
The goal of the present work is the study of the connection between the parameters and properties of a flag code and the ones of its
projected codes, that is, the constant dimension codes used at each shot when sending flags of a flag code. In this direction, we introduce the concept of
consistent flag codes, a family of flag codes whose cardinality and distance are perfectly described in terms of its projected codes. This notion of
consistency (
cardinality-consistency together with
distance-consistency) will allow us to easily translate distance and cardinality properties of a flag code to the subspace code level and vice versa. Moreover, in a consistent flag code, some structural properties satisfied at flag codes level are transferred as the equivalent properties at the subspace codes level, that is, they are properly inherited by the projected codes (and conversely). We will exhibit this fact providing two specific families of consistent flag codes coming from the natural generalization of
equidistant and
sunflower constant dimension codes (see [
6,
7]). The consistency condition will be exploited to give a decoding algorithm, which translates the problem of decoding a flag code to the one of decoding a constant dimension code.
The paper is is organized as follows. In
Section 2, we provide the basic background on subspace codes, focusing on two well-known families of constant dimension codes: equidistant and sunflower codes. Besides, some definitions and known facts about flag codes are presented, together with the channel model to be used later on.
Section 3 is devoted to properly define the concept of consistency of a flag code with respect to its projected codes and to discuss some aspects related to this class of flag codes. In
Section 4, we present families of consistent flag codes by generalizing the concepts of equidistant and sunflower code to the flag codes scenario. Furthermore, we will see that the only consistent equidistant (resp. sunflower) flag codes are the ones that have equidistant (resp. sunflower) projected codes. Finally, in
Section 5 we study the problem of decoding consistent flag codes on the erasure channel by exhibiting a suitable decoding algorithm.
3. Consistent Flag Codes
Following the ideas in [
9], given a flag code
we can naturally associate to it a set of constant dimension codes that we obtain when we gather the subspaces of the same dimension used at a fixed shot in the process of sending flags. Let us explain more precisely the definition of these codes.
Definition 1. Let be a flag code of type on . For every , we call the i-projected code of to the constant dimension code given by the set of i-th subspaces of flags in . More precisely, Due to the close relationship between a flag code
and its projected codes, it is a natural question to explore how far properties and structure of these codes determine the structure of
and conversely. In this direction, this section is devoted to the study of flag codes that are
consistent with respect to their projected codes or just
consistent flag codes. This is a family of flag codes in which the cardinality and distance are completely determined by the ones of their projected codes. We will show how, in some specific cases, this property of consistency goes beyond size and distance and gives rise to a stronger structural consistency. Furthermore, as we will see in
Section 5, the property of being consistent makes it possible to give a decoding algorithm in the erasure channel for flags.
Let us first point out the connection between the cardinality of a flag code
of type
and the ones of its projected codes. It is clear that the size of any projected code is upper-bounded by the cardinality of
, that is,
The first condition of consistency we will impose to our family of flags is the property of disjointness.
Definition 2. A flag code of type on is said to be disjoint if its cardinality coincides with the ones of its projected codes, that is, if The notion of disjoint flag codes was introduced in [
9] in order to characterize optimum distance flag codes in terms of their projected codes. Observe that the cardinality of a disjoint flag code is determined by the one of any of its projected codes. In this sense, we can say that disjoint flag codes are
consistent with respect to the cardinality of their projected codes, or just
cardinality-consistent, for short.
Just as the cardinality of a disjoint flag code is determined by the ones of its projected codes, we introduce the concept of consistency of flag codes with respect to the distance of their projected codes taking into account the pairs of flags attaining the minimum distance of the flag code.
Definition 3. Let be a flag code of type on . We say that is distance-consistent if for every pair of different flags in the following statements are equivalent:
- 1.
.
- 2.
, for all
Notice that, in a distance-consistent flag code, a pair of flags provides the minimum distance if, and only if, the (subspace) distance between their subspaces is the minimum (subspace) distance of the corresponding projected code. Hence, closest flags in a distance-consistent flag code are given by nested sequences of the closest subspaces in the projected codes. That does not occur in a general flag code, as we can see in the following example:
Example 1. Let be the flag code of type on given by the set of flagswhere denotes the standard basis of over . In this case, we have . However, the flag code is not distance-consistent since the distance of every projected code is , but and
Under the distance-consistency condition, there is a coherent link between what is close both at flag level and at subspace level. Moreover, it follows a clear connection between the distance of a flag code and the ones of its projected codes.
Proposition 1. The distance of a distance-consistent flag code coincides with the sum of the ones of its projected codes.
The previous example shows that the converse of this result is not true in general. Just observe that the distance of is which is the sum of the distances of its projected codes, whereas is not distance-consistent. However, we can notice that, in this example, the minimum distance is attained by two different flags with a common subspace. If we exclude this situation and focus on flag codes where different flags have all their subspaces different, i.e., disjoint flag codes, we have the following characterization.
Proposition 2. Let be a disjoint flag code of type on . The following statements are equivalent:
- 1.
is distance-consistent;
- 2.
Proof. By means of Proposition 1, we just need to prove that a disjoint flag code
with distance
must be distance-consistent. To do so, consider a pair of different flags
in
giving the distance of the code. Since
is disjoint, we know that
for every
. As a result, for every value of
i, the distance
cannot be zero and hence must be, at least,
On the other hand, we have that
which happens if, and only if,
for every
, that is, if
is distance-consistent. □
These two concepts of consistency, with respect either to the cardinality or to the distance, give rise to a more general idea of consistency which gathers both of them.
Definition 4. A flag code is said to be consistent (w.r.t. its projected codes), if it is both cardinality-consistent (disjoint) and distance-consistent.
This definition along with Proposition 2 provides the following characterization of consistent flag codes.
Theorem 1. Let be a flag code of type on . The following statements are equivalent:
- 1.
The code is consistent.
- 2.
The code is disjoint and
Observe that, by means of this result, in order to determine if a flag code is consistent, we just need to compute the distance and cardinality of the given flag code as well as the ones of its projected codes. This is notably easier than checking the distance-consistency condition, i.e., that every pair of flags in the code gives the minimum distance if, and only if, the distance between their subspaces coincides with the minimum distance of every projected code. In particular, every flag code consisting of a single flag is automatically consistent with .
To finish this section, we deepen the structure of consistent flag codes in order to give some crucial definitions and properties for the design of the decoding process (Algorithm 1) described in
Section 5. Let us fix
a consistent flag code of type
on
. Observe that, if
attain the minimum distance of
, by virtue of the distance-consistency property, it holds
for every
Equivalently, the distance of
is attained by a pair of flags
if, and only if, we have
where
for every
.
Recall also that, as the code
is consistent, in particular, it is disjoint. Hence, if
, every projected code contains at least two different subspaces and its distance is a positive even integer. As a result, for every value
, we have that
. Moreover, since subspaces in a flag are nested, associated to
we obtain a non-decreasing sequence of integers
such that, for each pair
with
, we can construct a (stuttering) flag
of type
. With this notation, we give the following definition.
Definition 5. Let be a consistent flag code of type on . We define the minimum distance intersection code of as the stuttering flag code of type given by the family Notice that, for not consistent flag codes, the set given in (
6) has not necessarily a fixed type. For instance, if we consider the code
in the Example 1, the set
contains stuttering flags of types
and
.
The sequence of numbers
defined as in (
5) provides upper bounds for the dimension of the intersection of subspaces in every projected code of a consistent flag code.
Proposition 3. Let be a consistent flag code of type and consider a pair of different flags . Then for every .
Proof. Let
and
be a pair of flags in a consistent flag code
. Since this code is disjoint, from the condition
we obtain that
for every value of
. Hence, it holds
or, equivalently,
□
Notice that, in the previous result, the condition of consistency cannot be relaxed in none of its two sides. On the one hand, being distance-consistent is necessary to properly define the numbers . On the other hand, the next example shows that the condition of cardinality-consistency can neither be removed.
Example 2. Consider the flag code of type on consisting of the set of three flagswhere is the standard basis of over . Observe that is not disjoint since contains only two subspaces. The distance of every projected code is 2 and the distance of the flag code is . This distance is only attained by the pair of flags and and, for this couple of flags, it holds for every . Hence, is a distance-consistent flag code and it makes sense to consider the valuesdefined as in (5). However, notice that in contrast to what happens in the context of Proposition 3, where the extra condition of cardinality-consistency (disjointness) is required. Recall that every flag code with just one element is consistent with distance equal to zero. Apart from this case, we have the following result concerning the possible values for the distance of consistent flag codes.
Proposition 4. Let be a consistent flag code of type on with Then its distance satisfiesMoreover, the equality for the lower bound holds if, and only if, for every . Proof. The upper bound holds, since it is the general upper bound given in (
4) for the distance of any flag code of type
on
. On the other hand, by the cardinality-consistency property, we have that
. Hence, the distance of every projected code must be a positive even integer. Moreover, by means of Theorem 1, the distance of the consistent flag code
satisfies
and the equality holds only if, for every
, the
i-projected code has distance
. □
The maximum cardinality of a constant dimension code in the Grassmannian and distance d is denoted by . The next result provides an upper bound for the cardinality of a consistent flag code in terms of the values for .
Proposition 5. Let be a consistent flag code. Then its cardinality satisfies Proof. It follows from the fact that the cardinality of every consistent flag code
coincides with the ones of its projected codes. Hence, for every
, it holds
□
Given that flag codes are not consistent in general, it is a natural question to wonder how much cardinality we lose when imposing the consistency condition. Up to now, the maximum possible cardinality of flag codes has only been studied in [
11], where the author develops a tool to upper bound the cardinality of full flag codes with a prescribed distance (see Theorem 4.2) and deduces bounds for certain specific values of the parameters. Following this idea, let us study the largest cardinality of consistent flag codes for two concrete values of the distance: either the maximum or the minimum possible ones.
In [
9] it was shown that flag codes of any type vector attaining the maximum distance have to be cardinality-consistent and all their projected codes must be constant dimension codes with the maximum distance. In particular, observe that the distance of every optimum distance flag code coincides with the sum of the ones of its projected codes. Hence, by means of Theorem 1, optimum distance flag codes are consistent. As a consequence, for the maximum possible distance there is no loss of cardinality when working under the consistency condition with respect to general flag codes.
On the other hand, in light of Proposition 5, we can derive an upper bound for the cardinality of consistent flag codes attaining the minimum possible distance provided in Proposition 4.
Corollary 1. The cardinality of a consistent flag code with distance is upper bounded by In particular, the cardinality of a consistent full flag code on and distance is, at most, .
Proof. By means of Proposition 4, it follows that every projected code
of
has distance
. Now, by application of Proposition 5 and having into account that
, the result holds. Specifically, if we take the full type vector, the minimum of the values
is precisely the number of lines (or hyperplanes) of
, which is
□
Observe that, in case of considering consistent flag codes with distance , we can give a bound for the cardinality not depending on the projected codes, since all of them have subspace distance equal to 2.
Let us see three particular examples in this context of full flags, considering both the bounds given in [
11] and the ones in the previous corollary.
Example 3. According to [11] (Proposition 2.6), the maximum possible cardinality of a full flag code on and distance 6 is exactly In the proof of this result, the author shows that this bound is attained by disjoint full flag codes having projected codes of distances , for . Observe that such codes are consistent by Theorem 1. Moreover, the previous value coincides with the bound given in Corollary 1 for and full type vector.
On the other hand, for higher values of n, the fact of having the minimum distance for consistent full flag codes, that is, , does not imply that the code is consistent. In this case, the minimum distance can be attained with different combinations for the distances of the projected codes if we allow the existence of different flags sharing common subspaces (that is, if we do not require the cardinality-consistency condition). The next example reflects this situation.
Example 4. For , one possibility to attain the distance is the following. Given a hyperplane of , consider an optimum distance full flag code on and form a full flag codeon . Its projected codes have distances and . In this case, the distance between every pair of different flags in is 8.
The maximum cardinality of a code constructed in this way is precisely the maximum possible size for optimum distance full flag codes on , which is , as proved in [9,11]. Observe that the distances of the projected codes and in the previous example are different from 2, in contrast to what happens when considering consistent full flag codes on with distance 8. The possibility of obtaining the same flag distance as the sum of different combinations of subspace distances allows (general) flag codes to attain better cardinalities than the attained by the consistent ones, as we can see in the next example.
Example 5. As stated in [11] (Proposition 6.3), the maximum possible size of a full flag code on and distance equal to 8
is upper bounded by Observe that this value is exactly the product of the maximum cardinality of an optimum distance full flag code on a hyperplane of (see Example 4) by the number of hyperplanes in the Grassmannian . In contrast, the maximum cardinality of a consistent full flag code with the same parameters cannot be greater than by means of Corollary 1.
The previous examples suggest that the problem of comparing the maximum possible size of both (general) full flag codes and consistent full flag codes with a prescribed distance is by no means trivial and it requires a profound examination that takes into account, on the one hand, how the distance of a flag code can be distributed among its projected codes and, on the other hand, the number of common subspaces shared by different flags in a code. Furthermore, out of the full type case, this comparative becomes much more complicated since the study of bounds for the cardinality of flag codes of a general type vector has not yet been undertaken and, as pointed out in [
11], it is even a wider open problem than the analogous for the full type vector.
Despite the expected loss of cardinality for some values of the distance when imposing the consistency condition (with respect to flag codes in general), in the following section we present several families of consistent flag codes coming from the natural generalization of some known families of subspace codes to the flag codes framework.
5. A decoding Algorithm for Consistent Flag Codes
In this section we provide a decoding algorithm on the erasure channel for consistent flag codes. In particular, it can be applied to the families mentioned in the previous section. This algorithm generalizes the ideas given in [
9], where a decoding process for optimum distance flag codes was given. As we will see through this section, both distance-consistency and cardinality-consistency play a key role in this procedure and allow us to reduce the problem of decoding a flag code to the one of just decoding one of its projected codes.
Let
be a flag code of type
on
. Assume we have sent a flag
through the erasure channel for flags defined in
Section 2.2 (see [
5]) and, after
r shots, a receiver gets a stuttering flag
As we are using an erasure channel, only erasures (no insertions) can occur. Hence, every subspace
is contained in the subspace
sent at the corresponding shot. Recall from
Section 2.2 that, at every shot, some information can be lost. This amount of information is called
number of erasures at the i-th shot and computed as
. The
total number of erasures of the communication is given by
and it is said to be
correctable by the flag code
if
In this case, the received sequence
can be decoded into
by minimum distance in
. This means that
is the closest flag in
to the received stuttering flag
. Analogously, for every
, the number of erasures at the
i-th shot
is said to be
correctable by the projected code
of
if
The next proposition relates the correctability of the total number of erasures by a flag code and with the number of erasures occurred at each shot, under certain conditions on the distance of the code.
Proposition 8. Let be a flag code of type on and suppose that . If the total number of erasures e is correctable by , then there is some that is correctable by the corresponding
Proof. Assume that
but no
is correctable, that is,
for all
. Thus,
and the total number of erasures satisfies
which is a contradiction, since
e is correctable. □
The next result provides a characterization of a correctable number of erasures at some shot in terms of the dimension of the received subspace. The proof follows straightforwardly from the definition of the number of erasures at some shot, together with the condition of correctability.
Proposition 9. The number of erasures at the i-th shot is correctable if, and only if, the dimension of the subspace is greater than .
Observe that distance-consistent flag codes introduced in
Section 3, by means of Proposition 1, satisfy the required condition on the distance of Proposition 8. Moreover, the quantity
that appears in Proposition 9 is precisely the value
defined in (
5). Hence, assuming that a correctable number of erasures have occurred, we can always decode by minimum distance at least one subspace
of the sent flag
in a distance-consistent flag code. If we add the condition of cardinality-consistency, we obtain the next result.
Theorem 4. Let be a consistent flag code of type on and assume that e, the total number of erasures of the communication, is correctable. Then there exists some such that is correctable and we can recover the sent flag as the unique flag in such that is contained in its j-th subspace.
Proof. Observe that, by the property of distance-consistency, the distance of the code is
. Hence, since
e is correctable, by applying Proposition 8, the number of erasures at some shot, say the
j-th one, must be correctable as well. Thus, from Proposition 9, it holds
Recall that, since we are sending flags through an erasure channel, the subspace is contained in , i.e., the j-th subspace of the sent flag. Moreover, by means of Proposition 3, is the unique subspace in containing . Finally, given that is a disjoint flag code, we can recover as the unique flag in having as its j-th subspace. □
Observe that this result guarantees the success of this decoding algorithm, starting from an index
j such that the number of erasures
is correctable. Such an index can be easily identified just by checking the dimensions of the received subspaces
and applying Proposition 9. Observe that we do not need to wait to receive the whole stuttering flag
to start to decode. Our idea is doing it sequentially during the transmission process. At every shot, we check the dimension of the received subspace until we obtain a subspace
of dimension greater than
. At that moment, we can easily recover
and determine the flag
in
shots. We sum up these ideas in Algorithm 1.
Algorithm 1 Decoding algorithm. |
Assumptions: We send a flag in a consistent flag code of type on . At each shot, the i-th subspace is sent and a subspace is received. The total number of erasures e is correctable. |
Input: The received stuttering flag Output: The sent flag |
Define if , then decode into the only that contains return: the unique flag that has as its i-th subspace. else
|
This decoding process takes advantage of the consistency condition in two ways. First, under the assumption of a correctable number of erasures, the distance-consistency property makes it possible to reduce the problem of decoding into to the one of decoding some into the corresponding sent subspace . After that, the cardinality-consistency condition allows us to come back to the flags setting and recover from any of its subspaces. Again, the use of the consistency property in flag codes transfers a problem at the flag codes level—the one of decoding on the erasure channel—to the equivalent problem in the subspace codes scenario.