Lifted Projective Reed-Solomon Codes
Lifted Reed-Solomon codes, introduced by Guo, Kopparty and Sudan in 2013, are known as one of the few families of high-rate locally correctable codes. They are built through the evaluation over the affine space of multivariate polynomials whose restriction along any affine line can be interpolated as a low degree univariate polynomial.
In this work, we give a formal definition of their analogues over projective spaces, and we study some of their parameters and features. Local correcting algorithms are first derived from the very nature of these codes, generalizing the well-known local correcting algorithms for Reed-Muller codes. We also prove that the lifting of both Reed-Solomon and projective Reed-Solomon codes are deeply linked through shortening and puncturing operations. It leads to recursive formulae on their dimension and their monomial bases. We finally emphasize the practicality of lifted projective Reed-Solomon codes by computing their information sets and by providing an implementation of the codes and their local correcting algorithms.
Motivation and previous works.
Locally decodable codes (LDC) and locally correctable codes (LCC) are codes equipped with a probabilistic algorithm which can efficiently decode or correct a single symbol of a noisy codeword, by querying only a few of its symbols. Low degree Reed-Muller codes define a well-known family of LDCs/LCCs with reasonable rate. Indeed, when restricted to an affine line, a sufficiently low-degree multivariate polynomial can be interpolated by a low-degree univariate polynomial. However, the rate of such Reed-Muller codes stays stuck below . Multiplicity codes [KSY14] were the first family of codes breaking the barrier for correcting a constant fraction of errors. The construction was based on a generalization of Reed-Muller codes which introduce multiplicities in the evaluation map. Shortly after the multiplicity codes breakthrough, Guo, Kopparty and Sudan [GKS13] proposed another generalization of Reed-Muller codes and considered all the multivariate polynomials (i.e. not only the low-degree ones) which can be interpolated as low-degree univariate polynomials when restricted to a line. Surprisingly, it sometimes appears that much more polynomials satisfy this property than the low-degree ones lying in Reed-Muller codes. Resulting codes are named lifted Reed-Solomon codes, and in this work, more shortly referred to as affine lifted codes.
In this work, we show how to build analogues of these codes in projective spaces, that we call projective lifted codes. Our construction relies on the notion of degree sets which also appears in [GKS13] and helps us to exhibit relations between affine and projective lifted codes. Section 2 introduce tools necessary to our construction. Affine and projective lifted codes are built in Section 3, where we also prove main properties of projective lifted codes, notably their monomiality and the structure of their degree set. In Section 4 we present a family of local correcting algorithms for projective lifted codes, whose locality depends on the number of admissible errors on the queried line. Section 5 is devoted to the links between affine and projective lifted codes, through puncturing and shortening. Finally, we show miscellaneous properties of projective lifted codes in Section 6 which emphasize their explicitness and practicality: we present explicit information sets, we bound on their minimum distance and we prove their (quasi-)cyclicity under certain conditions.
We emphasize the practicality of our construction by presenting tables of parameters of projective lifted codes in Appendix C. A basic implementation of affine and projective lifted codes in the open-source software SageMath [S17] is also made available111see https://bitbucket.org/jlavauzelle/lifted_codes.
2 Notation and preliminaries
This section is devoted to introducing the algebraic background for the definition of affine and projective lifted codes.
2.1 Geometry, polynomials and evaluation maps
We denote by the finite field with elements, and by its non-zero elements. For , the affine space of dimension is the set of -tuples with coordinates in , and is denoted . We also define the projective space of dimension as
where for , the relation is given by
A projective point will be denoted . It has different representatives, and we call standard representative the only one such that and . The projective space contains distinct points.
The hyperplane at infinity is isomorphic to , and the bijective map embeds into . A projective line is a -subset of of the form
for some distinct points . The line is the only one containing both and , and there are exactly projective lines on which a given point lies.
Polynomials and degrees.
We denote by the ring of -variate polynomials over . Following the terminology given in [GKS13], for , the set is called the set of degrees of and is denoted . For a subset , we denote by the vector space of polynomials generated by monomials for :
Some subsets are of particular interest. For instance, for ,
the -norm ball generates the space of multivariate polynomials of total degree bounded by ,
the -norm ball generates the space of multivariate polynomials of partial degree bounded by ,
the -norm sphere generates the space of homogeneous polynomials of degree (plus the zero polynomial).
We write the weight of a tuple of integers .
Evaluation of homogeneous polynomials on a projective point.
For any homogeneous polynomial , it is well-known that
It means that different representatives of a fixed projective point may result to different evaluations by . In order to remove any ambiguity, we adopt the following definition. Let be the standard representation of a projective point . Then we define the evaluation of at as:
In other words, every projective point must be written in the unique standard representation when evaluated by homogeneous polynomials.
Denote by (resp. ) an ordered list of all the projective (resp. affine) points. Thanks to the previous definition, the following evaluation map can be defined without ambiguity for all :
Its affine analogue is:
Clearly, and are -linear maps. Since for all , we have
Moreover, since evaluates homogeneous polynomials, for a fixed
These properties are formally proved in [RTR97].
2.2 Evaluation codes
A common way to build linear codes is to evaluate polynomials over a list of points. In this subsection, we formally define the family of evaluation codes we are studying. We also recall well-known examples of such codes, namely the Reed-Solomon and Reed-Muller codes, as well as their projective analogues.
Definition 1 (affine evaluation code).
Let be a linear subspace of . The affine evaluation code associated to is the -linear code of length composed by the evaluation vectors of polynomials in :
The -tuple of evaluation points is called the support of the code.
Definition 2 (projective evaluation code).
Let be a linear subspace of . The projective evaluation code associated to is the -linear code of length composed by the evaluation vectors of polynomials in :
Once again, the -tuple of evaluation points is called the support of the code.
We point out a specific class of evaluation codes which is generated by evaluation vectors of monomials.
Definition 3 (monomial code).
An affine evaluation code (resp. a projective evaluation code ) is said monomial if for some (resp. ).
As we will see later, monomial codes turn out to be very convenient to describe with their set of degrees .
Reed-Solomon and Reed-Muller codes.
Definition 4 (Reed-Solomon code).
Let . The vector space of evaluation vectors of polynomials of degree over is called the (full-length) Reed-Solomon code:
and has dimension over .
Definition 5 (Reed-Muller code).
Let . The (generalized) Reed-Muller code of order and degree over is the subspace of consisting in evaluation vectors of -variate polynomials over of total degree :
For , the dimension of is given by [AK92]:
and simplifies to for .
Reed-Muller codes generalize Reed-Solomon codes, in the sense that .
Projective Reed-Solomon and Reed-Muller codes.
Previous codes can be naturally adapted to the context of projective spaces.
Definition 6 (Projective Reed-Solomon code).
Let . The projective Reed-Solomon code of dimension over is the linear code of length consisting of the evaluation of bivariate homogeneous polynomials of degree over :
Definition 7 (Projective Reed-Muller code).
Let . The projective Reed-Muller code of order and degree over is the linear code of length consisting of the evaluation of -variate homogeneous polynomials over of degree :
The dimension of is (see [Sør91]):
where . For , it simplifies to .
Once again, by definition we have for every .
2.3 Reduced degree sets
In the previous subsection, we have seen that well-known families of linear codes are defined as the image of subspaces of polynomials by evaluation maps. For coding theoretic reasons (e.g. giving the dimension of the code, or computing a basis), it is interesting to find sets (resp. ) such that the map (resp. ) is injective over . So let us define such sets.
First of all, we introduce specific tuples.
Definition 8 ( and -reduced tuples).
A tuple is -reduced if lies in .
A tuple is -reduced if, for all :
We see that any -reduced tuple is also -reduced. We also say that a set of tuples is -reduced (resp. -reduced) if every tuple it contains is -reduced (resp. -reduced).
Denote by the canonical basis of . Let , , and assume that and . For such (and only for such ), we define and . Remark that .
Let or depending on the context (affine or projective). Then,
we have and ;
as long as they are defined, and ;
if no can be applied to , then is -reduced;
if no can be applied to , then is -reduced;
if we keep applying to some tuple the maps , for , until we cannot apply any of them, then we obtain a -reduced tuple;
if we keep applying to some tuple the maps , for , until we cannot apply any of them, then we obtain an -reduced tuple.
Let . The -reduction of is the tuple which is obtained by applying iteratively (for ) until the result lies in . It satisfies . The -reduction of , denoted , consists in the -reduction of the tuples in .
Let for some . The -reduction of is the tuple which is obtained by applying iteratively (for ) until the result is -reduced. It satisfies . The -reduction of , denoted , consists in the -reduction of the tuples in .
- and -reduction are defined in order to make the evaluation maps and injective over polynomial spaces of the form , where is - or -reduced. Next lemma details these properties.
Let and . The following properties hold:
If is -reduced, then the map is injective over .
If is -reduced, then the map is injective over .
For every , the -reduction of is the unique -reduced subset of satisfying
For every , the -reduction of is the unique -reduced subset of satisfying
By definition, if is -reduced, then is a subset of . Since , we can see that .
We proceed by induction on . Recall that .
For and , let be a -reduced subset of . If , it is clear that . So assume and let . Since is -reduced, we can write
Then, we see that , hence lies in , for some set . Moreover implies . Hence, the first point of this Lemma (applied to which is -reduced) shows that , and follows.
Let and . The proof works similarly. Let be a -reduced subset of , and let
Since does not depend on , we can see that and where . Besides, is -reduced as a subset of . Therefore, by induction , and follows. Let us define ; we see that and where since is -reduced and every degree tuple in comes from a tuple such that . Thanks to the first point of the lemma, it follows that . Therefore, with , which necessarily implies (evaluate it at ).
Since for every , we have . Uniqueness comes from the injectivity of .
Definition 13 (Degree set).
Let be an affine (resp. let be a projective) monomial code. Its degree set is the unique -reduction (resp. -reduction) of , and is denoted .
By definition, if is monomial, then we have where depending on the context. Moreover, since is injective over , it also holds that:
Reed-Solomon and Reed-Muller codes, as well as their projective analogues, are monomial codes. Table 1 presents their degree sets.
|projective Reed-Solomon code|
|projective Reed-Muller code|
2.4 Permutations, automorphisms
Generally, a linear code is a linear subspace of for some finite set . Any permutation of induces a permutation of the coordinates of vectors given by:
Denote by the group of permutations of . The subset of permutations of which let invariant is a subgroup of , called the permutation group of , and denoted by .
Let be the semi-direct product . Any acts on by:
where denotes the component-wise product between tuples: . If , we simply write .
The subgroup of letting invariant is called the automorphism group of , and is denoted by . Of course, .
Let us finally denote by the group of invertible matrices over . Using the canonical basis, these matrices represent linear automorphisms .
Affine evaluation codes.
In the case , let us define the affine transformations by , for every and . Each is a permutation of . Denote by the group of such transformations:
In Appendix A.3 we prove that for every .
Projective evaluation codes.
In the case , let . Then induces a permutation of , but does not necessarily preserve the standard representation of projective points. Still, there exists such that the standard representative of is . For every , we then have:
and we see that does not depend on (only on its total degree). Let us denote by , and by the permutation of induced by . Then, we have:
Denote by in the context of evaluating homogeneous polynomials of degree . In Appendix A.3 we prove that for every .
2.5 Embedding maps
Here we define maps embedding lines into higher dimensional spaces. For two -linear spaces, we denote by the set of linear maps . Let be the set of full-rank (i.e. injective) linear maps from to :
Each induces a projective embedding sending . One can easily check that this map is well defined over projective spaces. Moreover, the set describes all the projective lines of , though a projective line is obviously associated to many maps in .
Similarly, the set
defines affine embeddings by . The set defines the set of affine lines of .
Elements of and will sometimes be seen as or matrices over . Besides, for convenience and when the context is clear, we will improperly write instead of . By using this notation, we want to emphasize that, for every and every , the map can be interpolated as a univariate polynomial denoted .
For local correction purposes (see section 4), it is important to notice the following points.
In the affine setting, for every and , the word is a subword of , and can be read at indices for .
In the projective setting, is not necessary a subword of , since nothing asserts that preserves the standard representation of projective points, similarly to the discussion in Subsection 2.4. We solve this issue in a very similar manner. Let and . We know there exists such that the standard representative of is . Then it holds:
Therefore, let us define . Then is a subword of , and can be read at indices for .
Let us fix an ordered list of points in and :
Let and represented by the matrix:
Denote by . On the one hand we have
hence . On the other hand , and we get . Clearly .
Nevertheless, can be obtained through the homogenizing made in (1):
Therefore it gives:
3 Affine and projective lifted Reed-Solomon codes
Before introducing our construction, we recall the definition of affine lifted codes given by Guo, Kopparty and Sudan [GKS13]. Notice that we restrict our study to the lifting of (projective) Reed-Solomon codes, but we believe that our construction can be extrapolated to the lifting of (projective) Reed-Muller codes. Besides, our formalism is slightly different from the paper of [GKS13], since their notion of restriction of a polynomial along a line is somewhat ambiguous.
3.1 Affine lifted codes
We first need to introduce a few notation.
Let be the -adic decomposition of a non-negative integer . We define a partial order on integers by:
The relation can be naturally extended to -tuples by .
We also extend binomial coefficients to -tuples of integers by .
We also recall that, for and , the notation represents the univariate polynomial .
Definition 18 (Affine lifting of Reed-Solomon codes [Gks13]).
Let and . The affine lifting of order of the Reed-Solomon code is
The codes will shortly be called affine lifted codes. In [GKS13] it is also proved that every affine lifted code is monomial and satisfies
where and . Note that monomiality of affine lifted code follows from their affine-invariance, by using a result of Kaufman and Sudan [KS08].
A careful observation of their degree sets shows that fits between two projective Reed-Muller codes:
The main interest of affine lifted codes appears for some values of and (essentially non-prime and close to ), for which the first inclusion is proper. Indeed, Kaufman and Ron give in [KR06] arguments that shows that affine lifted codes are Reed-Muller codes as long as (where is the characteristic of the field).
In the setting, some families of affine lifted codes give rise to a family of high-rate locally decodable and correctable codes, while Reed-Muller codes have rate bounded by . More specifically, the following theorem is proved in [GKS13] (we report the formal definition of locally correctable codes to Section 4):
Theorem 19 (High rate lifted codes, [Gks13]).
Let and . Define