GroupTheory - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Group Theory

 

Maple 17 introduces a new package for working with groups, especially finite groups represented as groups of permutations.

 

restart:

withGroupTheory;

<|>&comma;AllSmallGroups&comma;AllTransitiveGroups&comma;Alt&comma;AlternatingGroup&comma;AreConjugate&comma;AreIsomorphic&comma;BabyMonster&comma;CayleyTable&comma;CayleyTableGroup&comma;Center&comma;Centraliser&comma;Centralizer&comma;Centre&comma;ConjugacyClass&comma;ConjugacyClasses&comma;Conjugator&comma;ConwayGroup&comma;Core&comma;CustomGroup&comma;CyclicGroup&comma;Degree&comma;DerivedLength&comma;DerivedSeries&comma;DerivedSubgroup&comma;DicyclicGroup&comma;DihedralGroup&comma;DirectProduct&comma;DirectProductImplementation&comma;DrawCayleyTable&comma;DrawSubgroupLattice&comma;ElementaryGroup&comma;Elements&comma;Embedding&comma;ExceptionalGroup&comma;FPGroup&comma;Factor&comma;FischerGroup&comma;FittingSubgroup&comma;FrattiniSubgroup&comma;GL&comma;GaloisGroup&comma;GeneralLinearGroup&comma;GeneralOrthogonalGroup&comma;GeneralUnitaryGroup&comma;Generators&comma;Group&comma;GroupOrder&comma;HaradaNortonGroup&comma;HeldGroup&comma;HigmanSimsGroup&comma;Hypercentre&comma;IdentifySmallGroup&comma;Index&comma;Intersection&comma;IsAbelian&comma;IsAlternating&comma;IsCommutative&comma;IsElementary&comma;IsFinite&comma;IsNilpotent&comma;IsNormal&comma;IsPerfect&comma;IsPrimitive&comma;IsRegular&comma;IsSimple&comma;IsSoluble&comma;IsSolvable&comma;IsSubgroup&comma;IsSymmetric&comma;IsTransitive&comma;JankoGroup&comma;Labels&comma;LeftCoset&comma;LeftCosets&comma;LowerCentralSeries&comma;LyonsGroup&comma;MathieuGroup&comma;McLaughlinGroup&comma;MetacyclicGroup&comma;Monster&comma;NilpotencyClass&comma;NilpotentResidual&comma;NonRedundantGenerators&comma;NormalClosure&comma;Normaliser&comma;NormaliserSubgroup&comma;NormalizerSubgroup&comma;NumGroups&comma;NumTransitiveGroups&comma;ONanGroup&comma;Operations&comma;Orbit&comma;Orbits&comma;OrthogonalGroup&comma;PCore&comma;PGL&comma;PGU&comma;PSL&comma;PSU&comma;PSp&comma;PermApply&comma;PermCommutator&comma;PermConjugate&comma;PermCycleType&comma;PermDegree&comma;PermFixed&comma;PermInverse&comma;PermLeftQuotient&comma;PermOrder&comma;PermParity&comma;PermPower&comma;PermProduct&comma;PermRightQuotient&comma;PermSupport&comma;PermutationGroup&comma;ProjectiveGeneralLinearGroup&comma;ProjectiveGeneralUnitaryGroup&comma;ProjectiveSpecialLinearGroup&comma;ProjectiveSpecialUnitaryGroup&comma;ProjectiveSymplecticGroup&comma;QuaternionGroup&comma;RandomElement&comma;Relators&comma;RightCoset&comma;RightCosets&comma;RubiksCubeGroup&comma;RudvalisGroup&comma;SL&comma;SmallGroup&comma;SolubleResidual&comma;SolvableResidual&comma;SpecialLinearGroup&comma;SpecialOrthogonalGroup&comma;SpecialUnitaryGroup&comma;Stabiliser&comma;Stabilizer&comma;Subgroup&comma;SubgroupLattice&comma;SubgroupMembership&comma;Supergroup&comma;SuzukiGroup&comma;SylowSubgroup&comma;Symm&comma;SymmetricGroup&comma;SymplecticGroup&comma;ThompsonGroup&comma;TitsGroup&comma;TransitiveGroup&comma;TrivialGroup&comma;UpperCentralSeries

(1)

 

