({{, (RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[name,"property"] 
gives the value of the specified property for the finite group specified by name.}, {, (RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])["class"]
gives a list of finite groups in the specified class.}})

OpenersNotesSection(Spacer1)Details

Groups can be specified by names such as "C3", "Quaternion", and {"SymmetricGroup",4}.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[name] gives the standard form of the name for the group specified by name.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[patt] gives a list of all group names that match the string pattern patt.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[] and (RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[(RefLink[All, paclet:ref/All])] give a list of available named finite groups and small members of infinite families.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[{n, id},…] gives data for the finite group of order n with identifier id.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[n] gives a list of nonisomorphic finite groups of order n.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[;;n] gives a list of nonisomorphic groups with orders up to n.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[(Subscript[n, 1]);;(Subscript[n, 2])] gives a list of nonisomorphic groups of order greater than (Subscript[n, 1]) and smaller than (Subscript[n, 2]).

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[{"type", id}, …] gives data for the finite group of the specified type with identifier id. The identifier is typically an integer, or a list of integers.

Groups enumerated by integers include:

Special group specifications include:

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])["Properties"] gives a list of properties available for groups.

Basic group properties include:

The elements of a group are specified by integers running from 1 to the order of the group, with 1 corresponding to the identity element.

Group structure properties include:

Permutation group properties include:

Other properties include:

Group representation properties include:

Additional properties for crystallographic point groups include:

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])["Classes"] gives a list of all supported classes.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[name,"Classes"] gives a list of all the classes the specified group is in.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[name,"class"] gives (RefLink[True, paclet:ref/True]) or (RefLink[False, paclet:ref/False]) depending on whether a group corresponding to name is in the specified class.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])["class"] gives the list of finite groups in (RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[] belonging to the specified class.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])["class",n] gives a list of finite groups of order n in the specified class.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])["class",;;n] gives a list of finite groups of order less than or equal to n in the specified class.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])["class",n;;] gives a list of finite groups of order greater than or equal to n in the specified class.

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])["class",(Subscript[n, 1]);;(Subscript[n, 2])] gives a list of finite groups of order greater than (Subscript[n, 1]) and less than (Subscript[n, 2]) in the specified class.

Classes of groups include:

Negative classes of groups include:

Naming-related properties include:

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[name,"Information"] gives a hyperlink to additional information on the specified group.

Using (RefLink[FiniteGroupData, paclet:ref/FiniteGroupData]) may require internet connectivity.

OpenersPrimaryExamplesSection(Spacer1)Examples  (43)

OpenersExampleSection0(Spacer1)Basic Examples  (2)

The quaternion group:

FiniteGroupData["Quaternion","Order"]

FiniteGroupData["Quaternion","Abelian"]

Multiplication table of the quaternion group:

FiniteGroupData["Quaternion","MultiplicationTable"] // Grid

OpenersExampleSection1(Spacer1)Scope  (34)

OpenersExampleSubsection0(Spacer1)Names and Classes  (6)

A list of all named finite groups and small members of infinite families, many of them mutually isomorphic:

Short[FiniteGroupData[],4]

Length[%]

Finite groups whose standard name is a string:

Cases[FiniteGroupData[],_String]

Length[%]

Find the English name of a finite group:

FiniteGroupData["Monster","Name"]

A list of alternate names can also be found:

FiniteGroupData["Monster","AlternateNames"]

Some groups can be given in shorter form:

FiniteGroupData["S7"]

FiniteGroupData["Alt(5)"]

FiniteGroupData["C4h"]

Classes of finite groups:

FiniteGroupData["Classes"]

