Skip to main content
NIHPA Author Manuscripts logoLink to NIHPA Author Manuscripts
. Author manuscript; available in PMC: 2024 Mar 1.
Published in final edited form as: IEEE Trans Inf Theory. 2022 Oct 10;69(3):1509–1520. doi: 10.1109/TIT.2022.3213568

Orbit Structure of Grassmannian G2,m and a Decoder for Grassmann Code C(2, m)

Fernando L Piñero 1, Prasant Singh 2
PMCID: PMC10101320  NIHMSID: NIHMS1875482  PMID: 37064162

Abstract

In this article, we consider decoding Grassmann codes, linear codes associated to the Grassmannian and its embedding in a projective space. We look at the orbit structure of Grassmannian arising from the multiplicative group Fqm* in GLm(q). We project the corresponding Grassmann code onto these orbits to obtain a subcode of a q–ary Reed-Solomon code. We prove that some of these projections contain an information set of the parent Grassmann code. By improving the decoding capacity of Peterson’s decoding algorithm for the projected subcodes, we prove that one can correct up to (d1)/2 errors for Grassmann code, where d is the minimum distance of Grassmann code.

I. Introduction

Let q be a prime power and Fq be a finite field with q elements. Let and m be positive integers satisfying m. The Grassmann variety G,m is an algebraic variety over Fq whose points are -dimensional subspaces of an m dimensional vector space V over Fq. It is customary to assume V=Fqm although V can be any Fq-linear vector space of dimension m. To every such algebraic variety, one can associate a natural linear code, thinking the variety as a projective system [20]. The linear code associated to the Grassmanian G,m, in this way, is known as the Grassmann code and is denoted by C(,m). Ryan [16], [17] initiated the study of Grassmann codes C(,m) over the binary field. Later, Nogin [14] continued the study of Grassmann code C(,m) over a general finite field. They proved that the Grassmann code C(,m) is an [n,k,d]q code where

n=mq,k=m,andd=q(m). (1)

Here mq is the Gaussian binomial coefficient given by

mq:=qm1qm11qm+11q1q11(q1).

Mathematicians have been studying different aspects of Grassmann codes since they were discovered. For example, the weight spectrum of Grassmann codes C(2,m), C(3,6) was computed by Nogin [14], [15]. Kaipa-Pillai [11] computed the weight spectrum of the code. C(3,7). Some of the initial and terminal generalized Hamming weights of C(,m) are also known [4], [6], [14]. The automorphism group of C(,m) is quite large and fully determined [5]. Further, the structure of the minimum weight codewords of the dual Grassmann code C(,m) is well understood [1]. There is was proved that the support of any minimum weight codeword of C(,m) are three points of a line of the Grassmannian and conversely, any three points of a line of the Grassmannian G,m is the support a minimum weight codeword of C(,m).

Apart from Grassmann codes, Schubert codes, the codes associated to Schubert varieties in Grassmannians, has been a topic of equal interest among researchers. The study of Schubert codes was initiated by Ghorpade-Lachaud [4] and a conjecture about the minimum distance of Schubert codes was proposed. The conjecture is known as the MDC for Schubert codes. After several attempts and proving the MDC in many different cases [3], [9], [8], the MDC was settled in affirmative sense [21], [7]. Different aspects of Grassmann and Schubert codes have been studied by several mathematicians but the the decoding problem for these codes have not been explored in much detail. So far, no effective decoding algorithm for Grassmann code or Schubert code is known. In a recent work, the second named author together with P. Beelen proposed a decoding algorithm for Grassmann codes [2]. In this article, paths in Grassmannians were used to construct certain parity checks for Grassmann codes and a majority logic decoder was proposed using these parity checks. But unfortunately, the proposed majority voting algorithm is not effective, since the proposed decoder can correct approximately d/2+1 errors. In other words, even in the simplest cases, the decoder could not correct up to (d1)/2 errors. Further, the second named author extended the majority voting decoder to Schubert codes corresponding to Schubert varieties in Grassmannian G2,m [18]. Interestingly, in some cases, the proposed decoder for Schubert code is effective but in most of the cases it is not. Therefore, the problem of proposing an effective decoder for Grassmann and Schubert code is still open, even in the simplest case such as codes associated to Grassmannian G2,m and Schubert varieties in G2,m.

In this article, we study the decoding problem for Grassmann code C(2,m) We consider the action of the cyclic group Fq** onto G2,m, thinking G2,m as ordered pair of elements in Fqm, and study the orbits of this action. We see that the projection of Grassmann code C(2,m) onto these orbits can be thought of as a subcode of certain Reed-Solomon code. Moreover, most of these projected subcodes contains an information set of C(2,m). We use such subcodes and use Peterson’s decoding algorithm to correct the errors. As a consequence, we are able to correct d1/2 errors for the Grassmann code C(2,m) where d is the minimum distance of the code.

II. Preliminaries

In this section, we recall the definition of Grassmann variety and the construction of Grassmann codes. As earlier, positive integers ,m satisfying m and a finite field Fq with q elements are fixed throughout the article. Define the set I(,m) by

I(,m):=α1,α2,,α:1α1<α2<<αm

and fix a linear order on I(,m). Let V be an m-dimensional vector space over Fq. The Grassmannian G(V) of all -planes of vector space V is defined by

G(V):={P:PVisalinearsubspaceanddimP=}.

The Grassmannian G(V) can be embedded into a projective space via the Plucker map. More precisely, fix an ordered basis of V. For PG(V), let MP be an ×m matrix whose rows are coordinates of some basis of P with respect to . The Plucker map Pl is

Pl:G(V)(m)1;P[(MP)α]αI(,m) (2)

where MPα denotes the × minor of MP corresponding to columns of MP indexed by tuple α. The image of the Plucker map is given by the zero set of a bunch of quadratic polynomials and hence defined a projective algebraic variety, known as Grassmann variety. For a detail study on Grassmann varieties we refer to [10], [12]. It is known that if V and V are two vector spaces of dimension m over Fq, then there exists an automorphism of (m)1 mapping G(V) to GV. Therefore, for the rest of the article, we denote by G,m, the Grassmannian of all -planes of Fqm. To every projective algebraic variety, one can associate a linear code using the language of projective systems [20, Ch.1]. More precisely, each nondegenerate subset 𝒫 of a projective space Pk1 over Fq corresponds to a unique linear code. Further, the minimum distance and the generalized Hamming weights of the corresponding code can be studied from hyperplane sections of 𝒫 with linear subspaces of Pk1. Therefore, there is a linear code which corresponds to the Grassmannian G,m. The code associated to G,m in this way is known as the Grassmann code and is denoted by C(,m). To get into more details, we would like to recall the construction of Grassmann code.

Let X_=(Xij) be an ×m matrix of m indeterminates Xij over Fq. For every αI(,m), let Xα denote the × minor of X corresponding to columns labeled by α. Let FqXααI(,m) be the Fq linear space spanned by all minors Xα. For each PG,m, let MP be a matrix corresponding to point P as in equation (2), and represent the Grassmannian G,m as G,m(A)=MP1,,MPn be a set of such matrices corresponding to each point PtG,m in some fixed order, where n=G,m. Consider the evaluation map

Ev:FqXααI(,m)FqnfXαfMP1,,fMPn.

The image of the evaluation map Ev is known as the Grassmann code and is denoted by C(,m). The Grassmann code C(,m) is an [n,k,d]q linear code where n,k and d are given by equation (1). Clearly, the codewords of Grassmann codes C(,m) are indexed by points of G,m. Therefore, we may use points P1,,PnG,m as an indexing set for coordinates of codewords in C(,m).

In this article, we only study the Grassmann code C(2,m). We write a 2×m generic matrix as

X_=X1X2XmY1Y2Ym

and write the first row of the indeterminate matrix X_ as X and the second row of X_ as Y. In the next section, we will study the orbit structure of Grassmannian G2,m under the natural action induced by the cyclic group Fqm* but before we get into the orbit structure, we recall the definition of the trace function of field extensions.

Let Fqm be the field extension of Fq of degree m.

Definition 1:

The trace function of Fqm over Fq is defined and denoted by

Trx=x+xq+xq2++xqm1.

