Full octahedral group
The full octahedral group O_{h} is the hyperoctahedral group of dimension 3. This article mainly looks at it as the symmetry group of the cube.
There are 48 permutation of the cube. Half of them are its rotations, forming the subgroup O (the symmetric group S_{4}), and the other half are their inversions.
The inversion is the permutation that exchanges opposite vertices of the cube. It is not to be confused with the inversion of a permutation.
The Cayley table of O_{h} repeats the pattern of the Cayley table of S_{4}. If, as in this article, the S_{4} based notation is used, the result of a concatenation of elements of O_{h} can be derived from the corresponding concatenation of elements of S_{4}: With and being their respective inversions implies and .
Elements of O  Inversions of elements of O  

identity  0  inversion  0' 
3 × rotation by 180° about a 4fold axis  7, 16, 23  3 × reflection in a plane perpendicular to a 4fold axis  7', 16', 23' 
8 × rotation by 120° about a 3fold axis  3, 4, 8, 11, 12, 15, 19, 20  8 × rotoreflection by 60°  3', 4', 8', 11', 12', 15', 19', 20' 
6 × rotation by 180° about a 2fold axis  1', 2', 5', 6', 14', 21'  6 × reflection in a plane perpendicular to a 2fold axis  1, 2, 5, 6, 14, 21 
6 × rotation by 90° about a 4fold axis  9', 10', 13', 17', 18', 22'  6 × rotoreflection by 90°  9, 10, 13, 17, 18, 22 
Examples  

See full list below (8×6 matrix) 
As the hyperoctahedral group of dimension 3 the full octahedral group is the wreath product ,
and a natural way to identify its elements is as pairs with and .
But as it is also the direct product , one can simply identify the elements of tetrahedral subgrup T_{d} as and their inversions as .
So e.g. the identity is represented as and the inversion as .
is represented as and as .
A rotoreflection is a combination of rotation and reflection.
Illustration of rotoreflections  

 

Contents
Overview[edit]
Truncated cuboctahedron[edit]
The vertices of the truncated cuboctahedron correspond to the elements of this group. Each of its faces of its dual, the disdyakis dodecahedron, is a fundamental domain.
8×6 matrix[edit]

Hexagon corresponding to top matrix row[edit]
3D diagrams  

The files below illustrate the subgroup C_{3v} or [3] that corresponds to the top matrix row. It contains the six permutations of the cube that leave the main diagonal fixed. 
2D equivalents  

The rest of this article uses left action, i.e. means first , then , 
details  

 
This is left action again, so the 3×3 permutation matrices shown here are the transposes of those in the small permutohedron in the box above  which only makes a difference for and . 
Cubes corresponding to matrix columns[edit]
Each of the six cubes in the following collapsible boxes shows one of the basic permutations from the top row of the matrix in the bottom left position.
In the other seven positions are the products of applying the reflections along coordinate axes on these basic permutations.






Subgroups[edit]
O_{h} has 98 individual subgroups, which are all shown in the list below. (A Python dictionary of them can be found here.)
They naturally divide in 33 bundles of similar subgroups, whose elements belong to the same conjugacy classes.
In this article these bundles are given naive names based on some of the colors assigned to their elements (like Dih_{4} green orange).
Each of them has a collapsible box below, containing representations of the individual subgroups.
These belong to 25 bigger bundles, which can be identified with a label in Schoenflies or Coxeter notation (like D_{2d} or [2^{+},4]).
Each of them has a vertex in the big Hasse diagram below.
Four different kinds of Coxeter notation can be distinguished, based on where they contain plus signs:
[...]^{+}  rotate 
[...]  reflect 
[...^{+},...^{+}]  cross 
[...^{+}, ...]  mixed 
Hasse diagrams[edit]
All 25 bundles of similar subgroups 

tetrahedral, rotational and reflective subgroups  

chiral tetrahedral and pyritohedral subgroups  

List of all subgroups[edit]
 For the same list including all permutations of the respective example solids, see Full octahedral group/List of all subgroups.
The group itself[edit]
O_{h} S_{4} × C_{2} [4,3]  

Subgroups of order 24[edit]
T_{d} S_{4} green orange [3,3]  

O S_{4} blue red [4,3]^{+}  

T_{h} A_{4} × C_{2} [3^{+},4]  

