Quantum Codes from Algebraic Curves with Automorphisms

Let X be an algebraic curve of genus g 2 defined over a field Fq of characteristic p > 0. From X , under certain conditions, we can construct an algebraic geometry code C. If the code C is self-orthogonal under the symplectic product then we can construct a quantum code Q, called a QAG-code. In this paper we study the construction of such codes from curves with automorphisms and the relation between the automorphism group of the curve X and the codes C and Q.


Introduction
In recent years there is an increased interest on the use of algebraic geometry in the theory of quantum cryptography and quantum coding.In this survey we study the way of constructing quantum codes from algebraic geometry codes (AG-codes).We call such codes quantum algebraic geometry codes (QAG-codes).Furthermore, we discuss the relation between the automorphism group of the algebraic curve, the automorphism group of the AG-code, and the automorphism group of the corresponding quantum code.
Throughout this paper X denotes a genus g irreducible, algebraic curve defined over a finite field F q .Under certain conditions, starting with X one can construct an algebraic geometry code which we denote by C X .If C X is self-orthogonal then from C X we can construct a quantum code Q X , which will be called a QAG-code.The goal of this paper is to explore when the above constructions are possible.There are several papers in this area and a few algorithms, some of which have been implemented on some computer algebra systems.To our surprise the current versions of such algorithms have many weaknesses and their capabilities are quite limited.Also, their implementations are very inefficient when the size of the field increases.Our goal is to study how one can broaden the scope of these algorithms and improve their implementations.Such implementations will be discussed in detail in a subsequent paper.
In classical coding theory AG-codes with a large group of automorphisms have good errorcorrecting properties.Under certain conditions the automorphism group of the curve is embedded in the automorphism group of the corresponding code.Hence, AG-codes which come from algebraic curves with a large group of automorphisms are of special interest.Very little is known how the automorphism group of the quantum code Q X relates to the automorphism group of X and C X .The second goal of this paper is to study the relation among such groups.Furthermore, we discuss this problem from the computational viewpoint.The existing algorithms for computing the automorphism group of curves and codes have some limitations.
It is interesting to note that our method of constructing QAG-codes is based on the existence of an automorphism of the curve X .We focus on the algebraic curves with cyclic automorphism group, but other curves may be used as well.Hence, curves with non-trivial automorphism groups are of interest in this construction.In the last section we give a complete table of groups which c T.Shaska T.Shaska occur as automorphism groups of curves of genus 3 and 4 over a field of characteristic 2. This paper is organized as follows: In section 2 we give a brief description of the main definitions of algebraic geometry codes and stabilizer codes.This prepares for the construction of quantum codes when an algebraic curve X defined over a finite field F q is given.Given a linear code C in a vector space V , using the properties of stabilizer codes we can construct a quantum code if C is self-dual under some symplectic form.
In section 3 we study the construction of quantum algebraic codes based on the existence of the rational points on the curve X and the existence of an involution σ ∈ Aut F (X ).We use this method to construct QAG-codes from hyperelliptic and non-hyperelliptic curves as well.In section 4 we illustrate this construction for hyperelliptic curves.We are able to easily construct many QAG-codes over small size fields and give an algorithm how this can be done in general.
In the last section we study the automorphism group of quantum codes.We compare the automorphism group Aut (X ) of the curve X with the automorphism group of the corresponding quantum AG-code.
Notation: Throughout the paper F q denotes a finite field of q elements where q is a prime power.The notation [n, k, d] denotes a classical code of length n, dimension k, and minimum distance d. [[n, k, d]] will denote a quantum code.A cyclic group of order n is denoted by C n .In general, given a genus g 2 algebraic curve X defined over F, the automorphism group of X is denoted by Aut (X ) and is defined to be the group of automorphisms of X defined over the algebraic closure of F. The group of automorphisms defined over F is denoted by Aut F (X ).
The permutation automorphism group of the code C ⊆ F n q is the subgroup of S n (acting on F n q by coordinate permutation) which preserves C. We denote such group by PAut (C).The set of monomial matrices that map C to itself forms the monomial automorphism group, denoted by MAut (C).Every monomial matrix M can be written as M = DP where D is a diagonal matrix and P a permutation matrix.Let γ be a field automorphism of F q and M be a monomial matrix.Denote by M γ the map M γ : C → C such that ∀x ∈ C we have M γ (x) = γ(Mx).The set of all maps M γ forms the automorphism group of C, denoted by ΓAut (C).

