File: groups.xml

package info (click to toggle)
gap 4.15.1-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 110,212 kB
  • sloc: ansic: 97,261; xml: 48,343; cpp: 13,946; sh: 4,900; perl: 1,650; javascript: 255; makefile: 252; ruby: 9
file content (634 lines) | stat: -rw-r--r-- 21,277 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- %% -->
<!-- %A  groups.xml                  GAP documentation            Alexander Hulpke -->
<!-- %% -->
<!-- %% -->
<!-- %Y  (C) 1998 School Math and Comp. Sci., University of St  Andrews, Scotland -->
<!-- %Y  Copyright (C) 2002 The GAP Group -->
<!-- %% -->
<Chapter Label="Groups">
<Heading>Groups</Heading>

This chapter explains how to create groups and defines operations for
groups, that is operations whose definition does not depend on the
representation used.
However methods for these operations in most cases will make use of the
representation.
<P/>
If not otherwise specified, in all examples in this chapter the group <C>g</C>
will be the symmetric group <M>S_4</M> acting on the letters
<M>\{ 1, \ldots, 4 \}</M>.


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Group Elements">
<Heading>Group Elements</Heading>

Groups in &GAP; are written multiplicatively.
The elements from which a group can be generated must permit
multiplication and multiplicative inversion
(see&nbsp;<Ref Sect="Useful Categories of Elements"/>).
<P/>
<Example><![CDATA[
gap> a:=(1,2,3);;b:=(2,3,4);;
gap> One(a);
()
gap> Inverse(b);
(2,4,3)
gap> a*b;
(1,3)(2,4)
gap> Order(a*b);
2
gap> Order( [ [ 1, 1 ], [ 0, 1 ] ] );
infinity
]]></Example>
<P/>
The next example may run into an infinite loop
because the given matrix in fact has infinite order.
<P/>
<Log><![CDATA[
gap> Order( [ [ 1, 1 ], [ 0, 1 ] ] * Indeterminate( Rationals ) );
#I  Order: warning, order of <mat> might be infinite
]]></Log>
<P/>
<Index Subkey="of a group">order</Index>
Since groups are domains, the recommended command to compute the order
of a group is <Ref Attr="Size"/>.
For convenience, group orders can also be computed with <Ref Attr="Order"/>.
<P/>
The operation <Ref Oper="Comm"/> can be used to compute the commutator of
two elements, the operation <Ref Oper="LeftQuotient"/> computes the
product <M>x^{{-1}} y</M>.

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Creating Groups">
<Heading>Creating Groups</Heading>

When groups are created from generators,
this means that the generators must be elements that can be multiplied
and inverted (see also&nbsp;<Ref Sect="Constructing Domains"/>).
For creating a free group on a set of symbols,
see&nbsp;<Ref Func="FreeGroup" Label="for given rank"/>.

<#Include Label="Group">
<#Include Label="GroupByGenerators">
<#Include Label="GroupWithGenerators">
<#Include Label="GeneratorsOfGroup">
<#Include Label="AsGroup">
<#Include Label="ConjugateGroup">
<#Include Label="IsGroup">
<#Include Label="InfoGroup">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Subgroups">
<Heading>Subgroups</Heading>

For the general concept of parents and subdomains,
see&nbsp;<Ref Sect="Parents"/> and&nbsp;<Ref Sect="Constructing Subdomains"/>.
More functions that construct certain subgroups can be found
in the sections&nbsp;<Ref Sect="Normal Structure"/>, <Ref Sect="Specific and Parametrized Subgroups"/>,
<Ref Sect="Sylow Subgroups and Hall Subgroups"/>,
and&nbsp;<Ref Sect="Subgroups characterized by prime powers"/>.
<P/>
<#Include Label="[2]{grp}">
<#Include Label="Subgroup">
<#Include Label="Index">
<#Include Label="IndexInWholeGroup">
<Example><![CDATA[
gap> freegp:=FreeGroup(1);;
gap> freesub:=Subgroup(freegp,[freegp.1^5]);;
gap> IndexInWholeGroup(freesub);
5
]]></Example>

<#Include Label="AsSubgroup">
<#Include Label="IsSubgroup">
<#Include Label="IsNormal">
<#Include Label="IsCharacteristicSubgroup">
<#Include Label="ConjugateSubgroup">
<#Include Label="ConjugateSubgroups">
<#Include Label="IsSubnormal">
<#Include Label="SubgroupByProperty">
<#Include Label="SubgroupShell">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Closures of (Sub)groups">
<Heading>Closures of (Sub)groups</Heading>

