Overview of the GroupTheory Package - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Group Theory : GroupTheory

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

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

AllAbelianGroups

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

AlternatingGroup

construct the alternating group of a given order

BabyMonster

construct the Baby Monster sporadic finite simple group

ConwayGroup

construct a Conway sporadic simple group

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

FreeGroup

construct a free group

FrobeniusGroup

construct a Frobenius group from the database

GaloisGroup

construct the Galois group of a polynomial

GeneralLinearGroup

construct the general linear group over a finite field

GeneralOrthogonalGroup

construct the general orthogonal 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

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

PGL

construct a projective linear 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

ProjectiveGeneralUnitaryGroup

construct a projective general unitary  group over a finite field

ProjectiveSpecialLinearGroup

construct a projective special 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

PSL

construct a projective special linear 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

QuaternionGroup

construct the quaternion group of order eight

RubiksCubeGroup

construct the group of the Rubik's Cube

RudvalisGroup

construct the Rudvalis simple group

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

SpecialUnitaryGroup

construct a special unitary group over a finite field

Stabilizer

compute the stabilizer of a point under a permutation group

Subgroup

construct a subgroup of a given group

Supergroup

construct a supergroup of a given group

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

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

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

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

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

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

SystemNormaliser

compute a system normaliser for a soluble permutation group

SystemNormalizer

compute a system normalizer for a soluble permutation 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 finitely presented group

CompositionLength

compute the composition length of a 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

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

IsCCGroup

test whether a group is a (CC)-group

IsCNGroup

test whether a group is a (CN)-group

IsCommutative

test whether a group is commutative

IsCyclic

test whether a group is cyclic

IsCyclicSylowGroup

test whether a group has cyclic Sylow subgroups

IsDedekind

test whether a group is Dedekind

IsDihedral

test whether a permutation group is a dihedral group

IsElementary

test whether a group is elementary Abelian

IsFinite

test whether a group is finite

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

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

IsRegular

test whether a permutation group is regular

IsSimple

test whether a group is simple

IsSoluble

test whether a group is soluble

IsSolvable

test whether a group is solvable

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

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

Transitivity

compute the transitivity of a permutation group

Permutation Groups

CycleIndexPolynomial

compute the cycle index polynomial of a permutation group

Degree

return the degree of a permutation group

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

IsRegular

test whether a permutation group is regular

IsSymmetric

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

IsTransitive

test whether a permutation group is transitive

MinimumPermutationRepresentationDegree

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

Orbit

construct the orbit of an element under a permutation group

Orbits

compute the orbits of a permutation group

Stabilizer

compute the stabilizer of a point under 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

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

DrawSubgroupLattice

draw the lattice of subgroups of a finite group

Series

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

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

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

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

Character

construct a character from a character table

CharacterTable

compute the character table 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

ElementOrder

compute the order of a group element

ElementPower

compute an integer power of a group element

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

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

NonRedundantGenerators

return a set of non-redundant generators of a group

Operations

return the operations record of a group

OrderClassProfile

compute the element order profile of a finite group

PresentationComplexity

compute a measure of the complexity of a finitely presented group

PrimePowerFactors

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

RightCoset

compute a right coset of a group element

RightCosets

compute the right cosets of a subgroup of a group

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

GroupTheory:-SymmetricGroup4

(1)

Visualize the lattice of subgroups of G.

DrawSubgroupLatticeG

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

HDihedralGroup4

GroupTheory:-DihedralGroup4,form=permgroup

(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

GroupTheory:-DirectProductmodule...end module,module...end module

(4)

VDirectProductH,G

GroupTheory:-DirectProductmodule...end module,module...end module

(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)

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