**2.2 Algebraic function field codes**

different roots is *q q*ð Þ � 1 ð Þ *q* � 2 … ð Þ *q* � *n* þ 1 ≔ ð Þ *q* � 2 *<sup>n</sup>*. Now we observe that polynomials are invariant by the action of automorphisms of the affine line, so we must divide this number by the order of this group which is *<sup>q</sup>*<sup>2</sup> � *<sup>q</sup>*. □ Theorem 2.3. *Given a set of integers* f g 0, 1, … , *n* � 1 *module n, there is a set J of k*

*<sup>n</sup>*∣*p<sup>m</sup>* � <sup>1</sup>*. The ideal h x*ð Þ *generates in pm* ½ � *<sup>x</sup> <sup>=</sup> <sup>x</sup>*ð Þ *<sup>n</sup>* � <sup>1</sup> *is a cyclic linear code of parameters*

*i* � *j* ð Þ mod *n* . This equivalence relation partition the set into cyclotomic cosets. The cyclotomic coset containing *j*, which we will denote by Ω*j*, can be described explicitly as the set *j*, *pj*, … , *pk*�<sup>1</sup>*j* � �, where *k* is the least positive integer such that *<sup>p</sup>kj* � *<sup>j</sup>* ð Þ mod *<sup>n</sup>* and *<sup>j</sup>* is not necessarily the smallest integer in such coset. Denote by *In* the set consisting of the smallest integers in each cyclotomic coset, then *In* is a set root, that is, it is a set of *k* integers in arithmetic progression modulo *n* whose increment is relatively prime to *n*.

parameters ð Þ *<sup>n</sup>*, *<sup>k</sup>*, *<sup>d</sup>* . □ As an application of Theorem 2.2, given an integer *n*, we can count the number of cyclic codes of parameters ½ � *n*, *k* for each 0 ≤*k*≤*n* and set of roots *α*1, … , *α<sup>k</sup>* in the

ates a linear cyclic code in the ring *q*½ � *<sup>x</sup> <sup>=</sup> <sup>x</sup>*ð Þ *<sup>n</sup>* � <sup>1</sup> . Thus for each 0 <sup>≤</sup>*k*≤*<sup>n</sup>* there are

another important parameter, the minimum distance *d* which measures how good

*i*¼1

where *wi* >0, *d ai* ð Þ¼ , *bi* 1 if *ai* 6¼ *bi* and *d ai* ð Þ¼ , *bi* 0 if *ai* ¼ *bi*. The weight of a

Geometrically a binary vector ð Þ *a*1, … , *an* of length *n* gives the coordinates of a

**Example 1.** *Consider the Goppa code defined by the rational function g x*ð Þ¼ <sup>3</sup>*x*2�5*x*þ<sup>5</sup>

*where the operator α is just the linear operator A* � *λI, with λ the eigenvalue associated to E and A is the generator matrix of the code. We recall that an r*�*dimensional W*

*w* ¼ ð Þ *w*1, *w*2, … , *wn* are called a weight of position *i* and a vector of weights of

*which admits as decomposition into partial fractions the expression G x*ð Þ <sup>≔</sup> <sup>5</sup>

ð Þ *<sup>x</sup>*�<sup>1</sup> <sup>2</sup>*. The presence of a double factor x*ð Þ � <sup>1</sup> <sup>2</sup> *corresponds to the existence of an*

*wi d ai* ð Þ , *bi* ,

*<sup>q</sup> of multiplicity 2 and thus an α*�*splitting subspace*

*<sup>W</sup>* <sup>¼</sup> *W is invariant under the action of any element <sup>α</sup><sup>i</sup> in the*

**Definition 2.4**. *The distance between vectors a* ¼ ð Þ *a*1, *a*2, … , *an and b* ¼ ð Þ *b*1, *b*2, … , *bn in the Weighted Hamming metric (WHM) is defined by a function:*

*dWH*ð Þ¼ *<sup>a</sup>*, *<sup>b</sup>* <sup>X</sup>*<sup>n</sup>*

vector *<sup>a</sup>* in the WHM is *wtWH*ð Þ¼ *<sup>a</sup> dWH*ð Þ¼ *<sup>a</sup>*, 0 <sup>P</sup>

splitting field of *xn* � 1, the corresponding polynomial *g x*ð Þ¼ <sup>Q</sup>*<sup>k</sup>*

In the theory of error-correcting codes to a given code *C*⊂*<sup>n</sup>*

We define an equivalence relation on the set of integers 0, 1, f g … , *n* � 1 , by declaring two integers *i* and *j* in the range 0 ≤*i*≤ *n* � 1 to be conjugate module *n*

*Proof.* Let *<sup>m</sup>* be the least integer such that *<sup>n</sup>* divides *<sup>p</sup><sup>m</sup>* � 1, then *<sup>g</sup>:c:d m*ð Þ¼ , *<sup>p</sup>* 1.

� � *for some prime number p and m is the least integer such that*

*<sup>i</sup>*∈*In <sup>x</sup>* � *<sup>α</sup><sup>i</sup>* � � defines a cyclic code of

*<sup>j</sup>* <sup>∈</sup>*<sup>J</sup> <sup>x</sup>* � *<sup>α</sup><sup>j</sup>* � �*, where*

*<sup>i</sup>*¼<sup>1</sup>ð Þ *<sup>x</sup>* � *<sup>α</sup><sup>i</sup>* gener-

*<sup>q</sup>*, one assigns

*<sup>i</sup>*:*ai*6¼<sup>0</sup>*wi*. The value *wi* and vector

*x*3�2*x*2þ*x*

*<sup>x</sup>* � <sup>2</sup> *<sup>x</sup>*�<sup>1</sup> þ

*integers which is a set of roots, that is, there is a polynomial h x*ð Þ¼ <sup>Q</sup>

*α is a generator of pm*

*Probability, Combinatorics and Control*

Let *<sup>d</sup>* <sup>¼</sup> *<sup>n</sup>* � *<sup>k</sup>* <sup>þ</sup> 1, then the polynomial <sup>Q</sup>

exactly ð Þ*<sup>q</sup> <sup>k</sup><sup>=</sup> <sup>q</sup>*ð Þ <sup>2</sup> � *<sup>q</sup>* cyclic codes.

the decoding is.

positions respectively.

3

**262**

vertex of a unit cube in *n* dimensions.

*eigenspace E in the vector space <sup>n</sup>*

*Galois group of the extension <sup>q</sup>* ↣ *q*ð Þ *α* .

*subspace is <sup>α</sup>*�*splitting if <sup>α</sup><sup>i</sup>*

ð Þ *n*, *k*, *n* � *k* þ 1 *.*

if *p<sup>s</sup>*

A much greater variety of linear codes is obtained if one uses places of arbitrary degree rather than just places of degree 1. These codes are more naturally described through function field codes. A general viewpoint is that function field codes are certain finite dimensional linear subspaces of an algebraic function field over a finite field as in Goppa's construction.

In the paper [5], the authors introduce another construction where places of arbitrary degree are allowed. The method consists of choosing two divisors *G*<sup>1</sup> and *G*<sup>2</sup> of an algebraic curve over *<sup>q</sup>* with *G*<sup>1</sup> ≤ *G*2. Then Lð Þ *G*<sup>1</sup> is a subspace of the vector space Lð Þ *G*<sup>2</sup> over *q*. If we choose a basis of Lð Þ *G*<sup>2</sup> , then the coordinate vectors of the elements of Lð Þ *G*<sup>1</sup> form a linear code over *<sup>q</sup>* of length *n* ¼ dimð Þ Lð Þ *G*<sup>2</sup> and dimension *k* ¼ dimð Þ Lð Þ *G*<sup>1</sup> . These are known as function field codes and they provide a general perspective on the construction of algebraic-geometry codes [6].

**Example 2.** *We consider as in* [7] *the Suzuki curve χ defined over <sup>q</sup> by the following equation y<sup>q</sup>* � *<sup>y</sup>* <sup>¼</sup> *xq*<sup>0</sup> *<sup>x</sup>*ð Þ *<sup>q</sup>* � *<sup>x</sup> with q* <sup>¼</sup> <sup>2</sup>*q*<sup>2</sup> <sup>0</sup> <sup>≥</sup><sup>8</sup> *and q*<sup>0</sup> <sup>¼</sup> <sup>2</sup>*<sup>r</sup> . This curve has exactly <sup>q</sup>*<sup>2</sup> <sup>þ</sup> <sup>1</sup>�*rational places with a single place at infinity P*<sup>∞</sup> *and it is of genus gS* <sup>¼</sup> *q*0ð Þ *q* � 1 *: We construct a code out of the divisor F* ¼ *mP*<sup>∞</sup> *and Q where Q* ¼ *<sup>P</sup>*<sup>1</sup> <sup>þ</sup> … <sup>þ</sup> *Pq*<sup>2</sup> *is the sum of the q*<sup>2</sup>�*rational points and the parameter m satisfies the bound m* >2*g* � 2 *and g is the genus of the curve.*