<#Include Label="ClosureGroup">
<#Include Label="ClosureGroupAddElm">
<#Include Label="ClosureGroupDefault">
<#Include Label="ClosureSubgroup">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Expressing Group Elements as Words in Generators">
<Heading>Expressing Group Elements as Words in Generators</Heading>

<Index>factorization</Index>
<Index Subkey="in generators">words</Index>

Using homomorphisms (see chapter&nbsp;<Ref Chap="Group Homomorphisms"/>) it is possible to
express group elements as words in given generators: Create a free group
(see&nbsp;<Ref Func="FreeGroup" Label="for given rank"/>)
on the correct number of generators and create a
homomorphism from this free group onto the group <A>G</A> in whose generators you
want to factorize. Then the preimage of an element of <A>G</A> is a word in the
free generators, that will map on this element again.
<P/>
<#Include Label="EpimorphismFromFreeGroup">
<!-- % randomization effect is now gone. -->
<#Include Label="Factorization">
<#Include Label="GrowthFunctionOfGroup">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Structure Descriptions">
<Heading>Structure Descriptions</Heading>

<#Include Label="StructureDescription">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Cosets">
<Heading>Cosets</Heading>

<Index>right cosets</Index>
<Index>coset</Index>
<#Include Label="RightCoset">
<#Include Label="RightCosets">
<#Include Label="CanonicalRightCosetElement">
<#Include Label="IsRightCoset">
<#Include Label="IsBiCoset">
<#Include Label="CosetDecomposition">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Transversals">
<Heading>Transversals</Heading>

<#Include Label="RightTransversal">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Double Cosets">
<Heading>Double Cosets</Heading>

<#Include Label="DoubleCoset">
<#Include Label="RepresentativesContainedRightCosets">
<#Include Label="DoubleCosets">
<#Include Label="IsDoubleCoset">
<#Include Label="DoubleCosetRepsAndSizes">
<#Include Label="InfoCoset">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Conjugacy Classes">
<Heading>Conjugacy Classes</Heading>

<#Include Label="ConjugacyClass">
<#Include Label="ConjugacyClasses:grp">
<#Include Label="ConjugacyClassesByRandomSearch">
<#Include Label="ConjugacyClassesByOrbits">
<#Include Label="NrConjugacyClasses">
<#Include Label="RationalClass">
<#Include Label="RationalClasses">
<#Include Label="GaloisGroup:clas">
<#Include Label="IsConjugate">
<#Include Label="NthRootsInGroup">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Normal Structure">
<Heading>Normal Structure</Heading>

For the operations
<Ref Oper="Centralizer" Label="for a magma and a submagma"/> and
<Ref Attr="Centre"/>, see Chapter&nbsp;<Ref Chap="Magmas"/>.

<Index>normalizer</Index>
<#Include Label="Normalizer">
<#Include Label="Core">
<#Include Label="PCore">
<#Include Label="NormalClosure">
<#Include Label="NormalIntersection">
<#Include Label="ComplementClassesRepresentatives">
<#Include Label="InfoComplement">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Specific and Parametrized Subgroups">
<Heading>Specific and Parametrized Subgroups</Heading>

The centre of a group (the subgroup of those elements that commute with all
other elements of the group) can be computed by the operation
<Ref Attr="Centre"/>.

<#Include Label="TrivialSubgroup">
<#Include Label="CommutatorSubgroup">
<#Include Label="DerivedSubgroup">
<#Include Label="CommutatorLength">
<#Include Label="FittingSubgroup">
<#Include Label="FrattiniSubgroup">
<#Include Label="PrefrattiniSubgroup">
<#Include Label="PerfectResiduum">
<#Include Label="SolvableRadical">
<#Include Label="Socle">
<#Include Label="SupersolvableResiduum">
<#Include Label="PRump">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Sylow Subgroups and Hall Subgroups">
<Heading>Sylow Subgroups and Hall Subgroups</Heading>

With respect to the following &GAP; functions,
please note that by theorems of P.&nbsp;Hall,
a group <M>G</M> is solvable if and only if one of the following conditions holds.
<Enum>
<Item>
    For each prime <M>p</M> dividing the order of <M>G</M>,
    there exists a <M>p</M>-complement (see&nbsp;<Ref Oper="SylowComplement"/>).