Subgroups of order 16[edit]
D_{4h} Dih_{4} × C_{2} [2,4]  

Subgroups of order 12[edit]
T A_{4} [3,3]^{+}  


D_{3d} Dih_{6} [2^{+},6]  


Subgroups of order 8[edit]
D_{2h} C_{2}^{3} white [2,2]  

D_{2h} C_{2}^{3} green [2,2]  

(Below the C_{2}^{3} subgroups are shown in more detail.)
C_{4h} C_{4} × C_{2} [4^{+},2]  

C_{4v} Dih_{4} green red [4]  


D_{2d} Dih_{4} blue orange [2^{+},4]  

D_{2d} Dih_{4} green orange [2^{+},4]  

     
D_{4} Dih_{4} blue red [2,4]^{+}  

(Below the Dih_{4} subgroups are shown in more detail.)
Subgroups of order 6[edit]
C_{3v} S_{3} green [3]  

D_{3} S_{3} blue [2,3]^{+}  

(Below the S_{3} subgroups are shown in more detail.)
S_{6} C_{6} [2^{+},6^{+}]  

Subgroups of order 4[edit]
S_{4} C_{4} orange [2^{+},4^{+}]  

C_{4} C_{4} red [4]^{+}  

C_{2h} = D_{1d} V inv white [2^{+},2]  

C_{2h} = D_{1d} V inv green [2^{+},2]  

C_{2v} V green blue yellow [2]  

C_{2v} V yellow white [2]  

C_{2v} V green white [2]  

D_{2} V blue white [2,2]^{+}  

D_{2} V white [2,2]^{+}  

Subgroups of order 3[edit]
C_{3} C_{3} [3]^{+}  

Subgroups of order 2[edit]
S_{2} C_{2} inv [2^{+},2^{+}]  

C_{s} = C_{1v} C_{2} yellow [ ]  

C_{s} = C_{1v} C_{2} green [ ]  

C_{2} C_{2} white [2]^{+}  

C_{2} C_{2} blue [2]^{+}  

The trivial group[edit]
C_{1} C_{1} [ ]^{+}  

Different appearances of the same group[edit]
Symmetry group of the cuboid[edit]
The symmetry group of the cuboid C_{2}^{3} appears in two essentially different ways as a subgroup of O_{h}.
The one where the cuboid is the cube itself is the most intuitive one.
In the other one the cuboid is the original cube rotated by 45° around an axis. The one where it is rotated around the zaxis is shown below.
There are 4 individual subgroups (see above).
D_{2h} C_{2}^{3} white [2,2]  

D_{2h} C_{2}^{3} green [2,2]  

Symmetry group of the square[edit]
The symmetry group of the square appears in four essentially different ways as a subgroup of O_{h}, with C_{4v} or [4] being the most intuitive among them.
There are 12 individual subgroups (see above). Shown below are the ones where the square is seen from above the cube, i.e. from a point on the positive zaxis.
In the box above those of the four subgroups are the corresponding permutations of the square. It can be seen that the 2×2 transformation matrices of the square are the top left submatrices of the 3×3 matrices in the same column. The pattern of their bottom right entries is shown in a 4×2 matrix below the example solid.
Square permutations for comparison  

C_{4v} Dih_{4} green red [4]  

D_{2d} Dih_{4} blue orange [2^{+},4]  

D_{2d} Dih_{4} green orange [2^{+},4]  

D_{4} Dih_{4} blue red [2,4]^{+}  

Symmetry group of the triangle[edit]
The symmetry group of the triangle appears in two essentially different ways as a subgroup of O_{h}, with C_{3v} or [3] being the most intuitive among them.
There are 8 individual subgroups (see above). Shown below are the ones where the triangle is seen from a point on the negative main diagonal of the coordinate system.
C_{3v} S_{3} green [3]  

D_{3} S_{3} blue [2,3]^{+}  

Cuboctahedral example solids and contained hexagons[edit]

Code[edit]
The Python code used to create many of the illustrations in this article can be found here: https://github.com/watchduck/full_octahedral_group
The following code shows bijections from pairs to other representations:
S_{4} based identifiers 