Observe that the geometric Goppa code **C**ð Þ *F*, *Q* is an *q*-subspace of *<sup>q</sup>* � �*<sup>q</sup>*<sup>2</sup> and its dimension *k* as an *q*�vector space is the dimension of the code. Geometrically, it corresponds to a point in the Grassmannian G*q*2,*<sup>k</sup> <sup>q</sup>* � �. The set of codewords recognised by the code **C**ð Þ *F*, *Q* admits the following description in terms of monomial ideals in the variables *x*, *y*, *z*, *w*:

$$\left\{ \mathbf{x}^{a} \mathbf{y}^{b} \mathbf{z}^{c} w^{d} \,|\, a, b, c, d \ge 0, \mathbf{a} q + b \, (q + q\_{0}) + c \, (q + 2q\_{0}) + d' \, (q + 2q\_{0} + 1) \le d \right\},$$

where *<sup>z</sup>* <sup>¼</sup> *<sup>x</sup>*<sup>2</sup>*q*0þ<sup>1</sup> and *<sup>w</sup>* <sup>¼</sup> *xy*<sup>2</sup>*q*<sup>0</sup> � *<sup>z</sup>*<sup>2</sup>*q*<sup>0</sup> are elements in the function field *F<sup>χ</sup>* ≔ *q*ð Þ *x*, *y* over *q*. Moreover, it is a generating set for the linear series Lð Þ *dP*<sup>∞</sup> associated to the divisor *dP*∞.

**Theorem 2.5.** *Cyclic codes are function field codes constructed over the curve* C*<sup>n</sup>*,*<sup>m</sup> with affine equation y<sup>m</sup>* <sup>þ</sup> *xn* <sup>¼</sup> <sup>1</sup> *defined over a finite field <sup>q</sup> of q elements, where q is a power of a prime p and n*, *m are integer numbers greater or equal than 2.*

*Proof.* Let us assume *<sup>n</sup>* is an integer even number, thus *<sup>n</sup>* <sup>¼</sup> <sup>2</sup>*<sup>k</sup>* � *<sup>s</sup>*, with *<sup>s</sup>* an integer odd number. We recall that a linear cyclic code is an ideal in the ring *q*½ � *<sup>x</sup> <sup>=</sup> <sup>x</sup>*ð Þ *<sup>n</sup>* � <sup>1</sup> generated by a polynomial *g x*ð Þ with roots in the splitting field *<sup>l</sup> <sup>q</sup>* of *xn* � 1, where *<sup>n</sup>*∣*q<sup>l</sup>* � 1. If we consider the factorisation of the polynomial *xn* � 1 over *p*½ � *<sup>x</sup>* , we get *<sup>x</sup><sup>n</sup>=*<sup>2</sup> � <sup>1</sup> � � *xn<sup>=</sup>*<sup>2</sup> <sup>þ</sup> <sup>1</sup> � � <sup>¼</sup> *<sup>x</sup><sup>n</sup>=*<sup>4</sup> � <sup>1</sup> � � *xn<sup>=</sup>*<sup>4</sup> <sup>þ</sup> <sup>1</sup> � � *<sup>x</sup><sup>n</sup>=*<sup>2</sup> <sup>þ</sup> <sup>1</sup> � � <sup>¼</sup> *x<sup>n</sup>=*2*<sup>k</sup>* � 1 � � *xn<sup>=</sup>*2*<sup>k</sup>* þ 1 � � *xn<sup>=</sup>*2ð Þ *<sup>k</sup>*�<sup>1</sup> � 1 � � *xn<sup>=</sup>*2ð Þ *<sup>k</sup>*�<sup>1</sup> þ 1 � � … *<sup>x</sup><sup>n</sup>=*<sup>2</sup> <sup>þ</sup> <sup>1</sup> � �. We see that the point *<sup>P</sup>*<sup>0</sup> <sup>¼</sup> ð Þ *<sup>α</sup>*, 0 <sup>∈</sup> <sup>2</sup> *q* � � with *<sup>α</sup><sup>n</sup>=*<sup>2</sup> <sup>¼</sup> *<sup>p</sup>* � 1 is an *q*<sup>2</sup>�rational place of the affine curve *<sup>y</sup><sup>m</sup>* <sup>¼</sup> *<sup>x</sup><sup>n</sup>=*<sup>2</sup> <sup>þ</sup> <sup>1</sup> � �. The other rational places are *Pk* <sup>¼</sup> ð Þ *<sup>β</sup>*, 0 with *<sup>β</sup><sup>n</sup>=*2*<sup>k</sup>* ¼ *p* � 1,..., *<sup>P</sup>*<sup>2</sup> <sup>¼</sup> *<sup>β</sup>*<sup>2</sup> , 0 � �, *<sup>P</sup>*<sup>1</sup> <sup>¼</sup> ð Þ 1, 0 , *<sup>P</sup>*<sup>0</sup> ¼ �ð Þ 1, 0 and the place *<sup>P</sup>*<sup>∞</sup> <sup>¼</sup> ð Þ 0, *<sup>α</sup>* at <sup>∞</sup>. The cyclic code is realised as the algebraic geometric code associated to the divisors *D* ¼ *P*<sup>0</sup> þ *P*<sup>1</sup> þ … þ *Pk*, *G* ¼ *μP*<sup>∞</sup> and the parameter *μ* satisfies the bound *μ*> 2*g* � 2, where *g* is the genus of the curve C*<sup>n</sup>*,*<sup>m</sup>*. Note that *m* is the least integer such that *<sup>n</sup>*∣*p<sup>m</sup>* � 1. In particular *<sup>α</sup>* is a generator of *<sup>p</sup>* � �*<sup>m</sup>*.

If *n* is an integer odd number, by Theorem 2.3, we know there is a set of roots *α<sup>j</sup>* � � *j* ∈*J* , such that *α* is a generator of *pm* � �. Now we consider the points *Pj* <sup>¼</sup> *<sup>α</sup><sup>j</sup>* , 0 � � with *j*∈*J* and the point *P* at *P*<sup>∞</sup> ¼ ð Þ¼ 0, *α* ∞, and the cyclic code is realised as the function field code associated to the divisors *<sup>D</sup>* <sup>¼</sup> <sup>P</sup> *<sup>j</sup>*∈*<sup>J</sup> Pj* and *<sup>μ</sup>P*∞. □ *f z*ð Þ , *t*1, … , *tn* contains an extension *qn* of *q*. Moreover, for any divisor *r* of *n*, one can consider the field of *Sr* invariants, and apply Theorem 2.7 to the symbols

, … , *<sup>α</sup>qrs* , where *<sup>n</sup>* <sup>¼</sup> *rs*. Then we get an extension *qs* of *qr* and all its *q*-

**Example 5.** *Assume n* <sup>¼</sup> *<sup>q</sup>* <sup>þ</sup> <sup>1</sup> *and we study again the roots of the polynomial xq* � <sup>1</sup> *in its splitting field. Let ξ be a non-trivial n-root of unity, for any divisor r of n, one can*

In 2*<sup>n</sup>* , for any divisor *d* of *n*, there are exactly 2*d*�<sup>1</sup> solutions to Eq. (2) if *n=d* is

Instead of considering *r*, *s* divisors of *n*, we can consider a partition of *n* into two parts. For example for an integer 0 ≤*k*≤*n*, we consider the partition ð Þ *k*, *n* � *k* of *n*. Fix two elements *g*1, *g*<sup>2</sup> ∈ *GL n*ð Þ , *q* of rank *k* and rank *n* � *k*. These points correspond

to linear transformations *Tgi* : *qn* ! *qn* , *i*∈1, 2. It is well known that the corresponding points *qk*,*qn* ⊂*qn* and *qn*�*k*,*qn* ⊂*qn* in the Grassmannians G*<sup>k</sup>*,*<sup>n</sup> <sup>q</sup>*

subspaces respectively are dual subspaces in the underlying vector space *<sup>q</sup>*

for *C* is an ð Þ� *n* � *k n* matrix *H* of rank *n* � *k* such that *C* ¼ *x*∈ *<sup>q</sup>*

matrix of *C*. There is a right action of the general linear group *GL n*, *<sup>q</sup>*

� *GL n*, *<sup>q</sup>*

the Euclidean inner product. Note that the Hamming weight is preserved under invertible linear transformation. This case is of great interest for applications in coding theory, since the corresponding codes with generator matrices *G*<sup>1</sup> and *G*<sup>2</sup> respectively are dual codes. Namely, given a linear ½ � *n*, *k* -code, a parity check matrix

Then the dual code *<sup>C</sup>*<sup>⊥</sup> is the linear ½ � *<sup>n</sup>*, *<sup>n</sup>* � *<sup>k</sup>* code generated by the parity check

the Klein group ℤ<sup>2</sup> � ℤ2, the dihedral group, the alternated groups *A*<sup>4</sup> and *A*<sup>5</sup> or the

said to be quasi-cyclic of index *<sup>l</sup>* or *<sup>l</sup>*�quasi-cyclic if and only if is invariant under *<sup>T</sup><sup>l</sup>*

**Example 6.** *We study the action of a rotation element on the Grassmannian* G2,4 *<sup>q</sup>*

*<sup>n</sup> , represented by the array of vectors* <ð Þ 1, 0, 0 , 0, ð Þ *cos*ð Þ *α* , *sin* ð Þ *α* ,

*n.*

*of lines in a 3-dimensional projective space PG*ð Þ 3, *q . We apply to any line g a rotation τ*

In general, we study generalised Grassmannians or more commonly known as

ð Þ 0, � *cos*ð Þ *<sup>α</sup>* , *sin* ð Þ *<sup>α</sup>* <sup>&</sup>gt;*. It is easy to see that the orbit code by the composed action <sup>τ</sup><sup>m</sup>*

flag varieties. Fix a partition *λ* ¼ ð Þ *λ*1, … , *λ<sup>r</sup>* of *n* and let F*<sup>λ</sup>* ¼ F*<sup>λ</sup> <sup>q</sup>*

If *l* ¼ 1, it is just a cyclic code. The quantity *m* ≔ *n=l* is called the co-index of *C*. Namely, if we view a codeword ð Þ *c*0,*c*1, … ,*cn*�<sup>1</sup> of *C* as a polynomial *c*<sup>0</sup> þ *c*1*x* þ

! G*<sup>k</sup>*,*<sup>n</sup> <sup>q</sup>*

. For example we can study the orbit of any triangle group:

. □

<sup>þ</sup> … <sup>þ</sup> *xq* <sup>þ</sup> *<sup>x</sup>* <sup>¼</sup> *a in qn :* (2)

of

:

.

*<sup>n</sup>* for

of *<sup>n</sup>* � *<sup>k</sup>* dimensional

(3)

ð Þ!U U, *A A:* (4)

by the action of any subgroup in the general

*<sup>n</sup>* : *Hc<sup>T</sup>* <sup>¼</sup> <sup>0</sup> .

on <sup>G</sup>*<sup>k</sup>*,*<sup>n</sup> <sup>q</sup>*

*<sup>q</sup>*, a linear code *C* is

be the variety

, *ξ. The field of Sr invariants of the polynomial*

*α*, *αq*2*<sup>s</sup>*

subspaces are stable under *Gal qs=qr*

*A Geometrical Realisation of Quasi-Cyclic Codes DOI: http://dx.doi.org/10.5772/intechopen.88288*

odd and 2*<sup>d</sup>* solutions if *n=d* is even.

, … , *ξ<sup>q</sup>*

*xqr*

*k*�dimensional subspaces and the Grassmannian G*<sup>n</sup>*�*<sup>k</sup> <sup>q</sup>*

G*<sup>k</sup>*,*<sup>n</sup> <sup>q</sup>*

symmetric group *Sn*. Take as *T* the standard shift operator on *<sup>n</sup>*

… <sup>þ</sup> *cn*�<sup>1</sup>*xn*�<sup>1</sup> <sup>∈</sup>*q*½ � *<sup>x</sup>* , then *Tcx* ð Þ¼ ð Þ *<sup>x</sup>* � *c x*ð Þ mod *<sup>x</sup>*ð Þ *<sup>n</sup>* � <sup>1</sup> .

*with m divisor of n is a quasi-cyclic code of index <sup>m</sup>*

of partial flags of *q*�vector spaces

One can study the orbits of G*<sup>k</sup>*,*<sup>n</sup> <sup>q</sup>*

linear group *GL n*, *<sup>q</sup>*

*of angle <sup>α</sup>* <sup>¼</sup> <sup>2</sup>*<sup>π</sup>*

**265**

*f z*ð Þ , *t*1, … , *tr is the set of solutions to the equation:*

*consider the symbols ξqr*

**Remark 2.6.** *The proof given in theorem gives a realisation of cyclic codes as AG codes constructed over the curve with affine model y<sup>m</sup>* <sup>þ</sup> *xn* <sup>¼</sup> <sup>1</sup>*. In particular when m* <sup>¼</sup> *<sup>n</sup>* <sup>¼</sup> *q* þ 1*, we cover the codes defined over the Hermitian curve.*

Another important family of cyclic codes is obtained considering the roots of the polynomial *xn* � 1 over its splitting field. These codes are of great importance in ADN-computing and as they are linear codes, they can be described as function fields. Let *α* be a primitive element of the underlying vector space over *q*. Since the base field is of characteristic *<sup>p</sup>*, *xn* � 1 has *<sup>n</sup>* different zeroes. Let *q*½ � *<sup>x</sup>* be the extension field containing the *nth* roots of unity 1, *<sup>α</sup>*, … , *<sup>α</sup>n*�1, where *<sup>α</sup>n*�<sup>1</sup> <sup>þ</sup> *<sup>α</sup>n*�<sup>2</sup> <sup>þ</sup> … <sup>þ</sup> *<sup>α</sup>* <sup>þ</sup> <sup>1</sup> <sup>¼</sup> 0. Moreover the set 1, *<sup>α</sup>*, … , *<sup>α</sup><sup>n</sup>*�<sup>1</sup> � � constitutes a basis over the prime field *p*, and the field extensions *pn* ffi *p*½ � *<sup>x</sup> <sup>=</sup> <sup>x</sup>*ð Þ *<sup>n</sup>*�<sup>1</sup> <sup>þ</sup> … <sup>þ</sup> *<sup>x</sup>* <sup>þ</sup> <sup>1</sup> are isomorphic.

**Example 3.** *The polynomial x*<sup>2</sup> <sup>þ</sup> *<sup>x</sup>* <sup>þ</sup> <sup>1</sup> *over p*½ � *<sup>x</sup> is irreducible, thus the fields p*<sup>2</sup> ffi *p*½ � *<sup>x</sup> <sup>=</sup> <sup>x</sup>*ð Þ <sup>2</sup> <sup>þ</sup> *<sup>x</sup>* <sup>þ</sup> <sup>1</sup> *are isomorphic, and the roots w*, *<sup>w</sup>* <sup>þ</sup> <sup>1</sup> *correspond to one place of degree 2 in the extension field p*ð Þ *w .*

**Example 4.** *We define the polynomials f x*ð Þ¼ *xn* <sup>þ</sup> *<sup>a</sup>*1*xn*�<sup>1</sup> <sup>þ</sup> <sup>⋯</sup> <sup>þ</sup> *an, with ai* <sup>∈</sup> *, and f x*ð Þ¼ , *t f x*ð Þ� *t. Then, if f is a separable polynomial, then the Galois group of f x*ð Þ , *t over* ð Þ*t is a regular extension with Galois group Sn.*

Observe that ð Þ *x*<sup>1</sup> … , *xn* is the function field of an ð Þ� *n* � 1 dimensional projective space *<sup>n</sup>*�<sup>1</sup> ð Þ over . Suppose that *z*1, … , *zn* are the roots of *f* in a splitting field of *f* over . Each coefficient *ai* of *xi* in *f* is symmetric in *z*1, … , *zn*, thus by the theorem on symmetric functions, we can write *ai* as a symmetric polynomial in *z*1, … , *zn* with rational coefficients. On the other side, for a permutation *σ* ∈*Sn*, set *<sup>E</sup><sup>σ</sup>* <sup>¼</sup> *<sup>x</sup>*1*z*ð Þ *<sup>σ</sup>*ð Þ<sup>1</sup> <sup>þ</sup> <sup>⋯</sup> <sup>þ</sup> *xnz*ð Þ *<sup>σ</sup>*ð Þ *<sup>n</sup>* in ð Þ *<sup>x</sup>*<sup>1</sup> … , *xn* and *f x*ð Þ¼ <sup>Q</sup> *<sup>σ</sup>*ð Þ *x* � *E<sup>σ</sup>* , where *σ* runs through all permutations in *Sn*.

**Theorem 2.7.** *(Hilbert) Let G* ¼ *Sn be acting on* ð Þ *x*1, … , *xn . The field E of Sn*� *invariants is* ð Þ *<sup>t</sup>*1, … , *tn , where ti is the ith symmetric polynomial in x*1, … , *xn and* ð Þ *x*1, … , *xn has Galois group Sn over E. It is the splitting field of the polynomial f x*ð Þ¼ *xn* � *<sup>t</sup>*1*xn*�<sup>1</sup> <sup>þ</sup> … þ �ð Þ<sup>1</sup> *<sup>n</sup> tn:*

Let *F* be a finite field such that ð Þ¼ *charF*, *n* 1. A non-zero polynomial in ½ � *x*, *y* defines a curve on the plane 2 . The elliptic curves are curves of the form *<sup>y</sup>*<sup>2</sup> <sup>¼</sup> *f x*ð Þ, where *f x*ð Þ is a polynomial of degree 3 with coefficients in .

**Proposition 2.8.** *Let n* ¼ *r s be a factorisation of an integer positive number n into irreducible coprime factors and assume r*<*s, then there is a sequence of field extensions qr* ⊂ *qs* ⊂*qn .*

*Proof.* Consider the map *Tn* : *F<sup>n</sup>* ↦ *F<sup>n</sup>*

$$\mathfrak{t}\_{\mathfrak{f}} = (-\mathbf{1})^{\mathfrak{f}} \sigma\_{\mathfrak{f}}(\mathfrak{x}\_{\mathbf{1}}, \dots, \mathfrak{x}\_{\mathfrak{n}}),$$

where *σ<sup>j</sup>* is the *j*th elementary symmetric function in the variables *xi*. Thus *tj*, *<sup>j</sup>* <sup>¼</sup> 1, <sup>⋯</sup>*<sup>n</sup>* � �, are the coefficients of the equation:

$$f(\mathbf{z}, t\_1, \dots, t\_n) = \mathbf{z}^n + (-\mathbf{1})t\_1 \mathbf{z}^{n-1} + \dots + (-\mathbf{1})^n t\_n = (\mathbf{z} - \boldsymbol{\varkappa}\_1)(\mathbf{z} - \boldsymbol{\varkappa}\_2) \cdots (\mathbf{z} - \boldsymbol{\varkappa}\_n).$$

If we apply Theorem 2.7 to the *i th* elementary symmetric polynomial in the symbols *α*, *α<sup>q</sup>*, *α<sup>q</sup>*<sup>2</sup> , … , *αqn* , we get that the field of *Sn* invariants of the polynomial *A Geometrical Realisation of Quasi-Cyclic Codes DOI: http://dx.doi.org/10.5772/intechopen.88288*

If *n* is an integer odd number, by Theorem 2.3, we know there is a set of roots

with *j*∈*J* and the point *P* at *P*<sup>∞</sup> ¼ ð Þ¼ 0, *α* ∞, and the cyclic code is realised as the

**Remark 2.6.** *The proof given in theorem gives a realisation of cyclic codes as AG codes constructed over the curve with affine model y<sup>m</sup>* <sup>þ</sup> *xn* <sup>¼</sup> <sup>1</sup>*. In particular when m* <sup>¼</sup> *<sup>n</sup>* <sup>¼</sup>

Another important family of cyclic codes is obtained considering the roots of the polynomial *xn* � 1 over its splitting field. These codes are of great importance in ADN-computing and as they are linear codes, they can be described as function fields. Let *α* be a primitive element of the underlying vector space over *q*. Since the

**Example 4.** *We define the polynomials f x*ð Þ¼ *xn* <sup>þ</sup> *<sup>a</sup>*1*xn*�<sup>1</sup> <sup>þ</sup> <sup>⋯</sup> <sup>þ</sup> *an, with ai* <sup>∈</sup> *, and f x*ð Þ¼ , *t f x*ð Þ� *t. Then, if f is a separable polynomial, then the Galois group of*

Observe that ð Þ *x*<sup>1</sup> … , *xn* is the function field of an ð Þ� *n* � 1 dimensional projec-

**Theorem 2.7.** *(Hilbert) Let G* ¼ *Sn be acting on* ð Þ *x*1, … , *xn . The field E of Sn*� *invariants is* ð Þ *<sup>t</sup>*1, … , *tn , where ti is the ith symmetric polynomial in x*1, … , *xn and* ð Þ *x*1, … , *xn has Galois group Sn over E. It is the splitting field of the polynomial*

Let *F* be a finite field such that ð Þ¼ *charF*, *n* 1. A non-zero polynomial in ½ � *x*, *y*

**Proposition 2.8.** *Let n* ¼ *r s be a factorisation of an integer positive number n into irreducible coprime factors and assume r*<*s, then there is a sequence of field extensions*

where *σ<sup>j</sup>* is the *j*th elementary symmetric function in the variables *xi*. Thus

*f z*ð Þ¼ , *<sup>t</sup>*1, … , *tn <sup>z</sup><sup>n</sup>* þ �ð Þ<sup>1</sup> *<sup>t</sup>*1*z<sup>n</sup>*�<sup>1</sup> <sup>þ</sup> <sup>⋯</sup> þ �ð Þ<sup>1</sup> *<sup>n</sup> tn* <sup>¼</sup> ð Þ *<sup>z</sup>* � *<sup>x</sup>*<sup>1</sup> ð Þ *<sup>z</sup>* � *<sup>x</sup>*<sup>2</sup> <sup>⋯</sup>ð Þ *<sup>z</sup>* � *xn :*

*σj*ð Þ *x*1, … , *xn* ,

of *f* over . Each coefficient *ai* of *xi* in *f* is symmetric in *z*1, … , *zn*, thus by the theorem on symmetric functions, we can write *ai* as a symmetric polynomial in *z*1, … , *zn* with rational coefficients. On the other side, for a permutation *σ* ∈*Sn*, set

ð Þ over . Suppose that *z*1, … , *zn* are the roots of *f* in a splitting field

. The elliptic curves are curves of the form *<sup>y</sup>*<sup>2</sup> <sup>¼</sup> *f x*ð Þ,

*th* elementary symmetric polynomial in the

, we get that the field of *Sn* invariants of the polynomial

base field is of characteristic *<sup>p</sup>*, *xn* � 1 has *<sup>n</sup>* different zeroes. Let *q*½ � *<sup>x</sup>* be the extension field containing the *nth* roots of unity 1, *<sup>α</sup>*, … , *<sup>α</sup>n*�1, where *<sup>α</sup>n*�<sup>1</sup> <sup>þ</sup> *<sup>α</sup>n*�<sup>2</sup> <sup>þ</sup> … <sup>þ</sup> *<sup>α</sup>* <sup>þ</sup> <sup>1</sup> <sup>¼</sup> 0. Moreover the set 1, *<sup>α</sup>*, … , *<sup>α</sup><sup>n</sup>*�<sup>1</sup> � � constitutes a basis over the prime field *p*, and the field extensions *pn* ffi *p*½ � *<sup>x</sup> <sup>=</sup> <sup>x</sup>*ð Þ *<sup>n</sup>*�<sup>1</sup> <sup>þ</sup> … <sup>þ</sup> *<sup>x</sup>* <sup>þ</sup> <sup>1</sup> are isomorphic. **Example 3.** *The polynomial x*<sup>2</sup> <sup>þ</sup> *<sup>x</sup>* <sup>þ</sup> <sup>1</sup> *over p*½ � *<sup>x</sup> is irreducible, thus the fields p*<sup>2</sup> ffi *p*½ � *<sup>x</sup> <sup>=</sup> <sup>x</sup>*ð Þ <sup>2</sup> <sup>þ</sup> *<sup>x</sup>* <sup>þ</sup> <sup>1</sup> *are isomorphic, and the roots w*, *<sup>w</sup>* <sup>þ</sup> <sup>1</sup> *correspond to one place*

� �. Now we consider the points *Pj* <sup>¼</sup> *<sup>α</sup><sup>j</sup>*

*<sup>j</sup>*∈*<sup>J</sup> Pj* and *<sup>μ</sup>P*∞. □

*<sup>σ</sup>*ð Þ *x* � *E<sup>σ</sup>* , where *σ* runs

, 0 � �

, such that *α* is a generator of *pm*

*Probability, Combinatorics and Control*

*of degree 2 in the extension field p*ð Þ *w .*

through all permutations in *Sn*.

*f x*ð Þ¼ *xn* � *<sup>t</sup>*1*xn*�<sup>1</sup> <sup>þ</sup> … þ �ð Þ<sup>1</sup> *<sup>n</sup>*

defines a curve on the plane

*Proof.* Consider the map *Tn* : *F<sup>n</sup>* ↦ *F<sup>n</sup>*

If we apply Theorem 2.7 to the *i*

, … , *αqn*

*tj*, *<sup>j</sup>* <sup>¼</sup> 1, <sup>⋯</sup>*<sup>n</sup>* � �, are the coefficients of the equation:

tive space *<sup>n</sup>*�<sup>1</sup>

*qr* ⊂ *qs* ⊂*qn .*

symbols *α*, *α<sup>q</sup>*, *α<sup>q</sup>*<sup>2</sup>

**264**

function field code associated to the divisors *<sup>D</sup>* <sup>¼</sup> <sup>P</sup>

*q* þ 1*, we cover the codes defined over the Hermitian curve.*

*f x*ð Þ , *t over* ð Þ*t is a regular extension with Galois group Sn.*

*<sup>E</sup><sup>σ</sup>* <sup>¼</sup> *<sup>x</sup>*1*z*ð Þ *<sup>σ</sup>*ð Þ<sup>1</sup> <sup>þ</sup> <sup>⋯</sup> <sup>þ</sup> *xnz*ð Þ *<sup>σ</sup>*ð Þ *<sup>n</sup>* in ð Þ *<sup>x</sup>*<sup>1</sup> … , *xn* and *f x*ð Þ¼ <sup>Q</sup>

*tn:*

*tj* ¼ �ð Þ<sup>1</sup> *<sup>j</sup>*

2

where *f x*ð Þ is a polynomial of degree 3 with coefficients in .

*α<sup>j</sup>* � � *j* ∈*J* *f z*ð Þ , *t*1, … , *tn* contains an extension *qn* of *q*. Moreover, for any divisor *r* of *n*, one can consider the field of *Sr* invariants, and apply Theorem 2.7 to the symbols *α*, *αq*2*<sup>s</sup>* , … , *<sup>α</sup>qrs* , where *<sup>n</sup>* <sup>¼</sup> *rs*. Then we get an extension *qs* of *qr* and all its *q*subspaces are stable under *Gal qs=qr* . □

**Example 5.** *Assume n* <sup>¼</sup> *<sup>q</sup>* <sup>þ</sup> <sup>1</sup> *and we study again the roots of the polynomial xq* � <sup>1</sup> *in its splitting field. Let ξ be a non-trivial n-root of unity, for any divisor r of n, one can consider the symbols ξqr* , … , *ξ<sup>q</sup>* , *ξ. The field of Sr invariants of the polynomial f z*ð Þ , *t*1, … , *tr is the set of solutions to the equation:*

$$\mathcal{X}^{q^r} + \dots + \mathcal{X}^{q} + \mathcal{X} = \mathcal{a} \quad \text{in} \quad \mathbb{F}\_{q^u}. \tag{2}$$

In 2*<sup>n</sup>* , for any divisor *d* of *n*, there are exactly 2*d*�<sup>1</sup> solutions to Eq. (2) if *n=d* is odd and 2*<sup>d</sup>* solutions if *n=d* is even.

Instead of considering *r*, *s* divisors of *n*, we can consider a partition of *n* into two parts. For example for an integer 0 ≤*k*≤*n*, we consider the partition ð Þ *k*, *n* � *k* of *n*. Fix two elements *g*1, *g*<sup>2</sup> ∈ *GL n*ð Þ , *q* of rank *k* and rank *n* � *k*. These points correspond to linear transformations *Tgi* : *qn* ! *qn* , *i*∈1, 2. It is well known that the corresponding points *qk*,*qn* ⊂*qn* and *qn*�*k*,*qn* ⊂*qn* in the Grassmannians G*<sup>k</sup>*,*<sup>n</sup> <sup>q</sup>* of *k*�dimensional subspaces and the Grassmannian G*<sup>n</sup>*�*<sup>k</sup> <sup>q</sup>* of *<sup>n</sup>* � *<sup>k</sup>* dimensional subspaces respectively are dual subspaces in the underlying vector space *<sup>q</sup> <sup>n</sup>* for the Euclidean inner product. Note that the Hamming weight is preserved under invertible linear transformation. This case is of great interest for applications in coding theory, since the corresponding codes with generator matrices *G*<sup>1</sup> and *G*<sup>2</sup> respectively are dual codes. Namely, given a linear ½ � *n*, *k* -code, a parity check matrix for *C* is an ð Þ� *n* � *k n* matrix *H* of rank *n* � *k* such that *C* ¼ *x*∈ *<sup>q</sup> <sup>n</sup>* : *Hc<sup>T</sup>* <sup>¼</sup> <sup>0</sup> . Then the dual code *<sup>C</sup>*<sup>⊥</sup> is the linear ½ � *<sup>n</sup>*, *<sup>n</sup>* � *<sup>k</sup>* code generated by the parity check matrix of *C*. There is a right action of the general linear group *GL n*, *<sup>q</sup>* on <sup>G</sup>*<sup>k</sup>*,*<sup>n</sup> <sup>q</sup>* :

$$\mathcal{G}\_{k,n}\left(\mathbb{F}\_q\right) \times GL\left(n, \mathbb{F}\_q\right) \to \mathcal{G}\_{k,n}\left(\mathbb{F}\_q\right) \tag{3}$$

$$(\mathcal{U}, \mathcal{A}) \to \mathcal{U}\mathcal{A}.\tag{4}$$

One can study the orbits of G*<sup>k</sup>*,*<sup>n</sup> <sup>q</sup>* by the action of any subgroup in the general linear group *GL n*, *<sup>q</sup>* . For example we can study the orbit of any triangle group: the Klein group ℤ<sup>2</sup> � ℤ2, the dihedral group, the alternated groups *A*<sup>4</sup> and *A*<sup>5</sup> or the symmetric group *Sn*. Take as *T* the standard shift operator on *<sup>n</sup> <sup>q</sup>*, a linear code *C* is said to be quasi-cyclic of index *<sup>l</sup>* or *<sup>l</sup>*�quasi-cyclic if and only if is invariant under *<sup>T</sup><sup>l</sup>* . If *l* ¼ 1, it is just a cyclic code. The quantity *m* ≔ *n=l* is called the co-index of *C*. Namely, if we view a codeword ð Þ *c*0,*c*1, … ,*cn*�<sup>1</sup> of *C* as a polynomial *c*<sup>0</sup> þ *c*1*x* þ … <sup>þ</sup> *cn*�<sup>1</sup>*xn*�<sup>1</sup> <sup>∈</sup>*q*½ � *<sup>x</sup>* , then *Tcx* ð Þ¼ ð Þ *<sup>x</sup>* � *c x*ð Þ mod *<sup>x</sup>*ð Þ *<sup>n</sup>* � <sup>1</sup> .

**Example 6.** *We study the action of a rotation element on the Grassmannian* G2,4 *<sup>q</sup> of lines in a 3-dimensional projective space PG*ð Þ 3, *q . We apply to any line g a rotation τ of angle <sup>α</sup>* <sup>¼</sup> <sup>2</sup>*<sup>π</sup> <sup>n</sup> , represented by the array of vectors* <ð Þ 1, 0, 0 , 0, ð Þ *cos*ð Þ *α* , *sin* ð Þ *α* , ð Þ 0, � *cos*ð Þ *<sup>α</sup>* , *sin* ð Þ *<sup>α</sup>* <sup>&</sup>gt;*. It is easy to see that the orbit code by the composed action <sup>τ</sup><sup>m</sup> with m divisor of n is a quasi-cyclic code of index <sup>m</sup> n.*

In general, we study generalised Grassmannians or more commonly known as flag varieties. Fix a partition *λ* ¼ ð Þ *λ*1, … , *λ<sup>r</sup>* of *n* and let F*<sup>λ</sup>* ¼ F*<sup>λ</sup> <sup>q</sup>* be the variety of partial flags of *q*�vector spaces

$$\{\mathbf{0}\} = E^r \subset E^{r-1} \subset \dots \subset E^1 \subset E^0 = \left(\mathbb{F}\_q\right)^n$$

such that dim *Ei*�<sup>1</sup> *<sup>=</sup>Ei* � � <sup>¼</sup> *<sup>λ</sup>i*. The group *GL n*, *<sup>q</sup>* � � acts on <sup>F</sup>*<sup>λ</sup>* in the natural way. Fix an element *X*<sup>0</sup> ∈ F*<sup>λ</sup>* and denote by P*<sup>λ</sup>* the stabilizer of *X*<sup>0</sup> in *G* and by U*<sup>λ</sup>* the subgroup of elements *<sup>g</sup>* <sup>∈</sup>P*<sup>λ</sup>* which induces the identity on *Ei <sup>=</sup>Ei*þ<sup>1</sup> for all *<sup>i</sup>* <sup>¼</sup> 0, 1, … , *n* � 1. Put L*<sup>λ</sup>* ¼ *GL<sup>λ</sup><sup>r</sup> <sup>q</sup>* � � � … , � *GL<sup>λ</sup>*<sup>1</sup> *<sup>q</sup>* � �, then we have <sup>P</sup>*<sup>λ</sup>* ¼ L*<sup>λ</sup>* � U*λ*.

*M S*ð Þ¼

*A Geometrical Realisation of Quasi-Cyclic Codes DOI: http://dx.doi.org/10.5772/intechopen.88288*

ð Þ *I*, *J*, *K* ⊂f g 0, 1, … , *n* .

*Un*

*Tn*

ð Þ 2, 1, 0 , 1, 0, 2 ð Þ and 3, 1, 2 ð Þ.

*nomials defined by f x*ð Þ¼ <sup>Q</sup>

the minimal polynomial of *αir*þ*<sup>j</sup>*

*where d is the minimum distance.*

by *lcm mi*ð Þ *<sup>x</sup>* : *<sup>α</sup><sup>i</sup>*

*lcm mj*ð Þ *<sup>x</sup>* : *<sup>α</sup><sup>j</sup>*

Q

**267**

*<sup>r</sup>* <sup>¼</sup> ð Þj *<sup>I</sup>*, *<sup>J</sup>*, *<sup>K</sup>* <sup>X</sup>

*<sup>r</sup>* ¼ fð Þ *<sup>I</sup>*, *<sup>J</sup>*, *<sup>K</sup>* <sup>∈</sup> *<sup>U</sup><sup>n</sup>*

X *f* ∈*F*

**Example 7.** *Let us consider the triple of subsets*

*<sup>k</sup>*∈*<sup>K</sup> <sup>x</sup>* � *<sup>α</sup><sup>k</sup>* � � *generate a cyclic code of length n* <sup>¼</sup> *ir* <sup>þ</sup> *<sup>j</sup>*

*r* ¼ ∣*I*∣ þ ∣ *J*∣ þ ∣*K*∣ *and p is the characteristic of the field F.*

*i*∈*I*

arises from the triple of diagonal 3 by 3 matrices with diagonal entries

*if* <sup>þ</sup> <sup>X</sup> *g* ∈ *G j g* ≤ X *h*∈ *H*

*<sup>i</sup>* <sup>þ</sup><sup>X</sup> *j*∈*J*

ð Þ¼ *I*, *J*,*K* ð Þ f g 1, 3, 5 , 1, 3, 5 f g, 2, 4, 6 f g

and the corresponding triple of partitions ð Þ¼ *λ*, *μ*, *ν* ð Þ ð Þ 2, 1, 0 , 2, 1, 0 ð Þð Þ 3, 2, 1

**Lemma 2.10.** *For any triple I*ð Þ , *J*, *K admissible for the Horn problem, the poly-*

*Proof.* The cyclic code generated by *f x*ð Þ coincides with the cyclic code generated

, *<sup>j</sup>*∈*<sup>J</sup>* � � and *lcm mk*ð Þ *<sup>x</sup>* : *<sup>α</sup><sup>k</sup>*, *<sup>k</sup>*∈*<sup>K</sup>* � �*:* It is the cyclic code generated by

, *<sup>i</sup>*<sup>∈</sup> *<sup>I</sup>* � � and respectively for *g x*ð Þ and *h x*ð Þ the polynomials

**Remark 2.11.** *We see that Horn's algorithm is relevant since some classical code constructions can be seen as ideals in a finite dimensional commutative semi simple algebra over a finite field <sup>q</sup> with q* <sup>¼</sup> *pr elements and p a prime number as in example (3).* **Lemma 2.12.** *The family of cyclic codes obtained by considering the roots of the polynomial xn* � <sup>1</sup> *over its splitting fields are indeed AG codes arising from genus 0 curves, and by Riemann-Roch theorem, their parameters satisfy the bound d* ≥*n* þ 1 � *k,*

*Proof* Let *q*½ � *<sup>x</sup>* be the extension field containing the *nth* roots of unity

1, *<sup>α</sup>*, … , *<sup>α</sup><sup>n</sup>*�1, where *<sup>α</sup><sup>n</sup>*�<sup>1</sup> <sup>þ</sup> *<sup>α</sup><sup>n</sup>*�<sup>2</sup> <sup>þ</sup> … <sup>þ</sup> *<sup>α</sup>* <sup>þ</sup> <sup>1</sup> <sup>¼</sup> 0. Moreover the set 1, *<sup>α</sup>*, … , *<sup>α</sup><sup>n</sup>*�<sup>1</sup> � �

*<sup>i</sup>*∈*<sup>I</sup> <sup>x</sup>* � *<sup>α</sup><sup>i</sup>* � �, *g x*ð Þ¼ <sup>Q</sup>

*<sup>j</sup>* <sup>¼</sup> <sup>X</sup> *k*∈*K*

*<sup>r</sup>* <sup>∣</sup> *for all p* <sup>&</sup>lt;*r and all F*ð Þ , *<sup>G</sup>*, *<sup>H</sup>* <sup>∈</sup> *<sup>T</sup><sup>r</sup>*

*kh* þ *p p*ð Þ þ 1 *=*2g*:*

( )

*αi*1 � �<sup>0</sup> *αi*<sup>1</sup>

0

BBBB@

*αi*2 � �<sup>0</sup> *αi*<sup>2</sup>

*αir* � �<sup>0</sup> *αir*

The code *C*⊂*F<sup>n</sup>* is obtained as the subfield subcode of *C*:

� �<sup>1</sup> ⋯ *αi*<sup>1</sup>

� �<sup>1</sup> ⋯ *αi*<sup>2</sup>

� �<sup>1</sup> ⋯ *αir*

*<sup>T</sup>* <sup>¼</sup> <sup>0</sup> � �*:*

⋮ ⋮

*<sup>C</sup>* <sup>¼</sup> *<sup>c</sup>*∈*F<sup>n</sup>* : *M R*ð Þ*<sup>c</sup>*

Given a triple ð Þ *I*, *J*,*K* of subsets of 1, f g … , *n* of the same cardinality *r*, we associate to them partitions *λ*, *μ* and *ν* as follows. Let *I* ¼ *i*<sup>1</sup> < … <*i* f g*<sup>r</sup>* ⊂ f g 1, … , *n* , then the corresponding partition is defined as *λ* ¼ *i*ð Þ *<sup>r</sup>* � *r*, … ,*r*<sup>1</sup> � 1 , and respectively for *J*,*K*. We call the triple ð Þ *I*, *J*, *K* admissible for the Horn problem, if the corresponding triple of partitions ð Þ *λ*, *μ*, *γ* occurs as eigenvalues of a triple of Hermitian *r* by *r* matrices, with the third one the sum of the first two. We describe Horn's inductive procedure to produce set of triples

� �*n*�<sup>1</sup>

1

CCCCA

� �*n*�<sup>1</sup>

� �*n*�<sup>1</sup> Þ

*k* þ *r r*ð Þ þ 1 *=*2

*<sup>j</sup>* <sup>∈</sup>*<sup>J</sup> <sup>x</sup>* � *<sup>α</sup><sup>j</sup>* � �, *and h x*ð Þ¼

*<sup>r</sup>*þ*kr*. □

*<sup>r</sup>* þ *kr modp and k* ¼ *r, where*

,

*p*,

**Proposition 2.9.** *Let us consider the factorisation of n into irreducible pairwise coprime factors n* <sup>¼</sup> *<sup>p</sup>e*<sup>1</sup> <sup>1</sup> *<sup>p</sup>e*<sup>2</sup> <sup>2</sup> ⋯*per <sup>r</sup> with e*<sup>1</sup> <*e*<sup>2</sup> < … <*er, and λ* ¼ ð Þ *e*1, … ,*er be the partition of exponents. Then there is a flag variety* F*<sup>λ</sup> <sup>q</sup>* � � *of partial flags of q*�*vector spaces:*

$$\{0\} = E^r \subset E^{r-1} \subset \dots \subset E^1 \subset E^0 = (\mathbb{F}\_q)^n,$$

such that *dim Ei*�<sup>1</sup> *<sup>=</sup>Ei* � � <sup>¼</sup> *ei* .

*Proof* Observe that the result follows trivially for the case in which *n* is a prime number *e*<sup>1</sup> ¼ ⋯ ¼ *er* ¼ 1. If *n* ¼ *r s* factorizes into two irreducible prime factors, the result follow as we have seen above, there is a flag 0f g <sup>¼</sup> *<sup>E</sup><sup>r</sup>* <sup>⊂</sup> *Es* <sup>⊂</sup> *<sup>E</sup>*<sup>0</sup> <sup>¼</sup> *<sup>q</sup>* � �*<sup>n</sup>* and then by induction in *<sup>r</sup>* the result follows. □

Given a cyclic code over *F* of length *n*, its defining set is given by the exponents occurring in *g x*ð Þ, where *g x*ð Þ is the generator polynomial of the ideal of the code in *F x*½ �*<sup>=</sup> <sup>x</sup>*ð Þ *<sup>n</sup>* � <sup>1</sup> .

Let *α*∈*F* be an *nth* primitive root of unity. The *nth* cyclotomic polynomial <sup>Φ</sup>*n*ð Þ¼ *<sup>x</sup>* <sup>Q</sup> <sup>1</sup><*<sup>j</sup>* <sup>&</sup>lt;*n*,ð Þ¼ *<sup>j</sup>*,*<sup>n</sup>* <sup>1</sup> *<sup>x</sup>* � *<sup>α</sup><sup>j</sup>* � �∈*F x*½ � is the minimal polynomial of *<sup>α</sup>* over *<sup>F</sup>*. It is monic of degree of the Euler's totient function *φ*ð Þ *n* . It has integer coefficients and it is irreducible over . In ½ � *x* , we have the factorization into irreducible polynomials:

$$\mathbf{x}^n - \mathbf{1} = \prod\_{d|n} \Phi\_d(\mathbf{x})\,.$$

By Möebius inversion:

$$\Phi\_n(\mathbf{x}) = \prod\_{d|n} (\mathbf{x}^d - \mathbf{1})^{\mu(n/d)}$$

In the case of binary codes where *q* ¼ 2, Bezzateev and Shekhunova [8] have obtained that the number of irreducible normalized polynomials *I*2*<sup>m</sup>* ð Þ*l* of degree *l* over 2*<sup>m</sup>* satisfy the following equation:

$$I\_{2^{m}}(l) = \frac{1}{l} \sum\_{d/l} \mu(d) 2^{m \frac{l}{4}}.\tag{5}$$

where *μ*ð Þ *d* is the Möebius function:

$$
\mu(d) = \begin{cases} 1 & \text{if } d = 1; \\ (-1)^r \text{ if } d \text{ is a product of } r \text{ different prime numbers;} \\ & \text{ 0 in all other cases.} \end{cases}
$$

Let *g x*ð Þ equals the least common multiple *lcm* <sup>Φ</sup>*i*ð Þ *<sup>x</sup>* : *<sup>α</sup><sup>i</sup>* <sup>∈</sup> *<sup>S</sup>* � �, then *<sup>S</sup>* is a defining set for *C*. We will describe the defining set by the exponents occurring in *S* with *S* ¼ *i*1, *i*2, … , *i* f g*<sup>l</sup>* , where *i*<sup>1</sup> < … < *il*. A parity check matrix for the code *C S*ð Þ is given by:

*A Geometrical Realisation of Quasi-Cyclic Codes DOI: http://dx.doi.org/10.5772/intechopen.88288*

f g<sup>0</sup> <sup>¼</sup> *Er* <sup>⊂</sup> *Er*�<sup>1</sup> <sup>⊂</sup> … <sup>⊂</sup> *<sup>E</sup>*<sup>1</sup> <sup>⊂</sup> *<sup>E</sup>*<sup>0</sup> <sup>¼</sup> *<sup>q</sup>*

Fix an element *X*<sup>0</sup> ∈ F*<sup>λ</sup>* and denote by P*<sup>λ</sup>* the stabilizer of *X*<sup>0</sup> in *G* and by U*<sup>λ</sup>* the

� � � … , � *GL<sup>λ</sup>*<sup>1</sup> *<sup>q</sup>*

**Proposition 2.9.** *Let us consider the factorisation of n into irreducible pairwise*

f g¼ <sup>0</sup> *Er* <sup>⊂</sup>*Er*�<sup>1</sup> ⊂⋯⊂*E*<sup>1</sup> <sup>⊂</sup>*E*<sup>0</sup> <sup>¼</sup> *<sup>q</sup>*

result follow as we have seen above, there is a flag 0f g <sup>¼</sup> *<sup>E</sup><sup>r</sup>* <sup>⊂</sup> *Es* <sup>⊂</sup> *<sup>E</sup>*<sup>0</sup> <sup>¼</sup> *<sup>q</sup>*

Let *α*∈*F* be an *nth* primitive root of unity. The *nth* cyclotomic polynomial

*<sup>x</sup><sup>n</sup>* � <sup>1</sup> <sup>¼</sup> <sup>Y</sup>

*d*∣*n*

In the case of binary codes where *q* ¼ 2, Bezzateev and Shekhunova [8] have obtained that the number of irreducible normalized polynomials *I*2*<sup>m</sup>* ð Þ*l* of degree *l*

<sup>Φ</sup>*n*ð Þ¼ *<sup>x</sup>* <sup>Y</sup>

*<sup>I</sup>*2*<sup>m</sup>* ðÞ¼ *<sup>l</sup>* <sup>1</sup> *l* X *d=l*

*Proof* Observe that the result follows trivially for the case in which *n* is a prime number *e*<sup>1</sup> ¼ ⋯ ¼ *er* ¼ 1. If *n* ¼ *r s* factorizes into two irreducible prime factors, the

then by induction in *<sup>r</sup>* the result follows. □ Given a cyclic code over *F* of length *n*, its defining set is given by the exponents occurring in *g x*ð Þ, where *g x*ð Þ is the generator polynomial of the ideal of the code in

monic of degree of the Euler's totient function *φ*ð Þ *n* . It has integer coefficients and it is irreducible over . In ½ � *x* , we have the factorization into irreducible polynomials:

*d*∣*n*

Φ*d*ð Þ *x :*

*xd* � <sup>1</sup> � �*<sup>μ</sup>*ð Þ *<sup>n</sup>=<sup>d</sup>*

*<sup>μ</sup>*ð Þ *<sup>d</sup>* <sup>2</sup>*<sup>m</sup> <sup>l</sup>*

ð Þ �<sup>1</sup> *<sup>r</sup> if d is a product of r different prime numbers*;

Let *g x*ð Þ equals the least common multiple *lcm* <sup>Φ</sup>*i*ð Þ *<sup>x</sup>* : *<sup>α</sup><sup>i</sup>* <sup>∈</sup> *<sup>S</sup>* � �, then *<sup>S</sup>* is a defining set for *C*. We will describe the defining set by the exponents occurring in *S* with *S* ¼ *i*1, *i*2, … , *i* f g*<sup>l</sup>* , where *i*<sup>1</sup> < … < *il*. A parity check matrix for the code *C S*ð Þ is

*<sup>d</sup>:* (5)

1 *if d* ¼ 1;

0 *in all other cases:*

<sup>1</sup><*<sup>j</sup>* <sup>&</sup>lt;*n*,ð Þ¼ *<sup>j</sup>*,*<sup>n</sup>* <sup>1</sup> *<sup>x</sup>* � *<sup>α</sup><sup>j</sup>* � �∈*F x*½ � is the minimal polynomial of *<sup>α</sup>* over *<sup>F</sup>*. It is

*<sup>=</sup>Ei* � � <sup>¼</sup> *<sup>λ</sup>i*. The group *GL n*, *<sup>q</sup>*

subgroup of elements *<sup>g</sup>* <sup>∈</sup>P*<sup>λ</sup>* which induces the identity on *Ei*

.

such that dim *Ei*�<sup>1</sup>

*coprime factors n* <sup>¼</sup> *<sup>p</sup>e*<sup>1</sup>

such that *dim Ei*�<sup>1</sup>

By Möebius inversion:

over 2*<sup>m</sup>* satisfy the following equation:

where *μ*ð Þ *d* is the Möebius function:

8 ><

>:

*μ*ð Þ¼ *d*

given by:

**266**

*F x*½ �*<sup>=</sup> <sup>x</sup>*ð Þ *<sup>n</sup>* � <sup>1</sup> .

<sup>Φ</sup>*n*ð Þ¼ *<sup>x</sup>* <sup>Q</sup>

0, 1, … , *n* � 1. Put L*<sup>λ</sup>* ¼ *GL<sup>λ</sup><sup>r</sup> <sup>q</sup>*

*Probability, Combinatorics and Control*

<sup>1</sup> *<sup>p</sup>e*<sup>2</sup> <sup>2</sup> ⋯*per*

*tion of exponents. Then there is a flag variety* F*<sup>λ</sup> <sup>q</sup>*

*<sup>=</sup>Ei* � � <sup>¼</sup> *ei*

� �*<sup>n</sup>*

*<sup>r</sup> with e*<sup>1</sup> <*e*<sup>2</sup> < … <*er, and λ* ¼ ð Þ *e*1, … ,*er be the parti-*

� �*<sup>n</sup>* ,

� � acts on <sup>F</sup>*<sup>λ</sup>* in the natural way.

� �, then we have <sup>P</sup>*<sup>λ</sup>* ¼ L*<sup>λ</sup>* � U*λ*.

� � *of partial flags of q*�*vector spaces:*

*<sup>=</sup>Ei*þ<sup>1</sup> for all *<sup>i</sup>* <sup>¼</sup>

� �*<sup>n</sup>* and

$$M(\mathcal{S}) = \begin{pmatrix} \left(a^{i\_1}\right)^0 & \left(a^{i\_1}\right)^1 & \cdots & \left(a^{i\_1}\right)^{n-1} \\ \left(a^{i\_2}\right)^0 & \left(a^{i\_2}\right)^1 & \cdots & \left(a^{i\_2}\right)^{n-1} \\ \vdots & & \vdots \\ \left(a^{i\_r}\right)^0 & \left(a^{i\_r}\right)^1 & \cdots & \left(a^{i\_r}\right)^{n-1} \end{pmatrix}.$$

The code *C*⊂*F<sup>n</sup>* is obtained as the subfield subcode of *C*:

$$C = \left\{ c \in F^n : M(R)c^T = \mathbf{0} \right\}.$$

Given a triple ð Þ *I*, *J*,*K* of subsets of 1, f g … , *n* of the same cardinality *r*, we associate to them partitions *λ*, *μ* and *ν* as follows. Let *I* ¼ *i*<sup>1</sup> < … <*i* f g*<sup>r</sup>* ⊂ f g 1, … , *n* , then the corresponding partition is defined as *λ* ¼ *i*ð Þ *<sup>r</sup>* � *r*, … ,*r*<sup>1</sup> � 1 , and respectively for *J*,*K*. We call the triple ð Þ *I*, *J*, *K* admissible for the Horn problem, if the corresponding triple of partitions ð Þ *λ*, *μ*, *γ* occurs as eigenvalues of a triple of Hermitian *r* by *r* matrices, with the third one the sum of the first two.

We describe Horn's inductive procedure to produce set of triples ð Þ *I*, *J*, *K* ⊂f g 0, 1, … , *n* .

$$U\_r^n = \left\{ (I, J, K) \vert \sum\_{i \in I} i + \sum\_{j \in J} j = \sum\_{k \in K} k + r(r+1)/2 \right\},$$

$$U\_r^n = \left\{ (I, J, K) \in U\_r^n \vert \; for \; all \; \; p < r \; \; and \;\; all \;\; (F, G, H) \in T\_p^n.$$

*p*,

$$\sum\_{f \in F} i\_f + \sum\_{g \in G} j\_g \le \sum\_{h \in H} k\_h + p(p+1)/2\}.$$

**Example 7.** *Let us consider the triple of subsets*

*Tn*

$$(I, J, K) = (\{\mathbf{1}, \mathbf{3}, \mathbf{5}\}, \{\mathbf{1}, \mathbf{3}, \mathbf{5}\}, \{\mathbf{2}, \mathbf{4}, \mathbf{6}\})$$

and the corresponding triple of partitions ð Þ¼ *λ*, *μ*, *ν* ð Þ ð Þ 2, 1, 0 , 2, 1, 0 ð Þð Þ 3, 2, 1 arises from the triple of diagonal 3 by 3 matrices with diagonal entries ð Þ 2, 1, 0 , 1, 0, 2 ð Þ and 3, 1, 2 ð Þ.

**Lemma 2.10.** *For any triple I*ð Þ , *J*, *K admissible for the Horn problem, the polynomials defined by f x*ð Þ¼ <sup>Q</sup> *<sup>i</sup>*∈*<sup>I</sup> <sup>x</sup>* � *<sup>α</sup><sup>i</sup>* � �, *g x*ð Þ¼ <sup>Q</sup> *<sup>j</sup>* <sup>∈</sup>*<sup>J</sup> <sup>x</sup>* � *<sup>α</sup><sup>j</sup>* � �, *and h x*ð Þ¼ Q *<sup>k</sup>*∈*<sup>K</sup> <sup>x</sup>* � *<sup>α</sup><sup>k</sup>* � � *generate a cyclic code of length n* <sup>¼</sup> *ir* <sup>þ</sup> *<sup>j</sup> <sup>r</sup>* þ *kr modp and k* ¼ *r, where r* ¼ ∣*I*∣ þ ∣ *J*∣ þ ∣*K*∣ *and p is the characteristic of the field F.*

*Proof.* The cyclic code generated by *f x*ð Þ coincides with the cyclic code generated by *lcm mi*ð Þ *<sup>x</sup>* : *<sup>α</sup><sup>i</sup>* , *<sup>i</sup>*<sup>∈</sup> *<sup>I</sup>* � � and respectively for *g x*ð Þ and *h x*ð Þ the polynomials *lcm mj*ð Þ *<sup>x</sup>* : *<sup>α</sup><sup>j</sup>* , *<sup>j</sup>*∈*<sup>J</sup>* � � and *lcm mk*ð Þ *<sup>x</sup>* : *<sup>α</sup><sup>k</sup>*, *<sup>k</sup>*∈*<sup>K</sup>* � �*:* It is the cyclic code generated by the minimal polynomial of *αir*þ*<sup>j</sup> <sup>r</sup>*þ*kr*. □

**Remark 2.11.** *We see that Horn's algorithm is relevant since some classical code constructions can be seen as ideals in a finite dimensional commutative semi simple algebra over a finite field <sup>q</sup> with q* <sup>¼</sup> *pr elements and p a prime number as in example (3).*

**Lemma 2.12.** *The family of cyclic codes obtained by considering the roots of the polynomial xn* � <sup>1</sup> *over its splitting fields are indeed AG codes arising from genus 0 curves, and by Riemann-Roch theorem, their parameters satisfy the bound d* ≥*n* þ 1 � *k, where d is the minimum distance.*

*Proof* Let *q*½ � *<sup>x</sup>* be the extension field containing the *nth* roots of unity 1, *<sup>α</sup>*, … , *<sup>α</sup><sup>n</sup>*�1, where *<sup>α</sup><sup>n</sup>*�<sup>1</sup> <sup>þ</sup> *<sup>α</sup><sup>n</sup>*�<sup>2</sup> <sup>þ</sup> … <sup>þ</sup> *<sup>α</sup>* <sup>þ</sup> <sup>1</sup> <sup>¼</sup> 0. Moreover the set 1, *<sup>α</sup>*, … , *<sup>α</sup><sup>n</sup>*�<sup>1</sup> � � constitutes a basis over the prime field *p*, and the field extensions *pn* ffi *p*½ � *<sup>x</sup> <sup>=</sup> <sup>x</sup>*ð Þ *<sup>n</sup>*�<sup>1</sup> <sup>þ</sup> … <sup>þ</sup> *<sup>x</sup>* <sup>þ</sup> <sup>1</sup> are isomorphic. □

**Author details**

**269**

Cristina Martinez Ramirez\* and Alberto Besana

\*Address all correspondence to: cristinamartine@gmail.com

© 2019 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/ by/3.0), which permits unrestricted use, distribution, and reproduction in any medium,

