Noname manuscript No.
(will be inserted by the editor)

Multi-point Codes from the GGS Curves

arXiv:1706.00313v3 [] 29 Jun 2017

Chuangqiang Hu · Shudi Yang

Received: date / Accepted: date

Abstract This paper is concerned with the construction of algebraic geometric codes defined from GGS curves. It is of significant use to describe bases for
the Riemann-Roch spaces associated to some totally ramified places, which
enables us to study multi-point AG codes. Along this line, we characterize
explicitly the Weierstrass semigroups and pure gaps by an exhaustive computation of the basis for Riemann-Roch spaces from GGS curves. Additionally,
we determine the floor of a certain type of divisor and investigate the properties of AG codes. Finally, we apply these results to find multi-point codes
with excellent parameters. As one of the examples, a presented code with
parameters [216, 190, > 18] over F64 yields a new record.
Keywords Algebraic geometric codes · GGS curve · Weierstrass semigroup ·
Weierstrass pure gap
Mathematics Subject Classification (2010) 14H55 · 11R58

1 Introduction
In the early 1980s, Goppa [12] constructed algebraic geometric codes (AG
codes for short) from algebraic curves. Since then, the study of AG codes
becomes an important instrument in the theory of error-correcting codes.
Roughly speaking, the parameters of an AG code are good when the underlying curve has many rational points with respect to its genus. For this reason
C. Hu
Yau Mathematical Science Center, Tsinghua University, Peking 100084, P.R. China
E-mail: huchq@mail2.sysu.edu.cn
S. Yang
School of Mathematical Sciences, Qufu Normal University, Shandong 273165, P.R.China
E-mail: yangshudi7902@126.com

2

Chuangqiang Hu, Shudi Yang

