# Algebraic List-decoding of Subspace Codes

## Abstract

Subspace codes were introduced in order to correct errors and erasures for randomized network coding, in the case where network topology is unknown (the noncoherent case). Subspace codes are indeed collections of subspaces of a certain vector space over a finite field. The Koetter-Kschischang construction of subspace codes are similar to Reed-Solomon codes in that codewords are obtained by evaluating certain (linearized) polynomials.

=-1 In this paper, we consider the problem of list-decoding the Koetter-Kschischang subspace codes. In a sense, we are able to achieve for these codes what Sudan was able to achieve for Reed-Solomon codes. In order to do so, we have to modify and generalize the original Koetter-Kschischang construction in many important respects. The end result is this: for any integer , our list- decoder guarantees successful recovery of the message subspace provided that the normalized dimension of the error is at most where is the *normalized packet rate*. Just as in the case of Sudan’s list-decoding algorithm, this exceeds the previously best-known error-correction radius , demonstrated by Koetter and Kschischang, for low rates .

## 1Introduction

=-1 technique of list-decoding has been used to decode beyond the error-correction diameter bound [2], [3] and [4]. In general, the decoding problem is the problem of finding a codeword which is within a particular distance from a received word. In classical decoding algorithms, the decoding radius is such that decoding spheres around codewords do not intersect which results in diameter bound on the decoding radius. In list-decoding, the receiver reconstructs a list of all possible codewords within a particular distance of the received word. This offers a potential for recovery from errors beyond the traditional error-correction bound.

In this paper we consider the problem of list-decoding of subspace codes. Although the idea is similar, the nature of problem is different from the classical case in many respects. In [7], subspace codes were introduced in the context of *noncoherent* transmission model for random network coding. In noncoherent transmission model, neither transmitter nor receiver is assumed to have any knowledge about the underlying network topology and the particular network coding operations performed at the network nodes.

Random network coding is a very powerful tool for information transmission in networks[1], [5] and [6]. In random network coding communication between transmitter and receiver is done in a series of *generations*. During each generation the transmitter transmits a group of packets with a fixed-length through the network. These packets can be regarded as vectors of length over a finite field . They pass through intermediate nodes of the network. Each intermediate node creates a random -linear combination of the packets that are already available at its input links and sends it through an output link. This is done separately for all of its output links. In this model, we suppose that a number of erroneous packets may be injected into the network. Finally, the receiver collects a number of such generated packets and tries to reconstruct the set of packets injected into the network. The authors of [7] are led to consider information transmission by the choice of vector space spanned by the set of packets at the transmitter. Intuitively this is the only thing that is preserved through transmission as linear combinations are assumed to be random and unknown to the transmitter and the receiver.

In [7] the operator channel is defined in order to capture the essence of random network coding model. The input and output of an operator channel are subspaces of a certain vector space called the ambient space. Deletion of vectors from the transmitted subspace is called erasure and addition of vectors to the transmitted subspace is called error. The input is affected by some erasures and errors through the channel and the goal is to recover the input from the output. A Reed-Solomon-like subspace code capable of correcting errors and erasures on the operator channel is introduced in [7]. We call it KK code (Koetter-Kschischang code) throughout this paper. In KK construction, codewords are obtained by evaluating certain (linearized) polynomials. In Section ? we briefly review the KK construction, its encoding and decoding.

What we are doing in this paper, in some sense, is analogous to what Sudan did for list-decoding of Reed-Solomon codes [10]. The main obstacle here is that the ring of linearized polynomials is not commutative. Indeed equations over this ring may have more roots than their degrees. Therefore, the straightforward generalization of list- decoding may result in an exponential list size. We modify the KK construction in many important respects in order to enable list-decoding. The idea is to consider a commutative subring of the ring of linearized polynomials. However, this causes a rate reduction. We solve this problem by using the normal basis for an extension field of a finite field. In Section ? this technique is explained for the simplest case, one dimensional codes with list size 2, wherein the KK construction can not correct any error for any rate but we are able to correct one error for , where is the *packet rate* of the code. The packet rate of a subspace code is simply the number of information packets normalized by the number of encoded packets. This is defined more precisely in Section ?. In this paper, we use this notion of rate in order to express our results in a more convenient way. The results of Section ? is generalized to arbitrary list size yet for one dimensional codes in Section ?. The transmitted message is recovered as long as the dimension of error does not exceed , where is the list size.