Note that Fqm is an m dimensional vector space over Fq and Tr is an Fq linear map. Trace functions are play a key role in our decoder.

III. Orbit Structure of Grassmannian G2,m

In this section, we study the natural action of the cyclic group of Fqm* on Grassmannian G2,m. Our goal is to understand the orbits of G2,m under this action and the behavior of the projection of the code C(2,m) onto these orbits. Before going into further details, we shall fix some notations that we will be using throughout the article. As fixed in the last section, let Fqm be the field extension of Fq of degree m. We know that Fqm is an m-dimensional Fq-vector space and hence Fqm and Fqm are isomorphic as an Fq space. We fix an isomorphism between Fqm and Fqm. Keeping this in mind, we may think of G2,m as a subset of Fqm*×Fqm* consisting of tuples α,βFq, where α,βFqm* span a two dimensional subspace over Fq. In other words, we think Fqm*×Rqm* as the set of 2×m matrices over Fq of rank one and two and G2,m is, up to equivalence, the set of those matrices that are of rank two. For αFqm, we denote by α1,,αmFqm, the coordinates of α and vice-versa. Furthermore, we treat the subspace span by tuple α,β same as the point of G2,m spanned by coordinates α1,,αm and β1,,βm. Having said that, we recall the following trivial lemma.

Lemma 2:

For every αFqm*, the map given by XTrFqm/Fq(αX) is a nonzero Fq-linear functional of V=Fqm. Note that, the trace map is Fq-linear in both X and α. Therefore, for every XFqm and XiFq, there exist some αFqm such that TrFqm/Fq(αX)=Xi. Furthermore, if XiFq is a coordinate of XFqm (via isomorphism treating it in Fqm), then there exist some αFqm* such that TrFqm/Fq(αX)=Xi. This plays a very important role. The next lemma is an immediate consequence of Lemma 2.

Lemma 3:

Let α,βFqm* and let W=Fqm×Fqm be the Fq vector space. Then functions of the form

fα,β(X,Y)=Tr(αX)Tr(βY)Tr(αY)Tr(βX)

are determinantal functions on W as a vector space over Fq.

What we mean is that the function fα,β(X,Y) is an alternating bilinear map on W. Therefore, 2×2 minors XiYjXjYi of the 2×m matrix X, can be written as linear combination of functions fα,β(X,Y) for α,βFqm*. In other words, one can think of Grassmann code as evaluation functions α,βfα,β(X,Y) on Grassmannian G2,m as a subset of Fqm*×Fqm*.

Now we are ready to look at the natural group action of Fqm* on Grassmannian G2,m. Let γ be a generator of Fqm*. The natural action of Fqm* on G2,m is defined by

Fqm*×G2,mG2,mdefinedby(γ,α,βFq)γα,γβFq. (3)

Let 𝒪1,,𝒪r be the orbits of this action. Therefore, if α,βFq𝒪j is some element of orbit 𝒪j then 𝒪j=γiα,γiβFq:1iqm1. Since γ generates Fqm* and for any α,βFqG2,m, we have αFqm* and hence we may assume that each orbit has one element of the form 1,δFq. We denote the orbit containing 1,δFq as 𝒪δ and we call the element 1,δFq an orbit representative of 𝒪δ.

Example 4:

Assume m=4 and q=2. Let γ be such that γ4=γ+1. In this case F16=F2[γ] and γ=F16*. Note that if 1,αFq is an orbit representative of the orbit Oα, then 1,αFq={0,1,α,1+α}. By remowing 0 we may just write this set as {1,α,α+1}. Further, as γ is a generator of the field F16, we have α=γi and 1+α=γj for some i and j. As the subspace 1,αFq is of dimension 2, we get α0,1. This leaves 162=14 possibilities for α. Further, each of those α and α+1 generates the same space. Therefore, there are 7 different spaces of the form 1,α. These are 1,γ1,γ4, 1,γ2,γ8, 1,γ14,γ3, 1,γ5,γ10,1,γ13,γ6, 1,γ7,γ9 and 1,γ11,γ12. Since the action of γ maps 1,γi,γj to γ,γi+1,γj+1. A direct computation shows that there are three orbits, namely: The orbits Oγ, Oγ2 and Oγ5. The orbit Oγ has 15 elements and contains orbit representatives 1,γ,γ4, 1,γ3,γ14 and 1,γ11,γ12. The orbit Oγ2 also has 15 elements and it contains orbit representatives 1,γ2,γ81,γ6,γ13 and 1,γ7,γ9. Finally the orbit Oγ5 has 5 elements and it has only one orbit representative, namely 1,γ5,γ10. Note that this gives in total 35 spaces, i.e. full Grassmannian G2,4.

The Grassmannian G2,5 is represented as elements of F32. Here, the field F32 has 31 nonzero elements. If 1,αFq is an orbit representative of the orbit Oα, then there are 30 choices for α. Further, since α and 1+α generate the same space, we have only 15 choices of the subspace 1,α)Fq. Furthermore, if γ is a generator of F32*, then the action of γ does not fix any elements of G2,5 Thus, all orbits will have size 31 and hence there are 5 orbits of size 31. Likewise, for the Grassmannian G2,7 represented as elements of F128 has 21 orbits of size 127.

In the next two lemmas we’ll understand why in the case of m=5 and m=7, the orbits structure of G2,m are quite uniform.

Lemma 5:

Let P=1,αFq be a two dimensional Fq-linear subspace of Fqm. Suppose that βFqm\Fq. Then βP=P if and only if αFq2, i.e. P=Fq2.

Proof:

Let P=1,α)Fq=a+bαa,bFq be as in the hypothesis and let βFqm\Fq such that βP=P. Then, as ββP and βP=P, we have β=a+bα for some a,bFq. Since βFq we have b0. Also, as 1βP there exist c,dFq such that 1=(c+dα)β. Putting the value of β, we get 1=(c+dα)(a+bα). Therefore, 1=bdα2+(ad+bc)α+cd and hence α satisfies a polynomial equation over Fq of degree 2. It follows that αFq2. For the reverse implication, note that if αFq2\Fq, then P=Fq2 and in this case, clearly αP=P. ■

In the next lemma, we consider G2,m when m is odd and count the number of orbits in G2,m under the action defined in equation (3) and compute the size of each orbit.

Lemma 6:

If m is an odd integer, then there are qm11q21 orbits and the size of each orbit is qm1q1.

Proof:

The proof is a simple consequence of the orbit-stabilizer theorem and Lemma 5. Since m is odd, there does not exist any αFqm\Fq such that αFq2. Therefore, from lemma 5, we know that for any PG2,m, the stabilizer of P has size (q1), namely elements of Fq*. Now from the orbit-stabilizer theorem, we get that the orbit of each of P is of size qm1q1. Further, as G2,m is the disjoint union of orbits of PG2,m, the number of orbits is G2,m/Oδ, where Oδ is an arbitrary orbit. As a result, we get the total number of orbits in G2,m are qm11q21. ■

This lemma justifies the nature of orbits of G2,m in cases m=5,7 that we discussed in the Example 4. The next lemma counts the size of orbits and total number of orbits in G2,m when m is even.

Lemma 7:

If m is even, then there are qqm21q21 orbits of size qm1q1 and exactly one orbit of size qm1q21.

Proof:

Let PG2,m be an arbitrary element of the Grassmannian. If P=Fq2* then we have βP=P if and only if βFq2*. In other words, the stabilizer of P in this case is of size q21 and hence from orbit-stabilizer theorem we get that the orbit of P in this case is of size qm1q21. On the other hand, if PFq2, then from lemma 5 we know that in this case we will have βP=P if and only if βFq*. In other words, in this case the stabilizer of P is of size q1 and hence the orbits of P is of size qm1q1. Now as the cardinality of G2,m is qm1qm11q21(q1) and if there are r orbits of size qm1q1, then we have

qm1qm11q21(q1)=rqm1q1+qm1q21.

Solving for r gives there are qqm21q21 orbits of size qm1q1. ■

Now we count the number of orbit representatives a particular orbit might have. For convenience we use the notation 1,α to represent Fq-subspace spanned by 1,α.

Lemma 8:

Let α,βFqm\Fq. Then 𝒪α=𝒪β if and only if

β=aα+bcα+d,a,b,c,dFq

