LOCALLY RECOVERABLE CODES WITH AVAILABILITY t ≥ 2 FROM FIBER
PRODUCTS OF CURVES

arXiv:1612.03841v3 [math.NT] 22 Dec 2017

Kathryn Haymaker
Department of Mathematics and Statistics
Villanova University
Villanova, PA 19085, USA

Beth Malmskog∗
Department of Mathematics and Computer Science
Colorado College
Colorado Springs, CO 80903 USA

Gretchen L. Matthews
Department of Mathematical Sciences
Clemson University
Clemson, SC 29634, USA

Abstract. We generalize the construction of locally recoverable codes on algebraic curves given by Barg,
Tamo and Vlăduţ [4] to those with arbitrarily many recovery sets by exploiting the structure of fiber products
of curves. Employing maximal curves, we create several new families of locally recoverable codes with
multiple recovery sets, including codes with two recovery sets from the generalized Giulietti and Korchmáros
(GK) curves and the Suzuki curves, and new locally recoverable codes with many recovery sets based on
the Hermitian curve, using a fiber product construction of van der Geer and van der Vlugt. In addition, we
consider the relationship between local error recovery and global error correction as well as the availability
required to locally recover any pattern of a fixed number of erasures.

1. Introduction
Codes for local recovery were introduced in the context of distributed storage systems, where there is a
need to repair a single erasure or small number of erasures by accessing a few coordinates of the received
word, rather than accessing the entire received word. A linear code is said to have locality r if for each
coordinate i of a codeword, there is a set of r helper coordinates, called a recovery or helper set, so that in
any codeword, the symbol in position i can be recovered from the symbols in the helper set.
If an element of a recovery set becomes unavailable, local recovery may not be possible. This leads to
what is known as the availability problem and the need for multiple recovery sets. A code is said to have
availability t if each coordinate has t disjoint recovery sets. In [4], the authors construct locally recoverable
codes with availability t = 2 based on fiber products of curves and propose a group-theoretic perspective on
the construction, whereby a curve can sometimes be expressed as a fiber product of its quotient curves by
certain subgroups of the automorphism group of the curve; see [5] for an extended version. In particular,
given a curve X with automorphism group Aut(X ) containing a semi-direct product of two subgroups, a
locally recoverable code with availability 2 can be formed by considering the fixed fields of the function field
of X of the subgroups in the semi-direct product. It is remarked that both perspectives can be extended in
a straightforward way to provide multiple recovery sets, meaning t > 2.
In Section 3, we carry out the generalization of the fiber product approach for t ≥ 2. This also generalizes
the group-theoretic perspective; however, we note that when t > 2, associativity of a particular semi-direct
product is required. This issue does not arise in the case where t = 2, and, hence, is not addressed explicitly
in [4]. See Remark 2 for more discussion.
1991 Mathematics Subject Classification. Primary: 14G50; 94B27 Secondary: 11T71.
Key words and phrases. Fiber product, GK curves, local recovery, Suzuki curves, availability.
The second author is supported by NSA grant H98230-16-1-0300.
∗ Corresponding author: Beth Malmskog.
1

A key difference in our work and that of [4] is that we employ a different method to bound the code
parameters than in [4]. This results in new, potentially sharper bounds on minimum distance. The bounds
in [4] require knowledge of the degree of a function x : X → P1 where x generates a particular field extension.
Practically, this function can be quite difficult to construct. Our bounds avoid the issue and do not require
that this function is known. A more thorough discussion of this issue appears in Remark 3.
We also consider properties of multiple local recovery sets such as the availability required to locally
recover any pattern of a fixed number of erasures; this may be found in Section 4. There, the relationship
between local error recovery and global error correction is investigated.
Sections 5, 6, and 7 demonstrate the ‘top-down’ (group-theoretic) and ‘bottom-up’ (fiber product-centered)
approaches discussed in Section 3. In Section 5, we employ generalized GK curves in the fiber product
construction. While the construction from GK curves is quite explicit, the recovery sets are unbalanced,
meaning there is a large difference between the cardinalities of the two recovery sets associated with a
particular coordinate; this may adversely impact other code parameters and may be less than optimal for
applications. We illustrate the automorphism group perspective in Section 6, constructing theoretical codes
on the Suzuki curve from its automorphism group that provide balanced recovery sets. However, this section
highlights the difficulty of using the automorphism group construction to explicitly construct LRCs: even
with knowledge of the quotient curves, constructing the necessary maps can be quite difficult. Finally, in
Section 7, we obtain locally recoverable codes on the Hermitian curve Hpt with availability t for arbitrarily
large t ≥ 2, which are explicit in nature and balanced, using the full power of the LRC(t) construction. This
differs from the recent work [3] which uses elliptic curves to construct LRC(2)s as well as surfaces and other
curves to construct LRC(1)s.
The curves considered in this paper are maximal, meaning they have as many points as possible over a
given finite field. Maximal curves have played an important role in the construction of algebraic geometry
codes, as they support the construction of long codes over relatively small fields, with minimum distance
bounded below based on geometric arguments. Their utility in the construction of locally recoverable codes
comes from this as well. Though the constructions in this paper do not require the curves involved to be
maximal, all examples in the paper are based on maximal curves.
Our findings are summarized in Section 8.
2. Notation and background
We use curves over finite fields and maps of curves to construct locally recoverable codes with multiple
recovery sets. The following notation and background will be used throughout. See [14] and [12, Chapter 3]
for more background and proofs.
Let p be a prime number, and let q = ps for some s ∈ N. Let Fq be the field with q elements. For any
natural number n, let [n] = {1, . . . , n}. A linear code C of length n over Fq is a locally recoverable code, or
LRC, with locality r if and only if for all c = (c1 , c2 , . . . , cn ) ∈ C and for all i ∈ [n] there exists a set
Ai ⊆ [n] \ {i},
|Ai | = r, such that ci = φi (c|Ai ) for some function φi : Frq → Fq . The idea is that the codeword symbol ci
can be recovered from the symbols indexed by elements of Ai without access to the other coordinates of the
received word. The helper set Ai is called a recovery set for the ith position.
We say that a locally recoverable code C ⊆ Fnq has availability t with locality (r1 , . . . , rt ) provided for
all i ∈ [n] there exists Ai1 , . . . , Ait ⊆ [n] \ {i} with |Aij | = rj , Aij ∩ Aik = ∅ for j 6= k, and for all c ∈ C,
r
ci = φij (c|Aij ) for some function φij : Fqj → Fq . Such a code is called an LRC(t), or a locally recoverable
code with availability t, to emphasize that each coordinate has t disjoint recovery sets. Let Bij = Aij ∪ {i}
for each i ∈ [n], j ∈ [t].
Let X be a smooth, projective, absolutely irreducible algebraic curve defined over Fq , of genus gX . Let
Fq (X ) denote the field of functions on X defined over Fq . For any i ∈ N, let X (Fqi ) denote the set of
Fqi -rational points of X . A divisor D on X (Fq ) is a formal integer sum of points on the curve,
X
D=
aP P,
P ∈X (Fq )
2