Algebraic geometry codes and stabilizer codes
There are many ways of constructing quantum codes from the existing algebraic geometry codes.In this section we give a brief description of algebraic geometry codes, stabilizer codes, and quantum algebraic codes.
Let X be an algebraic curve defined over a finite field F q with characteristic p > 0. By F = F q (X ) we will denote the function field of X .

Algebraic geometry codes
Let P 1 , . . ., P n be places of degree one and let Define the following linear evaluation map Then the Goppa Code is given by The parameter d des is called the designed distance of the Goppa code.Assume deg G < n and let g be the genus of F/F q .Then we have: Let D = P 1 + • • • + P n be a divisor, where the P i 's are places of degree one of an algebraic function field F/F q , Furthermore, let G be a divisor with supp(G) ∩ supp(D) = ∅.Then we define the code C Ω (D, G) by The following result is well known: Lemma 1.The code C Ω (D, G), where D and G are as above, has the following properties: . ., n, and a = (res P1 (η) , . . ., res Pn (η)).

C
One common construction is the so-called one point code.We define as admissible a class of curves which have some additional conditions on their divisors.Definition 1.A genus g 1 curve X /F q is called admissible if it satisfies the condition: i) there exists a rational point P ∞ and two functions x, y ∈ F (X ) such that (x) ∞ = kP ∞ , (y) ∞ = lP ∞ , and k, l 1; ii) for m 0, the elements x i y j with 0 i, 0 j k − 1, and ki + lj m form a basis of the space L(mP ∞ ).
Let X /F q be an admissible curve over F q of genus g where l > k.Assume that m l.Let D = P ∈J P where J ⊆ P\{P ∞ }, P is the set of all rational points of X .The one point code of level m is the code With the above notation we have the following: Lemma 2. Let X /F q be an admissible curve over F q of genus g where l > k.Assume that m l.Let D = P ∈J P where J ⊆ P\{P ∞ }, P is the set of all rational points of X .If )}, Proof.See [18] for details.
Next we give a brief introduction to the way of constructing quantum codes from algebraic geometry codes.

Stabilizer codes
Stabilizer codes are helpful devices that make possible the construction of quantum codes from classical codes.Let V denote the qubit state space and G n the Pauli group on n qubits.Let H G n and denote by V H the subspace of V fixed by H; The proof of the following lemma is elementary.
From now on we will assume that H is Abelian and −I ∈ H.The subspace V H is called the stabilizer code C(H) of H.For a proof of the following see [2].
\ H for all j and k, where E † denotes the adjoint of E. Then {E j } is a correctable set of errors for the code C(H).
Corollary 1.Let H be an Abelian subgroup of G n .If a state |ψ is in the +1 eigenspace of a set of generators {g 1 , . . ., g l } of H, it is an eigenstate of all elements in H.
Since we have seen that it suffices to look at a set of generators, we can represent a stabilizer code in an easier way.A generator matrix G of a stabilizer code is an l × 2n-matrix G(X|Z) where the first n components represent the X errors, the second n components represent the Z errors.This matrix defines a [[n, k, d]] quantum error correcting code with k = n − l.
The weight wt of an operator U 1 ⊗ • • • ⊗ U n is the number of elements U i that are not equal to the identity.
Let E ∈ G n be an error operator.Then: the error is detectable and can be corrected.
3. If E ∈ N (H)\H the error cannot be detected and therefore is not correctable.
The above allows us to introduce the distance of a stabilizer code.The distance d of a quantum stabilizer code C is the minimum weight of all normalizer elements that are not in the stabilizer.
q .We call x, y s the standard symplectic inner product, The stabilizer code of the normalizer N (H) is equal to the dual code C ⊥s with respect to the symplectic inner product , s .We obtain that The next proposition gives a way of constructing quantum codes from classical codes; see [2] for details.
Hence, in order to construct quantum AG-codes we need to construct AG-codes which are self-orthogonal.

