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

612134 views
1
% This file was created automatically from startsets.msk.
2
% DO NOT EDIT!
3
\Chapter{General concepts}
4
5
In this chapter, we first give a definition of relative difference
6
sets and outline a part of the theory. Then we have a quick look at
7
the way difference sets are represented in {\RDS}.
8
9
After that, some basic methods for the generation of difference sets
10
are explained.
11
12
If you already read chapter "RDS:A basic example" and want to know
13
what "StartsetsInCoset" really does, you may want to read this
14
chapter.
15
The most important method here is
16
"PermutationRepForDiffsetCalculations" as this is the function all
17
searches start with. The main high-level function for difference set
18
generation in this chapter is "ExtendedStartsets".
19
20
21
%%%%%%%%%%%%%%%%%%%%
22
\Section{Introduction}
23
24
%\Input{rds}
25
26
Let $G$ be a finite group and $N\subseteq G$. The set $R\subseteq G$
27
with $|R|=k$ is called a ``relative difference set of order
28
$k-\lambda$ relative to the forbidden set $N$'' if the following
29
properties hold:
30
31
\beginlist%ordered{(a)}
32
\item{(a)} The multiset $\{ a.b^{-1}\colon a,b\in R\}$ contains
33
every nontrivial ($\neq 1$) element of $G-N$ exactly $\lambda$
34
times.
35
\item{(b)} $\{ a.b^{-1}\colon a,b\in R\}$ does not contain
36
any non-trivial element of $N$.
37
\endlist
38
39
Relative difference sets with $N=1$ are called (ordinary) difference
40
sets. As a special case, difference sets with $N=1$ and $\lambda=1$
41
correspond to projective planes of order $k-1$. Here the blocks are
42
the translates of $R$ and the points are the elements of $G$.
43
44
In group ring notation a relative difference set satisfies
45
$$
46
RR^{-1}=k+\lambda(G-N).
47
$$
48
49
The set $D\subseteq G$ is called *partial relative difference set*
50
with forbidden set $N$, if
51
$$
52
DD^{-1}=\kappa+\sum_{g\in G-N}v_gg
53
$$
54
55
holds for some $1\leq\kappa\leq k$ and $0\leq v_g \leq \lambda$ for
56
all $g\in G-N$. If $D$ is a relative difference set then ,obviously,
57
$D$ is also a partial relative difference set.
58
59
Two relative difference sets $D,D'\subseteq G$ are called *strongly
60
equivalent* if they have the same forbidden set $N\subseteq G$ and if
61
there is $g\in G$ and an automorphism $\alpha$ of $G$ such that
62
$D'g^{-1}=D^\alpha$. The same term is applied to partial relative
63
difference sets.
64
65
Let $D\subseteq G$ be a difference set, then the incidence structure
66
with points $G$ and blocks $\{Dg\;|\;g\in G\}$ is called the
67
*development* of $D$. In short: ${\rm dev} D$. Obviously, $G$ acts on
68
${\rm dev}D$ by multiplication from the right.
69
70
If $D$ is a difference set, then $D^{-1}$ is also a difference set.
71
And ${\rm dev} D^{-1}$ is the dual of ${\rm dev} D$. So a group
72
admitting an operation some structure defined by a difference set does
73
also admit an operation on the dual structure. We may therefore change
74
the notion of equivalence and take $\phi$ to be an automorphism or an
75
anti-automorphism. Forbidden sets are closed under inversion, so this
76
gives a ``weak'' sort of strong equivalence.
77
78
79
80
81
%%%%%%%%%%%%%%%%%%%%
82
\Section{How partial difference sets are represented}
83
84
Let $G$ be a group. We define an enumeration $\{g_1,\dots,g_n\}=G$ and
85
represent $D\subseteq G$ as a list of integers (where, of course, $i$
86
represents $g_i$ for all $1\leq i\leq n$). So the automorphism group
87
of $G$ is represented as a permutation group of degree $n$. One of
88
the operations performed most often by methods in {\RDS} is
89
the calculation of quotients in $G$. So we calculate a look-up
90
table for this.
91
92
This pre-calculation is done by the operation
93
"PermutationRepForDiffsetCalculations". So before you start generating
94
difference set, call this function and work with the data structure
95
returned by it.
96
97
For an exhaustive search, the ordering of $G$ is very important. To
98
avoid generating duplicate partial difference sets, we would like to
99
represent partial difference sets by *sets*, i.e. ordered lists. But
100
in fact, {\RDS} does *not* assume that partial difference
101
sets are sets. The operations "ExtendedStartSets" and "AllDiffsets"
102
assume that the last element of partial difference set is its
103
maximum. But they don't test it. So if you start from scratch, these
104
methods generate difference sets which are really sets. Whereas the
105
`NoSort' versions disregard the ordering of $G$ and will produce
106
duplicates.
107
108
The reason for this seemingly strange behaviour is the following:
109
Assume that we have a normal subgroup $U\leq G$ and know that every
110
difference set $D\subseteq G$ contains exactly $n_i$ elements from the
111
$i^{\rm th}$ coset modulo $U$. Then it is natural to generate
112
difference sets by first searching all partial difference sets of
113
length $n_1$ containing entirely of elements of the first coset modulo
114
$U$ and then proceed with the other cosets.
115
116
This method of difference set generation is normally not compatible
117
with the ordering of $G$. This is why partial difference sets are not
118
required to be *sets*. See chapter "RDS:An Example Program" for an
119
example.
120
121
122
%%%%%%%%%%%%%%%%%%%%
123
\Section{Basic functions for startset generation}
124
125
Defining an enumeration of the a group $G$, every relative difference
126
set may be represented by a list of integers. Indexing $G$ in this way
127
has the advantage of the automorphism group of $G$ being a permutation
128
group acting on the index set for $G$. As relative difference sets are
129
normally calculated in small groups, it is possible to store a
130
complete multiplication table of the group in terms of the
131
enumeration.
132
133
If not stated otherwise, partial difference sets are always considered
134
to be lists of integers. Note that it is not required for a partial
135
difference set to be a set.
136
137
\>PermutationRepForDiffsetCalculations( <group> ) O
138
\>PermutationRepForDiffsetCalculations( <group>, <autgrp> ) O
139
140
For a group <group>, `PermutationRepForDiffsetCalculations(<group>)'
141
returns a record containing:
142
\beginlist
143
\item{1.} the group <.G>=<group>.
144
\item{2.} the sorted list <.Glist>=`Set(<group>)',
145
\item{3.} the automorphism group <.A> of <group>,
146
\item{4.} the group <.Aac>, which is the permutation action of <A> on the indices of <.Glist>,
147
\item{5.} <.Ahom>=`ActionHomomorphism(<.A>,<.Glist>)',
148
\item{6.} the group <.Ai> of anti-automorphisms of <.group> acting on the indices of <Glist>,
149
\item{7.} the multiplication table <.diffTable> of <.group> in a special form.
150
\endlist
151
152
<.diffTable> is a matrix of integers defined such that
153
`<.difftable>[i][j]' is the position of `<Glist>[i](<Glist>[j])^{-1})'
154
in <Glist> with `<Glist>[1]=One(<group>)'.
155
156
`PermutationRepForDiffsetCalculations' runs into an error if
157
`Set(<group>)[1]' is not equal to `One(<group>)'.
158
159
If <autgrp> is given, `PermutationRepForDiffsetCalculations' will not calculate the
160
automorphism group of <group> but will take <autgrp> instead without any test.
161
162
163
164
If `Set(<group>)[1]' is not equal to `One(<group>)', then
165
"PermutationRepForDiffsetCalculations" returns an error message.
166
In this case, calculating a permutation representation helps:
167
168
\beginexample
169
gap> G:=SL(2,3);
170
SL(2,3)
171
gap> Gdata:=PermutationRepForDiffsetCalculations(G);
172
Error, smallest element of group is not the identity. Try `IsomorphismPermGrou\
173
p' called from
174
<function>( <arguments> ) called from read-eval-loop
175
Entering break read-eval-print loop ...
176
you can 'quit;' to quit to outer loop, or
177
you can 'return;' to continue
178
brk> quit;
179
gap> G:=Image(IsomorphismPermGroup(G));
180
Group([ (2,3,5)(6,7,8), (1,2,4,7)(3,6,8,5) ])
181
gap> Gdata:=PermutationRepForDiffsetCalculations(G);
182
\endexample
183
184
\>IsDiffset( <diffset>, [<forbidden>], <Gdata>, [<lambda>] ) O
185
\>IsDiffset( <diffset>, [<forbidden>], <group>, [<lambda>] ) O
186
187
This function tests if <diffset> is a relative difference set with
188
forbidden set <forbidden> and parameter <lambda> in the group <group>.
189
If <Gdata> is the record calculated by "PermutationRepForDiffsetCalculations",
190
<diffset> and <forbidden> have to be lists of integers. If a group
191
<group> is given, <diffset> and <forbidden> must consist of elements
192
of this group.
193
194
If <forbidden> is not given, it is assumed to be trivial. If <lambda>
195
is not given, it is set to $1$. Note that $1$ (`One(<group>)', repectively)
196
*must not* be element of <diffset>.
197
198
199
200
\beginexample
201
gap> a:=(1,2,3,4,5,6,7);
202
(1,2,3,4,5,6,7)
203
gap> IsDiffset([a,a^3],Group(a));
204
true
205
gap> IsDiffset([a,a^3],Group(a),2);
206
false
207
gap> IsDiffset([a,a^2,a^4],Group(a),2);
208
true
209
gap> Gdata:=PermutationRepForDiffsetCalculations(Group(a));;
210
gap> IsDiffset([2,4],Gdata);
211
true
212
\endexample
213
214
\>IsPartialDiffset( <diffset>, [<forbidden>], <Gdata>, [<lambda>] ) O
215
\>IsPartialDiffset( <diffset>, [<forbidden>], <group>, [<lambda>] ) O
216
217
This function tests if <diffset> is a partial relative difference set with
218
forbidden set <forbidden> and parameter <lambda> in the group <group>.
219
If <Gdata> is the record calculated by "PermutationRepForDiffsetCalculations",
220
<diffset> and <forbidden> have to be lists of integers. If a group
221
<group> is given, <diffset> and <forbidden> must consist of elements
222
of this group.
223
224
If <forbidden> is not given, it is assumed to be trivial. If <lambda>
225
is not given, it is set to $1$. Note that $1$ (`One(<group>)', repectively)
226
*must not* be element of <diffset>.
227
228
229
\beginexample
230
gap> a:=(1,2,3,4,5,6,7);
231
(1,2,3,4,5,6,7)
232
gap> IsPartialDiffset([a],Group(a));
233
true
234
gap> IsPartialDiffset([a,a^4],Group(a));
235
false
236
gap> IsPartialDiffset([a,a^4],Group(a),2);
237
true
238
\endexample
239
240
A partial difference set may be converted from a list of group
241
elements to a list of integers using
242
\>GroupList2PermList( <list>, <Gdata> ) O
243
244
converts a list of group elements to integers according to the
245
enumeration given in Gdata.Glist.
246
Here <Gdata> is a record containing .diffTable as returned by
247
"PermutationRepForDiffsetCalculations".
248
249
250
251
The inverse operation is
252
performed by
253
\>PermList2GroupList( <list>, <Gdata> ) O
254
255
converts a list of integers into group elements according to the
256
enumeration given in Gdata.Glist.
257
Here <Gdata> is a record containing .diffTable as returned by
258
"PermutationRepForDiffsetCalculations".
259
260
261
262
263
\beginexample
264
gap> G:=DihedralGroup(6);
265
<pc group of size 6 with 2 generators>
266
gap> N:=NormalSubgroups(G)[2];
267
Group([ f2 ])
268
gap> dat:=PermutationRepForDiffsetCalculations(G);
269
rec( G := <pc group of size 6 with 2 generators>,
270
Glist := [ <identity> of ..., f1, f2, f1*f2, f2^2, f1*f2^2 ],
271
A := <group of size 6 with 2 generators>,
272
Aac := Group([ (3,5)(4,6), (2,4,6) ]),
273
Ahom := <action homomorphism>,
274
Ai := Group([ (3,5), (3,5)(4,6), (2,4,6) ]),
275
diffTable := [ [ 1, 2, 5, 4, 3, 6 ], [ 2, 1, 6, 3, 4, 5 ],
276
[ 3, 6, 1, 2, 5, 4 ], [ 4, 5, 2, 1, 6, 3 ],
277
[ 5, 4, 3, 6, 1, 2 ], [ 6, 3, 4, 5, 2, 1 ] ] )
278
gap> Nperm:=GroupList2PermList(Set(N),dat);
279
[ 1, 3, 5 ]
280
\endexample
281
282
In the following functions the record <Gdata> has to contain a matrix
283
<.diffTable> as returned by "PermutationRepForDiffsetCalculations".
284
285
\>NewPresentables( <list>, <newel>, <table> ) O
286
\>NewPresentables( <list>, <newel>, <Gdata> ) O
287
\>NewPresentables( <list>, <newlist>, <Gdata> ) O
288
\>NewPresentables( <list>, <newlist>, <table> ) O
289
290
`NewPresentables( <list>,<newel>,<Gdata> )' takes a record <Gdata> as
291
returned by `PermutationRepForDiffsetCalculations(<group>)'.
292
For `NewPresentables( <list>,<newel>,<table> )', <table> has to be the
293
multiplication table in the form of
294
`NewPresentables( <list>,<newel>,<Gdata.diffTable>)'
295
296
The method returns the unordered list of quotients $d_1<newel>^{-1}$ with
297
$d_1\in <list>\cup\{1\}$ (in permutation representation).
298
299
When used with a list <newlist>, a list of quotients $d_1d_2^{-1}$ with
300
$d_1\in <list>\cup\{1\}$ and $d_2\in <newlist>$ is returned.
301
302
303
\>AllPresentables( <list>, <table> ) O
304
\>AllPresentables( <list>, <Gdata> ) O
305
306
Let <list> be a list of integers representing elements of a group defined
307
by <Gdata> (or <table>).
308
`AllPresentables( <list>,<table>)' returns an unordered list of
309
quotients $ab^{-1}$ for all group elements $a,b$ represented by integers
310
in <list>. If $1\in <list>$, an error is issued.
311
The multiplication table <table> has to be of the form as returned by
312
"PermutationRepForDiffsetCalculations". And <Gdata> is a record as
313
calculated by "PermutationRepForDiffsetCalculations".
314
315
316
%
317
\beginexample
318
gap> G:=CyclicGroup(7);;dat:=PermutationRepForDiffsetCalculations(G);;
319
gap> AllPresentables([2,3],dat);
320
[ 2, 3, 7, 2, 7, 6 ]
321
gap> NewPresentables([2,3],4,dat);
322
[ 4, 5, 6, 3, 7, 2 ]
323
gap> AllPresentables([1,2,3],dat);
324
Error...
325
\endexample
326
%
327
\>RemainingCompletions( <diffset>, <completions>[, <forbidden>], <Gdata>[, <lambda>] ) O
328
\>RemainingCompletionsNoSort( <diffset>, <completions>[, <forbidden>], <table>[, <lambda>] ) O
329
330
For a partial difference set <diffset>,
331
`RemainingCompletions(<diffset>,<completions>,<Gdata>)' returns a
332
subset of the *set* <completions>, such that each of its elements may be
333
added to <diffset> without it loosing the property to be a partial
334
difference set.
335
Only elements greater than the last element of <diffset> are returned.
336
337
For partial *relative* difference sets, <forbidden> is the forbidden set.
338
339
`RemainingCompletionsNoSort' does also return elements from <completions> which
340
are smaller than `<diffset>[Size(<diffset>)]'.
341
342
343
\beginexample
344
gap> G:=CyclicGroup(7);
345
<pc group of size 7 with 1 generators>
346
gap> dat:=PermutationRepForDiffsetCalculations(G);;
347
gap> RemainingCompletionsNoSort([4],[1..7],dat);
348
[ 2, 3 ]
349
gap> RemainingCompletionsNoSort([4],[1..7],dat,2);
350
[ 2, 3, 6, 7 ]
351
gap> RemainingCompletions([4],[1..7],dat);
352
[ ]
353
gap> RemainingCompletions([4],[1..7],dat,2);
354
[ 6, 7 ]
355
\endexample
356
357
\>ExtendedStartsets( <startsets>, <completions>, [<forbiddenset>][, <aim>], <Gdata>[, <lambda>] ) O
358
\>ExtendedStartsetsNoSort( <startsets>, <completions>, [<forbiddenset>][, <aim>], <Gdata>[, <lambda>] ) O
359
360
For a set of partial (relative) difference sets <startsets>, the set of
361
all extensions by one element from <completions> is returned.
362
Here an ``extension'' of a partial diffence set $S$ is a list which has
363
one element more than $S$ and contains $S$.
364
365
Here <completions> is a set of elements wich may be appended to the lists in
366
<startsets> to generate new partial difference sets. For relative difference
367
sets, the forbidden set <forbiddenset> must be given.
368
And the integer <aim> gives the desired total length, i.e. the number
369
of elements of <completions> that have to be added to each startset
370
plus its length. Note that the elements of <startset> are always extended
371
by *one* element (if they can be extended). <aim> does only tell how
372
many elements from <completions> you want to add. A partial difference
373
set is only be extended, if there are enough admissible elements in
374
<completions>, so if for some $S\in<startsets>$, we have less than
375
$<aim>-`Size'(S)$ elements in <completions> which can be added to $S$,
376
no extension of $S$ is returned.
377
378
If <lambda> is not passed as a parameter, it is assumed to be $1$.
379
380
Note that `ExtendedStartsets' does use "RemainingCompletions" while
381
`ExtendedStartsetsNoSort' uses "RemainingCompletionsNoSort".
382
Note that the partial difference sets generated with `ExtendedStartsetsNoSort'
383
are *not* sets (i.e. not sorted). This may result in doing work
384
twice. But it can also be useful, especially when generating difference sets
385
``coset by coset''.
386
387
388
389
\beginexample
390
gap> G:=CyclicGroup(7);;dat:=PermutationRepForDiffsetCalculations(G);;
391
gap> startsets:=[[2],[4],[6]];;
392
gap> ExtendedStartsets(startsets,[1..7],dat);
393
[ [ 2, 4 ], [ 2, 6 ] ]
394
gap> ExtendedStartsets(startsets,[1..7],3,dat);
395
[ [ 2, 4 ] ]
396
gap> ExtendedStartsets(startsets,[1..7],dat,2);
397
[ [ 2, 3 ], [ 2, 4 ], [ 2, 5 ], [ 2, 6 ], [ 4, 6 ], [ 4, 7 ], [ 6, 7 ] ]
398
gap> ExtendedStartsetsNoSort(startsets,[1..7],dat);
399
[ [ 2, 4 ], [ 2, 6 ], [ 4, 2 ], [ 4, 3 ], [ 6, 2 ], [ 6, 5 ] ]
400
\endexample
401
402
%%%%%%%%%%%%%%%%%%%%
403
\Section{Brute force methods}
404
405
The following methods can be used to find (partial) difference sets by
406
brute force. More examples are contained in chapter "RDS:AllDiffsets and OneDiffset"
407
408
\>AllDiffsets( [<partial>], <group>, [<lambda>] ) O
409
\>AllDiffsets( <partial>, [<aim>], <forbidden>, <group>, [<lambda>] ) O
410
\>AllDiffsets( [<partial>], <Gdata>, [<lambda>] ) O
411
\>AllDiffsets( <partial>, [<aim>], <forbidden>, <Gdata>, [<lambda>] ) O
412
\>AllDiffsets( <partial>, <completions>, <aim>, <forbidden>, <Gdata>, <lambda> ) O
413
414
Let <partial> be a list of elements of the group <group> which form a
415
partial relative difference set with parameter <lambda> and forbidden
416
set <forbidden> (which is also a set of group elements). That means that
417
the every non-trivial element in the list of quotients in elements of
418
<partial> occurs at most <lambda> times and no element of <forbidden>
419
is in this set.
420
Then `AllDiffsets' returns the list of all partial relative difference
421
sets of length <aim> with parameter <lambda> and forbidden set <forbidden>
422
which contain <partial>. Only those partial relative difference sets will
423
be constructed, which start with <partial> and continue with elements
424
larger than the last element in <partial>.
425
426
To calculate *all* difference sets which contain <partial> as a subset,
427
you can use "AllDiffsetsNoSort".
428
429
Note that a difference set is also assumed to
430
contain the identity element, but this does not occur in the returned
431
lists. So a returned difference set contains <aim> elements but actually
432
represents a set of length <aim>+1, as it still is a partial relative
433
difference set when the identity element is added.
434
If <partial> is not given or the empty set, all difference set in the
435
group <group> are calculated. If <lambda> is not given, it is set to 1.
436
Without <forbidden>, ordinary difference sets are calculated.
437
If <aim> is not given, it is set to the size of a full relative
438
difference set with forbidden set <forbidden> and parameter <lambda>.
439
440
Instead of using a group <group>, you can also use the data record
441
<Gdata> returned by "PermutationRepForDiffsetCalculations".
442
In this case, <partial> and <forbidden> must be lists of integers.
443
In the last form, <completions> must be a list of integers and
444
`AllDiffsets' does only extend <partial> by elements from <completions>.
445
446
447
\>AllDiffsetsNoSort( <partial>, <group> ) O
448
\>AllDiffsetsNoSort( <partial>, <Gdata> ) O
449
\>AllDiffsetsNoSort( <partial>, [<completions>], <aim>, [<forbidden>], <group>, [<lambda>] ) O
450
\>AllDiffsetsNoSort( <partial>, [<completions>], <aim>, [<forbidden>], <Gdata>, [<lambda>] ) O
451
452
This calculates all partial relative difference sets which contain the partial
453
relative difference set <partial>. The returned value is a set of lists.
454
Each of the returned lists starts with the list <partial>.
455
If <partial> is not a partial relative difference set, the empty list is
456
returned.
457
458
Note that despite the name, `AllDiffsetsNoSort' does not calculate all
459
difference sets as unordered lists. It just calculates all difference
460
sets which contain <partial> as a subset.
461
462
As it does not only append larger elements to <partial>, `AllDiffsetsNoSort'
463
works for all groups.
464
465
466
467
If called with <group> rather than <Gdata>, "AllDiffsets" and
468
"AllDiffsetsNoSort" call "PermutationRepForDiffsetCalculations". They
469
then work with sets of integers as difference sets and convert the
470
result back into group notation.
471
472
As "PermutationRepForDiffsetCalculations" refuses to work if the
473
smallest element of the group is not 1, this does not always work. So
474
a permutation representation for <group> is calculated in this
475
case. However, this is only done for the `NoSort' version and if
476
<partial> is empty. Here is an example:
477
478
\beginexample
479
gap> m:=[
480
> [0,1,0,0,0,0,0],
481
> [0,0,1,0,0,0,0],
482
> [0,0,0,1,0,0,0],
483
> [0,0,0,0,1,0,0],
484
> [0,0,0,0,0,1,0],
485
> [0,0,0,0,0,0,1],
486
> [1,0,0,0,0,0,0]];;
487
gap> G:=Group(m);
488
<matrix group with 1 generators>
489
gap> Order(G);
490
7
491
gap> Size(AllDiffsets(G));
492
6
493
gap> AllDiffsets([m],G);
494
Error, smallest element of group is not the identity.
495
[...]
496
gap> Size(AllDiffsetsNoSort([m],G));
497
2
498
\endexample
499
500
The reason for this is the fact that "AllDiffsets" generates
501
difference sets from <partial> by appending only elements which are
502
larger than the last element of <partial>. In a permutation
503
representation, the ordering will be different from the original one,
504
so {\GAP} refuses to calculate the permutation representation and issues
505
an error.
506
507
"AllDiffsetsNoSort" first appends one element regardless of ordering
508
and then only larger ones.
509
510
\>OneDiffset( [<partial>], <group>, [<lambda>] ) O
511
\>OneDiffset( <partial>, [<aim>], <forbidden>, <group>, [<lambda>] ) O
512
\>OneDiffset( [<partial>], <Gdata>, [<lambda>] ) O
513
\>OneDiffset( <partial>, [<aim>], <forbidden>, <Gdata>, [<lambda>] ) O
514
\>OneDiffset( <partial>, <completions>, <aim>, <forbidden>, <Gdata>, <lambda> ) O
515
516
This function works exactly like "AllDiffsets", but stops once a
517
(partial) relative difference set is found.
518
This (partial) relative difference set is then returned. If no set
519
with the requested property exists, the empty list is returned.
520
521
If `OneDiffset' is called using <Gdata> and lists of integers as
522
<partial> and <forbidden>, then the returned difference set is
523
the lexicographically smallest one starting with <partial>.
524
If the <group>-form is used and <partial> is not empty, `OneDiffset'
525
does only work, if the smallest element of <group> is the identity.
526
This is not the case for matrix groups in general.
527
528
529
\>OneDiffsetNoSort( <partial>, <group> ) O
530
\>OneDiffsetNoSort( <partial>, <Gdata> ) O
531
\>OneDiffsetNoSort( <partial>, [<completions>], <aim>, [<forbidden>], <group>, [<lambda>] ) O
532
\>OneDiffsetNoSort( <partial>, [<completions>], <aim>, [<forbidden>], <Gdata>, [<lambda>] ) O
533
534
This works exactly as "AllDiffsetsNoSort" does, but stops once a set
535
with the desired properties is found and returns it.
536
If no difference set exists, the empty list is returned.
537
538
539
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
540
%%
541
%E END startsets.msk
542
%%
543
544