where aP ∈ Z for all P . Divisors
on X (Fq ) form a finite abelian group under formal addition. The degree of
P
D is defined as deg(D) = P ∈X (Fq ) aP . A divisor D with aP ≥ 0 for all P is said to be effective, denoted
by D ≥ 0. The support of the divisor D is
supp(D) = {P : aP 6= 0}.
For f ∈ Fq (X ), define the divisor of f to be
div(f ) =

X

ordP (f )P,

P ∈X (Fq )

where ordP (f ) is the order of vanishing of f at the point P and is negative when f has a pole at point P .
A divisor of a function is called a principal divisor. All principal divisors have degree 0, a very useful fact in
bounding the minimum distance of the codes in this paper.
Given D, a divisor on X (Fq ), define the Riemann-Roch space
L(D) = {f ∈ Fq (X ) : div(f ) + D ≥ 0} ∪ {0}.
The set L(D) is an Fq -vector space, with dimension denoted `(D). The Riemann-Roch Theorem states that
`(D) ≥ deg(D) + 1 − gX ,
where equality holds if deg(D) ≥ 2gX − 1. This fact is useful in bounding the dimension of the codes in this
paper.

(P1, P2)

P1

P2

Figure 1. A visualization of points on a fiber product of two curves. Points on the fiber
product X may be thought of as tuples of points on the curves Y1 and Y2 which lie above
the same point on Y.
The fiber product of curves is a geometric/combinatorial object that is at the center of the main code
construction of this paper. Let Y, Y1 , Y2 , . . . , Yt be smooth projective absolutely irreducible algebraic curves
over Fq with rational, separable maps hj : Yj → Y. The fiber product of Y1 , Y2 , . . . , Yt over Y is denoted
by Y1 ×Y Y2 ×Y · · · ×Y Yt and defined in the usual way as the universal object formed by the pullback of
the maps hj . The fiber product of t curves is also an algebraic curve. Let X = Y1 ×Y Y2 ×Y · · · ×Y Yt .
Concretely, the Fq -rational points of the fiber product X are given by
X (Fq ) = {(P1 , P2 , . . . , Pt ) : Pi ∈ Yi (Fq ) and hi (Pi ) = hj (Pj ) for all i, j, 1 ≤ i, j ≤ t}.
See Figure 1 for a visualization when t = 2.
The fiber product construction defines natural projection maps gj : X → Yj . The degrees of the projection
maps are given by
Y
deg(gj ) =
deg(hi ).
i6=j
3

X
gt

g1
g2
Y1

... g

Y2

Yt

h2
ht

h1
Y

Figure 2. The fiber product X of t curves Yj .
These maps
Q have the property that hi ◦ gi = hj ◦ gj for all i, j, so let g : X → Y be the composite map, with
deg(g) = deg(hj ). Thus, the diagram in Figure 2 commutes.
Let i ∈ [t]. Define the curve
Ỹi = Y1 ×Y · · · ×Y Yi−1 ×Y Yi+1 ×Y · · · ×Y Yt .
Then X = Yi ×Y Ỹi . Denote the associated natural maps by
g̃i : X → Ỹi

h̃i : Ỹi → Y.

and

The degree of g̃i must be equal to the degree of hi , denoted dhi .
The relationship of function fields in a fiber product is that Fq (Y) naturally embeds into Fq (Yi ) for each
i, and Fq (X ) is isomorphic to the compositum of all the fields Fq (Yi ). In particular, fixing i, 1 ≤ i ≤ t, then
g, hi , and gi give rise to maps
g ∗ : Fq (Y) → Fq (X )
f
7→ f ◦ g,
h∗i : Fq (Y) → Fq (Yi )
f
7→ f ◦ hi ,
and
gi∗ : Fq (Yi ) → Fq (X )
f
7→ f ◦ gi .
One may consider g ∗ , h∗i and gi∗ as embeddings so that we have
∼

∼

Fq (Y) −
→ h∗i (Fq (Y)) ,→ Fq (Yi ) −
→ gi∗ (Fq (Yi )) ,→ Fq (X ).
Then Fq (X ) is the compositum of the fields gi∗ (Fq (Yi )). Also,
g ∗ (Fq (Y)) =

t
\

gi∗ (Fq (Yi )).

i=1

Since any finite, separable algebraic extension of function fields is generated by a primitive element, there
exists some function xi ∈ Fq (Yi ) with Fq (Yi ) ∼
= h∗i (Fq (Y))(xi ). Thus we may construct the following diagram
of function fields for a fiber product as in Figure 3.
3. Construction of LRC(t)
Let Y, Y1 , Y2 , . . . , Yt be smooth, projective, absolutely irreducible algebraic curves over Fq with rational,
separable maps hj : Yj → Y, of degrees dhj and let X be the fiber product Y1 ×Y Y2 ×Y · · · ×Y Yt . As
in Section 2, we obtain a projection map gj : X → Yj of degree dgj for each j, 1 ≤ j ≤ t, and a rational,
separable map g : X → Y of degree dg , so that the diagram in Figure 2 commutes.
For each j ∈ [t], let xj ∈ Fq (Yj ) be a primitive element of Fq (Yj )/h∗j (Fq (Y)) where xj is the root of a
degree dhj polynomial with coefficients in gj∗ (Fq (Y)). For convenience, denote gj∗ (xj ) ∈ Fq (X ) by x∗j . Let
Dj be the divisor of the function x∗j ∈ Fq (X ). Let Dj = Dj,+ − Dj,− , where Dj,+ and Dj,− are both
effective; that is, Dj,+ = (x∗j )0 is the zero divisor of x∗j , and Dj,− = (x∗j )∞ is the pole divisor of x∗j . Let
4

Fq (X ) ∼
= g ∗ (Fq (Y))(h∗1 (x1 ), ..., h∗t (xt ))

h∗1 (Fq (Y))(x1 )

h∗2 (Fq (Y))(x2 )

. . . h∗t (Fq (Y))(xt )

Fq (Y)
Figure 3. Function fields associated with the fiber product.
deg(Dj,− ) = dxj be the degree xj considered as a function Yj → P1 . Note that dxj is not necessarily equal
to dhj . Then, if x∗j is viewed as a function x∗j : X → P1 , its degree is dgj dxj . This yields
∼ Fq (X ).
g ∗ (Fq (Y))(x∗ , x∗ , . . . , x∗ ) =
1