Our construction can not be immediately generalized to the case of dimension greater than one. The problem is that we already use the whole space as the root space of the equation from which we extract the message polynomial. In fact increasing the dimension of the code does not give more information at the receiver which results in rate reduction. Therefore, we extend the space root of the interpolation polynomial while the symbols are still from the smaller field. In Section ? we use this idea in order to construct codes of any dimension. Then we get the normalized decoding radius , where is the list size and is the dimension of the code. This is similar to the result in the one dimension case.

We close the paper by discussing some directions for future work and drawing conclusion.

## 2Prior Work

In this section, following [7] we review some required background and some prior work on subspace codes. We explain the operator channel model, the ring of linearized polynomials and the Koetter-Kschischang construction of subspace codes.

The authors of [7] introduced the operator channel model in order to capture the essence of random network coding. This is formulated for the case of single unicast i.e. communication between a single transmitter and a single receiver. Let be a fixed -dimensional vector space over . Then all transmitted and received packets are elements of . Let denote the set of all subspaces of which is often called the projective geometry of . Let also denote the set of all subspaces of of dimension . For any , denotes the dimension of . As is the code alphabet, a metric on is defined as follows. Let denote the set of non-negative integers. Then the function is defined as follows:

It is shown in Lemma 1 in [7] that the function is indeed a metric.

**Definition 1.**[7] An operator channel associated with the ambient space is a channel with input and output alphabet . Let and denote the input and output of the channel respectively. Then

where is an erasure operator which projects onto a randomly chosen -dimensional subspace of if ; otherwise, leaves unchanged. Also, is an arbitrary error space and denote the direct sum. The number of erasures is . The number of errors is .

A subspace code for an operator channel with ambient space is a non-empty subset of . A codeword is an element of which is indeed a subspace of . The minimum distance of is denoted by

It is proved in [7] that if

then a minimum distance decoder for will recover the transmitted subspace from the received subspace . Conversely if (Equation 1) is not satisfied, then the minimum distance decoder may fail.

**Definition 2.**[7] Let be a code associated with the ambient space of dimension over . Suppose that the dimension of any is at most . Then the rate of the codes is defined as follows:

In this paper, we define a new parameter, called the *packet rate* of the code. The packet rate is defined as follows:

where is the size of the underlying extension field.

In fact, the rate of the code is equal to the number of -ary information symbols normalized by the number of -ary symbols injected into the network. This can be interpreted as the *symbol rate* of the code. is equal to the number of information packets normalized by the number of encoded packets injected into the network. Therefore, we call it the packet rate of the code.

Koetter-Kschischang construction of subspace codes are obtained by evaluating linearized polynomials over a certain set of linearly independent elements of an ambient space . Next, we turn to briefly review linearized polynomials, their main properties and how to define a ring structure on them. Let be a finite field and let be an extension field. Recall from [8] that a polynomial is called a linearized polynomial over if it has the form

where , for . When is fixed under discussion, we will let denote . We use the term -degree instead of degree for linearized polynomials. For instance, assuming that , the linearized polynomial has -degree which means that its actual degree is equal to .

The main property of linearized polynomials from which they receive their name is the following. Let be a linearized polynomial over and let be an extension of . Then the map taking to is linear with respect to , i.e. for all and all ,

Also, it is proved in [7] that if two linearized polynomials of -degree at most agrees on at least linearly independent points, then the two polynomials are identical.