Department of Maths, UAB, Barcelona

*A Geometrical Realisation of Quasi-Cyclic Codes DOI: http://dx.doi.org/10.5772/intechopen.88288*

provided the original work is properly cited.

#### **2.3 Generating functions of conjugacy classes in a group**

The automorphism group of the projective line *<sup>q</sup>* is the projective linear group *PGL*ð Þ 2, *q* . Any finite subgroup *A* ⊂*PGL*ð Þ 2, *q* defines a *k*�uniform Cayley (sum) hypergraph <sup>Γ</sup>*k*ð Þ *<sup>A</sup>* whose vertices are the generating *<sup>k</sup>*�tuples of *<sup>A</sup>* and the edges are *k*�element sets f g *x*1, … , *xk* ∈ *G k* represented by random variables *x*1, … , *xk*. In particular, if *f z*ð Þ is the ordinary generating function that enumerates *A*, that is, number of conjugacy classes in *A*, then <sup>1</sup> <sup>1</sup>�*f z*ð Þ is the ordinary generating function enumerating sequences of *k* elements in *A*. If *G* is an abelian group, then *x*<sup>1</sup> þ ⋯ þ *xk* ∈ *A*. In general, we will consider *k*-arcs in Γð Þ *A* which represent casual connections between the variables. Applications are known in statistics, for example the multinomial experiment consists of *n* identical independent trials, and there are *k* possible outcomes (classes, categories or cells) to each trial and the cell counts *n*1, *n*2, … , *nk* are the random variables, the number of observations that fall into each of the *k*�categories.