2

t

Now choose simultaneously a divisor D on Y(Fq ) and a set S of points in Y(Fq ) as follows. Let D̃ =
Pt
i=1 hi (Di,− ), so supp(D̃) consists of all points of Y which, for some i, are the image under hi of a point on
Yi at which the function xi has a pole. Then choose D an effective divisor on Y(Fq ) of degree deg(D) = l
and S = {P1 , . . . , Ps } ⊂ Y(Fq ) so that the following conditions are satisfied:
• |g −1 (Pi ) ∩ X (Fq )| = dg , for all i ∈ [s],
• S ∩ supp(D̃) = ∅,
• S ∩ supp(D) = ∅,
• l < s.
Let {f1 , f2 , . . . , fm } be a basis for L(D), so m = `(D). Note that since l < s, each non-zero function in L(D)
will be non-zero when evaluated at some point in S. Then set
B = g −1 (S).
Note that n = |B| = dg s. Order the points in B and denote them as {Q1 , Q2 , . . . , Qn }. For Qi ∈ B, set
B (j) (Qi ) = g̃j−1 (g̃j (Qi ))
and
The recovery set Aij

A(j) (Qi ) = B (j) (Qi ) \ {Qi }.
defined in Section 2 can be obtained from A(j) (Qi ) as follows:
Aij = {k ∈ [n] : Qk ∈ A(j) (Qi )}.
(j)

Similarly, Bij = {k ∈ [n] : Qk ∈ B (Qi )}.
For k ∈ [m], let fk∗ = g ∗ (fk ). Then let
∗ et
1
V = Span{fk∗ x∗e
: ei ∈ Z, 0 ≤ ei ≤ dhi − 2 for all i ∈ [t], k ∈ [m]}.
1 · · · xt

Define C(D, B) := Im(evB ) where
evB : V
f

→ Fnq
7→ (f (Qi ))i∈[n] .

This construction gives rise to the following theorem.
Theorem 3.1. Given curves {Yi }i∈[t] , Y, maps {hi : Yi → Y}i∈[t] , a divisor D on Y(Fq ), and sets S ⊂ Y(Fq )
and B = g −1 (S) all as described above, where l = deg(D) ≤ |S| and the quantity d below is positive, the code
C(D, B) is an LRC(t) with
5

• length n = |B| = dg |S|,
• dimension
k =
≥

`(D)(dh1 − 1)(dh2 − 1) · · · (dht − 1)
(l − gY + 1)(dh1 − 1)(dh2 − 1) · · · (dht − 1),
Pt
• minimum distance d ≥ n − ldg − i=1 (dhi − 2) (dgi dxi ), and
• locality (dh1 − 1, dh2 − 1, . . . , dht − 1).
Proof. The length of C(D, B) is given by definition. The minimum distance is bounded by considering the
number of zeros that a function f ∈ V can have on the curve X . Note that


t
X

∗et
1 ∗e2
fk∗ x∗e
∈ L g −1 (D) +
dhj − 2 gj−1 (Dj,− ) ⊂ Fq (X ),
1 x2 · · · xt
j=1