Addition of two linearized polynomials, and , is also a linearized polynomial. However, the multiplication is not necessarily a linearized polynomial. Therefore, in order to have a ring structure the operation is defined to be the composition which is always a linearized polynomial. In fact, if and , then

where . It should be noted that this operation is not commutative. It is easy to construct examples for and such that is not equal to .

The set of linearized polynomials over forms a non-commutative ring with identity under addition and composition and is denoted by . Though not commutative, the ring of linearized polynomials has many of the properties of a Euclidean domain. In fact, there are two division algorithms: a left division and a right division, i.e. given any two linearized polynomials and , there exist unique linearized polynomials , , and such that

where or and similarly where or . A straightforward modification of polynomial division algorithm can be invoked in order to do left division and right division for linearized polynomials.

Now, we turn to briefly review the encoding and decoding of KK construction. Let be a finite field, and let be an extension field of . The number of information symbols and the dimension of code are also fixed. Notice that can be regarded as a vector space of dimension over . Let be a set of linearly independent vectors in this vector space.

**Koetter-Kschischang Encoding:**

The input to the encoder is a vector which consists of message symbols in . The corresponding message polynomial is . Then the corresponding codeword is the -linear span of the set .

The code is the set of all possible codeword . The ambinet space is indeed equal to which has dimension over .

Suppose that is transmitted over the operator channel and a subspace of of dimension is received.

**Koetter-Kschischang Decoding:**

Let be a basis for . Construct a nonzero bivariate polynomial of the form

where and are linearized polynomials over , has -degree at most and has -degree at most such that

The parameter will be specified later. Then solve the equation for to recover the message polynomial.

Suppose that , where is the number of erasures and is the number of errors. It is proved in [7] that if which is the necessary and sufficient condition for minimum distance decoder as in (Equation 1), then one can choose

and the decoding algorithm successfully recovers the transmitted message. Therefore, the normalized decoding radius is given as follows:

The packet rate of the Koetter-Kschischang code is:

Therfore, is approximately equal to .

## 3The Simplest List-decoding

We start this section with a brief review of Sudan’s list-decoding algorithm of Reed-Solomon codes . Then we justify why it is necessary to modify KK construction in order to enable list-decoding. As the first attempt for list- decoding, a simple generalization of KK construction is proposed in Section 3.1. However, we shall see that a list of size can not be guaranteed as a result of the ring of linearized polynomials being non-commutative. Therefore, we further modify the construction to solve this problem in Section 3.2. However, this modification results in a rate reduction by a factor of . To compensate this reduction we exploit properties of a normal basis of over in Section 3.3. Having set all that we explain the encoding and list-decoding of this new construction of subspace codes in Section 3.4. At the end, the parameters of the code are discussed in Section 3.5.

First, we briefly review Sudan’s list-decoding algorithm of Reed-Solomon codes [10]. The construction of Reed-Solomon codes is as follows. Let be a finite field. The parameters , the number of information symbols, and , the length of the code are fixed and . The message is a vector consisting of information symbols over . The corresponding codeword is , where is the message polynomial and are distinct and fixed elements of . This codeword is transmitted through the channel. Given the channel output , Sudan’s list-decoding algorithm constructs the bivariate interpolation polynomial

such that for all i, subject to certain degree constraints. Then if not too many errors have occurred, , and the message can be recovered by finding all the factors (at most of them) of of the form .

Now, we return to the construction of subspace codes. Let be a finite field and be an extension field of . For ease of notation, let denote the composition of with itself times for any linearized polynomial . Indeed . Also, we define to be equal to . Same as in the KK construction, is a fixed set of linearly independent vectors over . The first step in modifying the KK construction in order to enable list- decoding is the following. We transmit along with and , where is the message polynomial. This is one important difference between this work and Sudan list-decoding algorithm of RS codes. In Sudan’s algorithm, there is no need to modify the Reed-Solomon code. One can compute powers of the received symbols at the decoder. In fact, once is given, all powers of come for free whereas this is not the case in the construction of subspace codes. In general, given one can not compute . This enforces the modification of KK construction which will be elaborated through this section.

