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

Online Help

All Products    Maple    MapleSim


Overview of the GroupTheory Package

 

Calling Sequence

Description

List of GroupTheory Package Commands

Group Constructors Palette

Context-Sensitive Operations

Examples

Compatibility

Calling Sequence

GroupTheory:-command( arguments )

command( arguments )

Description

• 

The GroupTheory package provides a collection of commands for computing with, and visualizing, finitely generated (especially finite) groups. There are several classes of groups that are implemented.

permutation groups

groups given by a set of generating permutations

finitely presented groups

groups given by generators and defining relations

Cayley table groups

groups whose binary operation is specified by a Cayley table

custom groups

"black-box" user-defined groups whose elements are of an unspecified nature

symbolic groups

abstract groups depending on symbolic parameters

• 

The package contains a variety of constructors that allow you to easily create groups in common families.  Furthermore, several databases of groups exist in the package, and interfaces to these databases are provided.

Tutorials

WorkingWithFPGroups

Working with Finitely Presented Groups

WorkingWithPermutations

Working with Permutations

WorkingWithSymbolicGroups

Working with Symbolic Groups

List of GroupTheory Package Commands

• 

The following is a list of the commands in the GroupTheory package.

Constructors

AbelianGroup

construct a finitely generated Abelian group

AffineGeneralLinearGroup

construct the affine general linear group over a finite field

AffineSpecialLinearGroup

construct the affine special linear group over a finite field

AGL

construct the affine general linear group over a finite field

AllAbelianGroups

return all the Abelian groups of a given order

AlternatingGroup

construct the alternating group of a given order

ASL

construct the affine special linear group over a finite field

BabyMonster

construct the Baby Monster sporadic finite simple group

CayleyTableGroup

construct a Cayley table group

ChevalleyE6

construct a Chevalley group of type E6

ChevalleyE7

construct a Chevalley group of type E7

ChevalleyE8

construct a Chevalley group of type E8

ChevalleyF4

construct a Chevalley group of type F4

ChevalleyG2

construct a Chevalley group of type G2

ConwayGroup

construct a Conway sporadic simple group

CustomGroup

construct a custom group, given its operations

CyclicGroup

construct a cyclic group of a given order

DicyclicGroup

construct a dicyclic group

DihedralGroup

construct the dihedral group of a given degree

DirectProduct

construct a direct product of groups

ElementaryGroup

construct an elementary Abelian group

ExceptionalGroup

construct one of the exceptional finite simple groups

FischerGroup

construct one of the Fischer groups

FPGroup

construct a finitely presented group from generators and defining relators

FreeGroup

construct a free group

FrobeniusGroup

construct a Frobenius group from the database

GaloisGroup

construct the Galois group of a polynomial

GammaL

construct the general semi-linear group over a finite field

GeneralLinearGroup

construct the general linear group over a finite field

GeneralOrthogonalGroup

construct the general orthogonal group over a finite field

GeneralSemilinearGroup

construct the general semi-linear group over a finite field

GeneralUnitaryGroup

construct a general unitary group over a finite field

GL

construct the general linear group over a finite field

Group

construct a group from various data

HamiltonianGroup

construct a finite Hamiltonian group

HaradaNortonGroup

construct the Harada-Norton simple group

HeldGroup

construct the Held simple group

HigmanSimsGroup

construct the Higman-Sims simple group

JankoGroup

construct one of the Janko sporadic finite simple groups

LyonsGroup

construct the Lyons simple group

MathieuGroup

construct one of the Mathieu finite simple groups

McLaughlinGroup

construct the McLaughlin simple group

MetacyclicGroup

construct a metacyclic group

Monster

construct the Monster simple group

ONanGroup

construct the O'Nan simple group

Orbit

construct the orbit of an element under a permutation group

OrthogonalGroup

construct an orthogonal group

PerfectGroup

construct a perfect group from the database

Perm

create a permutation

PermutationGroup

construct a permutation group given generating permutations

PGammaL

construct the general semi-linear group over a finite field

PGL

construct a projective linear group over a finite field

PGO

construct the projective general orthogonal group over a finite field

PGU

construct a projective general unitary group over a finite field

ProjectiveGeneralLinearGroup

construct a projective general linear group over a finite field