Quantum algebraic geometry codes from algebraic curves with automorphisms
We continue with the notation of the previous session; X is a genus g curve defined over a finite field F q and F is its function field.The following lemma is cited from [11,Prop. VII.1.2].It permits to construct differentials with special properties that help to construct a self-orthogonal code.Lemma 4. Let x and y be elements of F such that v Pi (y) = 1, v Pi (x) = 0 and x(P i ) = 1 for i = 1, . . ., n.Then the differential η := x• dy y satisfies v Pi (η) = −1 and res Pi (η) = 1 for i = 1, . . ., n.First, we show under which circumstances a quantum stabilizer code can be obtained from an algebraic geometric construction.
Theorem 1.Let X be a genus g irreducible algebraic curve defined over F q and P 1 , . . ., P n degree one rational points on X .Let σ ∈ Aut F (X ) be an involution such that σP i = P j , ∀ i, j = 1, . . ., n.Further assume that we have a divisor G such that σG = G, v Pi (G) = v σPi (G) = 0 for all i.Then, there exists a quantum code Proof.Let F = F q (X ) be the function field of X .Let P 1 , . . ., P n be pairwise distinct places of degree one such that σP i = P j , ∀ i, j = 1, . . ., n.Then, by a strong approximation theorem there is a differential η such that Further assume that we have a divisor where η is as in equation (2).Then, we have C(G) ⊥s = C(H).
Let us assume that H G. Then, L(H) ⊂ L(G).Hence, C(D, G) ⊥s ⊂ C(D, G).We have k = dim C(D, G) − n which implies the result.
Next, we should like to construct quantum codes starting from algebraic curves which have nontrivial automorphisms.The most common class of curves are obviously the hyperelliptic curves.However, we start in a more general setting.Our first class of curves are the curves that have a cyclic group embedded in the automorphism group of the curve.The hyperelliptic curves will be studied more in detail in the next section.

