We need a few things about the octahedral group (including reflection, perhaps even using double cover later on):

  • Conjugacy classes
  • Irreducible representations (irreps) in the form of matrices. Just the characters might be sufficient, but having the actual matrices would be better.
  • Little groups or subgroups and their irreps as well.

We have some Maple package which does those things, but as my university only has a Mathematica campus license we cannot sensibly use it.

I have found the MathWorld article for the octahedral group and it gives a Mathematica notebook from 2004 with uses PointGroup["Oh"], but that is no longer part of Mathematica 11. Instead I discovered FiniteGroupData["Octahedral", "CharacterTable"] and Subgroups and ConjugacyClasses but all I get is Missing["NotAvailable"]. All I got to extract is the Order and the MatrixRepresentation, which are not so very helpful.

It would surprise me if Mathematica would cut features, so I would hope that they just have moved.

In the documentation guide/NamedGroups I found a list of groups that are available, but the octahedral group is not part of it.

I have used that every finite group can be expressed as a permutation group and got that out of the FiniteGroupData:

oh = FiniteGroupData["Octahedral", "PermutationGroupRepresentation"]

Then I found the conjugacy classes as the orbits of the group elements:

cc = DeleteDuplicates[Map[GroupOrbits[oh, {#1}] &, GroupElements[oh]]]

The irreducible representations could then be constructed using Young tableaux, but I would hope that there is some easier way to get them in Mathematica?

  • 1
    $\begingroup$ The functions you see in that notebook were never built in. They are from the now non-accessible MathWorld packages community.wolfram.com/groups/-/m/t/587577 They would probably be slower than your implementation. $\endgroup$
    – Szabolcs
    Jan 3, 2019 at 15:39
  • $\begingroup$ Does this help?: mathematica.stackexchange.com/questions/43620/… $\endgroup$
    – Michael E2
    Aug 2, 2019 at 13:21
  • $\begingroup$ Maybe use GAP instead of Mathematica? You get the octahedral group with Oh := SmallGroup(48,48); or by constructing it from generators: Oh := Group( (1,3,4,2)(5,7,8,6), (2,5,3)(4,6,7), (1,8)(2,7)(3,6)(4,5) );. Then you can request Display(CharacterTable(Oh)); and Display(ConjugacyClasses(Oh));. $\endgroup$
    – Roman
    Aug 2, 2019 at 18:35
  • $\begingroup$ @Roman: That sounds very nice! We currently have the irreps copied from some tables, but having them automatically constructed would be much nicer! $\endgroup$ Aug 3, 2019 at 8:34

1 Answer 1


Update: Missing["NotAvailable"] is fixed in Version 12.1.

Here I would just summarize what I have found when I was searching for this issue, which might not even be an answer for this question.

In the official document ref/FiniteGroupData, there is an example showing the conjugacy classes

FiniteGroupData[{"DicyclicGroup", 5}, "ConjugacyClasses"]
(* {{1}, {6}, {2, 10}, {3, 9}, {4, 8}, {5, 7}, {11, 13, 15, 17, 19}, {12, 14, 16, 18, 20}} *)

While as mentioned above, this option returns Missing["NotAvailable"] (until Version 12.0) in most cases, e.g.

FiniteGroupData["Octahedral", "ConjugacyClasses"] (* Missing["NotAvailable"] *)

From the hint in the question, we could define an ConjugacyClasses function

ConjugacyClasses[group_] := GroupOrbits[group, GroupElements[group]];

Then apply it to the group as

group = FiniteGroupData["Octahedral", "PermutationGroupRepresentation"];
cc = ConjugacyClasses[group];

Mathematica will return its conjugacy classes in the form of permutation group representation.

However, the expressions are full with a bunch of Cycles and it is hard for us to figure out the group structures. We can denote the group elements with their corresponding positions to simplify the conjugacy classes, which gives

ele = GroupElements[group];
cc /. Thread[ele -> Range@Length[ele]]
(* {{1}, {13, 32, 47, 3, 6, 2}, {38, 39, 10, 11, 24, 20, 29, 25}, {14, 18, 31, 35, 45, 44, 4, 5}, {9, 12, 19, 22, 26, 27}, {17, 16, 36, 33, 46, 43}, {7, 21, 28}, {8, 23, 30, 37, 40, 41}, {15, 34, 48}, {42}} *)

as concise with the official example in the beginning.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.