where D has degree l, g −1 (D) has degree ldg , and gj−1 (Dj,− ) has degree equal to dgj dxj . Thus the function
Pt
f can have at most ldg + j=1 (dhj − 2)dgj dxj poles on X (counted with multiplicity). As any principal
divisor has degree 0, f may have at most this many zeros on X (counted with multiplicity). The dimension
is as stated, because the evaluation map is injective for ei in the ranges described.
Next, we see how local recovery is achieved. Say that c = (c1 , . . . , cn ) ∈ C(D, B). Fix j ∈ [t]. Let
I = {e = (e1 , e2 , . . . , et ) : ei ∈ Z, 0 ≤ ei ≤ dhi − 2 for all i},
and
Ij = {ẽ = (e1 , e2 , . . . , ej−1 , ej+1 , . . . , et ) : ei ∈ Z, 0 ≤ ei ≤ dhi − 2 for all i 6= j}.
Fix i ∈ [n]. To use the jth recovery set to recover the value ci , consider that for some f ∈ V , ci = f (Qi ).
Recall that m = `(D). Say


m
X
X
Y
ak fk∗
bk,e 
x∗w ew  ,
f=
e∈I

k=1

w∈[t]

where ak , bk,e ∈ Fq are constants depending on f . Rearranging the sum,


dj −2
m
X
X
X
Y
f=
bej x∗j ej
aej ,k fk∗
bej ,k,ẽ 
x∗w ew  ,
ej =0

ẽ∈Ij

k=1

w∈[t],w6=j

where bej , aej ,k , bej ,k,ẽ ∈ Fq are new constants depending on f . Then
dj −2

ci = f (Qi ) =

X

bej (x∗j (Qi ))ej

ej =0

m
X




aej ,k fk∗ (Qi )

X

bej ,k,ẽ 

ẽ∈Ij

k=1

Y

(x∗w (Qi ))ew  .

w∈[t],w6=j

By definition this is just
dj −2

X

bej (xj (gj (Qi )))ej

ej =0

m
X


X

aej ,k fk (g(Qi ))

bej ,k,ẽ 

ẽ∈Ij

k=1


Y

(xw (gw (Qi )))ew  .

w∈[t],w6=j

For all w ∈ [t], w 6= j, let xw (gw (Qi )) = βw ∈ Fq . Define fk (g(Qi )) = αk ∈ Fq . Putting this together,


dj −2
m
X
X
X
Y
ci =
bej (x∗j (Qi ))ej
aej ,k αk
bej ,k,ẽ 
(βw )ew  .
ej =0

ẽ∈Ij

k=1

Combining constants and redefining bej appropriately,
dj −2

ci =

X

bej (x∗j (Qi ))ej .

ej =0
6

w∈[t],w6=j

In this framework, ci can be seen as the evaluation at x∗j (Qi ) of a polynomial in x:
dj −2

f˜(x) :=

X

bej (x)ej ,

ej =0

i.e., ci = f (Qi ) = f˜(x∗j (Qi )).
For all Q ∈ B (j) (Qi ), the definition of B (j) (Qi ) implies that g̃j (Q) = g̃j (Qi ). That means
(1)

gw (Q) = gw (Qi )

for all w ∈ [t], w 6= j. Composing with h̃j in (1), we have
(2)

g(Q) = h̃j (g̃j (Q)) = h̃j (g̃j (Qi )) = g(Qi ).

Then composing with fk for k ∈ [m] in (2), we have fk (g(Q)) = fk (g(Qi )). Similarly, composing with the
function xw in (1) yields xw (gw (Qi )) = xw (gw (Q)) for w ∈ [t] with w 6= j. That means if r ∈ Aij , then
dj −2

cr = f (Qr ) =

X

bej (x(Qr ))ej = f˜(x∗j (Qr )).

ej =0

Thus cr is the evaluation of f˜ at x = x∗j (Qr ). Since it must be that there are no two points Qa 6= Qb in
B (j) (Qi ) where x∗j (Qa ) = x∗j (Qb ), the values of cr for all r ∈ Aij are the evaluations of f˜ at dhj − 1 distinct
values in Fq . Thus the polynomial f˜ may be interpolated to determine ci = f˜(x∗j (Qi )).

Remark 1. For ρ ≥ 1 an integer, let
∗ et
1
Vρ = Span{fk∗ x∗e
: 0 ≤ ej ≤ dhj − 1 − ρ for all j ∈ [t], k ∈ [m]}.
1 · · · xt

As observed in [4], applying the same construction with Vρ in place of V allows up to ρ erasures to be
recovered by each recovery set, increasing the local distance of C(D, B). However, this also reduces the
dimension of the code to
m(dh1 − ρ)(dh2 − ρ) · · · (dht − ρ),
so this must be seen as a tradeoff between dimension and recovery. Throughout the rest of the paper, we use
the maximal dimension construction from Theorem 3.1, but the modification above may be made to recover
more erasures if desired.
Given curves {Yj }j∈[t] and Y, as well as appropriate maps {hj }j∈[t] , Theorem 3.1 describes a code on the
fiber product where knowledge of the parameters is built strictly on the understanding of these maps. This
may be considered as a ‘bottom-up’ approach to building LRC(t)s. It is sometimes also possible to take a
‘top-down’ approach using the automorphism group of a curve X to create maps to quotient curves Yj . This
approach is described in the following corollary.
Corollary 1. Suppose that X is a curve such that Aut(X ) has subgroups T1 , . . . , Tt so that the subgroup
generated by these groups is an associative semi-direct product within Aut(X ). Then Theorem 3.1 applies
to give locally recoverable codes from X by taking the Yj to be the the associated quotient curves Y/Tj and
setting Y := X /(T1 o · · · o Tt ).
Remark 2. The semi-direct product must be associative so that the curve Y is well defined. For t > 2,
the requirement that the semi-direct product is associative is far from trivial. Another difficulty with the
‘top-down’ approach of Corollary 1 is explicitly writing down equations for Yj , the functions xj , and the
spaces L(D) when starting with a given model of X .
Remark 3. Our construction builds on that of [4, Theorem 5.2], where the authors construct LRC(2)s from
fiber products and bound the parameters of the resulting codes. In addition to carrying out the generalization
to LRC(t)s for t ≥ 2, the bounds in Theorem 3.1 differ in some key ways. First, [4, Theorem 5.2] relies on the
parameter h, which is the degree (as a function to P1 ) of a primitive element x generating the full extension
Fq (X )/g ∗ (Fq (Y)). This primitive element is not canonical. It is known that this primitive element can be
generated as a linear combination of the primitive elements x∗i of the extensions Fq (Yi )/h∗i (Fq (Y)), but not
7

every linear combination results in a primitive element. Also, the degree h may vary depending on the the
primitive element chosen. The approach in Theorem 3.1 entirely avoids the issue of a primitive element for
Fq (X )/g ∗ (Fq (Y)) and relies only on the primitive elements for the intermediate extensions.
As mentioned in the Section 1, the curves considered in this paper are maximal. Precisely, this means
√
their numbers of rational points meet the upper Hasse-Weil bound, so |C (Fq ) | = q + 1 + 2gC q, where gC
is the genus of the curve C. Maximal curves have played an important role in coding theory, especially in
the construction of algebraic geometry codes, as they support the construction of long codes over relatively
small fields, with minimum distance bounded below based on geometric arguments. Their utility in the
construction of locally recoverable codes comes from this as well. Generally, if |X (Fq )| is large, then the
hope is that one can find appropriate map g : X → Y so that |B| is large. Focusing on the intermediate
curves, if |Yj (Fq )| is large for each j, and the maps hj have limited and aligned ramification, the set |B|
can also be large. Moreover, some families of maximal curves (such as Hermitian and Suzuki) have large
automorphism groups which may allow for more choices when constructing recovery sets (equivalently the
maps gj : Yj → Y).
4. LRC(t) codes, erasure recovery, and error correction
As described in Section 1, locally recoverable codes have been developed with the primary goal of facilitating convenient recovery of erasures, potentially created by server failure in distributed storage systems.
The construction for C(D, B) described in Section 3 results in t disjoint recovery sets for each location. Since
recovery sets are defined by fibers over points of the curves Y˜j , the position i is in the jth recovery set for
the position k if and only if position k is in the jth recovery set for ci ; i.e., for all j ∈ [t],
k ∈ Aij ⇔ i ∈ Akj .
We say that such recovery sets are symmetric. Note that for each j ∈ [t] there exists some I ⊆ [n] such
that {Bij }i∈I is a partition of [n].
This section addresses two questions that arise from the recovery procedure for symmetric recovery sets.
First, what benefit is provided by having a large number of recovery sets? Second, how does the number of
recovery sets relate to minimum distance and global error correction?
First, we note that for erasure of a small fraction of locations in known positions, it can be much more
efficient to use local recovery over global error correction, even if multiple local recovery sets are required.
Consider a locally recoverable code C of length n and availability t with symmetric recovery sets. Say that 
erasures occur. For global error correction, we assume that all n −  known locations must be consulted. In
general, we see that if a code has locality t and symmetric recovery sets, then the fact that recovery sets are
transverse implies that lcm {(rj + 1) : 1 ≤ j ≤ t} divides n. Let mt () be the maximum number of positions
that need to be consulted to recover  erasures using local recovery. If there is a pattern of  erasures that
may not be locally recoverable by a code of availability t, then mt () = ∞.
If only one position cP has been erased and C admits a single local recovery set of size r1 for each position,
then r1 positions may be consulted to recover cP , and m1 (1) ≤ r1 . We may assume n = s(r1 + 1) for some
integer s > 1, so local recovery saves at least (s − 1)(r1 + 1) consultations.
Now consider the possibility that two positions cP and cQ were erased. If C has only one recovery set for
each position and the recovery set of cP contains cQ (and vice versa, by symmetry), then cP and cQ are not
recoverable using that recovery set. However, if C has availability 2, then C has two disjoint recovery sets
for each position, and the fact that the first recovery set of cP contains cQ implies that the second recovery
set does not (and similarly for cQ ). If C has locality (r1 , r2 ), then cP and cQ can both be recovered with at
most r1 + r2 consultations. We have saved at least (s(r1 + 1) − 2) − (r1 + r2 ) consultations.
Without loss of generality, assume r1 = max1≤j≤t {rj }. For a general code of availability t, assuming that
t is sufficiently large to recover  erasures, recovery will require at most  recovery sets be consulted, resulting
in a total number of
mt () ≤ r1
consultations in local recovery, in comparison with at least s(r1 + 1) −  consultations for global error
correction. This also assumes that the minimum distance of the code is sufficiently large to correct  errors,
which is not necessarily implied by the construction. Clearly, if s is close in size to , then there is little
8

difference in the numbers of consultations required for local recovery and for error correction.
However, our
Qt
construction generally results in relatively large s. In all our examples, we have that j=1 (rj + 1) divides
n, so the savings are significant for moderate size .
In fact, the interplay between parameters becomes complicated as the number of potential failures grows.
The following result demonstrates that more than two recovery sets become necessary rather quickly.
Proposition 1. Let b() be the availability required for a locally recoverable code C with symmetric recovery
sets to be capable of locally recovering any pattern of  erasures. Then
•
•
•
•

b(1) = 1,
b(2) = 2,
b(3) = 2, and
b(4) > 3.

Proof. It is not difficult to see that b(1) = 1 and b(2) = 2 based on the situations described above. To see
that b(3) = 2, assume without loss of generality that positions 1, 2, and 3 have been erased. Availability
t = 1 is clearly not sufficient, because it could be that B11 = B21 = B31 , in which case no Ai1 is complete.
However, t = 2 is sufficient; if B11 = B21 = B31 , then
B12 ∩ B22 = B12 ∩ B32 = ∅,
since distinct recovery sets for a fixed position are disjoint. Thus, position 1 may be recovered from the
recovery set A12 , leaving two erased positions, which can be recovered with two recovery sets since b(2) = 2.
If B11 6= B21 but B11 = B31 , then position 2 can be recovered from A21 , again leaving two erased positions
and two recovery sets.
To see that b(4) > 3, consider the following scenario. WLOG, assume that positions 1, 2, 3, and 4 have
been erased, and suppose that:
• B11 = B21 and B31 = B41 ,
• B12 = B32 and B22 = B42 ,
• B13 = B43 and B23 = B33 .
Clearly, none of the three recovery sets can be used to recover any of the erased positions. Therefore b(4) > 3.

Note that the recovery procedure and all discussion to this point assume that the positions of the erased
locations are known. This is not the case in general error correction, so a code that is capable of restoring
 erasures may not be capable of correcting  global errors. Minimum distance bounds give some indication
of the global error correction capability of the code. The minimum distance bounds in Theorem 3.1 are
based on the divisors of certain functions. For theoretical purposes, however, we would like to bound the
minimum distance without explicitly constructing the given field extensions as in Section 3. More generally,
one might wish to know if an LRC(t) is actually an error-correcting code, regardless of its construction. It is
interesting to consider how the presence of recovery sets influences the potential error-correcting capability
of a locally recoverable code, independent of how the code itself is defined. With this in mind, some very
modest bounds on minimum distance can be derived by considering that, by construction, there exists an
algorithm for correcting a certain number of erasures.
Proposition 2. Let C be a locally recoverable code of availability t with symmetric recovery sets and minimum distance d. Then
• if t ≥ 1, then d ≥ 2,
• if t ≥ 2, then d ≥ 3.
Proof. Suppose that t = 1. Assume a codeword c has one error, in position i, resulting in the word c0 .
Consider an experiment in which a single position is intentionally erased and is locally recovered using the
recovery set for the position. If there were no errors, any position could be erased and correctly recovered
from its recovery set. However, if ci is erased, the recovered word will be different than c0 , meaning that
there must be an error in Bi1 . Checking all positions using this procedure, one may detect any single error
in c, so the minimum distance of C is at least 2.
9

XN × Hq
g2

g1
g

XN

Hq

h1

h2
P1y

Figure 4. Generalized GK curve as a fiber product.

Suppose that t = 2. Assume a codeword c has one error, in position i, resulting in the word c0 . Consider
an experiment in which a single position is intentionally erased, and is then locally recovered from each of
its two disjoint recovery sets. Again, if there were no errors, any position could be erased and correctly
recovered from either of its two recovery sets. However, if ci is erased, the words recovered using Ai1 and
Ai2 will both be different from c0 , meaning that there must be an error in Bi1 and in Bi2 . Since there is
only one error in c0 , the single error must be at the intersection of Bi1 and Bi2 , namely at position i. Once
the position of the error is known, it may be erased and correctly recovered using either of the two recovery
sets. Moreover, none of the other positions will register errors from both of their recovery sets, so position i
can be uniquely identified.


5. LRC(2)s on generalized Giulietti-Korchmaros curves
h

Let q = p for p a prime, and let N ≥ 3 be an odd natural number. We consider the family of generalized
Giulietti-Korchmaros (GK) curves CN , which are maximal over the field Fq2N [7, 10]. The curve CN is the
normalization of the intersection of two surfaces Hq and XN in P3 , defined by the following affine equations:
Hq : xq + x = y q+1
2

XN : y q − y = z

q N +1
q+1

.

The intersection of these surfaces has a single point at infinity, denoted by ∞, which is a cusp singularity
for N > 3 and is smooth when N = 3. The curve is smooth elsewhere. The number of Fq2N -rational points
on CN is
#CN (Fq2N ) = q 2N +2 − q N +3 + q N +2 + 1.
The curve CN can also be defined as the normalized fiber product over P1 of the two curves in P2 given
by the same equations. As curves, both Hq and XN are maximal over the field Fq2N [1], each with a single
point at infinity, denoted by ∞Hq and ∞XN respectively. Let ∞y denote the single point at infinity on P1y .
N

+1
Define h1 : XN → P1y to be the natural degree qq+1
projection map onto the y coordinate for affine points,
1
with ∞XN 7→ ∞y . Similarly, let h2 : Hq → Py be the natural degree q projection map onto the y coordinate
for affine points, with ∞Hq 7→ ∞y . We then have the fiber product construction depicted in Figure 4.
^
Then CN = XN
× Hq , the normalization of the fiber product described above. The map g : CN → P1y has

degree dg :=

q(q N +1)
q+1

and is ramified above ∞y and ay with a ∈ Fq2 , where ay denotes the point on P1y with
N

+1
y = a [7, 10]. Notice that dg1 = dh2 = q and dg2 = dh1 = qq+1
.
To construct an LRC(2), we use the commutative diagram in Figure 4 and the construction detailed in
Section 3. The degree of the function x : Hq → P1 is dx = q + 1. The degree of the function z : XN → P1 is
dz = q 2 . We take the divisor Q to be ∞y and choose a parameter l so that D = l∞y .
10

Theorem 5.1. The locally recoverable code C(l∞y , B) constructed from the
GK
 curve CN as
 generalized
q N +1
described above is an [n, k, d] code over Fq2N with availability 2 and locality q − 1, q+1 − 1 where
n = q 2N +2 − q N +3 + q N +2 − q 3 ,
 N

q +1
k=
− 1 (q − 1)(l + 1),
q+1
 
 N

 N
q +1
q(q + 1)
− (q N + 1) (q − 2) + q 3
−2
,
d≥n−l
q+1
q+1
and l is any positive integer yielding 0 < k < n, l < q N +2 + q N +1 − q − 1, and d > 0.
Proof. The set B of evaluation points consists of points on the curve CN that are not above ramification
points in the ground curve, P1y , over the field Fq2N . This means we let S = g(B). Since
|g −1 ({∞y , ay : a ∈ Fq2 })| = q 3 + 1,
we calculate the size of the evaluation set B:
|B| = |CN (Fq2N )| − (q 3 + 1) = q 2N +2 − q N +3 + q N +2 + 1 − (q 3 + 1)
= q 2N +2 − q N +3 + q N +2 − q 3 = sdg ,
where s = |S| = q 2 (q N −1 − 1)(q + 1) = q N +2 + q N +1 − q − 1.
Let D = l∞y . Since the genus of Y = P1 is 0, we know by the Riemann-Roch Theorem that `(D) = l + 1,
and we can realize these functions as polynomials in y of degree bounded by l. The set of evaluation functions
for the code is denoted by V , where