maximal curves, that is curves attaining the Hasse-Weil upper bound, have
been widely investigated in the literature: for example the Hermitian curve
and its quotients, the Suzuki curve, the Klein quartic and the GK curve. In
this work we will study multi-point AG codes on the GGS curves.
In order to construct good AG codes we need to study Weierstrass semigroups and pure gaps. Their use dates back to the theory of one-point codes.
For example, the authors in [26,14,28,29] examined one-point codes from Hermitian curves and develop efficient methods to decode them. Korchmáros and
Nagy [19] computed the Weierstrass semigroup of a degree-three closed point
of the Hermitian curve. Matthews [24] determined the Weierstrass semigroup
of any r-tuple rational points on the quotient of the Hermitian curve. As is
known, Weierstrass pure gap is also a useful tool in coding theory. Garcia,
Kim and Lax improved the Goppa bound using arithmetical structure of the
Weierstrass gaps at one place in [9,10]. The concept of pure gaps of a pair
of points on a curve was initiated by Homma and Kim [15], and it had been
pushed forward by Carvalho and Torres [4] to several points. Maharaj and
Matthews [21] extended this construction by introducing the notion of the
floor of a divisor and obtained improved bounds on the parameters of AG
codes.
We mention that Maharaj [20] showed that Riemann-Roch spaces of divisors from fiber products of Kummer covers of the projective line, can be
decomposed as a direct sum of Riemann-Roch spaces of divisors of the projective line. Maharaj, Matthewsa and Pirsic [22] determined explicit bases for
large classes of Riemann-Roch spaces of the Hermitian function field. Along
this research line, Hu and Yang [16] gave other explicit bases for RiemannRoch spaces of divisors over Kummer extensions, which makes it convenient
to determine the pure gaps.
In this work, we focus our attention on the GGS curves, which are maximal
curves constructed by Garcia, Güneri and Stichtenoth [8] over Fq2n defined by
the equations
(
xq + x = y q+1 ,
2

yq − y = z m,

where q is a prime power and m = (q n + 1)/(q + 1) with n > 1 to be an
odd integer. Obviously the GGS curve is a generalization of the GK curve
initiated by Giulietti and Korchmáros [11] where we take n = 3. Recall that
Fanali and Giulietti [7] have investigated one-point AG codes over the GK
curves and obtained linear codes with better parameters with respect to those
known previously. Two-point and multi-point AG codes on the GK maximal
curves have been studied in [6] and [3], respectively. Bartoli, Montanucci and
Zini [2] examined one-point AG codes from the GGS curves. Inspired by the
above work and [16,5], here we will examine multi-point AG codes arising from
GGS curves. To be precise, an explicit basis for the corresponding RiemannRoch space is determined by constructing a related set of lattice points. The
properties of AG codes from GGS curves are also considered. Then the basis is

Multi-point Codes from the GGS Curves

3

utilized to characterize the Weierstrass semigroups and pure gaps with respect
to several totally ramified places. In addition, we give an effective algorithm
to compute the floor of divisors. Finally, our results will lead us to find new
codes with better parameters in comparison with the existing codes in MinT’s
Tables [25]. A new record-giving [216, 190, > 18]-code over F64 is presented as
one of the examples.
The remainder of the paper is organized as follows. Section 2 focuses on the
construction of bases for the Riemann-Roch space from GGS curves. Section
3 studies the properties of the related AG codes. In Section 4 we determine
the Weierstrass semigroups and the pure gaps. Section 5 devotes to the floor
of divisors from GGS curves. Finally, in Section 6 we employ the results in the
previous sections to construct multi-point codes with excellent parameters.

2 Bases for Riemann-Roch spaces from GGS curves
Throughout this paper, we always let q be a prime power and n > 1 be an
odd integer. The GGS curve GGS(q, n) over Fq2n is defined by the equations
(
xq + x = y q+1 ,
(1)
2
yq − y = z m,
where m = (q n +1)/(q +1). The genus of GGS(q, n) is (q −1)(q n+1 +q n −q 2 )/2
and there are q 2n+2 − q n+3 + q n+2 + 1 rational places, see [8] for more details.
Especially when n = 3, the equation (1) gives the well-known maximal curve
introduced by Giulietti and Korchmáros [11], the so-called GK curve, which
is not a subcover of the corresponding Hermitian curve.
Denote by Pα,β,γ the rational place
P of this curve except for the one centered at infinity P∞ . Take Qβ := αq +α=β q+1 Pα,β,0 where β ∈ Fq2 . Then
deg(Qβ ) = q. For later use, we write P0 := P0,0,0 and Q0 := P0 +P1 +· · ·+Pq−1 .
The following proposition describes some principle divisors from GGS curves.
Proposition 1 Let the curve GGS(q, n) be given in (1) and assume that αµ
with 0 6 µ < q are the solutions of xq + x = 0. Then we obtain
(1) div(x − αµ ) = m(q + 1)Pµ − m(q + 1)P∞ ,
(2) div(y − β)
P= mQβ − mqP∞ for β ∈ Fq2 ,
(3) div(z) = β∈F 2 Qβ − q 3 P∞ .
q

For convenience, we use Qν (0 6 ν 6 q 2 − 1) to represent the divisors Qβ
(β ∈ Fq2 ). In particular, Qν |ν=0 = Qβ |β=0 .
For a function field F , the Riemann-Roch vector space with respect to a
divisor G is defined by
n
o
L(G) = f ∈ F div(f ) + G > 0 ∪ {0}.

4

Chuangqiang Hu, Shudi Yang

Let ℓ(G) be the dimension of L(G). From the famous Riemann-Roch Theorem,
we know that
ℓ(G) − ℓ(W − G) = 1 − g + deg(G),
where W is a canonical divisor and g is the genus of the associated curve.
Pq−1
P 2 −1
In this section, we consider a divisor G := µ=0
rµ Pµ + qν=1
sν Qν + tP∞
from the GGS curve GGS(q, n). Actually, we can show that the Riemann-Roch
space L(G) is generated by some elements, say Ei,j,k for some i, j, k, and the
number of such elements equals ℓ(G). To see this, we proceed as follows.
Let j = (j1 , j2 , · · · , jq−1 ) and k = (k1 , k2 , · · · , kq2 −1 ). For (i, j, k) ∈
q2 +q−1
Z
, we define
Ei,j,k := z

i

q−1
Y

µ=1

jµ

(x − αµ )

2
qY
−1

(y − βν )kν .

(2)

ν=1

Pq−1
Pq2 −1
Set |j| = µ=1 jµ and |k| = ν=1 kν . Here and thereafter, we denote |v| to
be the sum of all the coordinates of a given vector v. By Proposition 1, one
can compute the divisor of Ei,j,k :
div(Ei,j,k ) =iP0 +

q−1
X

(i + m(q + 1)jµ )Pµ +

µ=1

2
qX
−1

(i + mkν )Qν

ν=1


− q 3 i + m(q + 1)|j| + mq|k| P∞ .

(3)

For later use, we denote by ⌊x⌋ the largest integer not greater thanx and

α
if
by ⌈x⌉ the smallest integer not less than x. It is easy to show that j =
β
and only if 0 6 βj − α < β, where β ∈ N and α ∈ Z.
Put r = (r0 , r1 , · · · , rq−1 ) and s = (s1 , s2 , · · · , sq2 −1 ). Let us define a set
2
of lattice points for (r, s, t) ∈ Zq +q ,
n
Ωr,s,t := (i, j, k) i + r0 > 0,
0 6 i + m(q + 1)jµ + rµ < m(q + 1) for µ = 1, · · · , q − 1,

or equivalently,

0 6 i + mkν + sν < m for ν = 1, · · · , q 2 − 1,
o
q 3 i + m(q + 1)|j| + mq|k| 6 t ,

n
Ωr,s,t := (i, j, k) i + r0 > 0,


−i − rµ
for µ = 1, · · · , q − 1,
jµ =
m(q + 1)


−i − sν
kν =
for ν = 1, · · · , q 2 − 1,
m

Multi-point Codes from the GGS Curves

5

o
q 3 i + m(q + 1)|j| + mq|k| 6 t .

(4)

The following lemma is crucial for the proof of our key result. However,
the proof of this lemma is technical, and will be completed later.
Lemma 1 The number of lattice points in Ωr,s,t can be expressed as:
#Ωr,s,t = 1 − g + t + |r| + q|s|,
o
n
for t > 2g − 1 − q 3 w, where w = min 06µ6q−1 rµ , sν .
16ν6q2 −1

Pq−1
Pq2 −1
Let G :=
µ=0 rµ Pµ +
ν=1 sν Qν + tP∞ . It is trivial that deg(G) =
|r| + q|s| + t. Now we can easily prove the main result of this section.
Pq−1
P 2 −1
sν Qν + tP∞ . The elements Ei,j,k
Theorem 1 Let G := µ=0
rµ Pµ + qν=1
with (i, j, k) ∈ Ωr,s,t constitute a basis for the Riemann-Roch space L(G). In
particular ℓ(G) = #Ωr,s,t .
Proof Let (i, j, k) ∈ Ωr,s,t . It follows from the definition that Ei,j,k ∈ L(G),
Pq−1
Pq2 −1
where G =
µ=0 rµ Pµ +
ν=1 sν Qν + tP∞ . From Equation (3), we have
vP0 (Ei,j,k ) = i, which indicates that the valuation of Ei,j,k at the rational
place P0 uniquely depends on i. Since lattice points in Ωr,s,t provide distinct
values of i, the elements Ei,j,k are linearly independent of each other, with
(i, j, k) ∈ Ωr,s,t . In order to indicate that they constitute a basis for L(G),
the only thing is to prove that
ℓ(G) = #Ωr,s,t .
For the case of r0 sufficiently large, it follows from the Riemann-Roch Theorem
and Lemma 1 that
ℓ(G) = 1 − g + deg(G)
= 1 − g + |r| + q|s| + t = #Ωr,s,t .
This implies that L(G) is spanned by elements Ei,j,k with (i, j, k) in the set
Ωr,s,t .
For the general case, we choose r0′ > r0 large enough and set G′ :=
Pq−1
Pq2 −1
′
r0 P0 + µ=1 rµ Pµ + ν=1 sν Qν + tP∞ , r ′ = (r0′ , r1 , · · · , rq−1 ). From above
argument, we know that the elements Ei,j,k with (i, j, k) ∈ Ωr′ ,s,t span the
whole space of L(G′ ). Remember that L(G) is a linear subspace of L(G′ ),
which can be written as
o
n
L(G) = f ∈ L(G′ ) vP0 (f ) > −r0 .
Thus, we choose f ∈ L(G) and suppose that
X
ai Ei,j,k ,
f=
(i,j,k)∈Ωr′ ,s,t

6

Chuangqiang Hu, Shudi Yang

since f ∈ L(G′ ). The valuation of f at P0 is vP0 (f ) = minai 6=0 {i}. Then the
inequality vP0 (f ) > −r0 gives that, if ai 6= 0, then i > −r0 . Equivalently, if
i < −r0 , then ai = 0. From the definition of Ωr,s,t and Ωr′ ,s,t , we get that
X

f=

ai Ei,j,k .

i,j,k∈Ωr,s,t

Then the theorem follows.

⊓
⊔

We now turn to prove Lemma 1 which requires a series of results listed as
follows.
Definition 1 Let (a1 , · · · , ak ) be a sequence of positive integers such that
the greatest common divisor is 1. Define di = gcd(a1 , · · · , ai ) and Ai =
{a1 /di , · · · , ai /di } for i = 1, · · · , k. Let d0 = 0. Let Si be the semigroup generated by Ai . If ai /di ∈ Si−1 for i = 2, · · · , k, we call the sequence (a1 , · · · , ak )
telescopic. A semigroup is called telescopic if it is generated by a telescopic
sequence.
Lemma 2 (Lemma 6.4, [18]) If (a1 , · · · , ak ) is telescopic and M ∈ Sk ,
then there exist uniquely determined non-negative integers 0 6 xi < di−1 /di
for i = 2, · · · , k, such that
M=

k
X

xi ai .

i=1

We call this representation the normal representation of M .
Lemma 3 (Lemma 6.5, [18]) For the semigroup generated by the telescopic
sequence (a1 , · · · , ak ) we have
lg (Sk ) =

k
X

(di−1 /di − 1)ai ,

i=1

g(Sk ) = (lg (Sk ) + 1)/2,
where lg (Sk ) and g(Sk ) denote the largest gap and the number of gaps of Sk ,
respectively.
Lemma 4 Let m = (q n + 1)/(q + 1), g = (q − 1)(q n+1 + q n − q 2 )/2 for an odd
integer n > 1. Let t ∈ Z. Consider the lattice point set Ψ (t) defined by
n
o
(α, β, γ) 0 6 α < m, 0 6 β 6 q, γ > 0, q 3 α + mqβ + m(q + 1)γ 6 t ,
If t > 2g − 1, then Ψ (t) has cardinality

#Ψ (t) = 1 − g + t.

Multi-point Codes from the GGS Curves

7

Proof Let a1 = q 3 , a2 = mq, a3 = m(q + 1). It is easily verified that the
sequence (a1 , a2 , a3 ) is telescopic. By Lemma 2 every element M in S3 has
a unique representation M = a1 α + a2 β + a3 γ, where S3 is the semigroup
generated by (a1 , a2 , a3 ). One obtains from Lemma 3 that
lg (S3 ) = (q − 1)(q n + 1)(q + 1) − q 3 ,
1
1
g(S3 ) = (lg (S3 ) + 1) = (q − 1)(q n+1 + q n − q 2 ) = g.
2
2
It follows that the set Ψ (t) has cardinality 1 − g + t provided that t > 2g − 1 =
lg (S3 ), which finishes the proof.
⊓
⊔
From Lemma 4, we get the number of lattice points in Ω0,0,t .
Lemma 5 If t > 2g − 1, then the number of lattice points in Ω0,0,t is
#Ω0,0,t = 1 − g + t.
Proof Note that
n
Ω0,0,t := (i, j, k) i > 0,


−i
for µ = 1, · · · , q − 1,
jµ =
m(q + 1)
 
−i
for ν = 1, · · · , q 2 − 1,
kν =
m
o
q 3 i + m(q + 1)|j| + mq|k| 6 t .

(5)

Set i := α + m(β + (q + 1)γ) with 0 6 α < m, 0 6 β 6 q and γ > 0. Then
Equation (5) gives that
n
o
Ω0,0,t ∼
= (α, β, γ) 0 6 α < m, 0 6 β 6 q, γ > 0, q 3 α + mqβ + (q n + 1)γ 6 t .

∼ B means that two lattice point sets A,
Here and thereafter, the notation A =
B are bijective. Thus the assertion #Ω0,0,t = 1 − g + t is derived from Lemma
4.
⊓
⊔
Lemma 6 The lattice point set Ωr,s,t as defined above is symmetric with respect to r0 , r1 , · · · , rq−1 and s1 , · · · , sq2 −1 , respectively. In other words, we
q2 −1
q−1
have #Ωr,s,t = #Ωr′ ,s′ ,t , where the sequences ri i=0 and si i=1 are equal
q2 −1
q−1
to ri′ i=0 and s′i i=1 up to permutation, respectively.
Proof Recall that Ωr,s,t is defined by
n
Ωr,s,t := (i′ , j ′ , k′ ) i′ + r0 > 0,
 ′

−i − rµ
jµ′ =
for µ = 1, · · · , q − 1,
m(q + 1)

8

Chuangqiang Hu, Shudi Yang



−i′ − sν
=
m



for ν = 1, · · · , q 2 − 1,
o
q 3 i′ + m(q + 1)|j ′ | + mq|k′ | 6 t ,
kν′

′
where j ′ = (j1′ , · · · , jq−1
) and k′ = (k1′ , · · · , kq′ 2 −1 ). It is important to write
′
i = i + m(q + 1)l with 0 6 i < m(q + 1). Let jµ′ = jµ − l for µ > 1,
kν′ = kν − (q + 1)l for ν > 1. Then
n
Ωr,s,t ∼
= (i, l, j, k) i + m(q + 1)l > −r0 , 0 6 i < m(q + 1),


−i − rµ
jµ =
for µ = 1, · · · , q − 1,
m(q + 1)


−i − sν
for ν = 1, · · · , q 2 − 1,
kν =
m
o

q 3 i + m(q + 1) l + |j| + mq|k| 6 t ,

where j = (j1 , · · · , jq−1
 ) and k = (k1 , · · · , kq2 −1 ). The first inequality in Ωr,s,t
−i − r0
. So we write l = j0 + ι with ι > 0. Then
gives that l > j0 :=
m(q + 1)
n
Ωr,s,t ∼
= (i, ι, j0 , j, k) 0 6 i < m(q + 1), ι > 0,


−i − rµ
jµ =
for µ = 0, 1, · · · , q − 1,
m(q + 1)


−i − sν
for ν = 1, · · · , q 2 − 1,
kν =
m
o

q 3 i + m(q + 1) j0 + ι + |j| + mq|k| 6 t .

The right hand side means that the number of the lattice points does not
depend on the order of rµ , 0 6 µ 6 q − 1, and the order of sν , 1 6 ν 6 q 2 − 1,
which concludes the desired assertion.
⊓
⊔
Lemma 7 Let r = (r0 , r1 , · · · , rq−1 ) and s = (s1 , s2 , · · · , sq2 −1 ). The following equality holds:
#Ωr,s,t = #Ω0,s,t + |r|,
where rµ > 0 for µ > 0, sν > 0 for ν > 1, and t > 2g − 1.
Proof Let us take the sets Ωr,s,t and Ωr′ ,s,t into consideration, where r ′ =
(0, r1 , · · · , rq−1 ). It follows from the definition that the complement set ∆ :=
Ωr,s,t \Ωr′ ,s,t is given by
n
(i, j, k) − r0 6 i < 0,


−i − rµ
jµ =
for µ = 1, · · · , q − 1,
m(q + 1)

Multi-point Codes from the GGS Curves



−i − sν
kν =
m

9



for ν = 1, · · · , q 2 − 1,
o
q 3 i + m(q + 1)|j| + mq|k| 6 t .

It is trivial that ∆ = ∅ if r0 = 0. To determine the cardinality of ∆ with
r0 > 0, we denote i := α + m(β + (q + 1)γ) with α, β, γ satisfying 0 6 α < m,
0 6 β 6 q and γ 6 −1. Then jµ 6 −γ for µ > 1, kν 6 −β − (q + 1)γ for ν > 1.
A straightforward computation shows
q 3 i + m(q + 1)|j| + mq|k| 6 q 3 α + mqβ + m(q + 1)γ
6 q 3 (m − 1) + mq 2 − m(q + 1) = 2g − 1.
So the last inequality in ∆ always holds for all t > 2g − 1, which means that
the cardinality of ∆ is determined by the first inequality, that is #∆ = r0 .
Then we must have
#Ωr,s,t = #Ωr′ ,s,t + r0 ,
whenever r0 > 0. Repeating the above routine and using Lemma 6, we get
#Ωr,s,t = #Ω0,s,t + |r|,
where r = (r0 , r1 , · · · , rq−1 ).

⊓
⊔

Lemma 8 Let s = (s1 , s2 , · · · , sq2 −1 ). The following identity holds:
#Ω0,s,t = #Ω0,0,t + q|s|,
where si > 0 for i = 1, 2, · · · , q 2 − 1 and t > 2g − 1.
Proof For convenience, let us denote r := (s0 , s0 , · · · , s0 ) to be the q-tuple
with all entries equal s0 , where s0 > 0, and write Ωr,s,t as Γs0 ,(s1 ,··· ,sq2 −1 ),t .
To get the desired conclusion, we first claim that
#Γs0 ,(s1 ,··· ,sq2 −1 ),t = #Γs′0 ,(s′1 ,··· ,s′ 2

q −1

),t ,

(6)

q2 −1
q2 −1
where the sequence si i=0 is equal to s′i i=0 up to permutation.
Note that Γs0 ,(s1 ,··· ,sq2 −1 ),t is equivalent to
n
(i′ , j ′ , k1′ , · · · , kq′ 2 −1 ) i′ + s0 > 0,
0 6 i′ + m(q + 1)j ′ + s0 < m(q + 1),

0 6 i′ + mkν′ + sν < m for ν = 1, · · · , q 2 − 1,
o
q 3 i′ + m(q + 1)(q − 1)j ′ + mq|k′ | 6 t ,

Pq2 −1
where |k′ | = ν=1 kν′ . By setting i′ := i + mκ where 0 6 i < m and kν′ :=
kν − κ for ν > 1, we obtain
n
Γs0 ,(s1 ,··· ,sq2 −1 ),t ∼
= (i, κ, j ′ , k1 , · · · , kq2 −1 ) 0 6 i < m, i + mκ + s0 > 0,

10

Chuangqiang Hu, Shudi Yang

0 6 i + mκ + m(q + 1)j ′ + s0 < m(q + 1),
0 6 i + mkν + sν < m for ν = 1, · · · , q 2 − 1,
o
q 3 i + m(q + 1)(q − 1)j ′ + mq(κ + |k|) 6 t .


−i − s0
.
Put κ := k0 + ε, where ε := −(q + 1)j0 + η, 0 6 η < q + 1 and k0 :=
m
One gets that 0 6 i + mk0 + s0 < m, which leads to 0 6 i + mκ + m(q + 1)j0 −
mη+s0 < m. So the inequality 0 6 i+mκ+m(q+1)j0 +s0 < m+mη 6 m(q+1)
holds because ε = −(q + 1)j0 + η. Thus we must have j0 = j ′ 6 0. Therefore
n
Γs0 ,(s1 ,··· ,sq2 −1 ),t ∼
= (i, j0 , η, k0 , k1 , · · · , kq2 −1 ) 0 6 i < m, j0 6 0,


0 6 η < q + 1,


−i − sν
kν =
for ν = 0, 1, · · · , q 2 − 1,
m
o
q 3 i − m(q + 1)j0 + mq(k0 + η + |k|) 6 t .

The right hand side means that the lattice points do not depend on the order
of sν with 0 6 ν 6 q 2 − 1, by observing that kν is determined by sν . In other
words, we have shown that the number of lattice points in Γs0 ,(s1 ,··· ,sq2 −1 ),t
does not depend on the order of sν with 0 6 ν 6 q 2 − 1, concluding the claim
we presented by (6). So it follows from (6) and Lemma 7 that
#Γ0,(s1 ,s2 ,··· ,sq2 −1 ),t = #Γs1 ,(0,s2 ,··· ,sq2 −1 ),t
= #Γ0,(0,s2 ,··· ,sq2 −1 ),t + qs1 .
By repeatedly using Lemma 7, we get
#Γ0,(s1 ,s2 ,··· ,sq2 −1 ),t = #Γ0,(0,0,··· ,0),t + q(s1 + s2 + · · · + sq2 −1 ),
concluding the desired formula #Ω0,s,t = #Ω0,0,t + q|s|.

⊓
⊔

With the above preparations, we are now in a position to give the proof of
Lemma 1.
o
n
Proof [Proof of Lemma 1] By taking w := min 06µ6q−1 rµ , sν , we obtain
16ν6q2 −1

from the definition that Ωr,s,t is equivalent to Ωr′ ,s′ ,t′ , where r ′ = (r0 −
w, · · · , rq−1 − w), s′ = (s1 − w, · · · , sq2 −1 − w) and t′ = t + q 3 w. Hence
#Ωr,s,t = #Ωr′ ,s′ ,t′ . On the other hand, by observing that rµ − w > 0,
sν − w > 0 and t′ > 2g − 1, we establish from Lemmas 5, 7 and 8 that
#Ωr′ ,s′ ,t′ = #Ω0,s′ ,t′ + |r ′ |
= #Ω0,0,t′ + q|s′ | + |r ′ |
= 1 − g + t′ + q|s′ | + |r ′ |
= 1 − g + t + q|s| + |r|.

Multi-point Codes from the GGS Curves

11

It then follows that
#Ωr,s,t = 1 − g + t + q|s| + |r|,
completing the proof of Lemma 1.

⊓
⊔

We finish this section with a result that allows us to give a new form of the
Pq−1
P 2 −1
basis for our Riemann-Roch space L(G) with G = µ=0
rµ Pµ + qν=1
sν Q ν +
tP∞ . Denote λ := (λ1 , · · · , λq−1 ) and γ := (γ1 , · · · , γq2 −1 ). For (u, λ, γ) ∈
2
Zq +q−1 , we define
2
qY
−1
q−1
Y
u
λµ
hγνν ,
Λu,λ,γ := τ
fµ
µ=1

µ=1

n−3

zq
x − αµ
y − βν
, fµ :=
for µ > 1, and hν :=
for ν > 1. The
x − α0
x − α0
y − β0
divisor of Λu,λ,γ is computed from Proposition 1 that

where τ :=

div(Λu,λ,γ ) =

q−1 
X

µ=1

q

n−3

2
qX
−1

u + m(q + 1)λµ − m|γ| Pµ +
(q n−3 u + mγν )Qν

ν=1



− (m(q + 1) − q n−3 )u + m(q + 1)|λ| + m|γ| P0 + uP∞ .

There is a close relationship between the elements Λu,λ,γ and Ei,j,k explored as follows.
Pq−1
Pq2 −1
Corollary 1 Let G := µ=0 rµ Pµ + ν=1 sν Qν + tP∞ . Then the elements
Λu,λ,γ with (u, λ, γ) ∈ Θr,s,t form a basis for the Riemann-Roch space L(G),
where the set Θr,s,t is given by
n
(u, λ, γ) u > −t,
0 6 q n−3 u + mγν + sν < m for ν = 1, · · · , q 2 − 1

0 6 q n−3 u + m(q + 1)λµ − m|γ| + rµ < m(q + 1) for µ = 1, · · · , q − 1,
o
(7)
(m(q + 1) − q n−3 )u + m(q + 1)|λ| + m|γ| 6 r0 .

In addition we have #Θr,s,t = #Ωr,s,t .

Proof It suffices to prove that the set
o
n
Λu,λ,γ (u, λ, γ) ∈ Θr,s,t
equals the set

o
n
Ei,j,k (i, j, k) ∈ Ωr,s,t .

In fact, for fixed (u, λ, γ) ∈ Zq

2

+q−1

i = −(m(q + 1) − q

, we obtain Λu,λ,γ equals Ei,j,k with

n−3

)u − m(q + 1)|λ| − m|γ|,

12

Chuangqiang Hu, Shudi Yang

jµ = u + |λ| + λµ for µ = 1, · · · , q − 1,
kν = (q + 1)(u + |λ|) + |γ| + γν for ν = 1, · · · , q 2 − 1.
On the contrary, if we set
u = −q 3 i − m(q + 1)|j| − mq|k|,
λµ = q 2 i + q n−1 |j| + m|k| + jµ for µ = 1, · · · , q − 1,
γν = (q + 1)(i + q n−3 |j|) + q n−2 |k| + kν for ν = 1, · · · , q 2 − 1,
then Ei,j,k is exactly the element Λu,λ,γ . Therefore, if we restrict (i, j, k) in
Ωr,s,t , then we must have (u, λ, γ) is in Θr,s,t and vice versa. This completes
the proof of the claim and hence of this corollary.
⊓
⊔
In the following, we will demonstrate an interesting property of #Ωr,s,t for
GK curves with a specific vector s.
Corollary 2 Let n = 3 and the vectors r, s be given by
r := (r0 , r1 , · · · , rq−1 ),
s := (s′1 , s′2 , · · · , s′q2 −1 )
= (s1 , s1 , · · · , s1 , s2 , s2 , · · · , s2 , · · · , sq−1 , sq−1 , · · · , sq−1 ).
{z
} |
{z
}
|
{z
}
|
q+1

q+1

q+1

Then the lattice point set Ωr,s,t is symmetric with respect to r0 , r1 , · · · , rq−1 , t.
q
In other words, we have #Ωr,s,t = #Ωr′ ,s,t′ , where the sequence ri i=0 is

q
equal to ri′ i=0 up to permutation by putting rq := t and rq′ := t′ .

Proof Denote r := (r0 , ṙ) = (r0 , r1 , · · · , rq−1 ) and Ω(r0 ,ṙ),s,t := Ωr,s,t . By
Lemma 6, it suffices to prove that
#Ω(r0 ,ṙ),s,t = #Θ(r0 ,ṙ),s,t = #Ω(t,ṙ),s,r0 .

The first identity follows directly from Corollary 1. Applying Corollary 1
again gives the set Θ(r0 ,ṙ),s,t as
n
(u, λ, γ) u + t > 0,
0 6 u + mγν + s′ν < m for ν = 1, · · · , q 2 − 1,
0 6 u + m(q + 1)λµ − m|γ| + rµ < m(q + 1) for µ = 1, · · · , q − 1,
o
q 3 u + m(q + 1)|λ| + m|γ| 6 r0 .

From our assumption, it is obvious that |γ| is divisible by q + 1. So if we take
|γ|
i := u, jµ := λµ −
for µ > 1 and kν := γν for ν > 1, then Θ(r0 ,ṙ),s,t is
q+1
equivalent to
n
(i, j, k) i + t > 0,

Multi-point Codes from the GGS Curves

13

0 6 i + mkν + s′ν < m for ν = 1, · · · , q 2 − 1,
0 6 i + m(q + 1)jµ + rµ < m(q + 1) for µ = 1, · · · , q − 1,
o
q 3 i + m(q + 1)|j| + m|k| 6 r0 .

The last set is exactly Ω(t,ṙ),s,r0 by definition. Hence the second identity is
just shown, completing the whole proof.
⊓
⊔
3 The AG codes from GGS curves
This section settles the properties of AG codes from GGS curves. Generally
speaking, there are two classical ways of constructing AG codes associated
with divisors D and G, where G is a divisor of arbitrary function field F
and D := Q1 + · · · + QN is another divisor of F such that Q1 , · · · , QN are
pairwise distinct rational places, each not belonging to the support of G. One
construction is based on the Riemann-Roch space L(G),
n
o
CL (D, G) := (f (Q1 ), · · · , f (QN )) f ∈ L(G) ⊆ FN
q .
The other one depends on the space of differentials Ω(G − D),
n
o
CΩ (D, G) := (resQ1 (η), · · · , resQN (η)) η ∈ Ω(G − D) .

It is well-known the codes CL (D, G) and CΩ (D, G) are dual to each other.
Further CΩ (D, G) has parameters [N, kΩ , dΩ ] with kΩ = N − k and dΩ >
deg(G) − (2g − 2), where k = ℓ(G) − ℓ(G − D) is the dimension of CL (D, G).
If moreover 2g − 2 < deg(G) < N then
kΩ = N + g − 1 − deg(G).
We refer the reader to [26] for more information.
P
In this section, we will study the linear code CL (D, G) with D := α,β,γ Pα,β,γ
γ6=0
Pq2 −1
Pq−1
and G := µ=0 rµ Pµ + ν=1 sν Qν + tP∞ . The length of CL (D, G) is
N := deg(D) = q n+2 (q n − q + 1) − q 3 .

It is well known that the dimension of CL (D, G) is given by
dim CL (D, G) = ℓ(G) − ℓ(G − D).

(8)

Set R := N + 2g − 2. Since deg(G) > R, we deduce from the Riemann-Roch
Theorem and (8) that
dim CL (D, G) = (1 − g + deg(G)) − (1 − g + deg(G − D))
= deg(G) − deg(G − D) = N,
which implies that CL (D, G) is trivial. So we only consider the case 0 6
deg(G) 6 R.
Now, we use the following lemmas to calculate the dual of CL (D, G).

14

Chuangqiang Hu, Shudi Yang

Lemma 9 (Proposition 2.2.10, [27]) Let τ be an element of the function
field of the curve X such that vPi (τ ) = 1 for all rational places Pi contained
in the divisor D. Then the dual of CL (D, G) is
CL (D, G)⊥ = CL (D, D − G + div(dτ ) − div(τ )).
Lemma 10 (Proposition 2.2.14, [27]) Suppose that G1 and G2 are divisors
with G1 = G2 + div(ρ) for some ρ ∈ F \{0} and supp G1 ∩ supp D = supp G2 ∩
supp D = ∅. Let N := deg(D) and ̺ := (ρ(P1 ), · · · , ρ(PN )) with Pi ∈ D.
Then the codes CL (D, G1 ) and CL (D, G2 ) are equivalent and
CL (D, G2 ) = ̺ · CL (D, G1 ).
Theorem 2 Let A := (q n +1)(q−1)−1, B := mq 2 (q n −q 3 )+(q n +1)(q 2 −1)−1
Pi
P n−3
n
2j
2
and ρ := 1 + i=1
z (q +1)(q−1) j=1 q . Then the dual code of CL (D, G) is
given as follows.
(1) The dual of CL (D, G) is represented as
⊥

CL (D, G) = ̺ · CL (D,

q−1
X

(A − rµ )Pµ +

µ=0

2
qX
−1

(A − sν )Qν + (B − t)P∞ ),

ν=1

where ̺ := (ρ(Pα1 ,β1 ,γ1 ), · · · , ρ(PαN ,βN ,γN )) with Pαi ,βi ,γi ∈ D.
(2) In particular, for n = 3, we have ρ = 1 and
q−1
X

⊥

CL (D, G) = CL (D,

(A − rµ )Pµ +

µ=0

2
qX
−1

(A − sν )Qν + (B − t)P∞ ).

ν=1

Proof Define
o
n
2
H := z ∈ F∗q2n ∃y ∈ Fq2n with y q − y = z m .

Consider the element

τ :=

Y

(z − γ).

γ∈H

Then τ is a prime element for all places Pα,β,γ in D and its divisor is
X
div(τ ) =
div(z − γ) = D − deg(D)P∞ ,
γ∈H

where D =

P

α,β,γ
γ6=0

Pα,β,γ and N = deg(D) = q n+2 (q n − q + 1) − q 3 . Moreover

by a same discussion as in the proof of Lemma 2 in [1], we have
τ =1+

k−1
X
i=0

w

Pi

j=0

q2j +

Pk−1
j=0

q2j+1

+

k−1
X
i=0

w

Pi

j=0

q2j+1

,

Multi-point Codes from the GGS Curves

15

where n = 2k + 1 (note that n > 1 is odd) and w = z (q
straightforward computation shows
dτ = w

Pk−1
j=0

q2j+1

n

+1)(q−1)

. Then a

k−1

X Pi 2j 
w j=1 q dw
1+
i=1

=w

qn −q
q2 −1

dw = −z
Let ρ := 1 +

Pk−1
i=1

w

Pi

j=1

k−1

X Pi 2j 
w j=1 q dw,
1+

i=1
(qn +1)(q−1)−1

q2j

dz.

and denote its divisor by div(ρ). Set

A := m(q n − q) + (q n + 1)(q − 1) − 1,
S := q 3 A − 2g + 2.

Since div(dz) = (2g−2)P∞ (see Lemma 3.8 of [13]), it follows from Proposition
1 that
div(dτ ) = A · div(z) + div(dz) + div(ρ)


X
=A
Qβ − q 3 A − 2g + 2 P∞ + div(ρ)
β∈Fq2

=A

q−1
X

Pµ + A

2
qX
−1

Qν − SP∞ + div(ρ).

ν=1

µ=0

Let η := dτ /τ be a Weil differential. The divisor of η is
div(η) = div(dτ ) − div(τ )
=A

q−1
X

Pµ + A

µ=0

2
qX
−1

Qν − D +

ν=1




deg(D) − S P∞ + div(ρ).

By writing B := deg(D) − S = mq 2 (q n − q 3 ) + (q n + 1)(q 2 − 1) − 1, we establish
from Lemma 9 that the dual of CL (D, G) is
CL (D, G)⊥ = CL (D, D − G + div(η))
= CL (D,

q−1
X

(A − rµ )Pµ +

µ=0

2
qX
−1

(A − sν )Qν + (B − t)P∞ + div(ρ)).

ν=1

Denote ̺ := (ρ(Pα1 ,β1 ,γ1 ), · · · , ρ(PαN ,βN ,γN )) with Pαi ,βi ,γi ∈ D. Then we
deduce the first statement from Lemma 10. The second statement then follows
immediately.
⊓
⊔

16

Chuangqiang Hu, Shudi Yang

Theorem 3 Suppose that 0 6 deg(G) 6 R. Then the dimension of CL (D, G)
is given by
(
#Ωr,s,t
if 0 6 deg(G) < N,
dim CL (D, G) =
⊥
N − #Ωr,s,t if N 6 deg(G) 6 R,
⊥
where Ωr,s,t
:= Ωr′ ,s′ ,B−t with r ′ = (A − r0 , · · · , A − rq−1 ) and s′ = (A −
s1 , · · · , A − sq2 −1 ).

Proof For 0 6 deg(G) < N , we have by Theorem 1 and Equation (8) that
dim CL (D, G) = ℓ(G) = #Ωr,s,t .
For N 6 deg(G) 6 R, Theorem 2 yields that
⊥
dim CL (D, G) = N − dim CL (D, G)⊥ = N − #Ωr,s,t
.

So the proof is completed.

⊓
⊔

We mention that the minimum distance of CL (D, G) follows from Goppa
bounds and Theorem 3. Techniques for improving the Goppa bounds will be
dealt with in the next two sections.
4 Weierstrass semigroups and pure gaps
In this section, we will characterize the Weierstrass semigroups and pure gaps
over GGS curves, which will enables us to obtain improved bounds on the
parameters of AG codes.
We first briefly introduce some corresponding definitions and notations [23].
For an arbitrary function field F , let Q1 , · · · , Ql be distinct rational places of
F , then the Weierstrass semigroup H(Q1 , · · · , Ql ) is defined by
n

(s1 , · · · , sl ) ∈ Nl0 ∃f ∈ F with (f )∞ =

l
X
i=1

o
si Q i ,

and the Weierstrass gap set G(Q1 , · · · , Ql ) is defined by Nl0 \H(Q1 , · · · , Ql ),
where N0 := N ∪ {0} denotes the set of nonnegative integers.
Homma and Kim [15] introduced the concept of pure gap set with respect
to a pair of rational places. This was generalized by Carvalho and Torres [4]
to several rational places, denoted by G0 (Q1 , · · · , Ql ), which is given by
l
o
n
X
si Q i .
(s1 , · · · , sl ) ∈ Nl ℓ(G) = ℓ(G − Qj ) for 1 6 j 6 l, where G =
i=1

In addition, they showed that (s1 , · · · , sl ) is a pure gap at (Q1 , · · · , Ql ) if and
only if
ℓ(s1 Q1 + · · · + sl Ql ) = ℓ((s1 − 1)Q1 + · · · + (sl − 1)Ql ).
A useful way to calculate the Weierstrass semigroups is given as follows,
which can be regarded as an easy generalization of a result due to Kim [17]

Multi-point Codes from the GGS Curves

17

Lemma 11 For rational places Q1 , · · · , Ql with 1 6 l 6 r, the set H(Q1 , · · · , Ql )
is given by
l
o
n
X
l
si Q i .
(s1 , · · · , sl ) ∈ N0 ℓ(G) 6= ℓ(G − Qj ) for 1 6 j 6 l, where G =
i=1

In the rest of this section, we will restrict our study to the divisor G :=
Pq−1
µ=0 rµ Pµ +tP∞ and denote r = (r0 , r1 , · · · , rq−1 ). Our main task is to determine the Weierstrass semigroups and the pure gaps at totally ramified places
P0 , P1 , · · · , Pq−1 , P∞ . Before we proceed, some auxiliary results are presented
in the following. Denote Ωr,0,t by Ω(r0 ,r1 ,··· ,rq−1 ),t for the clarity of description.
Lemma 12 For the lattice point set Ω(r0 ,r1 ,··· ,rq−1 ),t , we have the following
assertions.
(1) #Ω(r0 ,r1 ,··· ,rq−1 ),t = #Ω(r0 −1,r1 ,··· ,rq−1 ),t + 1 if and only if

q−1 
lr m
X
t + q 3 r0
r0 − rµ
0
+ q(q − 1)
6
.
m(q + 1)
m
m(q + 1)
µ=1
(2) #Ω(r0 ,r1 ,··· ,rq−1 ),t = #Ω(r0 ,r1 ,··· ,rq−1 ),t−1 + 1 if and only if

q−1  n−3
X
q
t − rµ

µ=1

m(q + 1)

 n−3 
r0 − q n−3 t
q
t
+ q(q − 1)
6 t+
.
m
m(q + 1)

Proof Consider two lattice point sets Ω(r0 ,r1 ,··· ,rq−1 ),t and Ω(r0 −1,r1 ,··· ,rq−1 ),t ,
which are given in Equation (4). Clearly, the latter one is a subset of the
former one, and the complement set Φ of Ω(r0 −1,r1 ,··· ,rq−1 ),t in Ω(r0 ,r1 ,··· ,rq−1 ),t
is given by
n
Φ := (i, j, k) i + r0 = 0,


−i − rµ
for µ = 1, · · · , q − 1,
jµ =
m(q + 1)
 
−i
kν =
for ν = 1, · · · , q 2 − 1,
m
o
q 3 i + m(q + 1)|j| + mq|k| 6 t ,
where j = (j1 , j2 , · · · , jq−1 ) and k = (k1 , k2 , · · · , kq2 −1 ). It follows immediately
that the set Φ is not empty if and only if
−q 3 r0 + m(q + 1)


q−1 
lr m
X
r0 − rµ
0
+ mq(q 2 − 1)
6 t,
m(q
+
1)
m
µ=1

which concludes the first assertion.
For the second assertion, we obtain from Corollary 1 that the difference
between #Ω(r0 ,r1 ,··· ,rq−1 ),t and #Ω(r0 ,r1 ,··· ,rq−1 ),t−1 is exactly the same as the

18

Chuangqiang Hu, Shudi Yang

one between #Θr,0,t and #Θr,0,t−1 . In an analogous way, we define Ψ as the
complementary set of Θr,0,t−1 in Θr,0,t , namely
n
Ψ := (u, λ, γ) u = −t,
0 6 q n−3 u + mγν < m for ν = 1, · · · , q 2 − 1,

0 6 q n−3 u + m(q + 1)λµ − m|γ| + rµ < m(q + 1) for µ = 1, · · · , q − 1,


o
− (m(q + 1) − q n−3 )u + m(q + 1)|λ| + m|γ| + r0 > 0 .

The set Ψ is not empty if and only if
m(q + 1)


q−1  n−3
X
q
t − rµ

µ=1

m(q + 1)

 n−3 
q
t
+ mq(q 2 − 1)
6 r0 + (q n + 1 − q n−3 )t,
m

completing the proof of the second assertion.

⊓
⊔

We are now ready for the main results of this section dealing with Weierstrass semigroups and pure gap sets, which play an interesting role in finding
codes with good parameters. For simplicity, we define



l 
X
rj − ri
rj
Wj (rl , t, l) :=
+ (q − 1 − l)
m(q + 1)
m(q + 1)
i=0
i6=j

lr m
t + q 3 rj
j
,
−
+ q(q − 1)
m
m(q + 1)
for j = 1, · · · , l, and

l  n−3
X
q
t − ri

 n−3 
q
t
+ (q − 1 − l)
W∞ (rl , t, l) :=
m(q
+
1)
m(q
+
1)
i=1
 n−3 
q
t
r0 − q n−3 t
+ q(q − 1)
,
−t−
m
m(q + 1)
where rl = (r0 , r1 , · · · , rl ).
Theorem 4 Let P0 , P1 , · · · , Pl be rational places as defined previously. For
0 6 l < q, the following assertions hold.
(1) The Weierstrass semigroup H(P0 , P1 , · · · , Pl ) is given by
o
n
Wj (rl , 0, l) 6 0 for 0 6 j 6 l .
(r0 , r1 , · · · , rl ) ∈ Nl+1
0

(2) The Weierstrass semigroup H(P0 , P1 , · · · , Pl , P∞ ) is given by
o
n
W
(r
,
t,
l)
6
0
for
0
6
j
6
l
and
j
=
∞
.
(r0 , r1 , · · · , rl , t) ∈ Nl+2
j
l
0

Multi-point Codes from the GGS Curves

19

(3) The pure gap set G0 (P0 , P1 , · · · , Pl ) is given by
n
o
(r0 , r1 , · · · , rl ) ∈ Nl+1 Wj (rl , 0, l) > 0 for 0 6 j 6 l .

(4) The pure gap set G0 (P0 , P1 , · · · , Pl , P∞ ) is given by
n
o
(r0 , r1 , · · · , rl , t) ∈ Nl+2 Wj (rl , t, l) > 0 for 0 6 j 6 l and j = ∞ .

Proof The desired conclusions follow from Theorem 1, Lemmas 6, 11 and 12.
⊔
⊓
The following corollary states the characterizations of Weierstrass semigroup and gaps at only one point.

Corollary 3 With notation as before, we have the following statements.


 
n
k
q3 k o
k
(1) H(P0 ) = k ∈ N0 (q − 1)
+ q(q − 1)
6
.
m(q + 1)
m
m(q + 1)
(2) Let α, β, γ ∈ Z. Then α + m(β + (q + 1)γ) ∈ N is a gap at P0 if and only
if exactly one of the following two conditions is satisfied:
(i) α = 0, 0 < β 6 q − 1, 0 6 γ 6 q − 1 − β.


q3 α
β
and
−
(ii) 0 < α < m, 0 6 β 6 q, 0 6 γ 6 q 2 − 1 − β +
q + 1 m(q + 1)


β
q3 α
β−
6 q 2 − 1.
−
q + 1 m(q + 1)
Proof The first statement is an immediate consequence of Theorem 4 (1).
We now focus on the second statement. It follows from Theorem 4 (3) that
the Weierstrass gap set at P0 is


 
n
k
q3 k o
k
G(P0 ) = k ∈ N (q − 1)
+ q(q − 1)
>
.
m(q + 1)
m
m(q + 1)
Let k ∈ G(P0 ) and write k = α + m(β + (q + 1)γ), where 0 6 α < m, 0 6 β 6 q
and γ > 0. We find that the case α + mβ = 0 does not occur, since otherwise
we have k = m(q + 1)γ and


 
k
q3 k
k
(q − 1)
+ q(q − 1)
−
m(q + 1)
m
m(q + 1)
= (q − 1)γ + q(q − 1)(q + 1)γ − q 3 γ

= −γ 6 0,
which contradicts to the fact k ∈ G(P0 ). So α + mβ 6= 0. There are two
possibilities.
(i) If α = 0, then 0 < β 6 q. In this case, k = mβ + m(q + 1)γ is a gap at
P0 if and only if


 
k
q3 k
k
(q − 1)
+ q(q − 1)
>
,
m(q + 1)
m
m(q + 1)

20

Chuangqiang Hu, Shudi Yang

or equivalently,
(q − 1)(γ + 1) + q(q − 1)(β + (q + 1)γ) > q 3 γ +

q3 β
,
q+1

leading to the first condition 0 6 γ 6 q − 1 − β and 0 < β 6 q − 1.
(ii) If 0 < α < m, then 0 6 β 6 q. In this case, we have similarly that
k = α + mβ + m(q + 1)γ is a gap at P0 if and only if
q3 α
q3 β
+
,
m(q + 1) q + 1


q3 α
β
.
which gives the second condition 0 6 γ 6 q 2 − 1 − β +
−
q + 1 m(q + 1)
Note that


β
q3 α
q2 − 1 − β +
> q 2 − 1 − q − 1 > 0.
−
q + 1 m(q + 1)
(q − 1)(γ + 1) + q(q − 1)(1 + β + (q + 1)γ) > q 3 γ +

The proof is finished.

⊓
⊔

5 The floor of divisors
In this section, we investigate the floor of divisors from GGS curves. The
significance of this concept is that it provides a useful tool for evaluating
parameters of AG codes. We begin with general function fields.
Definition 2 ([22]) Given a divisor G of a function field F/Fq with ℓ(G) > 0,
the floor of G is the unique divisor G′ of F of minimum degree such that
L(G) = L(G′ ). The floor of G will be denoted by ⌊G⌋.
The floor of a divisor can be used to characterize Weierstrass semigroups
and pure gap sets. Let G = s1 Q1 + · · · + sl Ql . It is not hard to see that
(s1 , · · · , sl ) ∈ H(Q1 , · · · , Ql ) if and only if ⌊G⌋ = G. Moreover, (s1 , · · · , sl ) is
a pure gap at (Q1 , · · · , Ql ) if and only if
⌊G⌋ = ⌊(s1 − 1)Q1 + · · · + (sl − 1)Ql ⌋.
Maharaj, Matthews and Pirsic in [22] defined the floor of a divisor and
characterized it by the basis of the Riemann-Roch space.
Theorem 5 ([22]) Let G be a divisor of a function field F/Fq and let b1 , · · · , bt ∈
L(G) be a spanning set for L(G). Then
n
o
⌊G⌋ = − gcd div(bi ) i = 1, · · · , t .
The next theorem extends Theorem 3.4 of [4] by determining the lower
bound of minimum distance in a more general situation.

Multi-point Codes from the GGS Curves

21

Theorem 6 ([22]) Assume that F/Fq is a function field with genus g. Let
D := Q1 + · · · + QN where Q1 , · · · , QN are distinct rational places of F , and
let G := H + ⌊H⌋ be a divisor of F such that H is an effective divisor whose
support does not contain any of the places Q1 , · · · , QN . Then the minimum
distance of CΩ (D, G) satisfies
dΩ > 2 deg(H) − (2g − 2).
The following theorem provides a characterization of the floor over GGS
curves, which can be viewed as a generalization of Theorem 3.9 in [22] related
to Hermitian function fields.
Pq−1
P 2 −1
Theorem 7 Let H := µ=0
rµ Pµ + qν=1
sν Qν + tP∞ be a divisor of GGS
curve given by (1). Then the floor of H is given by
⌊H⌋ =

q−1
X

rµ′ Pµ

+

µ=0

2
qX
−1

s′ν Qν + t′ P∞ ,

ν=1

where
r0′ = max

n

o
− i (i, j, k) ∈ Ωr,s,t ,

o
− i − m(q + 1)jµ (i, j, k) ∈ Ωr,s,t for µ = 1, · · · , q − 1,
o
n
s′ν = max − i − mkν (i, j, k) ∈ Ωr,s,t for ν = 1, · · · , q 2 − 1,
o
n
t′ = max q 3 i + m(q + 1)|j| + mq|k| (i, j, k) ∈ Ωr,s,t .

rµ′ = max

n

Pq−1
Pq2 −1
Proof Let H = µ=0 rµ Pµ + ν=1 sν Qν + tP∞ . It follows from Theorem 1
that the elements Ei,j,k of Equation (2) with (i, j, k) ∈ Ωr,s,t form a basis for
the Riemann-Roch space L(H). Note that the divisor of Ei,j,k is

iP0 +

q−1
X

(i + m(q + 1)jµ )Pµ +

µ=1

2
qX
−1

(i + mkν )Qν

ν=1


− q 3 i + m(q + 1)|j| + mq|k| P∞

By Theorem 5, we get that

o
n
⌊H⌋ = − gcd div(Ei,j,k ) (i, j, k) ∈ Ωr,s,t .
The desired conclusion then follows.

⊓
⊔

22

Chuangqiang Hu, Shudi Yang

6 Examples of codes on GGS curves
In this section we treat several examples of codes to illustrate our results. The
codes in the next example will give new records of better parameters than the
corresponding ones in MinT’s tables [25].
Example 1 Now, we study codes arising from GK curves, that is, we let q = 2
and n = 3 in (1) given at the beginning of Section 2. This curve has 225
F64 -rational points and its genus is g = 10. Here we will study multi-point
AG codes from this curve by employing our previous results. Let us take
H = 3P0 + 4P1 + 11P∞ for example. Then it can be computed from Equation
(4) that the elements (−i, −i − m(q + 1)j1 , −i − mk1 , −i − mk2 , −i − mk3 , q 3 i +
m(q + 1)j1 + mq(k1 + k2 + k3 )), with (i, j1 , k1 , k2 , k3 ) ∈ Ω3,4,0,0,0,11 , are as
follows
( 3, 3, 0, 0, 0, −6 ),
( 2, 2, −1, −1, −1, 2 ),
( 1, 1, −2, −2, −2, 10 ),
( 0, 0, 0, 0, 0, 0 ),
(−1, −1, −1, −1, −1, 8 ),
(−3, −3, 0, 0, 0, 6 ),
(−6, 3, 0, 0, 0, 3 ),
(−7, 2, −1, −1, −1, 11 ),
(−9, 0, 0, 0, 0, 9 ).
So we obtain from Theorem 7 that ⌊H⌋ = 3P0 + 3P1 + 11P∞ . Let D be a
divisor consisting of N = 216 rational places away from the places P0 , P1 ,
Q1 , Q2 , Q3 and P∞ . According to Theorem 6, if we let G = H + ⌊H⌋ =
6P0 + 7P1 + 22P∞ , then the code CΩ (D, G) has minimum distance at least
2 deg(H) − (2g − 2) = 18. Since 2g − 2 < deg(G) < N , the dimension of
CΩ (D, G) is kΩ = N +g−1−deg(G) = 190. In other words, the code CΩ (D, G)
has parameters [216, 190, > 18]. One can verify that our resulting code improve
the minimum distance with respect to MinT’s Tables. Moreover CΩ (D, G) is
equivalent to CL (D, G′ ), where G′ = 2P0 + P1 + 8Q1 + 8Q2 + 8Q3 + 4P∞ , and
its generating matrix can be determined by Theorem 2.
Additionally, we remark that more AG codes with excellent parameters
can be found by taking H = aP0 + bP1 + 7P∞ , where a, b ∈ {4, 5, 6} and
9 6 a+ b 6 12. The floor of such H is computed to be ⌊H⌋ = aP0 + bP1 + 6P∞ .
Let D be as before. If we take G = H +⌊H⌋ = 2aP0 +2bP1 +13P∞ , then we can
produce AG codes CΩ (D, G) with parameters [216, 212−2a−2b, > 2a+2b−4].
All of these codes improve the records of the corresponding ones found on
MinT’s Tables.
Example 2 Consider the curve GGS(q, n) of (1) with q = 2 and n = 5. This
curve has 3969 F210 -rational points and its genus is g = 46. It follows from

Multi-point Codes from the GGS Curves

23

Theorem 4 that
n
o
(57, j, 3) 1 6 j 6 3 ⊆ G0 (P0 , P1 , P∞ ).

Let D be a divisor consisting of N = 3960 rational places except P0 , P1 , Q1 ,
Q2 , Q3 and P∞ . Applying Theorem 3.4 of [4] (see also Theorem 1, [16]), if we
take G = 113P0 + 3P1 + 5P∞ , then the three-point code CΩ (D, G) has length
N = 3960, dimension N + g − 1 − deg(G) = 3884 and minimum distance at
least 36. Thus we produce an AG code with parameters [3960, 3884, > 36].
Unfortunately, this F210 -code cannot be compared with the one on MinT’s
Tables because the alphabet size given is at most 256.
Acknowledgements This work is partially supported by China Postdoctoral Science Foundation Funded Project (Project No. 2017M611801). This work is also partially supported
by Guangdong Natural Science Foundation (Grant No. 2014A030313161) and the Natural
Science Foundation of Shandong Province of China (ZR2016AM04).

References
1. Abdón, M., Bezerra, J., Quoos, L.: Further examples of maximal curves. Journal of
Pure and Applied Algebra 213, 1192–1196 (2009)
2. Bartoli, D., Montanucci, M., Zini, G.: AG codes and AG quantum codes from the GGS
curve. arXiv:1703.03178 (2017)
3. Bartoli, D., Montanucci, M., Zini, G.: Multi point AG codes on the GK maximal curve.
Des. Codes Cryptogr (2017). DOI 10.1007/s10623-017-0333-9
4. Carvalho, C., Torres, F.: On Goppa codes and Weierstrass gaps at several points. Designs, Codes and Cryptography 35, 211–225 (2005)
5. Castellanos, A.S., Masuda, A.M., Quoos, L.: One-and two-point codes over Kummer
extensions. IEEE Transactions on Information Theory 62(9), 4867–4872 (2016)
6. Castellanos, A.S., Tizziotti, G.C.: Two-Point AG Codes on the GK Maximal Curves.
IEEE Transactions on Information Theory 62(2), 681–686 (2016)
7. Fanali, S., Giulietti, M.: One-Point AG Codes on the GK Maximal Curves. IEEE
Transactions on Information Theory 56(1), 202–210 (2010)
8. Garcia, A., Güneri, C., Stichtenoth, H.: A generalization of the Giulietti-Korchmáros
maximal curve. Advances in Geometry 10(3), 427–434 (2010)
9. Garcia, A., Kim, S.J., Lax, R.F.: Consecutive Weierstrass gaps and minimum distance
of Goppa codes. Journal of Pure and Applied Algebra 84, 199–207 (1993)
10. Garcia, A., Lax, R.F.: Goppa codes and Weierstrass gaps. In: Coding Theory and
Algebraic Geometry, pp. 33–42. Springer Berlin (1992)
11. Giulietti, M., Korchmáros, G.: A new family of maximal curves over a finite field.
Mathematische Annalen 343, 229–245 (2008)
12. Goppa, V.D.: Codes associated with divisors. Problemy Peredachi Informatsii 13, 33–39
(1977)
13. Güneri, C., Özdemiry, M., Stichtenoth, H.: The automorphism group of the generalized
Giulietti-Korchmáros function field. Advances in Geometry 13, 369–380 (2013)
14. Guruswami, V., Sudan, M.: Improved decoding of Reed-Solomon and algebraicgeometric codes. IEEE Transactions on Information Theory 45(6), 1757–1768 (1999)
15. Homma, M., Kim, S.J.: Goppa codes with Weierstrass pairs. Journal of Pure and
Applied Algebra 162, 273–290 (2001)
16. Hu, C., Yang, S.: Multi-point codes over Kummer extensions. Des. Codes Cryptogr
(2017). DOI 10.1007/s10623-017-0335-7
17. Kim, S.J.: On the index of the Weierstrass semigroup of a pair of points on a curve.
Archiv der Mathematik 62, 73–82 (1994)

24

Chuangqiang Hu, Shudi Yang

18. Kirfel, C., Pellikaan, R.: The minimum distance of codes in an array coming from
telescopic semigroups. IEEE Transactions on Information Theory 41(6), 1720–1732
(1995)
19. Korchmáros, G., Nagy, G.: Hermitian codes from higher degree places. Journal of Pure
and Applied Algebra 217, 2371–2381 (2013)
20. Maharaj, H.: Code construction on fiber products of Kummer covers. IEEE Transactions
on Information Theory 50(9), 2169–2173 (2004)
21. Maharaj, H., Matthews, G.L.: On the floor and the ceiling of a divisor. Finite Fields
and Their Applications 12, 38–55 (2006)
22. Maharaj, H., Matthews, G.L., Pirsic, G.: Riemann-Roch spaces of the Hermitian function field with applications to algebraic geometry codes and low-discrepancy sequences.
Journal of Pure and Applied Algebra 195, 261–280 (2005)
23. Matthews, G.L.: The Weierstrass semigroup of an m-tuple of collinear points on a
Hermitian curve. Finite Fields and Their Applications pp. 12–24 (2004)
24. Matthews, G.L.: Weierstrass semigroups and codes from a quotient of the Hermitian
curve. Designs, Codes and Cryptography 37, 473–492 (2005)
25. MinT: Online database for optimal parameters of (t, m, s)-nets, (t, s)-sequences, orthogonal arrays, and linear codes. (Accessed on 2017-06-13.). URL http://mint.sbg.ac.at.
26. Stichtenoth, H.: Algebraic Function Fields and Codes, vol. 254. Springer-Verlag, Berlin,
Heidelberg (2009)
27. Stichtenoth, H.: Algebraic function fields and codes, vol. 254. Springer Science & Business Media (2009)
28. Yang, K., Kumar, P.V.: On the true minimum distance of Hermitian codes. In: Coding
Theory and Algebraic Geometry, pp. 99–107. Springer (1992)
29. Yang, K., Kumar, P.V., Stichtenoth, H.: On the weight hierarchy of geometric Goppa
codes. IEEE Transactions on Information Theory 40(3), 913–920 (1994)