**Definition 2.13.** *In PG n*ð Þ � 1, *q a k*ð Þ� ;*r arc is a set of k points any r of which form a basis for <sup>n</sup> q, or in other words, r* � 1 *of them but not r are collinear.*

Consider the normal rational curve over *q*:

$$\mathcal{V}\_1^n := \left\{ \mathbb{F}\_q \left( \mathbf{1}, \boldsymbol{\varkappa}, \boldsymbol{\varkappa}^2, \dots, \boldsymbol{\varkappa}^n \right) \mid \: \boldsymbol{\varkappa} \in \mathbb{F}\_q \cup \{\infty\} \right\},$$

is a (*q* + 1)-arc in the *n*-dimensional projective space *PG n*ð Þ , *q* .

We see that if *q*≤*n*, the NRC is a basis of a *q*-dimensional projective subspace, that is, a *PGq* ð Þ *n*, *q* . So we can enumerate how many NRC's are there in a *PG n*ð Þ , *q* . The answer is *ϕ*ð Þ *q*; *n*, *q* , the number of ways of choosing such a set of points in a particular *q*-space. If *q*≥ *n* þ 2, the NRC is an example of a (*q* + 1)-arc. It contains *q* + 1 points, and every set of *n* þ 1 points are linearly independent.

#### **2.4 Conclusion**

The problem of considering finite subgroups and conjugacy classes in *PGL*ð Þ 2, *q* the automorphism group of the projective line can be generalised to that of finite subgroups in *PGL n*ð Þ , *q* , the collineation group of the normal rational curve.