where adbc.

Proof:

Assume that α,βFqm\Fq. Note that this is equivalent to dimFq1,α=dimpFq1,β=2.

Suppose that 𝒪α=𝒪β. Then there exists a nonzero γFqm such that 1,α=γ·1,β=γ,γβ. Since γ,γβ1,α, it follows that there exist a,bFq such that γβ=aα+b and there exist c,dFq such that γ=cα+d. Therefore (cα+d)β=aα+b which implies β=aα+bcα+d. Note that if ad=bc then βFq which is a contradiction of the hypothesis.

Conversely, assume that =aα+bcα+d,a,b,c,dFq. Consider the action of cα+dFqm on 1,β. Note that if ad=bc then βFq which is a contradiction of the hypothesis. Then

(cα+d)1,β=cα+d,(cα+d)β=cα+d,aα+b=1,α.

This completes the proof of the lemma. ■

Lemma 9:

Suppose that αFq2. If

a1α+b1c1α+d1=a2α+b2c2α+d2

where a1d1b1d1,a2d2b2d2, then there exists a nonzero ϵFq such that a1=ϵa2,b1=ϵb2,c1=ϵc2,d1=ϵd2.

Proof:

Suppose

a1α+b1c1α+d2=a2α+b2c2α+d2

where a1d1b1c1,a2d2b2c2. Then

a1α+b1c2α+d2=a2α+b2c1α+d1.

The polynomial

R(X)=a1X+b1c2X+d2a2X+b2c1X+d1

is a polynomial of degree at most two with α as a root. If α is a root of R(X) then either αFq2 or R(X) is the zero polynomial. But as αFq2, we get R(X)=0. This implies

a1X+b1c2X+d2a2X+b2c1X+d1=0.

Consequently, either c1X+d1 or a2X+b2 must be a nonzero Fq multiple of a1X+b1. Now, if c1X+d1=ϵa1X+b1, then a1d1=b1c1 which contradicts the hypothesis of the Lemma. Therefore, we get a2X+b2=ϵa1X+b1 and hence

a1X+b1c2X+d2ϵa1X+b1c1X+d1=0.

Thus

a1X+b1c2X+d2ϵc1X+d1=0

which implies c2X+d2=ϵc1X+d1. This establishes the proof. ■

Now we are ready to count exact number of orbit representatives of an orbit O of G2,m of the form 1,α provided αFq2.

Lemma 10:

Let 𝒪α be an orbit under the action of Fqm* on G2,m and let αFq2. Then there are q3q different elements βFqm such that 1,β𝒪α.

Proof:

We shall count the number of distinct elements of the form aα+bcα+d where adbc. Lemma 9 implies that aα+bcα+d is represented by q1 distinct multiples of (a,b,c,d). There are q21q2q different quadruples in Fq4 such that adbc Therefore there are q3q=q21q2qq1 distinct multiples defining different aα+bcα+d quotients. ■

IV. Evaluation of the determinant function on Orbits of G2,m

