Random generation of linear codes Top Introduction

Introduction

The methods and results presented in this paper are interesting in the framework of classification of discrete structures [10][11]. Very often discrete structures can be described as equivalence classes of certain objects. In such cases when these equivalence classes can be expressed as orbits under a group G acting on a set X -- i. e. there is a mapping G × X→ X, (g,x)↦ gx such that g1(g2x)=(g1g2)x and 1x=x for all g1,g2∈ G, x∈ X, where 1 is the unit element of G -- then there exist some combinatorial and algebraic methods for the classification of these structures. We will apply these methods for the classification of linear codes.

Let n and k≤ n be two positive integers. A linear (n,k)-code C over the finite field GF(q), where q is the power of a prime p, is a k-dimensional subspace of GF(q)n. The error correcting properties of C can be described by using the minimum distance d(C) of C,

d(C) := min{d(c,c') | c,c'∈ C, c ≠ c'},
where d(c,c') is the Hamming distance of the two code words, which is the number of different coordinates of c and c';
d(c,c')=|{1≤ i≤ n | ci ≠ ci'}|.
Applying a Maximum-Likelihood decoder, which decodes a received message into one of the nearest code words in C with respect to the Hamming distance, it is possible to correct at most ⌊(d(C)-1)/2 ⌋ transmission errors and detect d(C)-1 errors.

If there is a vector space isomorphism ι:C→ C' which preserves the Hamming distance then C and C' are called isometric. The isomorphism ι is called an isometry between C and C' as well. Isometric codes have the same structure with respect to the Hamming metric, so they have the same error correcting properties, and we collect them all to one isometry class. For that reason we are interested rather in the classification of isometry classes of codes than in the classification of all codes. Each isometry can be described as a permutation of the coordinates together with a simultaneous multiplication in each coordinate with elements of GF(q)* (cf. [9]). To be more precise, the group of all isometries can be described as the wreath product GF(q)* ≀Sn of the multiplicative group GF(q)* and the symmetric group Sn. Its underlying set is

{(ψ,π) | ψ∈ GF(q)*n, π∈ Sn},
where GF(q)*n is the set of all functions ψ: n := {1,...,n}→ GF(q)*, and the multiplication is defined by
(ψ,π)(ψ',π') := (ψψ'π,ππ'),
together with
ψψ'π(i) := ψ(i)ψ'π(i) := ψ(i)ψ'(π-1 i).
Each element of this group can also be described as an n × n-matrix M over GF(q) which has in each row and in each column exactly one entry different from zero. The action of this monomial group on GF(q)n is given by
GF(q)* ≀Sn × GF(q)n→ GF(q)n
((ψ,π),v := (κ1,...,κn))↦ (ψ(1)κπ-1(1),..., ψ(n)κπ-1(n)),
or
(M,v)↦ v⋅ M-1.
It induces a group action on U(n,k,q), the set of all k-dimensional subspaces of GF(q)n. Usually it is more convenient to represent an (n,k)-code C by a generator matrix Γ which is an n × k-matrix over GF(q), the rows of which form a basis of the code C. Obviously each code has many different generator matrices; the set of all generator matrices of C is the orbit3 GLk(q)(Γ) under the following action of the general linear group GLk(q) on the set GF(q)n × kk of all n × k-matrices over GF(q) of rank k.
GLk(q) × GF(q)n × kk→ GF(q)n × kk: (A,Γ)↦ A⋅ Γ.
For technical reasons, we will drop the condition on the rank of these matrices Γ, and we will write them as functions from the set n to GF(q)k \ {0}, since it is obvious that we can restrict our investigations to generator matrices having no 0-columns. (A 0-column in a generator matrix causes that the corresponding coordinate in all code words is 0, so this coordinate cannot carry any information.) Finally we end up with the following group action describing the isometry classes of linear (n,l)-codes for l≤ k as orbits under the particular action:
(GLk(q) × GF(q)* ≀Sn) × (GF(q)k \ {0})n→ (GF(q)k \ {0})n
(A,Γ,M)↦ A⋅ Γ⋅ M-1
This can be made more clear when applying Lehmann's Lemma [13][14] which reduces the action of the wreath product GF(q)* ≀Sn on GF(q)k \ {0} to an action of Sn on the set of GF(q)*-orbits on GF(q)k \ {0}. Since each of these orbits collects all nonzero vectors of a one-dimensional vector space of GF(q), each of these orbits can be identified with an element of the projective geometry PGk-1(q).

In our final description the isometry classes of linear (n,l)-codes for l≤ k correspond to GLk(q) × Sn-orbits of functions Γ:n→ PGk-1(q), where Sn operates by permuting the coordinates, and GLk(q) acts by multiplication from the left. Since GLk(q) acts on elements of PGk-1(q) we can consider this action as an action of the projective linear group PGLk(q).

  (PGLk(q) × Sn) × (PGk-1(q))n→ (PGk-1(q))n
After having described the isometry classes in a suitable way as orbits under a group action, we were able to compute the number of these classes for many parameters n, k and q using methods from Pólya theory (cf. [8][5][4][6]). The main point in all these calculations was the computation of the cycle index of the action of PGLk(q) acting on PGk-1(q) (cf. [7]).

Some further efforts were done, for computing complete lists of representatives of these isometry classes (cf. [1]). Even though we were applying a mixture of algebraic and combinatorial algorithms together with very skilled programming techniques this approach works only for small parameter values n, k and q. Soon the size of the operating group together with the number of representatives to be computed are getting too large. In such situations it is useful, helpful and makes sense to apply probabilistic methods which allow the construction of linear codes distributed over all isometry classes uniformly at random. This way we are able to produce huge sets of representatives, to check hypotheses on them and afterwards we can try to prove the valid ones.


harald.fripertinger "at" uni-graz.at, November 17, 2011

Random generation of linear codes Top Uni-Graz Mathematik Introduction Valid HTML 4.0 Transitional Valid CSS!