qN + 1
V = Span xi z j y κ : 0 ≤ i ≤
− 2, 0 ≤ j ≤ q − 2, 0 ≤ κ ≤ l, and i, j, κ ∈ Z .
q+1
Then, by Theorem 3.1, we obtain a code with the claimed attributes.



Remark 4. As discussed in [10], the curves XN and Hq are quotient curves of CN , and in this case the
automorphism group construction in Corollary 1 could be applied, yielding the same codes.
Given the choice of l, we can construct codes with rate close to one, where the tradeoff is low minimum
distance:
 N

q +1
−
1
(q − 1)(l + 1)
q+1
RN,l ≥
,
|B|
where for maximal l and increasing N we have
lim RN,l = 1.

N →∞

Example 1. Taking N = 3, we consider codes from the curves C3 over the field Fq6 . We obtain blocklength
|B| = q 3 (q − 1)(q 2 − q + 1)(q + 1)2 = q 8 − q 6 + q 5 − q 3 , as above, and the following bounds on the dimension
and minimum distance:
k = (q 2 − q)(q − 1)(l + 1),
d ≥ n − lq(q 2 − q + 1) − (q 3 + 1)(q − 2) − q 3 (q 2 − q − 1).
In Table 1, we consider q = 3 and provide bounds on the code parameters for different values of l.
In this section, we employed generalized GK curves to obtain LRC(2)s over Fq2N with recovery sets of sizes
N