Codes on the cyclic covers of the projective line
Let k be a field of characteristic p > 0 and F 0 = k(x) a function field of the projective line P 1 (k).We consider a degree r cyclic extension F := k(x, y), where for some fixed m ∈ Z + .The only places of F 0 that ramify are the places that correspond to the points x = α i .We denote such places by Q 1 , . . ., Q s and by B := {Q 1 , . . ., Q} the set of these places.The ramification indexes are e(Q i ) = r (r,di) .Let X denote the algebraic curve with affine equation defined over k, and let G := Aut (X ) be the automorphism group.Then, there is a cyclic group C r = Gal(F/F 0 ) of order r such that C r → Aut (X ).Fix a generator σ ∈ C r .
Lemma 5. Let τ ∈ Aut (X ) such that τ ∈ C r , s be the number of ramified places of the extension F/F 0 , and d = deg f (x).Then, the equation of the curve is given by for some δ|d.Moreover, f (x δ ) is a monic polynomial with constant coefficient 1.
Proof.It can be easily obtained from [1, Lemma 2.3] or from the results in [13], [6] that the defining equation of F is Since X is a smooth algebraic curve, the discriminant of the right hand side should be non-zero.Hence, all d i = 1, i = 1, . . ., s.Hence, s = d.The rest follows.
Let X be an algebraic curve defined over a field F q of characteristic p > 0 given by an equation The corresponding cover ψ := X → X σ has d branch points.Let B be the branch set.For a given rational point P ∈ X we define Orb α (P ) = {σ(P ) ∈ X}.If ψ(P ) ∈ B then |Orb σ (P )| = r.
Let P 1 , . . ., P n be rational points on X such that ψ(P i ) ∈ B for all i = 1, . . ., n. Define the divisor Orb(P i ) .
Then deg D = rn.For some P ∈ X such that ψ(P ) ∈ B we define G = mP for some integer m.Then σ(G) = G.We can take infinity to be one of the branch points in B. In that case the point P is the fiber is denoted by P ∞ .It is common in coding theory to take G to be mP ∞ .
We define an algebraic geometry code as previously C X = L(G, D).The proof of the following theorem is similar to that of Theorem 1.
Theorem 2. Let X be an algebraic curve defined over a field F q of characteristic p > 0 such that C r = σ → Aut (X ).Let P 1 , . . ., P n be rational points on X such that |Orb σ (P i )| = r and Orb σ (P i ) ∩ Orb σ (P j ) = ∅ for all i, j.Further assume that we have a divisor G such that σG = G, v Pi (G) = v σPi (G) = 0 for all i.Then, there exists a quantum code Example 1.Let X be the curve defined over F q .For characteristic p > 7, Aut (X ) is a group of order 96 with Gap identity (96, 64).Denote the set of affine rational points of X over F q by {P 1 , . . ., P n }.Let C = C L (D, G), where n + 1 is the number of rational points of X and The permutation automorphism group PAut (C) is as follows: i) If 0 m < 3 or m > n + 4 then PAut (C) ∼ = S n .ii) If n > 24 and 4 m < n/2 then PAut (C) ∼ = Aut D,mP∞ (X ).For a proof of the above statement see [15].
Let X be defined over F 4 .Take m = 6.By computation using GAP, we find that C L (D, G) is a [4, 4, 1] code with a generator matrix where α is a primitive element of F 4 .The permutation automorphism group is isomorphic to the group with GAP identity [24,12].In this case This code is clearly an MDS code.The automorphism group ΓAut (C) has Gap identity (1944,3876).
Next we construct a quantum code from this curve.One can check that this code is self-orthogonal with respect to the inner product.Hence, there is a quantum code Q which has parameters [ [4,4]].
Its automorphism group is of the order 31104 and is a degree 2 extension of ΓAut (C).
It is obvious from the above theorem that to construct quantum codes from algebraic geometry codes we have to start with algebraic curves having many rational points.Hence, we have to look at classes of curves which are normally used to construct AG-codes.Thus, Hermitian curves, hyperelliptic curves, and more generally C ab curves, seem to be good candidate curves.From the above construction, we also need to have algebraic curves with at least one involution.Hence, we want curves with automorphisms and with many rational points.An obvious class of curves which assures the existence of an involution are of course the hyperelliptic curves.They will be the focus of the next section.However, we should mention that there are many other classes of curves that have an involution.Many questions remain unanswered about the choice of the involution.Does the choice of the involution determine any of the parameters of the code?Does the size of the automorphism group of the curve have any effect on the corresponding algebraic geometry code or the corresponding quantum code.Very little is known in this field.In the next section we will see how the hyperelliptic involution can be used to construct quantum algebraic geometry codes.However, other involutions can be used as well.