ProjectiveGeneralOrthogonalGroup

construct the projective general orthogonal group over a finite field

ProjectiveGeneralSemilinearGroup

construct the general semi-linear group over a finite field

ProjectiveGeneralUnitaryGroup

construct a projective general unitary group over a finite field

ProjectiveSpecialLinearGroup

construct a projective special linear group over a finite field

ProjectiveSpecialOrthogonalGroup

construct the projective special orthogonal group over a finite field

ProjectiveSpecialSemilinearGroup

construct the special semi-linear group over a finite field

ProjectiveSpecialUnitaryGroup

construct a projective special unitary group over a finite field

ProjectiveSymplecticGroup

construct a projective symplectic group over a finite field

ProjectiveSymplecticSemilinearGroup

construct the projective symplectic semi-linear group over a finite field

PSigmaL

construct the special semi-linear group over a finite field

PSigmap

construct the projective symplectic semi-linear group over a finite field

PSL

construct a projective special linear group over a finite field

PSO

construct the projective special orthogonal group over a finite field

PSp

construct a projective symplectic group over a finite field

PSU

construct a projective special unitary group over a finite field

QuasicyclicGroup

construct a quasicyclic p-group

QuasiDihedralGroup

construct a quasi-dihedral group

QuaternionGroup

construct a generalized quaternion group

Ree2F4

construct a large Ree group of Lie type

Ree2G2

construct a small Ree group of Lie type

RubiksCubeGroup

construct the group of the Rubik's Cube

RudvalisGroup

construct the Rudvalis simple group

SemiDihedralGroup

construct a semi-dihedral group

SigmaL

construct the special semi-linear group over a finite field

Sigmap

construct the symplectic semi-linear group over a finite field

SL

construct a special linear group over a finite field

SmallGroup

construct a specific group of small order

SpecialLinearGroup

construct a special linear group over a finite field

SpecialOrthogonalGroup

construct a special orthogonal group over a finite field

SpecialSemilinearGroup

construct the special semi-linear group over a finite field

SpecialUnitaryGroup

construct a special unitary group over a finite field

Stabilizer

compute the stabilizer of a point, list or set under a permutation group

Steinberg2E6

construct a Steinberg group of type 2E6

Steinberg3D4

construct a Steinberg group of type G2

Subgroup

construct a subgroup of a given group

Supergroup

construct a supergroup of a given group

Suzuki2B2

construct a Suzuki group of Lie type

SuzukiGroup

construct the Suzuki simple group

Symm

construct the symmetric group of a given degree

SymmetricGroup

construct the symmetric group of a given degree

SymplecticGroup

construct a symplectic group over a finite field

SymplecticSemilinearGroup

construct the symplectic semi-linear group over a finite field

ThompsonGroup

construct the Thompson simple group

TitsGroup

construct the Tits simple group

TransitiveGroup

construct a specific transitive permutation group

TrivialGroup

construct the trivial group

TrivialSubgroup

construct the trivial subgroup of a given group

WreathProduct

construct a wreath product of permutation groups

Subgroups

Center

compute the center of a group

Centraliser

compute the centraliser of an element of a group

Centralizer

compute the centralizer of an element of a group

Centre

compute the centre of a group

Commutator

compute the commutator of two subgroups

Core

compute the core of a subgroup of a group

Cosocle

compute the cosocle of a group

DerivedSubgroup

compute the derived (commutator) subgroup of a group

DirectFactors

compute the directly indecomposable direct factors of a finite group

FittingSubgroup

compute the Fitting subgroup of a group

FrattiniSubgroup

compute the Frattini subgroup of a group

FrobeniusComplement

compute a representative Frobenius complement of a Frobenius group

FrobeniusKernel

compute the Frobenius kernel of a Frobenius group

FrobeniusProduct

compute the product of two complexes in a finite group

HallSubgroup

compute a Hall pi-subgroup of a finite soluble group

HallSystem

compute a Hall system for a finite soluble group

Hypercenter

compute the hypercenter residual of a group

Index

compute the index of a subgroup of a group

Intersection

compute the intersection of two subgroups of a group

IsDirectlyIndecomposable

test whether a group is directly indecomposable

IsMalnormal

test whether a subgroup of a group is malnormal