+1
q − 1 and qq+1
− 1. While this addresses the availability problem, it leads to recovery sets of very different
sizes if N > 2. In the next section, we construct LRC(2)s with recovery sets which are more balanced in
size.
11

l
k
d≥
270 3252 215
260 3132 425
250 3012 635
240 2892 845
230 2772 1055
220 2652 1265
210 2532 1475
Table 1. The generalized GK curves C3 over F729 produce LRC(2)s of length n = 6048,
with N = 3, q = 3, r1 = 6, r2 = 2, and D = l∞y , with l determining k and d as above.

6. LRC(2)s on Suzuki curves
Let a ∈ N, q0 = 2a , and q = 2q02 . The Suzuki group Sz(q) can be realized as a subgroup of GL4 (q) as
follows. Let a, c, d ∈ Fq , d 6= 0, and define


1
0
0 0

a
1
0 0 
,
Ta,c = 
2q0

c
a
1 0 
a2q0 +2 + ac + c2q0 a2q0 +1 + c a 1

 −q −1
d 0
0
0
0

0
d−q0
0
0 
,
Md = 

0 
0
0
dq0
0
0
0 dq0 +1
and


0 0 0 1
 0 0 1 0 

W =
 0 1 0 0 .
1 0 0 0
Let T = {Ta,c : a, c ∈ Fq } and M = {Md : d ∈ F∗q }. Then Sz(q) = hM, T, W i.
The Suzuki curve Sq is the Deligne-Lusztig curve with automorphism group Sz(q). The curve Sq has a
singlular model in P2 with affine equation
y q + y = xq0 (xq + x).
The genus of Sq is q0 (q − 1) and it has q 2 + 1 points over Fq , making it optimal over the field. Over Fq4 , Sq
is maximal, attaining the upper Weil bound [11]. Smooth models for Sq in higher-dimensional spaces have
been determined [2, 6]. As in [9], a convenient model in P4 can be defined by the affine equations
y q + y = xq0 (xq + x),
z = x2q0 +1 + y 2q0 ,
and
w = xy 2q0 + z 2q+1 .
Let [U : X : Y : Z : W ] be a set of projective coordinates for P4 , where for all U 6= 0 we have affine
coordinates given by
X
Y
Z
W
y= ,
z= ,
w=
.
x= ,
U
U
U
U
For any (x, y) ∈ F2q satisfying y q + y = xq0 (xq + x), let P(x,y) denote the point [1 : x : y : z : w] ∈ Sq (Fq ).
Let P∞ = [0 : 0 : 0 : 0 : 1] ∈ Sq (Fq ).
Theorem 6.1. There are locally recoverable codes C(D, B) with availability 2, and locality (q − 1, q − 2) on
the Suzuki curve Sq
(1) over Fq , with length n = q(q − 1) and dimension k = (q − 1)(q − 2); and
(2) over Fq4 , with length n = q(q −1)(q 2 +2qq0 +q +1) and dimension k = (q −1)(q −2)(q 2 +2qq0 +q +1).
12

Sq
g1

g2
g

Y1
h1

Y2
h2

Y
Figure 5. Suzuki curve and its quotients used for constructing LRC(2) with balanced
recovery sets
Proof. Let T0 = {T0,c : c ∈ Fq } ≤ T . It is straightforward to compute that Md T0,c Md−1 = T0,cd2q0 +1 , so M
normalizes T0 . Thus, T0 is a normal subgroup of G = hM, T0 i, and G = T0 oM . Thus, G = (T0 oM ) ≤ Sz(q).
Let Y1 = Sq /T0 . The accompanying natural map g1 : Sq → Y1 is degree q and fully ramified at a single
point P∞ ∈ Sq (Fq ) [9, Theorem 6.1]. Then, by [9, Theorem 6.6], Y1 has genus 0 and has an affine model as
given in [9].
Let Y2 = Sq /M . By [9, Theorem 4.1], the natural map g2 : Sq → Y2 is degree q − 1 and fully ramified
below two points, P(1,0) and P∞ ∈ S2 (Fq ). Then Y2 has genus q0 and has an affine model as given in [9].
Let Y = Sq /G. Since Y1 covers Y, it must be that Y has genus 0 as well. Let g : Sq → Y be the
accompanying natural map. We then have the diagram
of curves as shown in Figure 5.