Hyperelliptic quantum codes
The goal of this section is to construct quantum stabilizer codes starting with AG-codes which come from hyperelliptic curves.We focus on odd characteristic.Let K := F p m be a finite field of characteristic p > 2, and X g a genus g hyperelliptic curve given by the equation y 2 = f (x).Let F := K(x, y) be the function field and σ denotes the hyperelliptic involution of X g .Then F has a set of rational places which are not fixed by the hyperelliptic involution.Choose a set of distinct places in F such that SP = {P 1 , . . ., P n , σ(P 1 ), . . ., σ(P n )}, such that π(P i ) = α i , where π is the hyperelliptic projection.Let P ∞ denote the place at infinity and D, G ∈ Jac (X g ) be as follows: where 0 r n − g.Then D has degree 2n.By the Riemann's theorem there exists Hence, (η) = (2n + 2g − 2)P ∞ − D. We denote Then W is a canonical divisor.and the residues of η at the places P 1 , . . ., P n , σ(P 1 ), . . ., σ(P n ) satisfy a i := res Pi (η) = −res σ(Pi) (η) .
for i = 1, . . ., n.Now we can construct a Goppa codes C(D, G) and C(D, H).The weighted symplectic inner product is defined as below for all x, y ∈ C and all a i = 0. We transform C(D, G) to a self-orthogonal code C (D, G) with respect to the standard symplectic inner product by multiplying each component x i of every codeword by the corresponding a i , for 1 i n.
Then, we have the following: where k = g + r − 1 and d n−k 2 .Proof.We can construct a stabilizer code since C (D, G) is self-orthogonal; see Theorem 1.The new code has the same parameters with C (D, G).So it is left to compute k and d.From the Riemman-Roth theorem we have that We summarize in the following theorem.Theorem 3. Let X be a genus g irreducible hyperelliptic curve defined over F q and P 1 , . . ., P n be degree one rational points on X .Let σ ∈ Aut F (X ) be an involution such that σP i = P j , ∀ i, j = 1, . . ., n.Further assume that we have a divisor G such that σG = G, v Pi (G) = v σPi (G) = 0 for all i.Then, there exists a quantum code In the next section we study the relation between the automorphism groups of the curve X g , and the codes C X and Q X .

Explicit construction of quantum AG-codes
Next we describe an algorithm which would create a hyperelliptic quantum code.

Algorithm 1. Hyperelliptic quantum codes
Input: A genus g hyperelliptic curve over a finite field F q .Output: A quantum code Q i) Find all rational places of degree 1 of X g which are not fixed by the hyperelliptic involution, say S = {P 1 , . . ., P n , σ(P 1 ), . . ., σ(P n )}.
ii) Let where iv) Construct the AG code C = L(D, G) and let the generator matrix of C be G.
vi) Return Q.

Automorphism groups
In this section we give a brief survey of automorphism groups of curves over finite fields, automorphism groups of codes, and automorphism groups of quantum codes.