Permutations

Permutation Groups

CayleyTable Groups

Finitely Presented Groups

Symbolic Groups

Group Constructors

Visualizations

Group Properties

Interesting Subgroups

Isomorphism Testing and Group Identification

See Also

Permutations

Permutations are created by using the Perm constructor.  Arithmetic with permutations is effected by non-commutative multiplication (.) and exponentiation (^), with a permutation understood as conjugation, or otherwise, a power.

a:=Perm1&comma;2&semi;

a:=1&comma;2

(1.1)

bPerm1&comma;3&comma;5&comma;2&comma;4

b:=1&comma;3&comma;52&comma;4

(1.2)

PermProducta&comma;b&equals;a&period;b

1&comma;4&comma;2&comma;3&comma;5&equals;1&comma;4&comma;2&comma;3&comma;5

(1.3)

PermConjugatea&comma;b&equals;ab

3&comma;4&equals;3&comma;4

(1.4)

PermInversea&equals;a1

1&comma;2&equals;1&comma;2

(1.5)

PermCommutatora&comma;b&equals;a1&period;b1&period;a&period;b

1&comma;23&comma;4&equals;1&comma;23&comma;4

(1.6)

Permutation Groups

A focus for this release has been permutation groups: groups generated by a finite set of permutations on a finite set, which is taken to be the set {1,2,...,n}, for some positive integer n.  In addition to abstract group-theoretic properties and computations applicable to any (finite) group, a selection of computations specific to permutation groups is included.

G:=GroupPerm1&comma;2&comma;3&comma;4&comma;Perm1&comma;2&comma;3&comma;4

G:=1&comma;23&comma;4&comma;1&comma;2&comma;3&comma;4

(2.1)

GroupOrderG

8

(2.2)

IsTransitiveG

true

(2.3)

IsPrimitiveG

false

(2.4)

IsRegularG

false

(2.5)

IsNilpotentG

true

(2.6)

G:=PSL3&comma;3

G:=PSL3&comma;3

(2.7)

GroupOrderG

5616

(2.8)

GeneratorsG

5&comma;8&comma;116&comma;9&comma;127&comma;10&comma;13&comma;1&comma;2&comma;53&comma;8&comma;74&comma;11&comma;69&comma;10&comma;13

(2.9)

IsPrimitiveG

true

(2.10)

G:=RubiksCubeGroup&colon;

IsTransitiveG

false

(2.11)

O1:=Orbit1&comma;G

O1:=16&comma;25&comma;43&comma;167&comma;28&comma;42&comma;138&comma;30&comma;41&comma;1117&comma;19&comma;24&comma;2218&comma;21&comma;23&comma;20&comma;1&comma;14&comma;48&comma;272&comma;12&comma;47&comma;293&comma;9&comma;46&comma;3233&comma;35&comma;40&comma;3834&comma;37&comma;39&comma;36&comma;1&comma;17&comma;41&comma;404&comma;20&comma;44&comma;376&comma;22&comma;46&comma;359&comma;11&comma;16&comma;1410&comma;13&comma;15&comma;12&comma;3&comma;38&comma;43&comma;195&comma;36&comma;45&comma;218&comma;33&comma;48&comma;2425&comma;27&comma;32&comma;3026&comma;29&comma;31&comma;28&comma;1&comma;3&comma;8&comma;62&comma;5&comma;7&comma;49&comma;33&comma;25&comma;1710&comma;34&comma;26&comma;1811&comma;35&comma;27&comma;19&comma;14&comma;22&comma;30&comma;3815&comma;23&comma;31&comma;3916&comma;24&comma;32&comma;4041&comma;43&comma;48&comma;4642&comma;45&comma;47&comma;44

(2.12)

ElementsO1

1&comma;3&comma;6&comma;8&comma;9&comma;11&comma;14&comma;16&comma;17&comma;19&comma;22&comma;24&comma;25&comma;27&comma;30&comma;32&comma;33&comma;35&comma;38&comma;40&comma;41&comma;43&comma;46&comma;48

(2.13)

CayleyTable Groups

A group may be defined by its Cayley table, the operation table of the group.  Cayley tables are specified as integer arrays or matrices.

 

ct:=1&verbar;2&verbar;3&comma;2&verbar;3&verbar;1&comma;3&verbar;1&verbar;2