Our bound and decoding algorithm of Grassmann codes hinges on the fact that the Grassmann code C(2,m) is a subcode of quadratic forms in 2m variables, namely one variable for each entry of the 2×m generic matrix. But in this section we will think this code in a slightly different way. We know that reordering the points of Grassmannian only gives an equivalent code. Therefore, we first fix an order on orbits and then order points in each orbits. We may think C(2,m) as evaluation of determinantal functions on representatives of points in each orbit in fixed order. Also, we have seen that the determinantal functions can be written as a Fq-linear combinations of functions fα,β(X,Y) where α,βFqm. Recall that, the orbit of 1,δFq is the set 𝒪δ={(γi,γiδFq0iqm1} where γFqm* is a generator of the multiplicative cyclic group Fqm*. Note that, when determinantal functions fα,β(X,Y) is evaluated on an arbitrary point γi,γiδFq of the orbit 𝒪δ, it gives

fα,βγd,γ1δ=Trαγ1Trβγ1δTrαγ1δTrβγ1.

Since α, β and δ are fixed, we may think fα,β(X,Y) as polynomial in one variable when it is evaluated on orbit 𝒪δ. Hence, we consider polynomials

fα,β(T,δT)=Tr(αT)Tr(βδT)Tr(αδT)Tr(βT)

where , βFqm. It implies that the evaluation of determinantal functions fα,β(X,Y) on orbits 𝒪δ is also given by the evaluation of polynomials fα,β(T,δT) on certain elements of Fqm*. This evaluation also gives a linear code which we denote by Cδ(2,m). We now try to understand the nature of code Cδ(2,m) for the orbit 𝒪δ.

Let N=qm1q1. We have seen that all orbits (except possibly one) in G2,m are of size N. Let 𝒪δ be such an orbit and let P1,,PN are representative points of 𝒪δ. As we discussed, each of these Pi is of the form γji,γjiδFq for some 0jiqm1. Once δ is fixed, we may think the point Pi as γjiFqm*. Therefore, for the rest of the draft an orbit 𝒪δ of size N and representative points P1,PN as above is fixed. Let LδFq be the Fq linear span of the set fα,βT,δT:α,βFqm and let Ev be the evaluation map obtained by evaluating functions of LδFq on points P1,,PN. The image of Ev is an Fq-linear code. Further, it is not hard to see that

ImEv=Cδ2,m.

Remark 11:

Note that, the determinantal function fα,β(T,δT) depends on α,βFqm, therefore when we think a function in LδFq as a polynomial in T, the coefficients are in the field Fqm. But since determinantal functions fα,β(T,δT) are defined by Trace function, the evaluation of fα,β(T,δΓ) on points Pi are in the field Fq and hence the code Cδ(2,m) is a code over the field Fq.

We have the following trivial lemma.

Lemma 12:

The code Cδ(2,m) is a projection of the code C(2,m) onto the coordinates in the orbit 𝒪δ.

Proof:

This is a simple consequence of the fact that the code C(2,m) is the evaluation of the space LδFq on points of G2,m

Lemma 13:

If α,βRqm is such that fα,β(T,δT) is a nonzero polynomial. Then q+1degfα,β(T,δT)qm1+qm2.

Proof:

We simply expand the determinantal function fα,β(T,δT) using the trace function Tr(T)=i=0m1Tqi. Note that,

fα,β(T,δT)=Tr(αT)Tr(βδT)Tr(αδT)Tr(βT)=(i=0m1(αT)qi)(j=0m1(βδT)qj)(i=0m1(βT)qi)(j=0m1(αδT)qj)=(i=0m1j=0m1(αT)qi(βδT)qj)(i=0m1j=0m1(βT)qi(αδT)qj)=i=0m1j=0m1(αT)qi(βδT)qj(βT)qi(αδT)qj=i=0m1j=0m1(αqiβqjβqiαqj)δqjTqi+qj=i=0m1j=0,j1m1(αqiβqjβqiαqj)δqjTqi+qj=i=0m2jim1(αqiβqjβqiαqj)(δqjδqi)Tqi+qj

where we used αqiβqjβqiαqj=0 for i=j. Clearly, the degree of this polynomial is at least q+1 and at most qm1+qm2. ■

The next corollary is an immediate consequence of Lemma 13.

Corollary 14:

Suppose that the function fα,β(T,δT) is not identically zero over Fqm*. Then fα,β(T,δT) can have at most qm1+qm2q1 many zeros in Fqm*

Note that the polynomial fα,β(T,δT) is divisible by Tq+1. Next, we determine the dimension of the code Cδ(2,m). To do so, we first determine a spanning set for the vector space LδFq. We determine it in the next two lemmas.

Lemma 15:

Let δ be a fixed nonzero element of Fqm. Suppose that δ is contained in the field Fqd where dm,d>1. Then

LδFqδqjδqiTqi+qj,0i<jm1,dVjiFqm

Proof:

It is enough to prove that for each α,βFqm, the determinantal function fα,β(T,δT) can be written as a Fqm-linear combination of monomials in the set

δqjδqiTqi+qj,0i<jm1,d(ji).

Lemma 13 states that

fα,β(T,δT)=i=0m2jim1αqiβqjβqiαqjδqjδqiTqi+qj.

The condition on δ implies that δqd=δ. For any term of the form Xqi+qj where j=nd+i, we obtain that the

δqjδqi=δqnd+iδqi=δqndqiδqi=δqiδi=0.

Therefore, the expansion of fα,β(T,δT) has no terms of the form Tqi+qj where dji. ■

In the next lemma we prove that both the spaces discussed in the last lemma are the same.

Lemma 16:

Let δ be a fixed nonzero element of Fqm. Suppose that δ is contained in the field Fqd where dm,d>1. Then

LδFq=δqjδqiTqi+qj,0i<jm1,d(ji)Fqm

Proof:

In the view of Lemma 15, we only have to show that for every 0s<rm1, satisfying dVrs, there exist α,βFqm such that δqrδqsTqs+qr can be written as an Fq-linear combination of some fα,β(T,δT). Let γ,γq,,γqm1 be a normal basis for Fqm over Fq. This implies that the matrix given by γqi+j0i,jm1 nonsingular. Thus for any 0sm1 there exists bs,1,bs,2,,bs,m1Fq such that

i=0m1bs,iγqi,γqi+1,,γqi+m1=es

where es is the standard basis vector with a 1 in sth position and zeroes everywhere else. As the vector γqi,γqi+1,,γqi1 is the coefficient vector for TrγqiT, (omitting monomials not of the form Tqj ), taking dot product of both sides with vector T,Tq,,Tqm1, we get

i=0m1bs,iTr(γqiT)=Tqs. (4)

Thus, for each fixed βFqm, we have

i=0m1bs,ifγqi,β(T,δβT)=i=0m1bs,iTrγqiTTr(δβT)TrγqiδTTr(βT)=i=0m1bs,iTrγqiTTr(δβT)i=0m1bs,iTrγqiδTTr(βT)=TqsTr(δβT)(δT)qsTr(βT).

Now, taking br,1,br,2,,br,m1 as in equation (4) and consider the linear combination

i=0m1br,iTqsTrδγqiT(δT)qsTrγqiT=i=0m1br,iTqsTrδγqiTi=0m1br,i(δT)qsTrγqiT=Tqsi=0m1br,iTrδγqiT(δT)qsi=0m1br,iTrγqiT=Tqs(δT)qr(δT)qsTqr=δqrδqsTqs+qr.

In other words, for any 0r<sm1 with drs, monomials δqrδqsTqs+qr can be written as linear combination of fα,β(T,δT) for some α,βFqm. This completes the proof of the Lemma. ■

We have now found a simple basis for the space LδFq. Note that the evaluation map Ev is an injective map therefore, the code Cδ(2,m) and the space LδFq are of same dimension. We have the following corollary.

Corollary 17:

Let δFqm*. Let 1<dm be a positive integer such that dm and δPqd. Then the code Cδ(2,m) has dimension (m2)(md2)d. Consequently, if m is prime, then dimCδ(2,m)=dimC(2,m).

Proof:

The kernel of evaluation map EvL:Fqm[T]FqmN is an ideal of the form ΠγL(Tγ). The polynomial ΠγL(Tγ) has degree N. Therefore the evaluation map on EvL:Fqm[T]FqmN. As the monomials in LδFq all have degrees strictly smaller than N, it follows that the evaluation map Ev:LδFqFqmN is injective. Therefore,

dimFqCδ(2,m)=dimFqLδFq=dimFqmLδFq=m2md2d.

V. Decoding Grassmann code C(2,m)

In this section, we propose a decoding algorithm for the Grassmann code C(2,m). The minimum distance of C(2,m) is d=q2(m2). Ideally, one strives for a decoding algorithm capable of correcting up to (d1)/2 errors. In a recent joint work [2], the second named author proposed a decoding algorithm for Grassmann codes C(,m) but unfortunately, the proposed algorithms decoding capability is far from the optimal decoding capability of the code C(,m). For example, asymptotically, the proposed decoder can correct only up to (d1)/2+1 errors for C(,m). In other words, for C(2,m) the proposed algorithm can asymptotically correct around (d1)/8 errors. Here we propose a list decoder for Grassmann code C(2,m) that can correct up to (d1)/2 errors for C(2,m).

We propose an algorithm in this section that can comect up to (d1)/2 errors for C(2,m). We have seen that for most of the orbits 𝒪δ in G2,m, codes Cδ(2,m) are of same dimension as the Grassmann code C(2,m). Therefore, such Cδ(2,m) contains an information set of C(2,m). Also, from Lemma 13 we know that the space LδRq contains polynomials of degree bounded between q+1 and qm1+qm2 and the points of orbits 𝒪δ can be thought of as a subset of Fqm*, therefore we may think the code Cδ(2,m) as a subcode of a N,qm1+qm2q - RS code, where N=𝒪δ. Our decoding algorithm is based on these projections of C(2,m). Our decoder uses Peterson’s decoding algorithm to obtain an information set of C(2,m) and with the information set obtain the correct codeword of C(2,m). But before we dive into details, we recall the following well known result for Reed-Solomon codes [13].

Proposition 18 (Petersen’s decoding algorithm):

An [n,k,d=nk+1] Reed–Solomon code can decode nk+12 errors with complexity 𝒪n3.

The following remark could be useful in understanding the technical lemmas that will be given later in this section.

Remark 19:

As earlier, let 𝒪δ be an orbit in G2,m with cardinality 𝒪δ=N, where N=qm1q1. We have seen that we may think the points of 𝒪δ as γi for some i, as γi represents point γi,γiδFq of 𝒪δ. Under this identification, 𝒪δ=1,γ,,γN1. Without loss of generality we may assume that the coordinates of Cδ(2,m) are indexed on the set 𝒪δ in this fixed order. The restriction of C(2,m) onto 𝒪δ is the code obtained by evaluating the functions Tq+1,Tq2+1,Tq2+q,,Tqm1+qm2 on 𝒪δ. We can decode it as a codeword of the Reed–Solomon code obtained by evaluating the monomials Tj,q+1jqm1+qm2 on 𝒪δ. However, the sparsity of the monomials Tqi+qj,0i<jm1 is useful in for decoding. Note that if f is spanned by the monomials Tqi+qj, then

fγjNT=γ2jNf(T) (5)

Since Fqm*=𝒪δγN𝒪δγ2N𝒪δγ(q2)N𝒪δ we can decode Ev(f) on Fqm* instead by extending the values from 𝒪δ to Fqm*. For example, let N=𝒪s and rFqN be the received word. We extend this word to rextFqqm1 as follows:

rext=(rγ2Nrγ4Nr||γ(2(q2))Nr).

Note that we used equation (5) to extend r to rext. The word rext is comprised of q1 multiples of r. The errors positions in r are replicated in each of the q1 copies of r. Identifying in this way, we may change the problem of decoding r as a codeword of Cδ(2,m), to a problem of decoding rext as a codeword of Reed–Solomon code generated by evaluating the same monomials Tqi+qj,0i<jm1 over Fqm*. This certainly increases our decoding capacity.

Definition 20:

Let C be a linear code. We say a procedure is a list decoder of size l correcting τ errors if given a received word rFqn the algorithm outputs a list L of codewords such that L contains all codewords at distance τ or less from r.

The classical Guruswami–Sudan algorithm list decoder can correct more than nk+12 errors for a [n,k,d] Reed–Solomon code. It can correct up to n1n(k1) errors with a polynomial list size. We propose a slightly different list decoder. Instead of performing polynomial interpolation to find codewords close to the received word, we decode all possible values of the highest degree term. For example: take the [15, 5, 11] Reed–Solomon code obtained by evaluating the polynomials of degree 4 or less on the 15 nonzero points of F16. The code can correct 5 errors. That is, given r=c+e where c=Ev(f), deg(f)4 and wt(e)5 we can determine f(X) such that Ev(f)=c. We are going to decode a subcode of the [15, 5, 11] Reed–Solomon code, Csub. This subcode is the code obtained by the evaluations of 1,X,X2,X4. The monomial X3 is not part of Csub. Since Csub is a subcode of a [15, 5, 11] code we can correct 5 errors. We propose a slightly expensive way of correcting 6 errors. Suppose that the evaluation of f(X)=1+X2+X4 was sent and 6 errors occurred. We propose that to decode 6 errors, instead of decoding with a classical list decoder, we try to decode the 16 combinations raEvX4 for aF16. We know that when a=1 the evaluation caEvX4 corresponds to a codeword of the [15, 3, 13] Reed–Solomon code where we can correct 6 errors instead of 5. Because the monomial X3 is not part of Csub we know the coefficient corresponding to X3 is zero. To decode in the subcode [15, 3, 13] Reed–Solomon subcode spanned by 1,X and X2 we need only to check all 16 values of the coefficient of X4 instead of all 256 values of both the coefficient of X4 and X3. Our code of interest, the code Cδ(2,m) is obtained by evaluating the monomials T3,T5,T6,T9,T10,T12. Since we know our codeword is the evaluation of a polynomial with no term of the form T11, decoding all possibilities for the coefficient of T12 will contain a received word from a polynomial of degree 10 or less. This leads to an improvement of the decoding radius at the expense of decoding each codeword 16 times.

By correcting 6 errors, we mean that if 6 errors or less occur, then we can always find a closest codeword to the received word. It may be counter intuitive to correct 6 errors with a [15, 5, 11] Reed–Solomon code. However, if we compare our received word to all 165 possible codewords, then we surely may be able to find a closest codeword to our received word and decode 6 errors. In our case we need not go as far as checking all possible coefficients. Since the projection C(2,m)𝒪δ is a subcode of a Reed–Solomon code generated by the evaluation of a sparse set of monomials, one needs to check only the possibilities for the coefficient of the highest term to obtain a significant improvement of the decoding radius. Having to check all possibilities for all coefficients would lead to an exponential complexity decoder. In our case, we need only to check one, which makes our decoder have polynomial complexity.

In the following algorithm we denote by RSDecoder (L,k,r) the output of decoding the received word r as a received codeword from a Reed–Solomon of dimension k evaluated at L. For the next lemma we assume that 𝒪δ is an orbit of G2,m with 𝒪δ=N and 𝒪δ=1,γ,,γN1 as in remark 19. We also fix the order.

Algorithm 1.

Input: a received word r=c+e where cCδ(2,m).
ListRS ← [ ].
for aFqm do
rariaαiqm1+qm2
rextraγ2Nraγ4Nra||γ2(q2)Nra.
cRSDecoderFqm*,qm1+qm3q1,rext.
 Append c to ListRS
end for

Lemma 21:

We can list–decode up to τ=qm1qm1+qm2q12(q1) errors for the code Cδ(2,m) with complexity 𝒪qmqm13 and list size qm.

Proof:

The proof is little technical. Let cCδ(2,m) be a codeword transmitted through a noisy channel and let r=c+e be the received word with error e satisfying wtH(e)τ. The codeword cCδ(2,m) means there exist a polynomial

f(T)=0i<jm1ai,jTqi+qj

such that fγi=ci+1, where c=c1,,cN. For each aFqm, let saFqN be the word defined by aγiqm1+qm20iN1. Note that sia’s are the evaluation of monomial aTqm1+qm2 on γi, i.e, on points of 𝒪δ. For every aFqm, we extend ra=rsa to rexta and decode rexta as a codeword from a Reed–Solomon code spanned by Ts for q+1sqm1+qm3. This is possible due to equation (5) and the fact that the corresponding Reed-Solomon code can correct up to (q1)τ errors. Note that for the unique value of a=ai,j for i=qm2 and j=qm1, the word rexta decode as

ga(T)=01<jm1,1m2ai,jTqi+qj.

Consequently, we get a list of qm polynomials, namely, ga(T)+aTqm2+qm1. Among this list, there will be exactly one aFqm, for which the polynomial ga(T)+aTqm2+qm1 is the sent codeword. ■

In the next lemma we express the number of elements in a field extension not lying in any proper subfield of the extension field. This number counts some the orbits of the Grassmannian which contain an information set. These orbits will be useful for decoding C(2,m).

Proposition 22:

Let m4 be a positive integer and let Fqm be a finite field with qm elements. If m is a prime or m8, then there are at least qmqm3+1 elements αFqm such that Fq[α] is not any proper subfield of Fqm.

Proof:

When m is prime, the statement follows trivially. Now assume m8 and p1,,ps are all distinct primes ( in descending order) dividing m. Let mi=m/pi. Let F be any proper subfield of Fqm satisfying FqFFqm. Then F is contained in a unique subfield of order mi for some 1is. Therefore, to establish the proposition, we only need to show that

qm1++qmsqm3.

But this will follow as

qm1++qms<qm1++q+1=qm1+11q1<qm1+1.

Therefore, we now only need to show that m1+1m3. Now, 2 is the smallest prime that can divide m, we get m1m/2. Thus, we have

m1+1m/2+1m3m8.

This completes the proof of the Proposition. ■

The next lemma is an important step in proposing the decoder for Grassmann code C(2,m). In this lemma, we give the error distribution and prove that if the transmitted codeword is not too corrupt, there will always be an orbit 𝒪δ of G2,m with an information set such that the projection the received word onto this orbit is also not too corrupt and we can apply Reed-Solomon decoder. Now suppose cC(2,m) is the transmitted codeword and r is the received codeword with error e

Lemma 23:

In the above setting, if less than q2m42 errors occurred, i.e., wtH(e)q2m42, then there exists an orbit 𝒪δ of G2,m of size N=qm1q1 which contains at most qm1qm1+qm3q12(q1) errors and Fq[δ] is not contained in any proper subfield of Fqm.

Proof:

The proof is divided into two parts. First, we prove the lemma for the case m8 or m is a prime and then deal with the cases m=4,6 separately. So let us assume that m8 or m is a prime. In that case, Proposition 22 guarantees that there are at least qmqm3 elements such that Fq[δ] does not lie in any proper subfield of Fqm. In particular, there will be at least qmqm3 elements that will lie in orbits of size N. Also, from lemma 10, we know that each such orbit contains q3q elements from these qmqm3 elements. If there are less than q2(m2)/2 errors, the average error per orbit with information set is

q2m42q3qqmqm3

It is easy to verify now that

q2m42q3qqmqm3qm1qm1+qm3q12q1.

Next, if m=4, then there are q4q2 elements in Fq4 that does not lie in Fq2. In particular, these points lie on orbits of size N and each such orbit contains exactly q3q elements. Moreover, these orbits contains an information set. Note that,

q42q3qq4q2q41q3+qq12q1.

Thus, the average error per orbit with information set is less than the error correction capacity.

The case m=6 is similar to the case m=4. There are q6q3q2+q elements such that Fq[δ] is not contained in a proper subfield of Fq6. Further each such orbit contains exactly q3q elements among these. Thus there are q6q2q2+qq3q orbits of size N and these orbits contains an information set. If there are less than q8/2 errors, the average error per orbit with information set is

q82q3qq6q3q2q.

Now it is straightforward to verify that

q82q3qq6q3q2+qq61q5+q3q12(q1).

This completes the proof of the lemma. ■

Now we are ready to prove the main result of this article. In the next theorem, we give a decoding algorithm for the Grassmann code C(2,m) which decodes up to (d1)/2 errors. It applies Algorithm 1 at each orbit 𝒪δ with an information set and recovers a codeword from C(2,m) using the codeword recovered from Cδ(2,m). It returns the closest such codeword to the received word.

Algorithm 2 works is by outputting the closest codeword from a long list of candidates. The algorithm takes the received word r and looks at the subword r𝒪δ given by the positions of r on each orbit 𝒪δ with an information set. At each orbit 𝒪δ there are qm candidates (one for each possible leading term). If any of the qm candidates decodes successfully we extend it to a codeword of C(2,m). If this candidate codeword is the first codeword found or is closest to r than the previous candidate codeword, then it is stored as the current candidate codeword cout. This process continues checking all orbits 𝒪δ with an information set. At the end, the algorithm outputs the candidate codeword cout.

If less than D2 errors occurred the algorithm is guaranteed to work. Lemma 23 implies there is a clean orbit 𝒪c with few errors. When we decode the qm candidates on this clean orbit we are guaranteed that one of the qm candidates will decode r𝒪c correctly as a codeword of the corresponding Reed–Solomon code. Since 𝒪c contains an information set of C(2,m), that candidate codeword cclean is at distance <D2 to r. No other candidate codeword is closer to the received word r to a codeword with the same information set as cclean. Therefore D2 errors are corrected. We state the algorithm and prove its correctness as follows.

Theorem 24:

Let m4 and let C(2,m) be the corresponding Grassmann code. Let d=q2(m2). Suppose r=c+e where cC(2,m). If wtH(e)<d2, then Algorithm 2 returns c.

Proof:

Let c be the sent codeword of C(2,m) and r=c+e where wtH(e)<q2mm42. Algorithm 2 projects r onto all orbits 𝒪δ with an information set. Since wtH(e)<d2, Lemma 23 implies there is an orbit 𝒪δ where the projection rOδ has less than qm1qm1+qm3q12(q1) errors. Therefore there is one codeword in the output of 𝒪δ which contains the same information set as the sent codeword c. Since wtH(e)<d2, c is closest to r than any other codeword. Therefore once the algorithm loops through 𝒪δ, cout will be set to c and it will remain unchanged. Therefore c is the output of the algorithm. ■

Algorithm 2.

Input: a received word r=c+e where cC(2,m).
cout()
for 𝒪δ in the set of orbits containing an information set. do
CodewordsAlgorithm 1r𝒪δ
for c𝒪δ Codewords do
  c′ ← extend the codeword c𝒪δ to a codeword in C(2,m) with the same information bits as c𝒪δ.
  if dc,r<dcout,r then
   coutc
  end if
end for
end for
Return cout.

Note that the length of the Grassmann code C(2,m) is m2q=qm1qm11q21(q1) which is of the order q2(m2).

Theorem 25:

Algorithm 2 decodes a codeword of C(2,m) with complexity 𝒪q5m=𝒪n52, where n is the length of the code C(2,m).

Proof:

The algorithm decodes a codeword of a Reed–Solomon code of length n=qm1 for each orbit 𝒪δ with an information set. If m is odd, there are qm11q21 orbits of size qm1q1. If m is even there are qqm21q21 of size qm1q1. In either case, the number of orbits on which we project and decode is 𝒪qm3. The Reed–Solomon decoding algorithm has complexity 𝒪q3m. Therefore the complexity of the decoding algorithm on each orbit is 𝒪q4m. As there are 𝒪qm3 orbits, the overall complexity is 𝒪q5m. ■

VI. Decoding Example

In this section we decode errors for the C(2,4) binary Grassmann code.

A. Decoding C(2,4)

The code C(2,4) is a [35, 6, 16] code. We aim to correct 7 errors. As mentioned in Example 4 G2,4 has two orbits of size 15 and one orbit of size 5. If F16=F2[γ] where γ4=γ+1, then the two orbits of size 15 are the ones containing 1,γ and 1,γ2 respectively. The orbit of size 5 is the one containing the space 1,γ5. On each orbit of size 15, the code Cδ(2,4) is a subcode of a Reed–Solomon code obtained by evaluating the monomials T3,T5,T6,T9,T10,T12 on the 15 nonzero points of F16*. Note that the Reed–Solomon code spanned by T3,T4,,T10,T11,T12 has distance 15(123)=6. We shall correct 3 errors by decoding as a codeword of the Reed–Solomon code spanned by T3,T4,,T10 instead. This means that we need to decode 16 possibilities, one for each possible coefficient of T12.

Let 𝒪1 be the orbit of 1,γ, 𝒪2 be the orbit of 1,γ2, and 𝒪3 be the orbit of 1,γ5. Suppose that the zero codeword was sent and that seven errors occurred; three errors in 𝒪1 and four errors in 𝒪2. The orbit 𝒪3 does not contain an information set and is ignored by our algorithm. Let r be the received word. We shall assume that r restricted to each orbit is

r1:=r𝒪1=(1,1,1,0,0,0,0,0,0,0,0,0,0,0,0)

and

r2:=r𝒪2=1,1,1,1,0,0,0,0,0,0,0,0,0,0,0.

Denote by EvLT12=γ12ii=012 the evaluation vector of the monomial T12.

Our decoding algorithm is as follows. First try to decode on 𝒪1. For each aF16 let sa=aγ12ii=012 and ra=r1sa, then decode ra as a Reed–Solomon codeword spanned by the evaluation of T3,T4,,T10. In this way we consider all possibilities for the coefficient of T12. We have implemented this decoder in SAGEMATH [19]. We get 16 possible codewords.

0

aT12+aT10+a2T9+T8+(a3+a2+1)T6+a2T5+aT4+(a+1)T3

a2T12+(a2+a)T10+(a+1)T9+a2T8+aT6+(a2+a+1)T5+aT4+(a2+1)T3

a3T12+a2T10+(a3+a2)T9+(a3+a2+a+1)T8+(a2+a)T6+(a+1)T5+(a2+a+1)T4+(a3+a2+a+1)T3

(a+1)T12+(a3+a2+a)T10+(a2+1)T9+a3T8+(a3+a+1)T5+(a2+a+1)T4+aT3

(a2+a)T12+a2T10+(a2+a+1)T9+(a3+a+1)T8+a3T6+(a+1)T5+aT4+(a2+a)T3

(a3+a2)T12+aT10+(a3+a2+a+1)T9+aT8+(a3+1)T6+a2T5+(a3+a2+1)T4+(a3+a)T3

(a3+a+1)T12+(a3+a)T10+(a3+1)T9+(a+1)T8+a2T6+a3T5+(a+1)T4+(a3+a2+1)T3

(a2+1)T12+(a3+a)T10+aT9+(a2+1)T8+(a3+a+1)T6+a3T5+(a3+a)T4+a2T3

(a3+a)T12+(a2+a)T10+a3T9+(a3+a2)T8+(a3+a)T6+(a2+a+1)T5+(a2+1)T4+(a3+a2)T3

(a2+a+1)T12+a3T10+(a2+a)T9+(a3+a2+a+1)T8+(a3+a)T6+(a3+a2)T5+(a3+a2+a)T4+(a2+a+1)T3

(a3+a2+a)T12+(a3+a+1)T9+(a3+a2+a+1)T8+aT6+(a3+a2+1)T4+(a3+1)T3

(a3+a2+a+1)T12+(a3+a2)T10+(a3+a)T9+(a3+a2+1)T8+(a+1)T6+(a3+a2+a+1)T5+aT4+a3T3

(a3+a2+1)T12+(a3+a2+a)T10+(a3+a2+a)T9+(a2+1)T8+(a+1)T6+(a3+a+1)T5+(a2+a)T4+(a3+a+1)T3

(a3+1)T12+a3T10+(a3+a2+1)T9+(a2+1)T8+(a+1)T6+(a3+a2)T5+(a2+1)T4+(a3+a2+a)T3

T12+(a3+a2)T10+T9+(a3+a2)T8+(a2+a)T6+(a3+a2+a+1)T5+T4+T3

It seems there are 16 possible codewords for the received word. However, only the zero codeword is in the span of T3,T5,T6,T9,T10,T12. All other polynomials contain T8 and T4, which implies they do not correspond to a codeword of Cδ(2,4) nor C(2,4).

Now we decode on 𝒪2. For each aF16 let ra=r2sa. We decode ra as a Reed–Solomon codeword spanned by the evaluation of T3,T4,,T10. We get 16 possible codewords:

(a+1)T10+(a2+a)T8+a3T6+(a2+1)T5+(a3+a2+a+1)T4

aT12+aT10+a2T9+T8+(a3+a2+1)T6+a2T5+aT4+(a+1)T3

a2T12+a2T10+(a+1)T9+(a3+a2)T8+T6+(a+1)T5+a2T4+(a2+1)T3

a3T12+a3T10+(a3+a2)T9+(a2+a)T8+(a3+a2)T6+(a3+a2)T5+(a3+a2+a)T4+(a3+a2+a+1)T3

(a+1)T12+(a+1)T10+(a2+1)T9+(a3+a2+1)T8+(a3+a)T6+(a2+1)T5+T4+aT3

(a2+a)T12+(a2+a)T10+(a2+a+1)T9+(a3+a2+1)T8+(a3+1)T6+(a2+a+1)T5+T4+(a2+a)T3

(a3+a2)T12+(a3+a2)T10+(a3+a2+a+1)T9+(a3+a)T8+(a+1)T6+(a3+a2+a+1)T5+(a2+a+1)T4+(a3+a)T3

(a3+a+1)T12+(a3+a+1)T10+(a3+1)T9+(a3+a+1)T8+(a3+a2+a+1)T6+(a3+1)T5+(a3+a2+1)T4+(a3+a2+1)T3

(a2+1)T12+(a2+1)T10+aT9+(a2+a+1)T6+aT5+(a+1)T4+a2T3

(a3+a)T12+(a3+a)T10+a3T9+(a2+a+1)T8+(a3+a2)T6+a3T5+(a3+a2+1)T4+(a3+a2)T3

(a2+a+1)T12+(a2+a+1)T10+(a2+a)T9+T8+(a3+1)T6+(a2+a)T5+(a3+a2+1)T4+(a2+a+1)T3

(a3+a2+a)T12+(a3+a2+a)T10+(a3+a+1)T9+(a3+a+1)T8+(a2+a)T6+(a3+a+1)T5+(a+1)T4+(a3+1)T3

(a3+a2+a+1)T12+(a3+a2+a+1)T10+(a3+a)T9+(a2+a+1)T8+aT6+(a3+a)T5+(a3+a2)T4+a3T3

(a3+a2+1)T12+(a3+a2+1)T10+(a3+a2+a)T9+(a2+a)T8+T6+(a3+a2+a)T5+(a+1)T4+(a3+a+1)T3

(a3+1)T12+(a3+1)T10+(a3+a2+1)T9+(a3+a)T8+(a3+1)T6+(a3+a2+1)T5+(a2+1)T4+(a3+a2+a)T3

T12+T10+T9+(a3+a2)T8+T6+T5+a3T4+T3

It seems there are 16 more possible codewords for the received word. However all polynomials contain T8 and T4, which implies they do not correspond to a codeword of C(2,4). Therefore we recover 0 as the sent codeword.

B. Decoding a nontrivial codeword

Now we shall decode the codeword given by Ev(det[12](X)). We recall that F16=F2[a] where a4=a+1. We take the powers 1,a,a2,a3 as a basis of F16 over F2. Its dual basis is given by a3+1,a2,a,1. If the vector space W=x,y where x=x0+x1a+x2a2+x3a3 and y=y0+y1a+y2a2+y3a3 then the function

det[12}(W)=TrF16/F2((a3+1)x)TrF16/F2(a2y)TrF16/F2(a2x)TrF16/F2((a3+1)y)

On the orbit 𝒪1, W=x,ax and

det{12}(W)=TrF16/F2((a3+1)x)TrF16/F2(a3x)TrF16/F2(a2x)TrF16/F2((a4+a)x)
det{12}(W)=TrF16/F2((a3+1)x)TrF16/F2(a3x)TrF16/F2(a2x)TrF16/F2((a4+a)x)
det{12}(W)=ax12+(a2+a+1)x10+a2x9+(a2+1)x6+(a2+a)x5+(a+1)x3.

On the orbit 𝒪2,W=x,a2x and

det{12}(W)=TrF16/F2((a3+1)x)TrF16/F2(a4x)+TrF16/F2(a2x)TrF16/F2((a5+a2)x).
det{12}(W)=(a3+a2)x12+(a2+a+1)x10+(a3+a2a+1)x9+a3x6+(a2+a)x5+(a3+a)x3.

Suppose c=Ev(det{12}(X)) is the intended codeword. The codeword restricted to 𝒪1 is equal to (1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0). The codeword restricted to 𝒪2 equals: (0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1). As in the previous case, we shall assume there are three errors on 𝒪1 and four errors in 𝒪2.

When we attempt to decode (0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0) on the orbit 𝒪1 we get the following candidate codewords:

(a2+1)x10+x8+a3x6+ax5+ax4

ax12+(a2+a+1)x10+a2x9+(a2+1)x6+(a2+a)x5+(a+1)x3

a2x12+(a+1)x10+(a+1)x9+(a3+a+1)x8+(a3+a2+1)x6+(a2+1)x5+ax4+(a2+1)x3

a3x12+x10+(a3+a2)x9+(a3+a2)x8+(a3+a2+a+1)x6+x5+(a2+1)x4+(a3+a2+a+1)x3

(a+1)x12+(a3+a+1)x10+(a2+1)x9+(a3+a2)x8+(a+1)x6+(a3+1)x5+x4+ax3

(a2+a)x12+x10+(a2+a+1)x9+a2x8+(a2+a+1)x6+x5+ax4+(a2+a)x3

(a3+a2)x12+(a2+a+1)x10+(a3+a2+a+1)x9+(a3+a2+a+1)x8+(a2+a+1)x6+(a2+a)x5+(a3+a2+1)x4+(a3+a)x3

(a3+a+1)x12+(a3+a2+a+1)x10+(a3+1)x9+(a2+1)x8+(a2+a)x6+(a3+a)x5+(a2+1)x4+(a3+a2+1)x3

(a2+1)x12+(a3+a2+a+1)x10+ax9+(a3+a2+a+1)x8+(a3+a2+a+1)x6+(a3+a)x5+(a3+a2+a)x4+a2x3

(a3+a)x12+(a+1)x10+a3x9+(a3+a2+a+1)x8+(a+1)x6+(a2+1)x5+(a2+a+1)x4+(a3+a2)x3

(a2+a+1)x12+(a3+a2+1)x10+(a2+a)x9+(a2+1)x8+(a3+a2+a)x6+(a3+a2+a)x5+(a3+a)x4+(a2+a+1)x3

(a3+a2+a)x12+(a2+1)x10+(a3+a+1)x9+ax8+(a3+a2)x6+ax3+(a3+a2+1)x4+(a3+1)x3

(a3+a2+a+1)x12+(a3+1)x10+(a3+a)x9+(a2+1)x8+(a2+a)x6+(a3+a2+1)x5+(a2+a)x4+a3x3

(a3+a2+1)x12+(a3+a+1)x10+(a3+a2+a)x9+(a3+a2+1)x8+(a2+a)x6+(a3+1)x5+ax4+(a3+a+1)x3

(a3+1)x12+(a3+a2+1)x10+(a3+a2+1)x9+(a+1)x8+x6+(a3+a2+a)x5+(a+1)x4+(a3+a2+a)x3

x12+(a3+1)x10+x9+a3x8+(a2+1)x6+(a3+a2+1)x5+(a2+a+1)x4+x3

We remark that there is a candidate codeword for each possible leading monomial a12T12 since we attempt to decode for all possibilities of that leading term. Note that the only polynomial spanned by T3,T6,T6,T9,T10,T12 is the second entry of the list, corresponding to TrF16/F2((a3+1)x)TrF16/F2(a3x)TrF16/F2(a2x)TrF16/F2((a4+a)x). In this way, the original codeword is part of the list of possible codewords given by the decoding algorithm. We may recover the codeword by evaluating aT12+(a2+a+1)T10+a2T9+(a2+1)T6+(a2+a)T5+(a+1)T3 on 𝒪1 and extending the entries on an information set to the remaining positions of the codeword. One can also recover the function from the coefficients of the polynomial. Now we also consider what happens with 𝒪2 which has 4 errors. When we decode (1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1) on the orbit 𝒪2 we get the following possible codewords:

(a+1)T10+(a2+a)T8+a3T6+(a2+1)T5+(a3+a2+a+1)T4

aT12+aT10+a2T9+T8+(a3+a2+1)T6+a2T5+aT4+(a+1)T3

a2T12+a2T10+(a+1)T9+(a3+a2)T8+T6+(a+1)T5+a2T4+(a2+1)T3

a3T12+a3T10+(a3+a2)T9+(a2+a)T8+(a3+a2)T6+(a3+a2)T5+(a3+a2+a)T4+(a3+a2+a+1)T3

(a+1)T12+(a+1)T10+(a2+1)T9+(a3+a2+1)T8+(a3+a)T6+(a2+1)T5+T4+aT3

(a2+a)T12+(a2+a)T10+(a2+a+1)T9+(a3+a2+1)T8+(a3+1)T6+(a2+a+1)T5+T4+(a2+a)T3

(a3+a2)T12+(a3+a2)T10+(a3+a2+a+1)T9+(a3+a)T8+(a+1)T6+(a3+a2+a+1)T5+(a2+a+1)T4+(a3+a)T3

(a3+a+1)T12+(a3+a+1)T10+(a3+1)T9+(a3+a+1)T8+(a3+a2+a+1)T6+(a3+1)T5+(a3+a2+1)T4+(a3+a2+1)T3

(a2+1)T12+(a2+1)T10+aT9+(a2+a+1)T6+aT5+(a+1)T4+a2T3

(a3+a)T12+(a3+a)T10+a3T9+(a2+a+1)T8+(a3+a2)T6+a3T5+(a3+a2+1)T4+(a3+a2)T3

(a2+a+1)T12+(a2+a+1)T10+(a2+a)T9+T8+(a3+1)T6+(a2+a)T5+(a3+a2+1)T4+(a2+a+1)T3

(a3+a2+a)T12+(a3+a2+a)T10+(a3+a+1)T9+(a3+a+1)T8+(a2+a)T6+(a3+a+1)T5+(a+1)T4+(a3+1)T3

(a3+a2+a+1)T12+(a3+a2+a+1)T10+(a3+a)T9+(a2+a+1)T8+aT6+(a3+a)T5+(a3+a2)T4+a3T3

(a3+a2+1)T12+(a3+a2+1)T10+(a3+a2+a)T9+(a2+a)T8+T6+(a3+a2+a)T5+(a+1)T4+(a3+a+1)T3

(a3+1)T12+(a3+1)T10+(a3+a2+1)T9+(a3+a)T8+(a3+1)T6+(a3+a2+1)T5+(a2+1)T4+(a3+a2+a)T3

T12+T10+T9+(a3+a2)T8+T6+T5+a3T4+T3

None of the possible codewords given by 𝒪2 can correspond to a codeword of the projection C𝒪2(2,4) code nor a codeword of the C(2,4) Grassmann code since their evaluation polynomials contain the monomial T8. Out of the 32 possible codewords, only one is a possible codeword of the Grassmann code. In this way the original codeword is recovered.

C. Several codeword candidates

It may be possible that each orbit offers different candidates for the corresponding codeword. As before, let us assume that we are decoding 7 errors when decoding C(2,4). Suppose c=Ev(0) is the intended codeword. However we shall assume all seven enrors occur on 𝒪2. In particular the received word restricted to 𝒪1 is r𝒪1=(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0). The received word restricted to 𝒪2 is r𝒪2=(1,0,0,0,0,1,0,1,1,0,0,1,1,0,1). Note that the restriction of the received word on 𝒪2 is only one position away from the restriction of Evdet12(X) on 𝒪2. In this case we get a single candidate codeword from each orbit. The candidate codeword from 𝒪1 is the zero codeword. The candidate codeword from 𝒪2 is the evaluation of a3+a2T12+a2+a+1T10+a3+a2+a+1T9+ a3T6+a2+aT5+a3+aT3, which corresponds to the codeword given by Evdet12(X)). The distance of Ev(0) to the received word is 7. The distance of the received word to Evdet12(X) is 9. Since the closest codeword is Ev(0) the algorithm outputs Ev(0) thereby correcting the 7 errors correctly.