In Case (1), let B = Sq (Fq ) \ {P∞ , g −1 g(P(1,0) ) }. Then
n = |B| = |Sq (Fq )| − (q + 1) = q(q − 1).
In the construction from Theorem 3.1, we may choose l = 0, so L(D) is simply the set of constant functions
on Y, giving `(D) = 1 and yielding the stated dimension.

In Case (2), let B = Sq (Fq4 ) \ {P∞ , g −1 g(P(1,0) ) }. Then
n = |B| = |Sq (Fq4 )| − (q + 1) = q(q − 1)(q 2 + 2qq0 + q + 1).
Since Y has genus 0, we may let l = q 2 + 2qq0 + q, D = lP∞ , and assume that functions in L(D) are
represented by polynomials of degree less than or equal to l. We then have `(D) = q 2 + 2qq0 + q + 1, so
k = (q − 1)(q − 2)(q 2 + 2qq0 + q + 1) by Theorem 3.1.

Remark 5. In both Case (1) and Case (2), the bound on the minimum distance from Theorem 3.1 applies.
However, without explicit generators for the given function field extensions, one cannot determine the degrees
of the functions xi to give an explicit bound on d. Hence, some work around is required. Therefore we use
the very modest bound from Proposition 2 to guarantee d ≥ 3 in both cases.
This illustrates a drawback of the ‘top-down’ construction presented in Corollary 1 in that while the
codes C(D, B) might have reasonable classical parameters n, k, and d, one might not have access to the
information needed to provide a good estimate of the minimum distance d.
Remark 6. There is no benefit to considering the code defined over Fq2 because |Sm (Fq2 )| = |Sm (Fq )|. The
field Fq4 is a good choice for increasing length and dimension of the code because, as mentioned above, Sm
is maximal over this field.
In this section, we used Suzuki curves to determine LRC(2)s with recovery sets which are more balanced
in size than those constructed in Section 5. However, the quotient curve construction does not naturally
provide explicit expressions for the bases of functions. In this case, equations and explicit realizations of
their function fields are known for the quotient curves [9]. However, the necessary functions x1 and x2 that
generate the function fields of the quotient curves are unknown, even for this very well-studied curve. This
is a larger issue with the quotient curve construction–knowledge of the top curve and the existence, genera,
and even models of the quotient curves does not give full information about the functions that generate the
associated function field extensions, and their degrees as maps to P1 . Hence, even given a curve X with many
points and a large automorphism group, it can be difficult to generate useful codes from the quotients, and, as
13

X
g1

gt
g2

Ya1

...

Ya2

Yat

h2
ht

h1
P1x

Figure 6. Curves for locally recoverable codes with availability t
mentioned in Section 3, extending this construction to more than two subgroups of Aut(X ) faces additional
obstacles. This motivates us to seek good general examples for LRC(t)s from fiber product constructions.
In the next section, we consider a general fiber product construction that is both explicit and gives rise to
balanced recovery sets. Moreover, it naturally leads to even more recovery sets for each position.
7. LRCs with multiple recovery sets from fiber products of Artin-Schreier curves
In [15], van der Geer and van der Vlugt develop several constructions of fiber products of Artin-Schreier
curves with many points. In particular, they construct maximal curves via the fiber product of several
smaller genus maximal curves, in both characteristic 2 and odd characteristic. These constructions are a
very natural source of curves for locally recoverable codes with many recovery sets.
The simplest of these constructions is given in [15, Section 3, Method I]. Let p be prime, 2h an even natural
h
number, and q = p2h ; [15] also gives a similar construction odd powers of p. Let A = {a ∈ Fq : ap + a = 0}.
As the kernel of the Fp -linear trace map Fq /F√q , A is an h-dimensional Fp vector space. Let {a1 , a2 , . . . , ah }
generate A over Fp . Then the curves
Yai : y p + y = ai xp

√
(p−1) q
2

h

+1

each have genus
and have pq + 1 points over Fq , with one point ∞Yai at infinity.
Let t be an integer with 1 ≤ t ≤ h. Then consider the natural map hi : Yai → P1x given by projection
onto the x coordinate, where ∞x represents the point at infinity on the projective line P1x and ∞Yai 7→ ∞x .
These are all degree-p Artin-Schreier covers of P1x , fully ramified above ∞x .
Define X to be the fiber product of these curves Yai over P1x ; i.e.,
X = Ya1 ×P1x Ya2 ×P1x · · · ×P1x Yat .
The corresponding maps gi : X → Yai are degree pt−1 , ramified only above ∞Yai . Let ∞X be the single
point above ∞Yai on X .
As shown in [15, Theorem 3.1], the curve X has genus
over Fq . Explicitly, we can write

√
(pt −1) q
2

and |X (Fq )| = pt q + 1, making X maximal
√

B = {(x, y1 , y2 , . . . , yt ) ∈ Ft+1
: yip + yi = ai x
q

q+1

}.

The functions gi : X → Yai are given by
gi (x, y1 , y2 , . . . , yt ) = (x, yi )
and the functions g̃i : X → Ỹai are given by
g̃i (x, y1 , y2 , . . . , yt ) = (x, y1 , y2 , . . . , yi−1 , yi+1 , . . . , yt ).
For each i, the map gi has degree pt−1 . The function yi has degree dyi = ph + 1, since for each α, β ∈ Fq
h
h
with β 6= 0 and αp + α = ai β p +1 , there are ph + 1 points Qj = (ζ k β, α) ∈ Yai (Fq ), where ζ p +1 = 1 and
1 ≤ k ≤ ph + 1.
In applying the code construction, we use the divisor D = l∞x , meaning L(D) is the set of polynomials
in x over Fq of degree ≤ l. Then functions leading to codewords are
V = Span{xj y1e1 y2e2 . . . ytet : 0 ≤ j ≤ l, 0 ≤ ei ≤ p − 2}.
14

Let Pi = (α, β1 , β2 , . . . , βt ) ∈ B. Then, returning to the notation of Section 4, we have Bij is the set of
positions corresponding to the points in {(α, y1 , y2 , . . . , yt ) ∈ B : yk = βk ∀ k 6= j}. We then have |Bij | = p.
On points corresponding to the positions in Bij , any function in V varies as a polynomial in yj of degree at
most (p − 2) and can therefore be interpolated by knowing its values on any p − 1 points.
Choosing l for maximum dimension with guaranteed positive minimum distance, we get the following
theorem.