IsNormal

test whether a subgroup of a group is normal

IsQuasinormal

test whether a subgroup of a group is quasi-normal

IsSubnormal

test whether a subgroup of a group is subnormal

MaximalNormalSubgroups

compute the maximal normal subgroups of a permutation group

MinimalNormalSubgroups

compute the minimal normal subgroups of a permutation group

NilpotentResidual

compute the nilpotent residual of a group

NormalClosure

compute the normal closure of a subgroup or set of group elements

Normaliser

compute the normaliser of a subgroup of a group

NormaliserSubgroup

compute the normaliser of a subgroup of a group

NormalizerSubgroup

compute the normalizer of a subgroup of a group

NormalSubgroups

compute the normal subgroups of a finite group

PCore

compute the p-core of a subgroup of a group

Socle

compute the socle of a group

SolubleResidual

compute the soluble residual of a group

SolvableResidual

compute the solvable residual of a group

SubgroupLattice

compute the lattice of subgroups of a group

SylowBasis

compute a Sylow basis for a finite soluble group

SylowSubgroup

compute a Sylow p-subgroup of a finite group

Databases

AllFrobeniusGroups

return a list of the known Frobenius groups of a given order

AllHamiltonianGroups

return a list of all the Hamiltonian groups of a given order

AllPerfectGroups

return a list of the perfect groups of a given order

AllSmallGroups

return a list of all the groups of a given order

AllTransitiveGroups

return a list of all the transitive groups of a given degree

FrobeniusGroup

construct a Frobenius group from the database

IdentifyFrobeniusGroup

locate a given Frobenius group in the database of Frobenius groups

NumFrobeniusGroups

return the number of known Frobenius groups of a given order

NumHamiltonianGroups

return the number of Hamiltonian groups of a given order

NumPerfectGroups

return the number of perfect groups of a given order

NumTransitiveGroups

return the number of transitive groups of a given degree

PerfectGroup

construct a perfect group from the database

RandomSmallGroup

return a random group from the database of small groups

SearchFrobeniusGroups

search the Frobenius Groups database

SearchPerfectGroups

search the Perfect Groups database

SearchSmallGroups

search the Small Groups database

SearchTransitiveGroups

search the Transitive Groups database

SmallGroup

construct a specific group of small order

TransitiveGroup

construct a specific transitive permutation group

Invariants

AbelianInvariants

compute the abelian invariants of a group

ClassNumber

compute the number of conjugacy classes of a finite group

CompositionLength

compute the composition length of a group

ConjugateRank

compute the conjugate rank of a finite group

DerivedLength

compute the derived length of a group

Exponent

compute the exponent of a group

FittingLength

compute the nilpotent (Fitting) length of a group

FrattiniLength

compute the Frattini length of a group

GroupOrder

compute the order of a group

NilpotencyClass

compute the class of nilpotence of a group

NilpotentLength

compute the nilpotent (Fitting) length of a group

NumInvolutions

compute the number of involutions of a group

OrderClassNumber

compute the number of order classes of a finite group

OrderRank

compute the number of order class lengths greater than unity of a finite group

PermGroupRank

compute the rank of a permutation group

PGroupRank

compute the rank of a finite p-group

PrimaryInvariants

compute the primary invariants of a group

Transitivity

compute the transitivity of a permutation group

Predicates

AreConjugate

check whether two group elements are conjugate

AreIsomorphic

test whether two groups are isomorphic

IsAbelian

test whether a group is Abelian

IsAbelianSylowGroup

test whether a group has Abelian Sylow subgroups

IsAlmostSimple

test whether a group is almost simple

IsAlternating

test (probabilistically) whether a permutation group is an alternating group in its natural action

IsCAGroup

test whether a group is a (CA)-group

IsCaminaGroup

test whether a group is a Camina group

IsCCGroup

test whether a group is a (CC)-group

IsCharacteristicallySimple

test whether a group is characteristically simple

IsCNGroup

test whether a group is a (CN)-group

IsCommutative

test whether a group is commutative

IsCP1Group

test whether a group is a (CP1)-group

IsCPGroup

test whether a group is a (CP)-group

IsCyclic

test whether a group is cyclic

IsCyclicSylowGroup

