Overview of the GroupTheory Package
Calling Sequence
Description
List of GroupTheory Package Commands
Group Constructors Palette
Context-Sensitive Operations
Examples
Compatibility
GroupTheory:-command( arguments )
command( arguments )
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
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
AllAbelianGroups
return all the Abelian groups of a given order
AlternatingGroup
construct the alternating group of a given order
ASL
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
GeneralUnitaryGroup
construct a general unitary group over a finite field
GL
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
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
ProjectiveGeneralSemilinearGroup
ProjectiveGeneralUnitaryGroup
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
PSigmap
PSL
PSO
PSp
PSU
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
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
SpecialOrthogonalGroup
construct a special orthogonal group over a finite field
SpecialSemilinearGroup
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
SymplecticGroup
construct a symplectic group over a finite field
SymplecticSemilinearGroup
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
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
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
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
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
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
IsMetabelian
IsMetacyclic
test whether a group is Metacyclic
IsNilpotent
test whether a group is nilpotent
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
IsSupersoluble
test whether a group is supersoluble
IsSylowTowerGroup
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
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
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
Orbits
compute the orbits of a permutation group
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
Support
return the support of a permutation group
SupportLength
return the number of elements displaced by a permutation group
Finitely Presented Groups
compute the abelian invariants of a finitely presented group
PresentationComplexity
compute a measure of the complexity of a finitely presented group
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
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
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
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
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
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.
In the Standard Worksheet interface, you can apply operations to a group through the Context Panel under the Group operations submenu.
The following command enables you to use the commands in the GroupTheory package without having to prefix each command with "GroupTheory:-".
with⁡GroupTheory:
Create a symmetric group of degree 4.
G≔SymmetricGroup⁡4
G≔S4
Visualize the lattice of subgroups of G.
DrawSubgroupLattice⁡G
Create a dihedral group of degree 4 (and order 8).
H≔DihedralGroup⁡4
H≔D4
Visualize the Cayley (operation) table for H.
DrawCayleyTable⁡H
Compute the orders (cardinalities) of G and H.
GroupOrder⁡G,GroupOrder⁡H
24,8
Compute the character table of H.
Display⁡CharacterTable⁡H
C
1a
2a
2b
2c
4a
|C|
1
2
χ__1
χ__2
−1
χ__3
χ__4
χ__5
−2
0
Form the direct product in two ways.
U≔DirectProduct⁡G,H
U≔1,2,1,2,3,4,5,7,5,6,7,8
V≔DirectProduct⁡H,G
V≔1,3,1,2,3,4,5,6,5,6,7,8
Check that these are isomorphic.
AreIsomorphic⁡U,V
true
Notice that the order of the direct product is equal to the product of the orders of the factors.
GroupOrder⁡U=GroupOrder⁡G⁢GroupOrder⁡H
192=192
Since the order of U does not exceed 511, we can identify the group explicitly.
id≔IdentifySmallGroup⁡U
id≔192,1472
Retrieve the identified group from the database, and check the isomorphism.
W≔SmallGroup⁡id:
AreIsomorphic⁡U,W
Construct a wreath product of two symmetric groups.
W≔WreathProduct⁡Symm⁡3,Symm⁡4
W≔1,2,1,2,3,1,42,53,6,1,4,7,102,5,8,113,6,9,12
Check that the wreath product is transitive but imprimitive.
IsTransitive⁡W
IsPrimitive⁡W
false
Find a non-trivial system of blocks for W.
BlockSystem⁡W
1,2,3,4,5,6,7,8,9,10,11,12
Identify the Sylow 3-subgroup of W in the database of small groups.
IdentifySmallGroup⁡SylowSubgroup⁡3,W
243,51
Find the nilpotency class of the Sylow 2-subgroup of W.
NilpotencyClass⁡SylowSubgroup⁡2,W
4
Compute a composition series for U.
cs≔CompositionSeries⁡U
Warning, over-writing property `["DerivedSeries"]' with a different value
cs≔1,2,1,2,3,4,5,7,5,6,7,8▹5,76,8,2,4,3,1,3,4,3,4,6,8▹…▹1,42,3▹
Find the orders of the members of this composition series.
seq⁡GroupOrder⁡L,L=cs
192,96,48,24,8,4,2,1
Find the IDs of the groups in the database of small groups that are perfect, but not simple.
SearchSmallGroups⁡simple=false,perfect
1,1,120,5,336,114
Investigate the relative frequencies of multiply transitive groups in the database of transitive groups.
Statistics:-PieChart⁡seq⁡i=SearchTransitiveGroups⁡transitivity=i,output=count,i=2..7
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
Download Help Document