In order to minimize the number of orbits that must be enumerated or represented, and following SLEPIAN again, we can restrict attention to indecomposable linear -codes. Let be a linear -code over with generator matrix and let be a linear -code over with generator matrix , then the code with generator matrix
is called the direct sum of the codes and , and it will be denoted by . A code is called decomposable, if and only if it is equivalent to a code which is the direct sum of two or more linear codes. Otherwise it is called indecomposable.
In [13] SLEPIAN proves that every decomposable linear -code is equivalent to a direct sum of indecomposable codes, and that this decomposition is unique up to equivalence and order of the summands. SLEPIAN used a generating function scheme for computing the numbers and . However after constructing these codes the authors realized that in some situations this formula doesn't work correctly. For that reason we are giving another formula to determine the numbers and . For the rest of this section let .
. Theorem
The number is equal to
where
and where the first sum is taken over the cycle types
of , (which means that and ) such that , while the second sum is over the -tuples , for which , and
. In the same way the can be computed from the
. The numerical results show that for fixed and the
sequence of is unimodal and symmetric. (It is easy to prove that
this sequence must be symmetric, but the proof of the unimodality is still
open.)
Proof: In order to evaluate the values the number of all classes of decomposable linear -codes must be subtracted from . In other words one has to find all possibilities of decomposing a linear -code into a direct sum of indecomposable linear -codes such that
According to SLEPIANs theorem the -codes can be arranged such that and in the case that the inequality holds. At first all partitions of into at least two parts and into at most parts must be found. Let be such a partition with and . Then the cycle type of is , where . Two decomposable codes which determine two different partitions of are not equivalent. In the second step to each partition of one has to find all sequences such that is fulfilled, and such that codes belonging to different sequences are not equivalent. In order to do this we start with such a sequence and define
then
Two decomposable codes which on the one hand belong to one partition of but on the other hand define two different vectors and are not in the same equivalence class. Now the other way round we start with a sequence and try to determine all sequences which define non equivalent codes such that . Again by SLEPIAN's theorem we must find all partitions of (this implies ) into exacyly parts of the form
In the last step must be evaluated. This is the the number of classes of linear -codes, which have a decomposition into a direct sum of indecomposable -codes for to a given partition of into exactly parts. We already know that there are classes of indecomposable linear -codes. In the case that all the are distinct, this number is given by
Otherwise there exist such that and . Then and permuting the corresponding summands in the direct sum may lead to equivalent codes. For let be the cardinality of . Now there is a bijection between the classes of codes, which are a direct sum of -codes and the orbits of the symmetric group on the set of all mappings from into a set of elements, where the action of is given by:
By PÓLYAs theorem [12] one has to compute the cycle index and each variable must be substituted by . Doing this for all possible values of we get
Using the computer algebra system SYMMETRICA, among many other ones the tables of numbers of indecomposable codes which are shown below were computed.