test whether a group has cyclic Sylow subgroups

IsDedekind

test whether a group is Dedekind

IsDicyclic

test whether a permutation group is a dicyclic group

IsDihedral

test whether a permutation group is a dihedral group

IsElementary

test whether a group is elementary Abelian

IsExtraspecial

test whether a group is an extraspecial p-group

IsFinite

test whether a group is finite

IsFinitelyGenerated

test whether a group is finitely generated

IsFrobeniusGroup

test whether a group is a Frobenius group

IsFrobeniusPermGroup

test whether a group is a Frobenius permutation group

IsGCLTGroup

test whether a group is a GCLT-group

IsHallPaigeGroup

test whether a group has a complete mapping

IsHamiltonian

test whether a group is Hamiltonian

IsHomocyclic

test whether a group is homocyclic

IsLagrangian

test whether a group is Lagrangian

IsMalnormal

test whether a subgroup of a group is malnormal

IsMetabelian

test whether a group is Abelian

IsMetacyclic

test whether a group is Metacyclic

IsNilpotent

test whether a group is nilpotent

IsNormal

test whether a subgroup of a group is normal

IsOrderedSylowTowerGroup

test whether a group has a Sylow tower

IsPerfect

test whether a group is perfect

IsPerfectOrderClassesGroup

test whether a group has perfect order classes

IsPermutable

test whether a subgroup of a group is permutable

IsPGroup

test whether a group is a p-group

IsPrimitive

test whether a permutation group is primitive

IsPSoluble

test whether a group is p-soluble for a given prime p

IsQuasiprimitive

test whether a permutation group is quasi-primitive

IsQuasisimple

test whether a group is quasi-simple

IsQuaternion

test whether a permutation group is a quaternion group

IsRegular

test whether a permutation group is regular

IsRegularPGroup

test whether a group is a regular p-group

IsSemiprimitive

test whether a permutation group is semi-primitive

IsSemiRegular

test whether a permutation group is semi-regular

IsSimple

test whether a group is simple

IsSoluble

test whether a group is soluble

IsSolvable

test whether a group is solvable

IsSpecial

test whether a group is a special p-group

IsStemGroup

test whether a group is a stem group

IsSubgroup

test whether one group is a subgroup of another

IsSubnormal

test whether a subgroup of a group is subnormal

IsSupersoluble

test whether a group is supersoluble

IsSylowTowerGroup

test whether a group has a Sylow tower

IsSymmetric

test (probabilistically) whether a permutation group is a symmetric group in its natural action

IsTGroup

test whether a group is a T-group

IsTransitive

test whether a permutation group is transitive

IsTrivial

test whether a group is trivial

SubgroupMembership

test whether an element belongs to a given subgroup of a group

Permutation Groups

AbelianInvariants

compute the abelian invariants of a permutation group

BlocksImage

return a permutation group equivalent to the action of a permutation on a system of blocks

BlockSystem

return a block system for a permutation group, non-trivial if possible

CycleIndexPolynomial

compute the cycle index polynomial of a permutation group

Degree

return the degree of a permutation group

EARNS

return an EARNS of a primitive group if it has one

FrobeniusPermRep

construct a Frobenius permutation group isomorphic to a given Frobenius group

IsAlternating

test (probabilistically) whether a permutation group is an alternating group in its natural action

IsPrimitive

test whether a permutation group is primitive

IsQuasiprimitive

test whether a permutation group is quasi-primitive

IsRegular

test whether a permutation group is regular

IsSemiprimitive

test whether a permutation group is semi-primitive

IsSemiRegular

test whether a permutation group is semi-regular

IsSymmetric

test (probabilistically) whether a permutation group is a symmetric group in its natural action

IsTransitive

test whether a permutation group is transitive

MaxSupport

return the largest element displaced by a permutation group

MinimalBlockSystem

return a minimal block system for a permutation group, non-trivial if possible

MinimumPermutationRepresentationDegree

compute the minimum degree of a faithful permutation representation for a group

MinSupport

return the smallest element displaced by a permutation group

Orbit

construct the orbit of an element under a permutation group

Orbits

compute the orbits of a permutation group

PermGroupRank

compute the rank of a permutation group

PrimaryInvariants

compute the primary invariants of a permutation group