### 3.1A basic generalization of KK codes

Based on the foregoing discussion the first attempt for a simple generalization of KK construction which enables a list- decoding is explained as follows. The message vector consists of information symbols over . Let be the corresponding message polynomial. Then the corresponding codeword is the vector space spanned by the set . Since ’s are linearly independent, has dimension . is transmitted through the operator channel and another vector space of dimension is received at the receiver. Let , be a basis for . At the decoder, we construct a nonzero trivariate linearized polynomial of the form

where ’s are linearized polynomials over subject to certain degree constraints specified later, such that for . Since is linearized, it is zero over the whole vector space , in particular over the intersection of and . Therefore, assuming that not too many errors and erasures happen the polynomial

is guaranteed to have a certain number of linearly independent roots which is more than its -degree. Thus it is identically zero and the next step is to recover the message polynomial from it. The problem is how many possible solutions for we could have and how to extract them. Unfortunately there might be more than two solutions for . In general, an equation over a non-commutative ring may have more zeros than its degree. We illustrate this for the ring of linearized polynomials in the following example. Consider the following equation:

This can be regarded as an equation of degree over the ring of linearized polynomials. Then is a solution for this equation for any which satisfies . If is even, then divides . Therefore there are distinct possible values for each gives a distinct solution for .

### 3.2Solving the problem of having more than two roots

As discussed in the forgoing subsection, an equation over the ring of linearized polynomials may have more zeros than its root. This is a a consequence of the fact that the ring of linearized polynomials is not commutative. The idea to solve this problem is to restrict the set of message polynomials to a commutative subring of this ring. Lemma ? shows that linearized polynomials over the base field , , form a commutative subring of . Theorem ? proves that an equation of degree over the ring of linearized polynomials has at most roots in , as expected. This suggests the following solution for the problem of having more than two roots. We only consider message polynomials that are over rather than i.e. we assume that the message is a vector of length over .

Let and . Then by (Equation 4),

, where and

, where .

Since , and , for any and . It implies that for any ,

Therefore, .

We do induction on for . For , has to be non-zero. Thus there is no solution for ( ?). Now, suppose that it is true for and we want to prove it for . If ( ?) does not have any solution for , then we are done. Otherwise, let be a solution for ( ?) i.e.

We show that there are at most other solutions excluding . Subtracting (Equation 7) from ( ?) we get

Since and are both over , by Lemma ? they commute. As a result,

for any . Plugging in this into (Equation 8) we get

Since , we can divide by both sides by to get

which has at most solutions for by induction hypothesis. This completes the proof.

### 3.3Solving the rate reduction problem

As discussed in the forgoing subsection, we suppose that the message vector consists of information symbols over rather than . This results in a reduction in rate by a factor of . In this subsection, we propose a solution for the rate reduction problem. Indeed, we take advantage of the fact that the message polynomial is over the base field in order to compensate the rate reduction at the decoder.

Recall from [8] that any finite extension of as a vector space over has a basis of the form for some primitive element . This is called a normal basis for over . Suppose that is a linearized polynomial over . Then for any , . This implies that given one can determine , for . Therefore, do not need to be transmitted. The idea is to manufacture them at the receiver while only is transmitted. We elaborate this idea in the next subsection by specifying encoding and list-decoding algorithm.

### 3.4Encoding and List-decoding

We fix the following parameters of the code: finite field , an extension , number of information symbols and which generates a normal basis for . We require that . The ambient space is a -dimensional vector space over .

**Encoding Algorithm A:**

Formally, the encoder is a function . The input to the encoder is a message . The corresponding message polynomial is . The output of the encoder is the one dimensional subspace as follows:

**Remark. ** We write each element of the ambient space as a vector with coordinates such as , where and .