</Item>
<Item>
    For each set <M>P</M> of primes dividing the order of <M>G</M>,
    there exists a <M>P</M>-Hall subgroup (see&nbsp;<Ref Oper="HallSubgroup"/>).
</Item>
<Item>
    <M>G</M> has a Sylow system (see&nbsp;<Ref Attr="SylowSystem"/>).
</Item>
<Item>
    <M>G</M> has a complement system (see&nbsp;<Ref Attr="ComplementSystem"/>).
</Item>
</Enum>

<#Include Label="SylowSubgroup">
<#Include Label="SylowComplement">
<#Include Label="HallSubgroup">
<#Include Label="SylowSystem">
<#Include Label="ComplementSystem">
<#Include Label="HallSystem">

<!-- %%  The methods for Sylow subgroups in polycyclic groups and for Hall -->
<!-- %%  Systems are due to Bettina Eick. -->

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Subgroups characterized by prime powers">
<Heading>Subgroups characterized by prime powers</Heading>

<#Include Label="Omega">
<#Include Label="Agemo">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Group Properties">
<Heading>Group Properties</Heading>

Some properties of groups can be defined not only for groups but also for
other structures.
For example, nilpotency and solvability make sense also for algebras.
Note that these names refer to different definitions for groups and
algebras, contrary to the situation with finiteness or commutativity.
In such cases, the name of the function for groups got a suffix <C>Group</C>
to distinguish different meanings for different structures.
<P/>
Some functions, such as <Ref Oper="IsPSolvable"/> and
<Ref Oper="IsPNilpotent"/>, although they are mathematical
properties, are not properties in the sense of &GAP;
(see&nbsp;<Ref Sect="Attributes"/> and <Ref Sect="Properties"/>),
as they depend on a parameter.

<#Include Label="IsCyclic">
<#Include Label="IsElementaryAbelian">
<#Include Label="IsNilpotentGroup">
<#Include Label="NilpotencyClassOfGroup">
<#Include Label="IsPerfectGroup">
<#Include Label="IsSolvableGroup">
<#Include Label="IsPolycyclicGroup">
<#Include Label="IsSupersolvableGroup">
<#Include Label="IsMonomialGroup">
<#Include Label="IsSimpleGroup">
<#Include Label="IsAlmostSimpleGroup">
<#Include Label="IsQuasisimpleGroup">
<#Include Label="IsomorphismTypeInfoFiniteSimpleGroup">
<#Include Label="SimpleGroup">
<#Include Label="SimpleGroupsIterator">
<#Include Label="SmallSimpleGroup">
<#Include Label="AllSmallNonabelianSimpleGroups">
<#Include Label="IsFinitelyGeneratedGroup">
<#Include Label="IsSubsetLocallyFiniteGroup">
<#Include Label="IsPGroup">
<#Include Label="IsPowerfulPGroup">
<#Include Label="IsRegularPGroup">
<#Include Label="PrimePGroup">
<#Include Label="PClassPGroup">
<#Include Label="RankPGroup">
<#Include Label="IsPSolvable">
<#Include Label="IsPNilpotent">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Numerical Group Attributes">
<Heading>Numerical Group Attributes</Heading>

This section gives only some examples of numerical group attributes, so
it should not serve as a collection of all numerical group attributes.
The manual contains more such attributes documented in this manual, for
example, <Ref Attr="NrConjugacyClasses"/>,
<Ref Attr="NilpotencyClassOfGroup"/> and others.
<P/>
Note also that some functions, such as <Ref Oper="EulerianFunction"/>,
are mathematical attributes, but not &GAP; attributes
(see <Ref Sect="Attributes"/>) as they are depending on a parameter.

<#Include Label="AbelianInvariants:grp">
<#Include Label="Exponent">
<#Include Label="EulerianFunction">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Subgroup Series">
<Heading>Subgroup Series</Heading>

