Enumeration of isometry classes of linear codes |
When investigating injective functions only we are computing the numbers Tnkq, Snkq and Rnkq.
When extending the range to GF(q)k we can determine Wnkq, the number of classes of linear codes, where 0-columns are allowed.
These numbers can be computed with the following routines (from
code.c
).
INT T_nkq_maxgrad(n,k,q,f) OP n,k,q,f; INT Tbar_nkq_maxgrad(n,k,q,f) OP n,k,q,f; INT S_nkq_maxgrad(n,k,q,f) OP n,k,q,f; INT Sbar_nkq_maxgrad(n,k,q,f) OP n,k,q,f; INT W_nkq_maxgrad(n,k,q,f) OP n,k,q,f;In all these cases
f
is a POLYNOMial in one
indeterminate of degree less than or equal to n
(INTEGER), where the coefficient of xi is the number
Tikq, Tikq,
Sikq, Sikq,
Wikq. Furthermore k
and q
are
INTEGER objects.
In order to compute tables of numbers of indecomposable codes you can use the routines
INT all_codes(n,k,q,d,e) OP n,k,q,d,e; INT all_inj_codes(n,k,q,d,e) OP n,k,q,d,e;
n
, k
and q
are INTEGER
objects indicating the maximal value of n and the values of k and
q. d
and e
are n × k matrices of
Snkq and Rnkq for all_codes
and
Snkq and
Rnkq for
all_inj_codes
. For 0≤ i<S_M_HI(d)
and 0≤ j<S_M_LI(d)
the entry
S_M_IJ(d,i,j)
represents the number
Si+1,j+1,q
.
Furthermore there are some routines asking for the right input and computing the desired numbers (classes of codes):
INT co_T_nkq(); INT co_Tbar_nkq(); INT co_T_nkq_erweitert();can be used for computing the numbers Tnkq, Tnkq and the numbers of orbits of functions with range GF(q)k (needed for the computation of Wnkq).
INT co_S_nkq(); INT co_Sbar_nkq(); INT co_W_nkq();can be used for computing the numbers Snkq, Snkq and Wnkq.
INT co_all_codes(); INT co_all_inj_codes();are computing tables of Snkq and Rnkq (Snkq and Rnkq respectively).
For some computations it could be interesting to save the numbers Tnkq or Tnkq into a file. This can be done by using
INT co_T_nkq_file(); INT co_Tbar_nkq_file();The first routine writes a file called
alldat
k.q the
second a file called dat
k.q.
INT co_S_nkq_file(); INT co_Sbar_nkq_file();for the computation of Snkq or Snkq. More precisely for the computation of Snkq the files
alldat
k.q and alldat
(k-1).q are used.
When applying these routines you must take care that the parameter
for n may not exceed the parameter for n used in
co_T_nkq_file()
or co_Tbar_nkq_file()
.
In the same way these files are used for computing tables of Snkq and Rnkq (or Snkq and Rnkq respectively) with
INT co_all_codes_file(); INT co_all_inj_codes_file();
The total number of all k-dimensional subspaces of GF(q)n can be computed with:
INT number_of_subspaces(n,k,q,d) OP n,k,q,d; INT co_number_of_subspaces();In the first routine
n
k
and
q
are the 3 parameters and d
is the
result, in the second form you are asked to input the right
parameters.
Enumeration of isometry classes of linear codes |