ReducedDegreePermGroup

return an isomorphic permutation group of possibly smaller degree

RestrictedPermGroup

return the restriction of a permutation group to a stable subset

Stabilizer

compute the stabilizer of a point, list or set under a permutation group

Support

return the support of a permutation group

SupportLength

return the number of elements displaced by a permutation group

Transitivity

compute the transitivity of a permutation group

Finitely Presented Groups

AbelianInvariants

compute the abelian invariants of a finitely presented group

PresentationComplexity

compute a measure of the complexity of a finitely presented group

PrimaryInvariants

compute the primary invariants of a finitely presented group

Relators

return the relators of a finitely presented group

Simplify

simplify the presentation of a finitely presented group

Visualization

DrawCayleyTable

draw the Cayley table of a finite group

DrawNormalSubgroupLattice

draw the lattice of normal subgroups of a finite group

DrawSubgroupLattice

draw the lattice of subgroups of a finite group

Series

AgemoSeries

compute the series of agemo subgroups of a p-group

CompositionSeries

compute a composition series of a group

DerivedSeries

compute the derived series of a group

FrattiniSeries

compute the Frattini series of a group

LowerCentralSeries

compute the lower central series of a group

LowerFittingSeries

compute the lower Fitting series of a group

LowerPCentralSeries

compute the lower p-central series of a group

OmegaSeries

compute the series of omega subgroups of a p-group

OrderedSylowTower

compute a Sylow tower for a Sylow tower group

SylowTower

compute a Sylow tower for a Sylow tower group

UpperCentralSeries

compute the upper central series of a group

Dessins

DecomposeDessin

find all decompositions of a Belyi map represented by a dessin

FindDessins

find all dessins d'enfants with a specified branch pattern

Elements

ElementOrder

compute the order of a group element

ElementOrderSum

compute the sum of the element orders of a finite group

ElementPower

compute an integer power of a group element

Elements

compute the elements of a finite group, orbit, coset or conjugacy class

MaximumElementOrder

compute the largest order of an element of a finite group

OrderClassPolynomial

compute the order class polynomial of a finite group

OrderClassProfile

compute the element order profile of a finite group

PrimePowerFactors

factor a group element into a product of elements of prime power order

RandomElement

compute a random element of a group

RandomImvolution

compute a random involution of a group

RandomPElement

compute a random p-element of a group

RandomPPrimeElement

compute a random element of a group with order relatively prime to p

Numbers

IsAbelianNumber

test whether every group of a given order is Abelian

IsCyclicNumber

test whether every group of a given order is cyclic

IsGCLTNumber

test whether every group of a given order is a GCLT group

IsIntegrableNumber

test whether every group of a given order is integrable

IsLagrangianNumber

test whether every group of a given order is Lagrangian

IsMetabelianNumber

test whether every group of a given order is metabelian

IsMetacyclicNumber

test whether every group of a given order is metacyclic

IsNilpotentNumber

test whether every group of a given order is nilpotent

IsOrderedSylowTowerNumber

test whether every group of a given order has an ordered Sylow tower

IsSimpleNumber

test whether a number is the order of a finite simple group

IsSolubleNumber

test whether every group of a given order is soluble

IsSupersolubleNumber

test whether every group of a given order is supersoluble

Other

CayleyGraph

return the Cayley graph of a finite group

CayleyTable

return the Cayley table of a finite group

CFSG

finite simple group classifier object

Character

construct a character from a character table

CharacterTable

compute the character table of a finite group

ClassifyFiniteSimpleGroup

classify a finite simple group

CommutingGraph

construct the commuting graph of a finite group

ConjugacyClass

compute the conjugacy class of a group element

ConjugacyClasses

compute all the conjugacy classes of a finite group

Conjugator

compute an element conjugating one group element to another

Elements

compute the elements of a finite group, orbit, coset or conjugacy class

Factor

expression a group element as a product of a coset representative and a subgroup element

Generators

return the set of generators of a group

GruenbergKegelGraph

return the Gruenberg-Kegel graph of a finite group

IdentifySmallGroup

compute the Small Group ID of a small group

Labels

return the set of generator labels of a group

LeftCoset

compute a left coset of a group element

LeftCosets

compute the left cosets of a subgroup of a group