In group theory many subgroup series are considered,
and &GAP; provides commands to compute them.
In the following sections, there is always a series
<M>G = U_1 > U_2 > \cdots > U_m = \langle 1 \rangle</M> of subgroups considered.
A series also may stop without reaching <M>G</M> or <M>\langle 1 \rangle</M>.
<P/>
A series is called <E>subnormal</E> if every <M>U_{{i+1}}</M> is normal in
<M>U_i</M>.
<P/>
A series is called <E>normal</E> if every <M>U_i</M> is normal in <M>G</M>.
<P/>
A series of normal subgroups is called <E>central</E> if <M>U_i/U_{{i+1}}</M>
is central in <M>G / U_{{i+1}}</M>.
<P/>
We call a series <E>refinable</E> if intermediate subgroups can be added to
the series without destroying the properties of the series.
<P/>
<#Include Label="[1]{grp}">
<#Include Label="ChiefSeries">
<#Include Label="ChiefSeriesThrough">
<#Include Label="ChiefSeriesUnderAction">
<#Include Label="SubnormalSeries">
<#Include Label="CompositionSeries">
<#Include Label="DisplayCompositionSeries">
<#Include Label="DerivedSeriesOfGroup">
<#Include Label="DerivedLength">
<#Include Label="ElementaryAbelianSeries">
<#Include Label="InvariantElementaryAbelianSeries">
<#Include Label="LowerCentralSeriesOfGroup">
<#Include Label="UpperCentralSeriesOfGroup">
<#Include Label="PCentralSeries">
<#Include Label="JenningsSeries">
<#Include Label="DimensionsLoewyFactors">
<#Include Label="AscendingChain">
<#Include Label="IntermediateGroup">
<#Include Label="IntermediateSubgroups">
<#Include Label="StructuralSeriesOfGroup">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Factor Groups">
<Heading>Factor Groups</Heading>

<#Include Label="NaturalHomomorphismByNormalSubgroup">
<#Include Label="FactorGroup">
<#Include Label="CommutatorFactorGroup">
<#Include Label="MaximalAbelianQuotient">
<#Include Label="HasAbelianFactorGroup">
<#Include Label="HasElementaryAbelianFactorGroup">
<#Include Label="CentralizerModulo">

<!-- %%  The code for factor groups is due to Alexander Hulpke and Heiko Theißen. -->

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Sets of Subgroups">
<Heading>Sets of Subgroups</Heading>

<#Include Label="ConjugacyClassSubgroups">
<#Include Label="IsConjugacyClassSubgroupsRep">
<#Include Label="ConjugacyClassesSubgroups">
<#Include Label="ConjugacyClassesMaximalSubgroups">
<#Include Label="MaximalSubgroupClassReps">
<#Include Label="LowIndexSubgroups">
<#Include Label="AllSubgroups">
<#Include Label="MaximalSubgroups">
<#Include Label="NormalSubgroups">
<#Include Label="MaximalNormalSubgroups">
<#Include Label="MinimalNormalSubgroups">
<#Include Label="CharacteristicSubgroups">

<!-- %%  Bettina Eick designed and wrote the code for maximal subgroups of a solvable -->
<!-- %%  group. The code for normal subgroups <Cite Key="Hulpke98"/> and for subgroups of a -->
<!-- %%  solvable group is due to Alexander Hulpke. -->

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Subgroup Lattice">
<Heading>Subgroup Lattice</Heading>

<#Include Label="LatticeSubgroups">
<#Include Label="ClassElementLattice">
<#Include Label="DotFileLatticeSubgroups">
<#Include Label="MaximalSubgroupsLattice">
<#Include Label="MinimalSupergroupsLattice">
<#Include Label="LowLayerSubgroups">
<#Include Label="ContainedConjugates">
<#Include Label="ContainingConjugates">
<#Include Label="MinimalFaithfulPermutationDegree">
<#Include Label="RepresentativesPerfectSubgroups">
<#Include Label="ConjugacyClassesPerfectSubgroups">
<#Include Label="Zuppos">
<#Include Label="InfoLattice">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Specific Methods for Subgroup Lattice Computations">
<Heading>Specific Methods for Subgroup Lattice Computations</Heading>

<#Include Label="LatticeByCyclicExtension">
<#Include Label="InvariantSubgroupsElementaryAbelianGroup">
<#Include Label="SubgroupsSolvableGroup">
<#Include Label="SizeConsiderFunction">
<#Include Label="ExactSizeConsiderFunction">
<#Include Label="InfoPcSubgroup">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Special Generating Sets">
<Heading>Special Generating Sets</Heading>

<#Include Label="GeneratorsSmallest">
<#Include Label="LargestElementGroup">
<#Include Label="MinimalGeneratingSet">
<#Include Label="SmallGeneratingSet">
<#Include Label="IndependentGeneratorsOfAbelianGroup">
<#Include Label="IndependentGeneratorExponents">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="1-Cohomology">
<Heading>1-Cohomology</Heading>

