Content uploaded by Gloria Serrano Sotelo
Author content
All content in this area was uploaded by Gloria Serrano Sotelo
Content may be subject to copyright.
arXiv:1107.2059v1 [cs.IT] 11 Jul 2011
ONE DIMENSIONAL CONVOLUTIONAL GOPPA CODES
OVER THE PROJECTIVE LINE
J.A. DOM´
INGUEZ P´
EREZ, J.M. MU ˜
NOZ PORRAS AND G. SERRANO SOTELO
Abstract. We give a general method to construct MDS one-dimensional con-
volutional codes. Our method generalizes previous constructions [5]. Moreover
we give a classification of one-dimensional Convolutional Goppa Codes and
propose a characterization of MDS codes of this type.
Introduction
One of the main problems in coding theory is the construction of codes with a
large distance, such as so-called MDS codes.
The aim of this paper is to give a very general method to construct one-
dimensional MDS convolutional codes using the techniques developed in our pre-
vious papers [1, 2, 3].
In Section 1 we give a general introduction to convolutional codes, reformu-
lated in terms that enables a good understanding of the choices of the generator
matrices and the submodules generated by them. The treatment is fairly self-
contained, with only a few references for proofs of certain statements. Moreover,
a characterization of one-dimensional MDS convolutional codes in terms of their
associated block linear codes is given (Theorem 1.11).
In Section 2 we describe the notion of Convolutional Goppa Code, introduced
in [1] and [2] and we recall the construction of convolutional Goppa codes over
the projective line. We use this construction in Section 3 to give families of
examples of one-dimensional convolutional Goppa codes; moreover, we prove,
using Theorem 1.11, that they are MDS. This is the main result in this paper.
The examples constructed in [5] are particular cases of ours.
Finally, we give in Section 3.1 a classification of one-dimensional convolutional
Goppa codes defined over the projective line, which could give rise to a charac-
terization of MDS convolutional Goppa codes of dimension one.
1. Convolutional codes
Given a finite field Fq, representing the symbols in which an information word
u∈Fk
qis written, each k×nmatrix of rank kwith entries in Fqdefines an
injective linear map
Fk
q
G
−→ Fn
q
u7→ x=uG,
This work was partially supported by the research contracts MTM2009-11393 of the Spanish
Ministry for Science and Innovati´on.
J.A. Dom´ınguez P´erez, J.M. Mu˜noz Porras and G. Serrano Sotelo are in the Department of
Mathematics, University of Salamanca, Plaza de la Merced 1-4, 37008 Salamanca, Spain (email:
jadoming@usal.es, jmp@usal.es, and laina@usal.es).
1
2 J.A. DOM´
INGUEZ P´
EREZ, J.M. MU ˜
NOZ PORRAS AND G. SERRANO SOTELO
whose image subspace is the linear code C=ImG ⊆ Fn
qof length n, dimension
k, and rate k/n.Gis called a generator matrix of the code, and G′is another
generator matrix of the code if there exists an element B∈GL(k, Fq) such that
G′=B· G.
In practical applications, the codification process is not limited to a single
word, but to a sequence of information words depending on time, ut∈Fk
q,t≥0,
which after the codification are transformed into the sequence of codified words
xt=utGand xtat the instant tdepends only on the information word utat the
same instant t.
The basic idea of convolutional codification is to allow xtto depend not only
on utbut also on ut−1, . . . , ut−mfor some positive integer m, which is the memory
of the code. If one denotes a sequence of words as a polynomial vector u(z) =
X
t=0
utzt∈Fq[z]kand the product by zias a delay operator,ziu(z) = X
t=0
utzt+i=
X
t=i
ut−izt,each k×nmatrix Gof rank kwith entries in Fq[z] defines an injective
morphism of Fq[z]-modules
Fq[z]kG
−→ Fq[z]n
u(z)7→ x(z) = u(z)G
and one says that the image submodule is a convolutional code,C=ImG ⊆
Fq[z]n, of length nand dimension k, and that Gis a generator matrix of C. One
can then define a rate k/n convolutional code Cas a submodule of rank kof Fq[z]n.
If we allow the possibility of performing feedback, then we can reverse the delay
and define convolutional codification over the field of fractions, Fq(z), of Fq[z].
Definition 1.1. A rate k/n convolutional code Cover Fqis a Fq(z)-linear sub-
space of dimension kof Fq(z)n. The integers (n, k)are called, respectively, the
length and dimension of the convolutional code.
Each generator matrix Gof Cwith entries in Fq(z) defines an injective linear
encoding map:
Fq(z)kG
−→ Fq(z)n
u(z)7→ x(z) = u(z)G,such that ImG=C.
Given two generator matrices Gand G′of the convolutional code C, there exists
an element B∈GL(k, Fq(z)) such that G′=B· G.
If Gand G′are polynomial generator matrices of C, that is, with entries in Fq[z],
then their image submodules, as morphisms of Fq[z]-modules Fq[z]kG,G′
−−→ Fq[z]n,
satisfy
ImG ⊗Fq[z]Fq(z) = C=ImG′⊗Fq[z]Fq(z);
although, they may be different: ImG 6=ImG′.
Thus, we are interested in polynomial generator matrices that define the same
submodule. The family of the polynomial generator matrices called basic ([4],
[6]), satisfies this property.
ONE DIMENSIONAL CONVOLUTIONAL GOPPA CODES OVER THE PROJECTIVE LINE 3
1.1. Basic generator matrices. Degree of a convolutional code.
Let C ⊆ Fq(z)nbe a (n, k) convolutional code.
Definition 1.2. A polynomial generator matrix Gof C,Fq[z]kG
−→ Fq[z]n, is basic
if any of the following equivalent conditions are satisfied:
(1) The quotient module Fq[z]n/ImGis free.
(2) The invariant factors of Gare all equal to one.
(3) The greatest common divisor of the order kminors of Gis equal to one.
(4) Ghas a right inverse in Fq[z].
The existence of basic matrices for all convolutional codes was proved in a
constructive way by Forney [4], using the Smith algorithm for the computation
of invariant factors ([3],Theorem 11.16).
Theorem 1.3. ([3]) Let Fq[z]kG,G′
−−→ Fq[z]nbe two polynomial generator matrices
of C. One has:
(1) If Gis basic and ImG ⊆ ImG′, then ImG=ImG′.
(2) If Gand G′are basic, then ImG=ImG′; that is, basic generator matrices
define the same submodule.
Theorem 1.4. ([3],[6])The family of the basic generator matrices is invariant
under the action of the unimodular group GL(k, Fq[z]). Thus, the number
δG=maximum degree of the order kminors of G
is the same for all basic encoders.
One can now consider an invariant associated with the code, namely, the degree
of the code, which is defined as follows:
Definition 1.5. The degree δof a convolutional code Cis
δ=δG,where Gis any basic encoder of C.
1.2. Minimal basic generator matrices. Canonical matrices.
In the implementation of convolutional codes as physical devices it is convenient
to find minimal encoders, in the sense that the corresponding circuit will have the
minimum possible quantity of memory boxes. The formalization of the concept
of minimality can be expressed in terms of the degree δof the code.
If Gis a polynomial generator matrix of C, one denotes by deg Gthe sum of its
row degrees.
Theorem 1.6. [4] For each (n, k)convolutional code of degree δthere exists at
least one basic generator matrix Gsuch that
δ= deg G.
Moreover,
deg G ≤ deg G′
for all polynomial encoders G′of the convolutional code.
These basic generator matrices were called minimal basic matrices by Forney
[4] or canonical matrices by McEliece [6].
4 J.A. DOM´
INGUEZ P´
EREZ, J.M. MU ˜
NOZ PORRAS AND G. SERRANO SOTELO
1.3. Dual code. Control matrix.
Given an (n, k)-convolutional code C ⊆ Fq(z)n, the dual code is the Fq(z)-
subspace defined by
C⊥={y(z)∈Fq(z)n/hx(z), y(z)i= 0 for every x(z)∈ C} ,
with respect to the pairing hx(z), y(z)i=Pn
i=1 xi(z)yi(z), where x(z) = (x1(z),...,
xn(z)) and y(z) = (y1(z),...,yn(z)) are in Fq(z)n.
Theorem 1.7. ([3],Theorem 11.28 ) C⊥is an (k, n −k) convolutional code with
the same degree as C.
One defines a control matrix for Cas a n−k×ngenerator matrix Hof its
dual code C⊥.
1.4. Weights and Free Distance.
The (Hamming) weight of a vector x= (x1,...,xn)∈Fn
qis given by w(x) =
#{i|xi6= 0}and the (Hamming) distance between x, y ∈Fn
qis defined as the
weight w(y−x).
In the case of convolutional codes, one needs an analogous notion for polynomial
vectors x(z) = (x1(z),...,xn(z)) ∈Fq[z]n.If one writes x(z)∈Fq[z]nas a
polynomial with vector coefficients,
x(z) = X
t
xtzt,where xt= (xt1,...,xtn)∈Fn
q,
then one can define a natural notion of weight in convolutional coding theory as
folows:
Definition 1.8. The weight of x(z)∈Fq[z]nis
w(x(z)) = X
t
w(xt).
Definition 1.9. The free distance of an (n, k)convolutional code C ⊆ Fq(z)nis
dfree = min{w(x(z)) |x(z)∈ C ∩ Fq[z]n, x(z)6= 0}.
In particular, if the degree of the code is zero, Cis a linear code and the (free)
distance is the (minimum) distance as linear code.
One says that a linear code C(n, k) is MDS if its Hamming distance attains the
Singleton bound n−k+ 1. Analogously one has:
Definition 1.10. A convolutional code is MDS if its free distance dfree attains
the generalized Singleton bound [7]; that is,
dfree = (n−k)(⌊δ/k⌋+ 1) + δ+ 1 ,
where n,kand δare respectively the length, dimension and degree of the convo-
lutional code, C(n, k, δ).
In order to compute the free distance of a one-dimensional convolutional code
C(n, 1, δ) in terms of the polynomial decomposition of a canonical generator ma-
trix
G=G0+G1z+G2z2+···+Gδzδ,
ONE DIMENSIONAL CONVOLUTIONAL GOPPA CODES OVER THE PROJECTIVE LINE 5
it is usefull to know the Hamming weights of the linear codes Gj, and of the linear
codes
Gj
.
.
.
G0
and
Gδ
.
.
.
Gδ−j
, for all 0 ≤j≤δ.
Theorem 1.11. If the codes Gjare MDS for all 0≤j≤δand the codes
Gj
.
.
.
G0
and
Gδ
.
.
.
Gδ−j
are (n, j + 1) linear codes and MDS for all 0≤j≤δ, then δ < n,
C(n, 1, δ)is a MDS convolutional code, and G=G0+G1z+G2z2+···+Gδzδis
a generator matrix.
Proof. Note first that since
Gδ
.
.
.
G0
has rank δ+ 1 and ncolumns, one has δ < n.
The polynomial codewords of the code C(n, 1, δ) have the form pj(z)G, where
pj(z)∈Fq[z] is a polynomial of degree j. Thus, pj(z) = a0+a1z+a2z2+···+ajzj,
with aj6= 0. Moreover, since the weight does not change as we multiply by z, we
can assume that a06= 0.
The polynomial coefficients of the codeword pj(z)Gare codewords of the linear
codes considered in the statement; thus, a lower bound Ijfor the weight w(pj(z)G)
is given by the sum of their minimal distances. One has:
I0=n(δ+ 1)
Ij= 2n+ 2(n−1) + 2(n−2) + ···+ 2(n−j+ 1) + (n−j)(δ−j+ 1) ,
for j≤δ
Iδ+i=Iδ+i(n−δ),for i≥0,
which leads to
Ij= (j+ 1)n+ (n−j)δ , for every j≥0.
Since Ij+1 −Ij=n−δ > 0, for j≥0, the free distance of the code is
dfree (C(n, 1, δ)) = I0=n(δ+ 1) .
Thus, C(n, 1, δ) is a MDS convolutional code.
Convolutional Goppa codes provide examples of this situation, as we shall see
later in this paper.
2. Summary of Convolutional Goppa Codes Theory
Let (X, OX) be a smooth projective curve over Fq(z) of genus g, and let ΣX
be the field of rational functions of X; we also assume that Fq(z) is algebraically
closed in ΣX.
Given a set p1,...,pnof ndifferent Fq(z)-rational points of X, if Opidenotes
the local ring at the point pi, with maximal ideal mpi, and tiis a local parameter
6 J.A. DOM´
INGUEZ P´
EREZ, J.M. MU ˜
NOZ PORRAS AND G. SERRANO SOTELO
at pi, one has the exact sequences
(1) 0→mpi→ Opi→ Opi/mpi≃Fq(z)→0
s(ti)7→ s(pi).
Let us consider the divisor D=p1+···+pn, with its associated invertible sheaf
OX(D). One has an exact sequence of sheaves
(2) 0 → OX(−D)→ OX→Q→0,
where the quotient Qis a sheaf with support at the points pi.
Let Gbe a divisor on Xof degree r, with support disjoint from D. Tensoring
the exact sequence (2) by the associated invertible sheaf OX(G), one obtains
(3) 0 → OX(G−D)→ OX(G)→Q→0.
For each divisor Fover X, let us denote their Fq(z)-vector space of global
sections by
L(F)≡Γ(X, OX(F)) = {s∈ΣX|(s) + F≥0},
where (s) is the divisor defined by s∈ΣX. Taking global sections in (3), one
obtains
0→L(G−D)→L(G)α
→Fq(z)×n
⌣
...×Fq(z)→...
s7→ (s(p1),...,s(pn)) .
Definition 2.1. ([1],[2])The convolutional Goppa code C(D, G)associated with
the pair (D, G)is the image of the Fq(z)-linear map
α:L(G)→Fq(z)n
Analogously, given a subspace Γ⊆L(G), one defines the convolutional Goppa
code C(D, Γ) as the image of α|Γ.
By construction, C(D, G) is a convolutional code of length nand dimension
k≡dim L(G)−dim L(G−D).
Under the condition 2g−2< r < n, the evaluation map α:L(G)֒→Fq(z)nis
injective, and the dimension of C(D, G) is
k=r+ 1 −g .
The dual convolutional Goppa code of the code C(D, G) is the Fq(z)-linear
subspace C⊥(D, G) of Fq(z)ngiven as in 1.3.
As we proved in [1, §3], the dual convolutional Goppa code C⊥(D, G) associated
with the pair (D, G) is the image of the Fq(z)-linear map β:L(K+D−G)→
Fq(z)n, given by
β(η) = (Resp1(η),...,Respn(η)) ,
where Kis the canonical divisor of rational differential forms over X.
Since we are taking 2g−2< r < n, the map βis injective, and C⊥(D, G) is a
convolutional code of length nand dimension
dim L(K+D−G) = n−(1 −g+r).
ONE DIMENSIONAL CONVOLUTIONAL GOPPA CODES OVER THE PROJECTIVE LINE 7
2.1. Convolutional Goppa Codes over the projective line.
Let X=P1
Fq(z)= Proj Fq(z)[x0, x1] be the projective line over the field Fq(z),
and let us denote by t=x1/x0the affine coordinate, by p0= (1,0) the origin
point, and by p∞= (0,1) the point at infinity.
Let us take p1,...,pndifferent rational points of P1and the divisors
D=p1+···+pn
G=rp∞−sp0, with 0 ≤s≤r < n
Since g= 0, the evaluation map α:L(G)→Fq(z)nis injective, and Imαdefines
a convolutional Goppa code C(D, G) of length nand dimension k=r−s+ 1.
If αi∈Fq(z), 1 ≤i≤n, is the local coordinate of the rational point pi∈P1
Fq(z),
so that
αi=aiz+bi, with ai6= 0 , bi∈Fq,
then, the matrix of the evaluation map αwith respect to the basis {ts, ts+1,...,tr}
of L(G) is the following generator matrix for the code C(D, G):
(4) G=
αs
1αs
2. . . αs
n
αs+1
1αs+1
2. . . αs+1
n
.
.
..
.
.....
.
.
αr
1αr
2. . . αr
n
.
We proved in [1, §5] that the parity-check matrix H, with respect to the basis
*dt
ts
n
Y
i=1
(t−αi)
,t dt
ts
n
Y
i=1
(t−αi)
,..., tn−r+s−2dt
ts
n
Y
i=1
(t−αi)+of L(K+D−G),
is:
(5) H=
h1h2. . . hn
h1α1h2α2. . . hnαn
.
.
..
.
.....
.
.
h1αn−r+s−2
1h2αn−r+s−2
2. . . hnαn−r+s−2
n
,
where hj=1
αs
j
n
Y
i=1
i6=j
(αj−αi)
.
3. One-dimensional Convolutional Goppa Codes over P1
Fq(z)
We shall construct two families of examples of one dimensional convolutional
codes over P1
Fq(z)with canonical generator matrices [6], whose free distance, dfree ,
attains the generalized Singleton bound, i.e., they are MDS convolutional codes
[7] (Theorems 3.1 and 3.2).
Let L(G) = hts, ts+1,...,triα
−→ Fq(z)nbe the evaluation map associated with
the divisors D=p1+···+pnand G=rp∞−sp0, 0 ≤s≤r < n, as in Section 2.
Let us denote by CGC(n, 1) the one-dimensional convolutional Goppa code
defined by restriction of the evaluation map αto the subspace
Γ = hts+ts+1 +···+tri ⊆ L(G).
8 J.A. DOM´
INGUEZ P´
EREZ, J.M. MU ˜
NOZ PORRAS AND G. SERRANO SOTELO
If aiz+bi, with ai6= 0 , bi∈Fq, is the local coordinate of the rational point
pi∈P1
Fq(z), a generator matrix for the code C GC (n, 1) is
G= r
X
i=s
(a1z+b1)i
r
X
i=s
(a2z+b2)i...
r
X
i=s
(anz+bn)i!
We shall describe particular cases of these codes and we shall prove that some
of these codes are MDS convolutional codes.
Theorem 3.1. If s=r, a generator matrix of the code CGC(n, 1) is:
(a1z+b1)r(a2z+b2)r... (anz+bn)r.
If we choose ai, bifor each 1≤i≤n, such that bi
ai
=ci−1, where cis a primitive
element of Fq, a generator matrix of the code CGC(n, 1) is:
G=ar
1(z+ 1)rar
2(z+c)rar
3(z+c2)r. . . ar
n(z+cn−1)r.
The matrix Gis canonical and the code defined by Gis MDS.
Proof. Gis clearly canonical.
The memory and the degree δof C GC(n, 1) are equal to r, so that the gener-
alized Singleton bound is n(r+ 1).
The polynomial decomposition of Gis
G=G0+G1z+G2z2+···+Grzr,where
Gj=r
jar
1ar
2cr−jar
3c2(r−j)··· ar
nc(n−1)(r−j),with j= 0,1,...,r,
It is clear that for all 0 ≤j≤rthe linear codes Gj,
Gj
.
.
.
G0
, and
Gr
.
.
.
Gr−j
are
MDS evaluation codes with Hamming distances equal to n,n−j, and n−j,
respectively. Then, as we proved in Theorem 1.11, the convolutional Goppa code
CGC(n, 1) is MDS.
Theorem 3.2. Let us consider the case when s= 0 (so that Γ = h1 + t+t2+
···tri), all bi’s are equal, bi=b, and ai=ai−1where ais an element of Fqwith
order(a)≥n. Then, the generator matrix of the code CGC(n, 1)
G= r
X
i=0
(z+b)i
r
X
i=0
(az +b)i...
r
X
i=0
(an−1z+b)i!,
is canonical and the code CGC(n, 1) is an MDS convolutional code of degree r
and free distance n(r+ 1).
Proof. If one denotes cj=Pr
m=jm
jbm−j, 0 ≤j≤r, the polynomial decomposi-
tion of Gis
G=G0+G1z+G2z2+···+Grzr,where
Gj=cj1aja2j··· a(n−1)j,with j= 0,1,...,r.
ONE DIMENSIONAL CONVOLUTIONAL GOPPA CODES OVER THE PROJECTIVE LINE 9
The linear codes Lj,i =
Gi
Gi−1
.
.
.
Gi−j
,0≤j≤i≤r , are also MDS evaluation
codes with Hamming distance d(Lj,i ) = n−j, and hence CGC(n, 1) is a MDS
convolutional Goppa code.
Remark 3.3. In the case bi= 0, a generator matrix of the above MDS code is:
G=
r
X
i=0
zi1aia2i. . . a(n−1)i
and we obtain the class of one dimensional MDS convolutional codes of parameters
(n, 1, r)constructed by Gluesing and Langfeld [5].
3.1. Classification of one-dimensional Convolutional Goppa Codes over
the projective line.
Each one-dimensional convolutional Goppa code over P1
Fq(z)is defined by a
subspace Γ of dimension one of the vector space L(G). We can therefore identify
the set of one-dimensional convolutional Goppa codes with the projective space
P(L(G)) which is a variety of dimension r−sover Fqsince L(G) = hts,...,tri.
Explicitly, each CGC of dimension one is given by a generator matrix defined
by:
Γ = hλsts+···+λrtriG
−→ Fq(z)n, λi∈Fq
G= r
X
i=s
λi(a1z+b1)i...
r
X
i=s
λi(anz+bn)i!
Let us consider the case s= 0. Here L(G) = h1,t,...,triand the set of C GC
of dimension one can be identified with the projective space Pr
Fqof dimension r.
The condition for a code to be MDS is an open condition in Pr
Fq([7] Lemma
4.1 and proof Theorem 2.10). Since we have proved in Theorem 3.2 the existence
of one dimensional convolutional Goppa codes of the MDS type, the set of MDS
Goppa Codes of dimension one is a dense open subset of Pr
Fq(considering Pr
Fq
as an algebraic variety). Essentially, this means that almost all one-dimensional
CGC are of MDS type.
In a forthcoming paper we shall give an explicit characterization of CGC of
dimension one that are of MDS type.
References
[1] J. M. Mu˜noz Porras, J. A. Dom´ınguez P´erez, J. I. Iglesias Curto and G. Serrano Sotelo,
“Convolutional codes of Goppa type,” IEEE Trans. Inform. Theory, vol. 52, pp. 340–344,
2006.
[2] J. A. Dom´ınguez P´erez, J. M. Mu˜noz Porras, and G. Serrano Sotelo, “Convolutional codes
of Goppa type,” Appl. Algebra Engrg. Comm. Comput., vol. 15, no. 1, pp. 51–61, 2004.
[3] J. A. Dom´ınguez P´erez, J. M. Mu˜noz Porras, and G. Serrano Sotelo, Algebraic geometry
constructions of convolutional codes, in Advances in algebraic geometry codes, pp. 365–391,
World Scientific, May 2008.
[4] G.D. Forney Jr, Convolutional codes I: Algebraic structure, IEEE Trans. Inform. Theory,
16 (3), 720–738, (1970).
10 J.A. DOM´
INGUEZ P´
EREZ, J.M. MU ˜
NOZ PORRAS AND G. SERRANO SOTELO
[5] H. Gluesing-Luerssen and B. Langfeld, “A class of one-dimensional MDS convolutional
codes,” Journal of Algebra and its Applications, vol. 5, pp. 505–520, 2006.
[6] R. J. McEliece, “The algebraic theory of convolutional codes,” in Handbook of coding theory,
Vol. I. Amsterdam: North-Holland, 1998, pp. 1065–1138.
[7] J. Rosenthal and R. Smarandache, “Maximum distance separable convolutional codes,”
Appl. Algebra Engrg. Comm. Comput., vol. 10, no. 1, pp. 15–32, 1999.