logp

compute the exponent of a prime power

NonRedundantGenerators

return a set of non-redundant generators of a group

NumSimpleGroups

count the number of simple groups of a given finite order

Operations

return the operations record of a group

PresentationComplexity

compute a measure of the complexity of a finitely presented group

RightCoset

compute a right coset of a group element

RightCosets

compute the right cosets of a subgroup of a group

TabulateSimpleGroups

list the simple groups with orders in a given range

Group Constructors Palette

• 

The Group Constructors palette contains buttons for constructing groups.

• 

Palettes are displayed in the left pane of the Maple window. (If it is not visible, from the main menu, select View > Palettes > Show Palette > Group Constructors)

• 

Some palette items have placeholders. Fill in the placeholders, using Tab to navigate to the next placeholder.

Context-Sensitive Operations

• 

In the Standard Worksheet interface, you can apply operations to a group through the Context Panel under the Group operations submenu.

Examples

The following command enables you to use the commands in the GroupTheory package without having to prefix each command with "GroupTheory:-".

withGroupTheory:

Create a symmetric group of degree 4.

GSymmetricGroup4

GS4

(1)

Visualize the lattice of subgroups of G.

DrawSubgroupLatticeG

Create a dihedral group of degree 4 (and order 8).

HDihedralGroup4

HD4

(2)

Visualize the Cayley (operation) table for H.

DrawCayleyTableH

Compute the orders (cardinalities) of G and H.

GroupOrderG,GroupOrderH

24,8

(3)

Compute the character table of H.

DisplayCharacterTableH

C

1a

2a

2b

2c

4a

|C|

1

1

2

2

2

 

 

 

 

 

 

χ__1

1

1

1

1

1

χ__2

1

1

−1

−1

1

χ__3

1

1

−1

1

−1

χ__4

1

1

1

−1

−1

χ__5

2

−2

0

0

0

Form the direct product in two ways.

UDirectProductG,H

U1,2,1,2,3,4,5,7,5,6,7,8

(4)

VDirectProductH,G

V1,3,1,2,3,4,5,6,5,6,7,8

(5)

Check that these are isomorphic.

AreIsomorphicU,V

true

(6)

Notice that the order of the direct product is equal to the product of the orders of the factors.

GroupOrderU=GroupOrderGGroupOrderH

192=192

(7)

Since the order of U does not exceed 511, we can identify the group explicitly.

idIdentifySmallGroupU

id192,1472

(8)

Retrieve the identified group from the database, and check the isomorphism.

WSmallGroupid:

AreIsomorphicU,W

true

(9)

Construct a wreath product of two symmetric groups.

WWreathProductSymm3,Symm4

W1,2,1,2,3,1,42,53,6,1,4,7,102,5,8,113,6,9,12

(10)

Check that the wreath product is transitive but imprimitive.

IsTransitiveW

true

(11)

IsPrimitiveW

false

(12)

Find a non-trivial system of blocks for W.

BlockSystemW

1,2,3,4,5,6,7,8,9,10,11,12

(13)

Identify the Sylow 3-subgroup of W in the database of small groups.

IdentifySmallGroupSylowSubgroup3,W

243,51

(14)

Find the nilpotency class of the Sylow 2-subgroup of W.

NilpotencyClassSylowSubgroup2,W

4

(15)

Compute a composition series for U.

csCompositionSeriesU

Warning, over-writing property `["DerivedSeries"]' with a different value

cs1,2,1,2,3,4,5,7,5,6,7,85,76,8,2,4,3,1,3,4,3,4,6,81,42,3

(16)

Find the orders of the members of this composition series.

seqGroupOrderL,L=cs

192,96,48,24,8,4,2,1

(17)

Find the IDs of the groups in the database of small groups that are perfect, but not simple.

SearchSmallGroupssimple=false,perfect

1,1,120,5,336,114

(18)

Investigate the relative frequencies of multiply transitive groups in the database of transitive groups.

Statistics:-PieChartseqi=SearchTransitiveGroupstransitivity=i,output=count,i=2..7

Compatibility

• 

The GroupTheory package was introduced in Maple 17.

• 

For more information on Maple 17 changes, see Updates in Maple 17.

See Also

GroupTheory/references

Magma