Theorem 7.1. The code C (q − tph + 2tph−1 − t)∞x , B constructed from the fiber product X of the
Artin-Schreier curves above is a locally recoverable [n, k, d] code over Fq with availability t and locality
(p − 1, p − 1, . . . , p − 1) where
n = pt q,
k = (q − tph + 2tph−1 − t + 1)(p − 1)t , and
d ≥ 2tpt−1 .
Proof. The construction in Theorem 3.1 gives rise to a code of length n = pt q, where B = X (Fq )\{∞X }. The
set S = g(B) has size s = q. To achieve positive minimum distance, we then take l = q−tph +2tph−1 −t, where
gX = 0 so m = q − tph + 2tph−1 − t + 1, giving a code of dimension k = (q − tph + 2tph−1 − t + 1)(p − 1)t . Each
coordinate has t disjoint recovery sets of size (p − 1), given by the fibers g̃j−1 (P ) for P ∈ Ỹaj where 1 ≤ j ≤ t.
The minimum distance is bounded by d ≥ n − pt (q − tph + 2tph−1 − t) − t(p − 2)pt−1 (ph + 1) = 2tpt−1 . 
Remark 7. Though it does not seem√to have
been remarked before, it is straightforward to see that when
√
( q−1) q
and
is maximal over Fq . Since the Hermitian curve H√q is
t = h, then the curve X has genus
2
the only curve of this genus maximal over Fq [13], we have that X ∼
= H√q . Therefore the construction in
Theorem 7.1 is yet another example of a code on the Hermitian curve with interesting properties.
Example 2. We construct a locally recoverable code with three recovery sets of size two for each position,
letting p = h = t = 3 in the above construction. Consider the field
F36 ∼
= F3 [x]/hx6 + 2x4 + x2 + 2x + 2i.
As the construction indicates, we need roots of the polynomial x27 + x that generate a 3-dimensional
vector space over F3 . We choose the following roots:
2a3 + a + 1 = a350 := a1
a4 + a2 + 1 = a210 := a2
2a5 + a3 + a2 + 1 = a490 := a3 .
Now the components of the fiber product are the curves Ya1 , Ya2 , Ya3 , given below:
y 3 + y = a350 x28
y 3 + y = a210 x28
y 3 + y = a490 x28 .
The code has length n = 19683, dimension k = 5600, and minimum distance d ≥ 54.
8. Conclusion
In this paper, we detailed a construction of locally recoverable codes from fiber products of algebraic
curves, building on the work of Barg et. al. [4]. This construction results in different bounds (from those
in [4]) for minimum distance in the case t = 2 and allows for t > 2 recovery sets. This gives rise to several
new families of locally recoverable codes, specifically those from generalized Giulietti and Korchmáros (GK)
curves, Suzuki curves, and the maximal curves of van der Geer and van der Vlugt, including an LRC(t) from
the Hermitian curve Hpt . The code construction from generalized GK curves is explicit, but the recovery sets
have vastly different cardinalities (an advantage or disadvantage, depending on the perspective taken). In
15

contrast, the codes from the Suzuki curves provide balanced recovery sets, but the codes themselves are not
easily explicitly constructed. The construction using the curves of van der Geer and van der Vlugt provides
both explicit code construction and balanced recovery sets, of which arbitrarily many are available.
Acknowledgements We would like to thank Bjorn Poonen and Rachel Pries for helpful comments and Paul
Myrow for graphical assistance. In addition, we would like to acknowledge the hospitality of IPAM and the
organizers of the 2016 Algebraic Geometry for Coding Theory and Cryptography Workshop: Everett Howe,
Kristin Lauter, and Judy Walker.
References
[1] M. Abdón, J. Bezerra, and Luciane Quoos, Further examples of maximal curves, Journal of Pure and Applied Algebra,
213 (2009), 1192–1196.
[2] E. Ballico and A. Ravagnani, Embedding Suzuki curves in P4 , Journal of Commutative Algebra, 7 (2015), 149–166.
[3] A. Barg, K. Haymaker, E. W. Howe, G. L. Matthews, and A. Várilly-Alvarado, Locally recoverable codes from algebraic
curves and surfaces, arXiv:1701.05212.
[4] A. Barg, I. Tamo, and S. Vlăduţ, Locally recoverable codes on algebraic curves, Proceedings of the IEEE Int. Symp. Info.
Theory, (2015), 1252–1256. Extended version: arXiv:1603.08876.
[5] A. Barg, I. Tamo, and S. Vlăduţ, Locally recoverable codes on algebraic curves, arXiv:1603.08876.
[6] A. Eid and I. Duursma, Smooth embeddings for the Suzuki and Ree curves, Proceedings of the conference on Arithmetic,
Geometry and Coding Theory (AGCT 2013), Contemporary Mathematics Series (AMS), 637, 251–291.
[7] A. Garcia, C. Güneri, and H. Stichtenoth, A generalization of the Giulietti-Korchmáros maximal curve, Advances in
Geometry, 10 (2010), 427–434.
[8] M. Giulietti and G. Korchmáros, A new family of maximal curves over a finite field, Math. Ann. 343 (2009), no. 1, 229–245.
[9] M. Giulietti, G. Korchmáros, and F. Torres, Quotient curves of the Suzuki curve, Acta Arithmetica, 122 (2006), 245–274.
[10] R. Guralnick, B. Malmskog, and R. Pries, The automorphism groups of a family of maximal curves, in Journal of Algebra,
361 (2012), 92–106.
[11] J. Hansen, Deligne-Lusztig varieties and group codes, in Coding Theory and Algebraic Geometry, 1518 (2006), Lecture
Notes in Mathematics, 63–81.
[12] Q. Liu, Algebraic Geometry and Arithmetic Curves, Oxford Graduate Texts in Mathematics 6 (2002).
[13] H.-G. Rück and H. Stichtenoth, A characterization of Hermitian function fields over finite fields, Journal fur die reine und
angewandte Mathematik, 457 (1994), 185–188.
[14] H. Stichtenoth, Algebraic Function Fields and Codes, Springer (2008).
[15] G. van der Geer and M. van der Vlugt How to construct curves over finite fields with many points, in Arithmetic geometry
(Cortona, 1994), Symposia Mathematica XXXVII (1997), Cambridge: Cambridge University Press, 169–189.

Received xxxx 20xx; revised xxxx 20xx.
E-mail address: kathryn.haymaker@villanova.edu
E-mail address: beth.malmskog@gmail.com
E-mail address: gmatthe@clemson.edu

16

