Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

612136 views
1
% This file was created automatically from tutorial.msk.
2
% DO NOT EDIT!
3
\Chapter{AllDiffsets and OneDiffset}
4
5
This chapter contains a number of examples as a very quick
6
introduction to a few brute-force methods which can be used to find
7
all (or just one) relative difference sets in a small group. Full
8
documentation of these functions including all parameters can be found
9
in section "RDS:Brute force methods".
10
11
Do not expect too much from these methods alone! If
12
you want to find examples of relative difference sets in larger
13
groups, you should familiarize with the notion of coset signatures by
14
also reading the next chapter.
15
16
The functions "AllDiffsets" and "OneDiffset" present the
17
easiest way to calculate relative difference sets.
18
19
For a quick start, try this:
20
\beginexample
21
gap> LoadPackage("rds");;
22
gap> G:=CyclicGroup(7);
23
<pc group of size 7 with 1 generators>
24
gap> AllDiffsets(G);
25
[ [ f1, f1^3 ], [ f1, f1^5 ], [ f1^2, f1^3 ], [ f1^2, f1^6 ], [ f1^4, f1^5 ],
26
[ f1^4, f1^6 ] ]
27
gap> OneDiffset(G);
28
[ f1, f1^3 ]
29
\endexample
30
31
The first is the set of all ordinary difference sets of order $2$ in
32
the cyclic group of order $7$. Ok, they look too small (recall that
33
the order of a difference set is the number $k$ of elements it
34
contains minus the multiplicity $\lambda$). Here is the reason:
35
36
Without loss of generality, every difference set contains the identity
37
element of the group it lives in. {\package{RDS}} knows this and
38
assumes it implicitly. So difference sets of length $n$ are
39
represented by lists of length $n-1$.
40
41
We can calculate all ordinary difference sets in $G$ which contain the
42
last element using "AllDiffsetsNoSort". Observe, that "AllDiffsets"
43
calculates partial difference sets by adding elements to the given
44
list which are lexicographically larger than the last one of this
45
list:
46
47
\beginexample
48
gap> AllDiffsetsNoSort([Set(G)[7]],G);
49
[ [ f1^6, f1^2 ], [ f1^6, f1^4 ] ]
50
gap> AllDiffsets([Set(G)[7]],G);
51
[ ]
52
\endexample
53
54
You can also generate relative difference sets. Here we must give a
55
partial difference set to start with (the empty list is ok) and a
56
forbidden set. Notice that a forbidden subgroup cannot be input as a
57
*group*. It has to be converted to a set.
58
59
\beginexample
60
gap> G:=ElementaryAbelianGroup(81);
61
<pc group of size 81 with 4 generators>
62
gap> N:=Subgroup(G,GeneratorsOfGroup(G){[1,2]});
63
Group([ f1, f2 ])
64
gap> OneDiffset([],Set(N),G);
65
[ f3, f4, f1*f3^2, f2*f3*f4, f1^2*f4^2, f2*f3^2*f4^2, f1*f2^2*f3^2*f4,
66
f1^2*f2^2*f3*f4^2 ]
67
\endexample
68
69
If the parameter $\lambda$ is not given, it is set to $1$.
70
Of course, we can also find difference sets with $\lambda>1$. Here is a $(12,2,12,6)$ difference set in $SL(2,3)$:
71
72
\beginexample
73
gap> G:=SmallGroup(24,3);
74
<pc group of size 24 with 4 generators>
75
gap> N:=First(NormalSubgroups(G),i->Size(i)=2);
76
Group([ f4 ])
77
gap> OneDiffset([],Set(N),G,6);
78
[ f1, f2, f3, f1^2, f1*f2, f1*f3, f2*f3, f1*f2*f3, f1^2*f2*f4, f1^2*f3*f4,
79
f1^2*f2*f3*f4 ]
80
\endexample
81
82
To test if a set is a relative difference set, "IsDiffset" can be used:
83
84
\beginexample
85
gap> a:=(1,2,3,4,5,6,7);
86
(1,2,3,4,5,6,7)
87
gap> IsDiffset([a,a^3],Group(a)); #an ordinary difference set
88
true
89
gap> IsDiffset([a,a^2,a^4],Group(a)); #no ordinary difference set
90
false
91
gap> IsDiffset([a,a^2,a^4],Group(a),2); #diffset with <lambda>=2
92
true
93
\endexample
94
95
In some cases, "AllDiffsets" and "OneDiffset" will refuse to work. A
96
solution for this is to calculate `IsomorphismPermGroup' for your
97
group and then work with the image under this isomorphism.
98
99
See "RDS:Brute force methods" for details.
100
101