|
|
|
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
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 |
|
|