Automorphism groups of curves
It has been known since Hurwitz (1892) that a Riemann surface of genus g > 1 has at most 84(g − 1) automorphisms.This estimate is optimal; there are Riemann surfaces of arbitrarily high genus with 84(g − 1) automorphisms (Hurwitz' bound in characteristic 0), the Klein curve most notable of them.The Hurwitz estimate is not valid in prime characteristic.Roquette (1970) found that the estimate |G| 84(g − 1), on the order of the automorphism group G, holds under the additional assumption p > g + 1, with one exception: the function field F = K(x, y) with y p − y = x 2 has genus g = 1 2 (p − 1) and 8g(g + 1)(2g + 1) automorphisms.Stichtenoth (1973) gives a general estimate for the number of automorphisms of a smooth projective curve in characteristic p > 0. He proves the inequality but also with one series of exceptions: the function field F = K(x, y) with y p n + y = x p n+1 has genus g = 1 2 p n (p n − 1) and |G| = p 3n (p 3n + 1)(p 2n − 1) automorphisms, so |G| is in this case slightly larger than 16g 4 .
Let X denote a smooth, genus g algebraic curve defined over k, char k = p > 0. A theorem of Blichfeld on invariants (in char 0) of subgroups of P GL 3 (k) implies that the genus g curve lifts to characteristic 0 for p > 2g + 1; see [?, pg.236-254].Hence, for large enough p (i.e., p > 2g + 1), methods described in [?] can be used to determine such groups.Thus, to determine the list of groups that occur as automorphism groups of genus g curves we have to classify the groups that occur for all primes p 2g + 1.

Automorphisms groups over finite fields of characteristic 2
Let C be a hyperelliptic curve of genus g over an algebraically closed field K of characteristic 2. We use an Artin-Schreier generation y 2 + y = g(x) such that g(x) ∈ K(x).We can find a rational function h(x) ∈ K(x) such that the rational function g(x) + h(x) + h(x) 2 has no poles of even order.Let f (x) := g(x) + h(x) + h(x) 2 and use the normalized form y 2 + y = f (x).Then, y is unique up to transformations of the form y −→ y + B(x), where B(x) is a rational function of x.
Therefore, we get the following normal forms for genus 3 and 4 respectively.
These are plane curves given in inhomogeneous form, birational to the given nonsingular curves( i.e. the function fields are isomorphic).We will use the above normal forms to determine Ḡ, the reduced group of automorphisms, namely the quotient of the group of automorphisms, G by ι which is contained in the center of G.And then we will compute G.
Determining complete lists of full automorphism groups for a given genus g > 3 is still an open problem with tremendous applications in theoretical mathematics and computer science and electrical engineering.For more details on this problem see [12].

Automorphism groups of codes
The permutation automorphism group of the code C ⊆ F n q is the subgroup of S n (acting on F n q by coordinate permutation) which preserves C. We denote this group by PAut (C).The set of monomial matrices that map C to itself forms the monomial automorphism group, denoted by MAut (C).Every monomial matrix M can be written as M = DP where D is a diagonal matrix and P a permutation matrix.Let γ be a field automorphism of F q and M a monomial matrix.Denote by M γ the map M γ : C → C such that ∀x ∈ C we have M γ (x) = γ(Mx).The set of all maps M γ forms the automorphism group of C, denoted by ΓAut (C).It is well known that PAut (C) MAut (C) ΓAut (C).
Recall that for binary codes PAut (C) = MAut (C) = ΓAut (C), which we simply denote by Aut (C).If the code C is defined over a prime field then MAut (C) = ΓAut (C).Two codes C and C are called permutation equivalent, monomially equivalent, or equivalent if there is an element σ in the respective automorphism group such that σ(C) = C .In classical coding theory these automorphism groups of codes play an important role in classifying codes.There is a weight preserving linear transformation between [n, k] codes C and C over F q if and only if Cand C are monomially equivalent.Furthermore, the linear transformation agrees with the associated monomial transformation on every codeword in C; see [4,Thm. 7.9.4].
If X is a genus g 2 algebraic curve defined over F q then Aut (X ) is the group of automorphisms of X over the algebraic closure of F q .There have been published many papers studying the relation between the automorphism group of the algebraic curve X and the automorphism groups as defined above of the corresponding AG-code C X ; see [15] among others.Let us assume that C X is a selforthogonal code such that we can construct a quantum code Q X as in the previous section.If Q is a symplectic quantum code, then the group of equivalences of the code is the complex Clifford group.

Some computational remarks on the automorphism groups of codes
In this section we want to make a few remarks concerning the efficiency of computing the automorphism group of a given code.There are several open questions related to automorphism groups of algebraic curves, AG-codes, and naturally quantum codes.We suggest some problems and point some inefficiencies regarding some existing programs.Problem 1.Let X be a genus g curve defined over a finite field F q .Determine the list of groups that occur as full groups of automorphisms of X over the algebraic closure of F q .Problem 2. Let X be a genus g curve defined over a finite field F q .Design and implement a program that computes the automorphism group of X over F q .
Let C X and Q X be the codes constructed as in sections 2 and 3.In GAP, the package GUAVA which is specifically written for coding theory, creates such codes (with some simple implementations of our algorithms) and computes groups of such codes using an algorithm of Leon [5].Similar capabilities are also available in Magma.Both MAGMA and GAP come short when it comes to computing the automorphism group of a code over a relatively large size field F q .Magma only computes automorphism groups of codes over a field F q where q = p or p 2 .Problem 3. Design and implement an algorithm which computes the automorphism groups PAut (C), MAut (C), ΓAut (C) of a given code C (including quantum codes) over any field F q .