G:=Groupct

G:= < a Cayley table group with 3 elements >

(3.1)

IsAbelianG

true

(3.2)

Finitely Presented Groups

You can define a group by specifying a set of generators and defining relations.

For example, here is a definition of the alternating group of degree 5:

G:=x&comma;y&verbar;x2&equals;1&comma;y3&equals;1&comma;x&period;y5&equals;1

G:=x&comma;yx2&comma;y3&comma;xyxyxyxyxy

(4.1)

We can verify the order of the group directly.

GroupOrderG

60

(4.2)

To check simplicity, we first convert the finitely presented group to a permutation group, and then use the IsSimple command.

IsSimplePermutationGroupG

true

(4.3)

Symbolic Groups

Symbolic groups are used to represent groups that depend on zero or more "parameters" (usually integers).  They are used, for example, to represent some of the larger sporadic finite simple groups (such as the Monster and the Harada-Norton simple group) that are too large to support practical computation with group elements.  Additionally, some constructors can take symbolic expressions for parameters and return a symbolic representation of the constructed group.

Monster

𝕄

(5.1)

GroupOrderMonster

808017424794512875886459904961710757005754368000000000

(5.2)

IsSimpleMonster

true

(5.3)

G:=GeneralLinearGroup3&comma;q

G:=GL3&comma;q

(5.4)

GroupOrderG

q31q3qq3q2

(5.5)

IsSimpleAltnassuming5<n

true

(5.6)

Group Constructors

Many groups can be created directly and conveniently by using purpose-built constructors provided by the GroupTheory package:

Symm4

S4

(6.1)

Alt6

A6

(6.2)

DihedralGroup14

D14

(6.3)

PSL3&comma;4

PSL3&comma;4

(6.4)

GL2&comma;2

GL2&comma;2

(6.5)

Visualizations

It is useful to be able to visualize a group by examining its subgroup lattice graphically:

DrawSubgroupLatticeQuaternionGroup

G:=SmallGroup24&comma;7&colon;

DrawSubgroupLatticeG&comma;derived&comma;labels&equals;none

DrawCayleyTableSymm3

Group Properties

Support for testing a variety of group properties is included in the GroupTheory package.

G:=Symm3

G:=S3

(8.1)

IsAbelianG

false

(8.2)

IsNilpotentG

false

(8.3)

IsSolubleG

true

(8.4)

IsSimpleG

false

(8.5)

Interesting Subgroups

A number of standard subgroups can be constructed with the GroupTheory package.

G:=DihedralGroup8

G:=D8

(9.1)

Z:=CentreG

Z:=ZD8

(9.2)

GroupOrderZ

2

(9.3)

C:=DerivedSubgroupG

C:=D8&comma;D8

(9.4)

GroupOrderC

4

(9.5)

P:=PCore2&comma;MetacyclicGroup3&comma;2&comma;2

P:=O21&comma;3&comma;42&comma;5&comma;6&comma;1&comma;23&comma;54&comma;6

(9.6)

LowerCentralSeriesP

O21&comma;3&comma;42&comma;5&comma;6&comma;1&comma;23&comma;54&comma;6

(9.7)

R:=SolubleResidualSymm6

R:=1&comma;3&comma;2&comma;2&comma;4&comma;3&comma;3&comma;5&comma;4&comma;4&comma;6&comma;5

(9.8)

IsPerfectR

true

(9.9)

Isomorphism Testing and Group Identification

The GroupTheory package includes an isomorphism test for finite groups given by their Cayley tables.  Operation of the command is extended to other finite groups by computing their Cayley tables, which is done automatically.  The package also includes a database of all the finite groups of order not exceeding 200.   Together, this allows any finite group with at most 200 elements to be identified unambiguously in a standard way.

 

We can verify the commutativity, up to isomorphism, of the direct product construction by using the AreIsomorphic command.

G:=DirectProductAlt4&comma;DihedralGroup6

G:=A4×D6

(10.1)

H:=DirectProductDihedralGroup6&comma;Alt4

H:=D6×A4

(10.2)

AreIsomorphicG&comma;H

true

(10.3)

IdentifySmallGroupG

144&comma;190

(10.4)

See Also

Group Theory Package