is represented as . (0, 0): 0, (0, 1): 1, (0, 2): 2, (0, 3): 3, (0, 4): 4, (0, 5): 5, (1, 0): 47, (1, 1): 46, (1, 2): 45, (1, 3): 44, (1, 4): 43, (1, 5): 42, (2, 0): 40, (2, 1): 41, (2, 2): 37, (2, 3): 36, (2, 4): 39, (2, 5): 38, (3, 0): 7, (3, 1): 6, (3, 2): 10, (3, 3): 11, (3, 4): 8, (3, 5): 9, (4, 0): 31, (4, 1): 30, (4, 2): 34, (4, 3): 35, (4, 4): 32, (4, 5): 33, (5, 0): 16, (5, 1): 17, (5, 2): 13, (5, 3): 12, (5, 4): 15, (5, 5): 14, (6, 0): 23, (6, 1): 22, (6, 2): 21, (6, 3): 20, (6, 4): 19, (6, 5): 18, (7, 0): 24, (7, 1): 25, (7, 2): 26, (7, 3): 27, (7, 4): 28, (7, 5): 29 
Permutations of 8 elements 

(0, 0): (0, 1, 2, 3, 4, 5, 6, 7), (0, 1): (0, 2, 1, 3, 4, 6, 5, 7), (0, 2): (0, 1, 4, 5, 2, 3, 6, 7), (0, 3): (0, 4, 1, 5, 2, 6, 3, 7), (0, 4): (0, 2, 4, 6, 1, 3, 5, 7), (0, 5): (0, 4, 2, 6, 1, 5, 3, 7), (1, 0): (1, 0, 3, 2, 5, 4, 7, 6), (1, 1): (1, 3, 0, 2, 5, 7, 4, 6), (1, 2): (1, 0, 5, 4, 3, 2, 7, 6), (1, 3): (1, 5, 0, 4, 3, 7, 2, 6), (1, 4): (1, 3, 5, 7, 0, 2, 4, 6), (1, 5): (1, 5, 3, 7, 0, 4, 2, 6), (2, 0): (2, 3, 0, 1, 6, 7, 4, 5), (2, 1): (2, 0, 3, 1, 6, 4, 7, 5), (2, 2): (2, 3, 6, 7, 0, 1, 4, 5), (2, 3): (2, 6, 3, 7, 0, 4, 1, 5), (2, 4): (2, 0, 6, 4, 3, 1, 7, 5), (2, 5): (2, 6, 0, 4, 3, 7, 1, 5), (3, 0): (3, 2, 1, 0, 7, 6, 5, 4), (3, 1): (3, 1, 2, 0, 7, 5, 6, 4), (3, 2): (3, 2, 7, 6, 1, 0, 5, 4), (3, 3): (3, 7, 2, 6, 1, 5, 0, 4), (3, 4): (3, 1, 7, 5, 2, 0, 6, 4), (3, 5): (3, 7, 1, 5, 2, 6, 0, 4), (4, 0): (4, 5, 6, 7, 0, 1, 2, 3), (4, 1): (4, 6, 5, 7, 0, 2, 1, 3), (4, 2): (4, 5, 0, 1, 6, 7, 2, 3), (4, 3): (4, 0, 5, 1, 6, 2, 7, 3), (4, 4): (4, 6, 0, 2, 5, 7, 1, 3), (4, 5): (4, 0, 6, 2, 5, 1, 7, 3), (5, 0): (5, 4, 7, 6, 1, 0, 3, 2), (5, 1): (5, 7, 4, 6, 1, 3, 0, 2), (5, 2): (5, 4, 1, 0, 7, 6, 3, 2), (5, 3): (5, 1, 4, 0, 7, 3, 6, 2), (5, 4): (5, 7, 1, 3, 4, 6, 0, 2), (5, 5): (5, 1, 7, 3, 4, 0, 6, 2), (6, 0): (6, 7, 4, 5, 2, 3, 0, 1), (6, 1): (6, 4, 7, 5, 2, 0, 3, 1), (6, 2): (6, 7, 2, 3, 4, 5, 0, 1), (6, 3): (6, 2, 7, 3, 4, 0, 5, 1), (6, 4): (6, 4, 2, 0, 7, 5, 3, 1), (6, 5): (6, 2, 4, 0, 7, 3, 5, 1), (7, 0): (7, 6, 5, 4, 3, 2, 1, 0), (7, 1): (7, 5, 6, 4, 3, 1, 2, 0), (7, 2): (7, 6, 3, 2, 5, 4, 1, 0), (7, 3): (7, 3, 6, 2, 5, 1, 4, 0), (7, 4): (7, 5, 3, 1, 6, 4, 2, 0), (7, 5): (7, 3, 5, 1, 6, 2, 4, 0) 
3×3 transformation matrices 

