Let G be a group. We define an enumeration {g1,...,gn}=G and represent D ⊆ G as a list of integers (where ,of course, i represents gi for all 1 ≤ i ≤ n). So the automorphism group of G is represented as a permutation group of degree n. One of the operations performed most often by methods in RDS is the calculation of quotients in G. So we calculate a look-up table for this.
This pre-calculation is done by the operation
PermutationRepForDiffsetCalcuations
. So before you start generating
difference set, call this function and work with the data structure
returned by it.
For an exhaustive search, the ordering of G is very important. To
avoid generating duplicate partial difference sets, we would like to
represent partial difference sets by sets, i.e. ordered lists. But
in fact, RDS does not assume that partial difference
sets are sets. The operations ExtendedStartSets
and AllDiffsets
assume that the last element of partial difference set is its
maximum. But they don't test it. So if you start from scratch, these
methods generate difference sets which are really sets. Whereas the
NoSort
versions disregard the ordering of G and will produce
duplicates.
The reason for this seemingly strange behaviour is the following: Assume that we have a normal subgroup U ≤ G and know that every difference set D ⊆ G contains exactly ni elements from the ith coset modulo U. Then it is natural to generate difference sets by first searching all partial difference sets of length n1 containing entirely of elements of the first coset modulo U and then proceed with the other cosets.
This method of difference set generation is normally not compatible with the ordering of G. This is why partial difference sets are not required to be sets. See chapter RDS:An Example Program for an example.
[Up] [Previous] [Next] [Index]
RDS manual