Preliminaries: Methods, Notation

# Preliminaries: Methods, Notation

Following Slepian (Some Further Theory of Group Codes, The Bell System Technical Journal, 39:1219 - 1252, 1960.) we succeeded to describe the isometry classes of linear codes over GF(q) as orbits under group actions. To be more precise the isometry class of a given linear code C of length n and dimension k (in short (n,k)-code) can be expressed as the orbit under the action of the direct product GLk(q) × Mn(q) on an arbitrary generator matrix of C (i. e. an k × n-matrix of rank k, the rows of which form a basis of the code C), where GLk(q) is the group of all regular k × k-matrices over GF(q) and Mn(q) is the full monomial group over GF(q). The elements of Mn(q) can be described as n × n-matrices which have in each row and each column exactly one entry from GF(q)*. The action of (A,M)∈ GLk(q) × Mn(q) on a generator matrix Γ is given by (A,M)(Γ):=A⋅ Γ⋅ M.

Moreover the group Mn(q) can be expressed as a wreath product of the form

 Mn(q)=GF(q)*≀Sn...

We use the following symbols for enumerating certain orbits under the group action of GLk(q) × Mn(q):

• Tnkq is the number of orbits of k × n-matrices over GF(q) of rank ≤ k.
• Tnkq is the number of orbits of k × n-matrices over GF(q) of rank ≤ k without proportional columns.
• Snkq is the number of isometry classes of (n,k)-codes over GF(q) without 0-columns (i. e. there exists no index i such that all codewords have a 0 in i-th position).
• Snkq is the number of isometry classes of (n,k)-codes over GF(q) without proportional columns and without 0-columns. We call these codes injective codes as well.
• Rnkq is the number of isometry classes of indecomposable (n,k)-codes over GF(q) without 0-columns.
• Rnkq is the number of isometry classes of indecomposable (n,k)-codes over GF(q) without proportional columns and without 0-columns.
• Wnkq is the number of isometry classes of (n,k)-codes without any further requirements.

All these computations were done with the computer algebra system SYMMETRICA: For instance here is a short C-program which can be used for computing the numbers Tnkq. The main problem is the computation of the cycle index of the projective linear group PGLk(q) acting on PGk-1(q) which is done with the routine

```zykelind_pglkq(k,q,erg)  OP k,q,erg;
```
By certain substitutions into this cycle index the desired numbers can be derived, which can be used for computing the numbers Snkq.
```#include "def.h"
#include "macro.h"

main()
{
OP k,q,c,d,e,f;
anfang();
k=callocobject();
q=callocobject();
c=callocobject();
d=callocobject();
e=callocobject();
f=callocobject();
printeingabe("k=?  k>=2");
scan(INTEGER,k);
printeingabe("q=?");
scan(INTEGER,q);
zykelind_pglkq(k,q,c);
numberofvariables(c,d);
polya_sub(c,d,e);
dec(k);
zykelind_pglkq(k,q,c);
numberofvariables(c,d);
polya_sub(c,d,f);
sub(e,f,d);
println(d);
freeall(k);
freeall(q);
freeall(c);
freeall(d);
freeall(e);
freeall(f);
ende();
}
```

harald.fripertinger "at" uni-graz.at, May 10, 2016

 Preliminaries: Methods, Notation