(0, 0): [[ 1, 0, 0], [0, 1, 0], [0, 0, 1]], (0, 1): [[0, 1, 0], [ 1, 0, 0], [0, 0, 1]], (0, 2): [[ 1, 0, 0], [0, 0, 1], [0, 1, 0]], (0, 3): [[0, 1, 0], [0, 0, 1], [ 1, 0, 0]], (0, 4): [[0, 0, 1], [ 1, 0, 0], [0, 1, 0]], (0, 5): [[0, 0, 1], [0, 1, 0], [ 1, 0, 0]], (1, 0): [[1, 0, 0], [0, 1, 0], [0, 0, 1]], (1, 1): [[0,1, 0], [ 1, 0, 0], [0, 0, 1]], (1, 2): [[1, 0, 0], [0, 0, 1], [0, 1, 0]], (1, 3): [[0,1, 0], [0, 0, 1], [ 1, 0, 0]], (1, 4): [[0, 0,1], [ 1, 0, 0], [0, 1, 0]], (1, 5): [[0, 0,1], [0, 1, 0], [ 1, 0, 0]], (2, 0): [[ 1, 0, 0], [0,1, 0], [0, 0, 1]], (2, 1): [[0, 1, 0], [1, 0, 0], [0, 0, 1]], (2, 2): [[ 1, 0, 0], [0, 0,1], [0, 1, 0]], (2, 3): [[0, 1, 0], [0, 0,1], [ 1, 0, 0]], (2, 4): [[0, 0, 1], [1, 0, 0], [0, 1, 0]], (2, 5): [[0, 0, 1], [0,1, 0], [ 1, 0, 0]], (3, 0): [[1, 0, 0], [0,1, 0], [0, 0, 1]], (3, 1): [[0,1, 0], [1, 0, 0], [0, 0, 1]], (3, 2): [[1, 0, 0], [0, 0,1], [0, 1, 0]], (3, 3): [[0,1, 0], [0, 0,1], [ 1, 0, 0]], (3, 4): [[0, 0,1], [1, 0, 0], [0, 1, 0]], (3, 5): [[0, 0,1], [0,1, 0], [ 1, 0, 0]], (4, 0): [[ 1, 0, 0], [0, 1, 0], [0, 0,1]], (4, 1): [[0, 1, 0], [ 1, 0, 0], [0, 0,1]], (4, 2): [[ 1, 0, 0], [0, 0, 1], [0,1, 0]], (4, 3): [[0, 1, 0], [0, 0, 1], [1, 0, 0]], (4, 4): [[0, 0, 1], [ 1, 0, 0], [0,1, 0]], (4, 5): [[0, 0, 1], [0, 1, 0], [1, 0, 0]], (5, 0): [[1, 0, 0], [0, 1, 0], [0, 0,1]], (5, 1): [[0,1, 0], [ 1, 0, 0], [0, 0,1]], (5, 2): [[1, 0, 0], [0, 0, 1], [0,1, 0]], (5, 3): [[0,1, 0], [0, 0, 1], [1, 0, 0]], (5, 4): [[0, 0,1], [ 1, 0, 0], [0,1, 0]], (5, 5): [[0, 0,1], [0, 1, 0], [1, 0, 0]], (6, 0): [[ 1, 0, 0], [0,1, 0], [0, 0,1]], (6, 1): [[0, 1, 0], [1, 0, 0], [0, 0,1]], (6, 2): [[ 1, 0, 0], [0, 0,1], [0,1, 0]], (6, 3): [[0, 1, 0], [0, 0,1], [1, 0, 0]], (6, 4): [[0, 0, 1], [1, 0, 0], [0,1, 0]], (6, 5): [[0, 0, 1], [0,1, 0], [1, 0, 0]], (7, 0): [[1, 0, 0], [0,1, 0], [0, 0,1]], (7, 1): [[0,1, 0], [1, 0, 0], [0, 0,1]], (7, 2): [[1, 0, 0], [0, 0,1], [0,1, 0]], (7, 3): [[0,1, 0], [0, 0,1], [1, 0, 0]], (7, 4): [[0, 0,1], [1, 0, 0], [0,1, 0]], (7, 5): [[0, 0,1], [0,1, 0], [1, 0, 0]] 
Truncated cuboctahedron coordinates 