List of the groups in (RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[] belonging to a given class:

FiniteGroupData["Alternating"]

Test membership of a group in the class:

FiniteGroupData[{"DihedralGroup",6},"Alternating"]

Restrict the members of a class to a given order. These are all mutually isomorphic groups:

FiniteGroupData["Alternating",12]

The list of 26 simple sporadic groups:

FiniteGroupData["Sporadic"]

Short forms of the 3-dimensional crystallographic point groups:

Table[FiniteGroupData[{"CrystallographicPointGroup",i},"Notation"],{i,32}]

(RefLink[FiniteGroupData, paclet:ref/FiniteGroupData])[n] returns a list of non-isomorphic groups of order n, first having the Abelian groups and then the non-Abelian groups:

FiniteGroupData[12]

{FiniteAbelianGroupCount[12],FiniteGroupCount[12]}

When (RefLink[FiniteGroupData, paclet:ref/FiniteGroupData]) does not have a named version of a given group, it is specified as {order,index}:

FiniteGroupData[36]

{FiniteAbelianGroupCount[36],FiniteGroupCount[36]}

OpenersExampleSubsection1(Spacer1)Properties and Annotations  (4)

Get a list of possible properties:

FiniteGroupData["Properties"]

Length[%]

Get more information about a group:

FiniteGroupData["Monster","Information"]

Find the English name:

FiniteGroupData[{10, 2},"Name"]

Standard typeset notations:

FiniteGroupData[{"CyclicGroup",5},"Notation"]

FiniteGroupData[{"AbelianGroup",{2,3}},"Notation"]

FiniteGroupData[{"DihedralGroup",17},"Notation"]

FiniteGroupData["Quaternion","Notation"]

OpenersExampleSubsection2(Spacer1)Property Values  (3)

A property value can be any valid Wolfram Language expression:

FiniteGroupData["Monster","Order"]

FiniteGroupData["Tetrahedral","CycleIndex"][(Subscript[x, 1]),(Subscript[x, 2]),(Subscript[x, 3]),(Subscript[x, 4])]

FiniteGroupData[{"DicyclicGroup",5},"CayleyGraph"]

FiniteGroupData[{"SymmetricGroup",3},"PermutationRepresentation"]

A property that is not available for a group has the value (RefLink[Missing, paclet:ref/Missing])["NotAvailable"]:

FiniteGroupData["Thompson","MatrixRepresentation"]

A property whose value is too large to include has the value (RefLink[Missing, paclet:ref/Missing])["TooLarge"]:

FiniteGroupData[{"ProjectiveSpecialLinearGroup",{4,5}},"Elements"]

FiniteGroupData[{"ProjectiveSpecialLinearGroup",{4,5}},"Order"]

OpenersExampleSubsection3(Spacer1)Detailed Properties  (21)

OpenersExampleSubsubsection0(Spacer1)Names & Notations  (3)

In general, groups are referred to by standard name:

FiniteGroupData[{"AlternatingGroup",5},"StandardName"]

That is equivalent to this simpler syntax:

FiniteGroupData[{"AlternatingGroup",5}]

Other acceptable forms of input are called alternate standard names:

FiniteGroupData[{"AlternatingGroup",5},"AlternateStandardNames"]

FiniteGroupData["A5"]

FiniteGroupData["Alt(5)"]

This is the English name for a group, always a string:

FiniteGroupData["Monster","Name"]

Some groups have alternate names:

FiniteGroupData["Monster","AlternateNames"]

There is also a short string form of the name:

FiniteGroupData["Monster","ShortName"]

Every group has a short notation form:

FiniteGroupData[{"DihedralGroup",7},"Notation"]

The default notation for the 32 three-dimensional crystallographic point groups is Schoenflies notation, but other notations are possible:

Table[FiniteGroupData[{"CrystallographicPointGroup",i},{"StandardName","Schoenflies","HermannMauguin","Orbifold","Shubnikov"}],{i,32}]//Grid

Those are only applicable to the crystallographic groups:

FiniteGroupData[{"AlternatingGroup",5},"Shubnikov"]

OpenersExampleSubsubsection1(Spacer1)Basic Group Properties  (4)

Two important properties of a group are its order and multiplication table:

FiniteGroupData[{"DihedralGroup",5},"Order"]

(tableD5=FiniteGroupData[{"DihedralGroup",5},"MultiplicationTable"])//Grid

The multiplication table defines the group as an abstract group (that is, up to isomorphism). For example, the group is Abelian if and only if its multiplication table is symmetric:

Transpose[tableD5]===tableD5

FiniteGroupData[{"DihedralGroup",5},"Abelian"]

The elements of the group are abstractly identified by their position in the multiplication table:

FiniteGroupData[{"DicyclicGroup",3},"Elements"]

These are their inverses:

inverses=FiniteGroupData[{"DicyclicGroup",3},"Inverses"]

tableDic3=FiniteGroupData[{"DicyclicGroup",3},"MultiplicationTable"];

Table[tableDic3[[i,inverses[[i]]]],{i,12}]

This allows identification of which elements form the various subgroups. For example, the fourth element commutes with all other group elements:

FiniteGroupData[{"DicyclicGroup",3},"Center"]

FiniteGroupData[{"DicyclicGroup",3},"CenterElements"]

Table[tableDic3[[i,4]]===tableDic3[[4,i]],{i,12}]

More information on the commutativity of a group is given by the group of all commutators in the group. This group is not Abelian because the commutator (or derived) subgroup is not trivial:

FiniteGroupData[{"DihedralGroup",7},"CommutatorSubgroup"]

However, upon further commutation we get the trivial group:

FiniteGroupData[%,"CommutatorSubgroup"]

Hence, the original group is solvable:

FiniteGroupData[{"DihedralGroup",7},"Solvable"]

These are the cycles obtained by repeated multiplication of each element with itself:

FiniteGroupData[{"DicyclicGroup",3},"Cycles"]

They have a natural representation as a graph. The identity element is highlighted:

FiniteGroupData[{"DicyclicGroup",3},"CycleGraph"]

OpenersExampleSubsubsection2(Spacer1)Group Representations  (4)

Presentations in terms of generators and relations:

FiniteGroupData[{"DihedralGroup",4},"Generators"]

FiniteGroupData[{"DihedralGroup",4},"InverseGenerators"]

The group product is represented as a small circle, also used to denote its associated power:

FiniteGroupData[{"DihedralGroup",4},"DefiningRelations"]

With those two generators (of respective orders 4 and 2) we have this Cayley graph:

FiniteGroupData[{"DihedralGroup",4},"CayleyGraph"]

Naming the generators, it is possible to give all elements of the groups as words:

FiniteGroupData[{"DihedralGroup",4},"ElementNames"]

Permutation group representations as the complete set of permutation lists:

FiniteGroupData[{"DicyclicGroup",3},"PermutationRepresentation"]

Or as a permutation group that can be used for further computation:

group=FiniteGroupData[{"DicyclicGroup",3},"PermutationGroupRepresentation"]

It is a transitive representation, because it has a single orbit:

GroupOrbits[group]

FiniteGroupData[{"DicyclicGroup",3},"Transitive"]

However, any stabilizer is trivial:

GroupOrbits[GroupStabilizer[group,{1}]]

Hence, this is not a multiply-transitive representation:

FiniteGroupData[{"DicyclicGroup",3},"Transitivity"]

The cyclic structure of a permutation representation gives the so-called cycle index polynomial:

Tally[Sort/@Map[Length,PermutationCycles[#,Identity]&/@FiniteGroupData[{"SymmetricGroup",4},"PermutationRepresentation"],{2}]]

FiniteGroupData[{"SymmetricGroup",4},"CycleIndex"][(Subscript[x, 1]),(Subscript[x, 2]),(Subscript[x, 3]),(Subscript[x, 4])]//Together

This is a matrix representation of a cyclic group:

MatrixForm/@FiniteGroupData[{"CyclicGroup",4},"MatrixRepresentation"]

OpenersExampleSubsubsection3(Spacer1)Group Isomorphism  (1)

Obtain groups isomorphic to a given one:

isoA5=FiniteGroupData[{"AlternatingGroup",5},"IsomorphicGroups"]

They all share the same properties as abstract groups:

FiniteGroupData[#,"Order"]&/@isoA5

FiniteGroupData[#,"Simple"]&/@isoA5

OpenersExampleSubsubsection4(Spacer1)Group Structure  (8)

Conjugacy classes of a group, given as respective lists of elements:

FiniteGroupData[{"DicyclicGroup",5},"ConjugacyClasses"]

The class number is defined as the number of conjugacy classes:

FiniteGroupData[{"DicyclicGroup",5},"ClassNumber"]

Those elements that are self-conjugate, hence commuting with all other elements in the group, form the center of that group:

FiniteGroupData[{"DicyclicGroup",5},"Center"]

FiniteGroupData[{"DicyclicGroup",5},"CenterElements"]

The Klein 4-group only has one type of proper subgroup:

FiniteGroupData["Vierergruppe","Subgroups"]

But that type is realized three times:

FiniteGroupData["Vierergruppe","SubgroupElements"]

For n≥5 the alternating groups (Subscript[A, n]) are equal to their commutator subgroups:

FiniteGroupData[{"AlternatingGroup",6},"CommutatorSubgroup"]

FiniteGroupData[{"AlternatingGroup",6},"CommutatorSubgroupElements"]===Range[6!/2]

Groups with such property are called perfect:

FiniteGroupData[{"AlternatingGroup",6},"Perfect"]

All simple groups are perfect:

FiniteGroupData[{"AlternatingGroup",6},"Classes"]

Normal subgroups of the "Tetrahedral" group:

FiniteGroupData["Tetrahedral","NormalSubgroups"]

FiniteGroupData["Tetrahedral","NormalSubgroupElements"]

It has nontrivial normal subgroups, and therefore it is not simple:

FiniteGroupData["Tetrahedral","Simple"]

Sylow subgroups are those whose order is a maximal power of a prime:

FiniteGroupData[{"CyclicGroup",24},"SylowSubgroups"]

Possible quotient groups, obtained by finding the quotient with respect to normal subgroups:

FiniteGroupData[{"CyclicGroup",24},"QuotientGroups"]

Schur multiplier group:

FiniteGroupData[{"SteinbergGroupA",{5,2}},"SchurMultiplier"]

Automorphism groups:

FiniteGroupData[{"SymmetricGroup",6},"AutomorphismGroup"]

FiniteGroupData[{"SymmetricGroup",6},"InnerAutomorphismGroup"]

FiniteGroupData[{"SymmetricGroup",6},"OuterAutomorphismGroup"]

OpenersExampleSubsubsection5(Spacer1)Crystallographic-Specific Properties  (1)

These are various properties only applicable to the crystallographic groups:

FiniteGroupData[{"CrystallographicPointGroup",#},{"Schoenflies","CrystalSystem","CrystalForm","HermannMauguin","Orbifold","PointGroupType","Shubnikov","Order"}]&/@Range[32]//Grid

OpenersExampleSection2(Spacer1)Generalizations & Extensions  (2)

Find the list of group names matching a pattern:

FiniteGroupData[_String]

FiniteGroupData[__~~"on"~~__]

Some properties are available for symbolic parameters in infinite families of groups:

FiniteGroupData[{"AlternatingGroup",n},"Solvable"]

This is the valid range of values for the parameter:

FiniteGroupData[{"AlternatingGroup",n},"ParameterRange"]

However, most properties require integer values for such parameters. In those cases (RefLink[Missing, paclet:ref/Missing])["NotApplicable"] is returned:

FiniteGroupData[{"AlternatingGroup",n},"CayleyGraph"]

OpenersExampleSection4(Spacer1)Applications  (1)

Infinite family of alternating groups given as {"AlternatingGroup",n}:

ListPlot[Log@Table[FiniteGroupData[{"AlternatingGroup", n},"Order"],{n,1,50}],Filling->Axis]

OpenersExampleSection5(Spacer1)Properties & Relations  (3)

(RefLink[FiniteGroupCount, paclet:ref/FiniteGroupCount])[n] gives the number of finite groups of order n:

FiniteGroupCount[12]

Consistently, when address by order, (RefLink[FiniteGroupData, paclet:ref/FiniteGroupData]) returns a list of non-isomorphic groups:

FiniteGroupData[12]

FiniteGroupData[#,"Order"]& /@ %

Obtain other groups isomorphic to those:

FiniteGroupData[#,"IsomorphicGroups"]&/@%%

FiniteGroupData[24]

FiniteGroupData[#,"Name"]& /@ %

(RefLink[FiniteAbelianGroupCount, paclet:ref/FiniteAbelianGroupCount])[n] gives the number of Abelian groups of order n:

FiniteAbelianGroupCount[10^4]

All finite groups of order 1225 are Abelian:

FiniteGroupData[1225]

The group of units of the ring of integers modulo n is always Abelian, but not always cyclic:

FiniteGroupData[{"CyclicGroupUnits",n},"Abelian"]

FiniteGroupData[{"CyclicGroupUnits",n},"Cyclic"]

A group is cyclic if there is an element whose order is the group order. The order of {"CyclicGroupUnits", n} is (RefLink[EulerPhi, paclet:ref/EulerPhi])[n], while (RefLink[CarmichaelLambda, paclet:ref/CarmichaelLambda])[n] gives the maximum order amongst its elements.

For example, the following group is cyclic because there are elements whose order is the group order:

FiniteGroupData[{"CyclicGroupUnits",9},"Order"]

PermutationOrder/@FiniteGroupData[{"CyclicGroupUnits",9},"PermutationRepresentation"]

{EulerPhi[9],CarmichaelLambda[9]}

The condition (RefLink[EulerPhi, paclet:ref/EulerPhi])[n]==(RefLink[CarmichaelLambda, paclet:ref/CarmichaelLambda])[n] is only obeyed for positive integers n of the form 2, 4, (p^k), 2(p^k) with prime p≠2 and k≥1.

OpenersExampleSection6(Spacer1)Possible Issues  (1)

Results from (RefLink[FiniteGroupData, paclet:ref/FiniteGroupData]) may contain isomorphic groups:

FiniteGroupData["Abelian",1]

There is only one group of order 1:

FiniteGroupCount[1]

Using the order as first argument guarantees non-isomorphic results:

FiniteGroupData[1]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[FiniteGroupCount, paclet:ref/FiniteGroupCount])  ▪  (RefLink[FiniteAbelianGroupCount, paclet:ref/FiniteAbelianGroupCount])  ▪  (RefLink[GraphData, paclet:ref/GraphData])  ▪  (RefLink[LatticeData, paclet:ref/LatticeData])}, {Related Interpreter Types:  (RefLink[FiniteGroup, paclet:ref/interpreter/FiniteGroup])  ▪  (RefLink[ComputedFiniteGroup, paclet:ref/interpreter/ComputedFiniteGroup])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Mathematical Data, paclet:guide/MathematicalData])}, {▪(RefLinkPlain[Discrete Mathematics, paclet:guide/DiscreteMathematics])}})}})

({{(Spacer1), ({{(Spacer1)Related Links}, {(Spacer1)▪(WebLink[(Spacer1)FiniteGroupData Source Information, http://reference.wolfram.com/language/note/FiniteGroupDataSourceInformation.html])}})}})