VII. Acknowledgements

During this work reported in this article, the first named author was supported by the National Institute of General Medical Sciences of the National Institutes of Health under Award Number R25GM121270. The content is solely the responsibility of the authors and does not necessarily represent the official views of the National Institutes of Health. The second named author would like to express his gratitude to the Indo-Norwegian project supported by Research Council of Norway (Project number 280731), and the DST of Govt. of India. Some part of the research was carried out when the second named author was at UiT: The Arctic University of Norway.

Contributor Information

Fernando L. Piñero, Department of Mathematics, University of Puerto Rico in Ponce, 2151 Ave. Santiago de los Caballeros, Ponce, P.R. 00716-7186.

Prasant Singh, Department of Mathematics, Indian Institute of Technology Jammu, NH-44, PO Nagrota, Jagti, Jammu and Kashmir 181221..

References

  • [1].Beelen P and Piñero F, The structure of dual Grassmann codes, Des. Codes Cryptogr. 79 (2016), 451–470. [Google Scholar]
  • [2].Beelen P and Singh P, Point-line incidence on Grassmannians and majority logic decoding of Grassmann codes, Finite Fields Appl. 73 (2021), 101843. [Google Scholar]
  • [3].Chen H, On the minimum distance of Schubert codes, IEEE Trans. Inform. Theory 46 (2000), 1535–1538. [Google Scholar]
  • [4].Ghorpade SR and Lachaud G, Higher weights of Grassmann codes, Coding Theory, Cryptography and Related Areas (Guanajuato, 1998), Buchmann J, Hoeholdt T, Stichtenoth H and Tapia-Recillas H Eds., Springer-Verlag, Berlin, (2000), 122–131. [Google Scholar]
  • [5].Ghorpade SR and Kaipa KV, Automorphism groups of Grassmann codes, Finite Fields Appl. 23 (2013), 80–102. [Google Scholar]
  • [6].Ghorpade SR, Patil AR and Pillai HK, Decomposable subspaces, linear sections of Grassmann varieties, and higher weights of Grassmann codes, Finite Fields Appl. 15 (2009), 54–68. [Google Scholar]
  • [7].Ghorpade SR and Singh P, Minimum Distance and the Minimum Weight Codewords of Schubert Codes, Finite Fields Appl. 49 (2018), 1–28. [Google Scholar]
  • [8].Ghorpade SR and Tsfasman MA, Schubert varieties, linear codes and enumerative combinatorics, Finite Fields Appl. 11 (2005), 684–699. [Google Scholar]
  • [9].Guerra L and Vincenti R, On the linear codes arising from Schubert varieties, Des. Codes Cryptogr. 33 (2004), 173–180. [Google Scholar]
  • [10].Kleiman SL and Laksov D, Schubert calculus, Amer. Math. Monthly 79 (1972), 1061–1082. [Google Scholar]
  • [11].Kaipa K and Pillai H, Weight spectrum of codes associated with the Grassmannian G(3,7), IEEE Trans. Inform. Theory 59 (2013), 983–993. [Google Scholar]
  • [12].Manivel L, Symmetric functions, Schubert polynomials and degeneracy loci. Translated from the 1998 French original by John R. Swallow. SMF/AMS Texts and Monographs, 6. Cours Spécialisés [Specialized Courses], 3. American Mathematical Society, Providence, RI; Société Mathématique de; France, Paris, 2001. [Google Scholar]
  • [13].Peterson WW, Encoding and error-correction procedures for the Bose–Chaudhuri codes, IRE Trans. Inform. Theory IT–6 (1960), 459–470. [Google Scholar]
  • [14].Yu D. Nogin, Codes associated to Grassmannians, Arithmetic, Geometry and Coding Theory (Luminy, 1993), Pellikaan R, Perret M, Vlăduţ SG, Eds., Walter de Gruyter, Berlin, (1996), 145–154. [Google Scholar]
  • [15].Yu D. Nogin, The spectrum of codes associated with the Grassmannian variety G(3, 6), Problems of Information Transmission 33 (1997), 114–123 [Google Scholar]
  • [16].Ryan CT, An application of Grassmannian varieties to coding theory, Congr. Numer. 157 (1987), 257–271. [Google Scholar]
  • [17].Ryan CT, Projective codes based on Grassmann varieties, Congr. Numer. 157 (1987), 273–279. [Google Scholar]
  • [18].Singh P, Majority Logic Decoding for Certain Schubert Codes Using Lines in Schubert Varieties, IEEE Trans. Inform. Theory 68 (2022), 795–805. [Google Scholar]
  • [19].SageMath, the Sage Mathematics Software System (Version 9.5.0), The Sage Developers, 2022, https://www.sagemath.org. [Google Scholar]
  • [20].Tsfasman M, Vlăduţ S and Nogin D, Algebraic Geometric Codes: Basic Notions, Mathematical Surveys and Monographs, 139. American Mathematical Society, Providence, RI, 2007. [Google Scholar]
  • [21].Xiang X, On The Minimum Distance Conjecture For Schubert Codes, IEEE Trans. Inform. Theory 54 (2008), 486–488. [Google Scholar]

RESOURCES