Each point is a tuple , and each coordinate in the tuple is a pair , being its sign and the key to the absolute value in abs_list = [1, 1 + sqrt(2), 1 + 2*sqrt(2)] (0, 0): ((1, 2), (1, 1), (1, 0)), (0, 1): ((1, 1), (1, 2), (1, 0)), (0, 2): ((1, 2), (1, 0), (1, 1)), (0, 3): ((1, 1), (1, 0), (1, 2)), (0, 4): ((1, 0), (1, 2), (1, 1)), (0, 5): ((1, 0), (1, 1), (1, 2)), (1, 0): (( 1, 2), (1, 1), (1, 0)), (1, 1): (( 1, 1), (1, 2), (1, 0)), (1, 2): (( 1, 2), (1, 0), (1, 1)), (1, 3): (( 1, 1), (1, 0), (1, 2)), (1, 4): (( 1, 0), (1, 2), (1, 1)), (1, 5): (( 1, 0), (1, 1), (1, 2)), (2, 0): ((1, 2), ( 1, 1), (1, 0)), (2, 1): ((1, 1), ( 1, 2), (1, 0)), (2, 2): ((1, 2), ( 1, 0), (1, 1)), (2, 3): ((1, 1), ( 1, 0), (1, 2)), (2, 4): ((1, 0), ( 1, 2), (1, 1)), (2, 5): ((1, 0), ( 1, 1), (1, 2)), (3, 0): (( 1, 2), ( 1, 1), (1, 0)), (3, 1): (( 1, 1), ( 1, 2), (1, 0)), (3, 2): (( 1, 2), ( 1, 0), (1, 1)), (3, 3): (( 1, 1), ( 1, 0), (1, 2)), (3, 4): (( 1, 0), ( 1, 2), (1, 1)), (3, 5): (( 1, 0), ( 1, 1), (1, 2)), (4, 0): ((1, 2), (1, 1), ( 1, 0)), (4, 1): ((1, 1), (1, 2), ( 1, 0)), (4, 2): ((1, 2), (1, 0), ( 1, 1)), (4, 3): ((1, 1), (1, 0), ( 1, 2)), (4, 4): ((1, 0), (1, 2), ( 1, 1)), (4, 5): ((1, 0), (1, 1), ( 1, 2)), (5, 0): (( 1, 2), (1, 1), ( 1, 0)), (5, 1): (( 1, 1), (1, 2), ( 1, 0)), (5, 2): (( 1, 2), (1, 0), ( 1, 1)), (5, 3): (( 1, 1), (1, 0), ( 1, 2)), (5, 4): (( 1, 0), (1, 2), ( 1, 1)), (5, 5): (( 1, 0), (1, 1), ( 1, 2)), (6, 0): ((1, 2), ( 1, 1), ( 1, 0)), (6, 1): ((1, 1), ( 1, 2), ( 1, 0)), (6, 2): ((1, 2), ( 1, 0), ( 1, 1)), (6, 3): ((1, 1), ( 1, 0), ( 1, 2)), (6, 4): ((1, 0), ( 1, 2), ( 1, 1)), (6, 5): ((1, 0), ( 1, 1), ( 1, 2)), (7, 0): (( 1, 2), ( 1, 1), ( 1, 0)), (7, 1): (( 1, 1), ( 1, 2), ( 1, 0)), (7, 2): (( 1, 2), ( 1, 0), ( 1, 1)), (7, 3): (( 1, 1), ( 1, 0), ( 1, 2)), (7, 4): (( 1, 0), ( 1, 2), ( 1, 1)), (7, 5): (( 1, 0), ( 1, 1), ( 1, 2)) 
These are Python dictionaries without the surrounding braces. They work only in one direction, but bidict can be used to get back to the pairs.
A dictionary of all the subgroups can be found here (as a bijection from naive names to tuples of S_{4} based numbers).