<Index>one cohomology</Index>
<Index>cohomology</Index>
<Index>cocycles</Index>

Let <M>G</M> be a finite group and  <M>M</M> an elementary abelian normal <M>p</M>-subgroup
of <M>G</M>.  Then the group  of 1-cocycles <M>Z^1(  G/M, M  )</M> is
defined as
<Display Mode="M">
Z^1(G/M, M) = \{ \gamma: G/M \rightarrow M \mid \forall g_1, g_2 \in G :
                                 \gamma(g_1 M \cdot g_2 M )
                                   = \gamma(g_1 M)^{{g_2}} \cdot \gamma(g_2 M) \}
</Display>
and is a <M>GF(p)</M>-vector space.
<P/>
The group of 1-coboundaries <M>B^1( G/M, M )</M> is defined as
<Display Mode="M">
B^1(G/M, M) = \{ \gamma : G/M \rightarrow M \mid \exists m \in M
                                 \forall g \in G :
                                  \gamma(gM) = (m^{{-1}})^g \cdot m \}
</Display>
It also is a <M>GF(p)</M>-vector space.
<P/>
Let <M>\alpha</M> be the isomorphism of <M>M</M> into a row vector space
<M>{\cal W}</M> and <M>(g_1, \ldots, g_l)</M> representatives for a
generating set of <M>G/M</M>.
Then there exists a monomorphism <M>\beta</M> of <M>Z^1( G/M, M )</M> in the
<M>l</M>-fold direct sum of <M>{\cal W}</M>,
such that
<M>\beta( \gamma ) = ( \alpha( \gamma(g_1 M) ),\ldots, \alpha( \gamma(g_l M) ) )</M>
for every <M>\gamma \in Z^1( G/M, M )</M>.

<#Include Label="OneCocycles">
<#Include Label="OneCoboundaries">
<#Include Label="OCOneCocycles">
<#Include Label="ComplementClassesRepresentativesEA">
<#Include Label="InfoCoh">

<!-- %%  The computation of the 1-Cohomology follows <Cite Key="CNW90"/> and was implemented -->
<!-- %%  by Frank Celler and Alexander Hulpke. -->
<!-- % </Section>
<Section Label="AutomorphisGroups and Testing Isomorphism">
<Heading>AutomorphisGroups and Testing Isomorphism</Heading> -->
<!-- %T Is dealt with in section on group homomorphisms! -->

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Schur Covers and Multipliers">
<Heading>Schur Covers and Multipliers</Heading>

Additional attributes and properties of a group can be derived
from computing its Schur cover.
For example, if <M>G</M> is a finitely presented group, the
derived subgroup of a Schur cover of <M>G</M> is invariant and isomorphic to
the <Ref Oper="NonabelianExteriorSquare"/> value of <M>G</M>,
see <Cite Key="BJR87"/>.

<Index Subkey="see EpimorphismSchurCover">Darstellungsgruppe</Index>
<#Include Label="EpimorphismSchurCover">
<#Include Label="SchurCover">
<#Include Label="AbelianInvariantsMultiplier">
<#Include Label="Epicentre">
<#Include Label="NonabelianExteriorSquare">
<#Include Label="EpimorphismNonabelianExteriorSquare">
<#Include Label="IsCentralFactor">
<#Include Label="{SchurCoversOfSymmetricGroup}">

</Section>

<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="2-Cohomology">
<Heading>2-Cohomology</Heading>

<#Include Label="TwoCohomologyGeneric">
<#Include Label="FpGroupCocycle">

Also see Section <Ref Sect="2-Cohomology and Extensions"/> for operations and
methods specific for Pc groups.

</Section>

<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Tests for the Availability of Methods">
<Heading>Tests for the Availability of Methods</Heading>

<#Include Label="[3]{grp}">
<#Include Label="CanEasilyTestMembership">
<#Include Label="CanEasilyComputeWithIndependentGensAbelianGroup">
<#Include Label="CanComputeSize">
<#Include Label="CanComputeSizeAnySubgroup">
<#Include Label="CanComputeIndex">
<#Include Label="CanComputeIsSubset">
<#Include Label="KnowsHowToDecompose">

</Section>

<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Specific functions for Normalizer calculation">
<Heading>Specific functions for Normalizer calculation</Heading>

<#Include Label="NormalizerViaRadical">

</Section>
</Chapter>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- %% -->
<!-- %E -->