Suppose that is transmitted through the operator channel and another subspace of of dimension is received, where is the dimension of error. We assume that no erasure happens as only one erasure may destroy all the information. The decoder first check if the following condition on is satisfied:

If not, then the decoder declares decoding failure. Otherwise, the list-decoding algorithm A is performed.

**List-decoding Algorithm A:**

The input to the decoder is the received vector space . It outputs a list of size at most of vectors in in three steps:

*Computing the interpolation points:*The decoder first finds a basis for . Then the set of interpolation points is as follows:*Interpolation:*Construct a nonzero trivariate linearized polynomial of the form in (Equation 6), where , and are linearized polynomials over and has -degree at most , has -degree at most and has -degree at most , subject to the constraint thatfor any .

*Factorization:*Find all the roots , with degree at most of the equation:using LRR algorithm, discussed in the appendix. The decoder outputs coefficients of each root as a vector of length .

We explain how the several steps of this list-decoding approach can be done in its most general case in Section ?.

We omit the proof of this theorem as it is a special case of Theorem ?. Indeed list-decoding algorithm with general list size will be discussed in the next section which includes list-2 decoding as a special case. Notice that Theorem ? shows (Equation 9) is also sufficient for successful decoding. This provides the error decoding radius of list-decoding algorithm A.

### 3.5Code parameters

The ambient space , in the construction proposed by encoding algorithm A, has dimension . Each codeword is a one dimensional subspace of . Thus and the packet rate of the code is given as follows:

The -degree of has to be non-negative which enforces the condition . It implies that the packet rate has to be less than . The decoding radius normalized by dimension , is given by as a result of Theorem ?. This is roughly equal to . Since is integer in this case, for and otherwise, .

## 4One Dimensional Codes with General List Size

In this section, we generalize the encoding and list-2 decoding algorithm proposed in the foregoing section to general list size yet the construction is one dimensional. To this end, we transmit all powers of up to , where is the message polynomial, in order to do list- decoding at the receiver.

### 4.1Encoding and Decoding

The following parameters of the code are fixed: finite field , an extension , number of information symbols , list size and which generates a normal basis for . The required condition is that . The ambient space is an -dimensional vector space over .

**Encoding Algorithm B:**

Formally, the encoder is a function . It accepts as input a message vector . The message polynomial is constructed as . Then the encoder outputs the following one dimensional subspace :

**Definition 3.** The code is the collection of all possible codewords generated by this encoding algorithm. The second parameter stands for the dimension of the code which is equal to for this code.

**Remark. ** Each element of the ambient space is indicated as a vector with coordinates such as , where and all other coordinates are elements of .

Suppose that is transmitted through the operator channel and another subspace of of dimension is received, where is the dimension of error. We assume that no erasure happens as only one erasure may destroy all the information. The decoder first check if the following condition on is satisfied:

If not, then the decoder declares decoding failure. Otherwise, the decoder performs the list-decoding algorithm B.

**List-decoding Algorithm B:**

The decoder accepts as input the received vector space . The output is a list of size at most of vectors in after the following three steps:

*Computing the interpolation points:*Find a basis for . Then the following set is the set of interpolation points :*Interpolation:*Construct a nonzero multivariate linearized polynomial of the formwith each having -degree at most , for , subject to the constraint that

for any .

*Factorization:*Find all the roots , with degree at most of the equation:using LRR algorithm. The decoder outputs coefficients of each root as a vector of length .

### 4.2Correctness of the algorithm

The set of interpolation points contains points. Therefore, (Equation 12) defines a homogeneous linear system of equations. The number of unknown coefficients is equal to

It is known that if the number of variables in a homogeneous linear system of equation is strictly smaller than the number of equation, then there is a non-trivial solution. Furthermore, this is necessary in order to guarantee a non-trivial solution i.e.

guarantees a non-zero solution for . This is equivalent to

Let be the message polynomial and be the interpolation polynomial provided by list-decoding algorithm B. Then let be the following linearized polynomial:

Since we assume that no erasure occurs, the transmitted codeword is contained in the received subspace . In particular, includes the vector . Notice that raising to power is a linear operation. Therefore, is a linear combination of some elements of the set of interpolation points , for any , as contains all the -powers of the basis elements of . Furthermore, is a linearized polynomial. Therefore,

In particular,

Note that for any polynomial , for any positive integer . Since all the coefficients of are elements of , (Equation 14) implies that

Since the -degree of is at most , the -degree of is at most

for . This implies that -degree of is at most . On the other hand, has at least linearly independent roots by Lemma ?. Therefore, must be the all zero polynomial.

By Lemma ? the interpolation polynomial exists. Then by Corollary ?, is identically zero which means that the message polynomial is a solution to (Equation 13). Also, as is nonzero, (Equation 13) has at most solutions by Theorem ?. Therefore, the list size is at most .

### 4.3Code parameters:

In this subsection, we discuss the parameters of the code . The ambient space has dimension . Each codeword is a one dimensional subspace of . Therefore, and the packet rate of the code is given as follows:

The -degree of , the one with smallest degree among ’s, has to be non-negative which leads to the following series of inequalities:

Corollary ? and Theorem ? together show that the bound on the number of errors in (Equation 11) is a necessary and sufficient condition in order to guarantee correct list-decoding. Therefore, the error decoding radius of list-decoding algorithm B is equal to . Since the dimension of the code is equal to , this is also the normalized decoding radius, denoted by . We can approximate by to get the following approximation for the normalized decoding radius :

## 5Codes with Arbitrary Dimension

In the foregoing section we proposed a list-decodable construction of subspace codes along with corresponding list- decoding algorithm for any list size . One weakness of the construction is that codes are one dimensional. Certainly this is not good. One dimensional codes seem somewhat unnatural. Besides, as the normalized decoding radius is integer in this case, we are not able to take advantage of the whole achievable region for . In this section, we generalize our construction to any arbitrary dimension.

In the construction of , span of is the codeword corresponding to message polynomial , where is generator of a normal basis for . Then one simple way to generalize this construction to dimension is the following. Suppose that is another primitive element of which generates a normal basis for . Then the corresponding codeword is the -linear span of and . When we inject more vectors into the network, we indeed add *redundancy* to the code, and we should get something in return. Adding redundancy means more interpolation points at the receiver which indeed enforces more constraints. In return, we should get more zeros in order to maintain same performance in terms of decoding radius versus rate. However, as we shall see in Lemma ?, the space root already covers the whole space . Therefore, this simple generalization does not lead to a good performance. This becomes even worse as dimension increases. The idea is to evaluate the interpolation polynomial in a larger field i.e. an extension of . We elaborate this idea through this section.

Fix a finite field and let divides . Then the equation has distinct solutions in . Let be these solutions. Let and be a generator of a normal basis for . Then define

for .

Next, we discuss the properties of the parameters ’s.

For , by the following series of equalities:

Then for , and therefore, . For , which implies that .

Let and be vectors as follows:

Also, let be the matrix whose entry is . Then by definition, . Note that is a Vandermonde matrix whose determinant is non-zero, since ’s are distinct. Thus, we can write

It implies that for any , is a linear combination of ’s. We can raise this to power , for any , and say that is a linear combination of ’s. Thus is a linear combination of elements of the set , for . Therefore, elements of span the whole space . But . Hence is a basis for .

### 5.1Encoding and Decoding

The following parameters of the construction are fixed: the finite field and an extension field , the number of information symbols , the dimension of code and the list size . We require that and .

We let denote the set of positive integers less than or equal to , for any positive integer .

**Encoding Algorithm C:**

A message vector is the input to the encoder. The corresponding message polynomial is . For , consider defined in (Equation 15). The encoder constructs vectors as follows. For ,

The encoder then outputs -dimensional vector space spanned by