Octahedral Group

Author

Eric W. Weisstein
January 15, 2019

This notebook downloaded from http://mathworld.wolfram.com/notebooks/GroupTheory/OctahedralGroup.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/OctahedralGroup.html.

©2019 Wolfram Research, Inc. except for portions noted otherwise

O

FiniteGroupData["O"]

FiniteGroupData[{"CrystallographicPointGroup","O"}]

FiniteGroupData[{"CrystallographicPointGroup",30},"IsomorphicGroups"]

FiniteGroupData[{"CrystallographicPointGroup",30},"AlternateStandardNames"]

bug(365915)

FiniteGroupData[{"CrystallographicPointGroup",30},"Order"]

FiniteGroupData["O","AlternateStandardNames"]

FiniteGroupData[{"CrystallographicPointGroup",30},"Notation"]

FiniteGroupData[{"CrystallographicPointGroup",30},"Classes"]

FiniteGroupData[{"CrystallographicPointGroup",30},"ConjugacyClasses"]

FiniteGroupData[{"CrystallographicPointGroup",30},"ConjugacyClassSizes"]

ArrayPlot[FiniteGroupData[{"CrystallographicPointGroup",30},"MultiplicationTable"],ColorFunction->#]&/@{Hue,GrayLevel}

FiniteGroupData[{"CrystallographicPointGroup",30},"CayleyGraph"]

UndirectedGraph[%]//ToEntity

spacerep=FiniteGroupData[{"CrystallographicPointGroup",30},"SpaceRepresentation"]

matrixrep=FiniteGroupData[{"CrystallographicPointGroup",30},"MatrixRepresentation"]

permutationrep=FiniteGroupData[{"CrystallographicPointGroup",30},"PermutationRepresentation"]

FiniteGroupData[{"CrystallographicPointGroup",30},"ElementNames"]

Dimensions[mt=FiniteGroupData[{"CrystallographicPointGroup",30},"MultiplicationTable"]]

mt==With[{m=spacerep},Outer[Dot,m,m,1]/.Thread[m->Range[Length[m]]]]

mt==With[{m=matrixrep},Outer[Dot,m,m,1]/.Thread[m->Range[Length[m]]]]

Transpose[mt]==With[{m=permutationrep},Outer[PermutationReplace,m,m,1]/.Thread[m->Range[Length[m]]]]

mt==With[{m=permutationrep},Outer[Part,m,m,1]/.Thread[m->Range[Length[m]]]]

(Subscript[O, h])

FiniteGroupData["Oh"]

FiniteGroupData["Octahedral","IsomorphicGroups"]

FiniteGroupData[{"CrystallographicPointGroup","Oh"}]

FiniteGroupData[{"CrystallographicPointGroup",32}]

FiniteGroupData[{"CrystallographicPointGroup",32},"IsomorphicGroups"]

FiniteGroupData[{"CrystallographicPointGroup",32},"AlternateStandardNames"]

FiniteGroupData["Octahedral","AlternateStandardNames"]

bug(365923)

FiniteGroupData["Octahedral","Notation"]

FiniteGroupData["Octahedral","ElementNames"]

FiniteGroupData["Octahedral","Classes"]

FiniteGroupData["Octahedral","ConjugacyClasses"]

FiniteGroupData["Octahedral","ConjugacyClassSizes"]

ArrayPlot[FiniteGroupData["Octahedral","MultiplicationTable"],ColorFunction->#]&/@{Hue,GrayLevel}

FiniteGroupData["Octahedral","CayleyGraph"]

UndirectedGraph[%]//ToEntity//Head

spacerep=FiniteGroupData["Octahedral","SpaceRepresentation"]

matrixrep=FiniteGroupData["Octahedral","MatrixRepresentation"]

matrixrep==spacerep

permutationrep=FiniteGroupData["Octahedral","PermutationRepresentation"]

Dimensions[mt=FiniteGroupData["Octahedral","MultiplicationTable"]]

mt==With[{m=spacerep},Outer[Dot,m,m,1]/.Thread[m->Range[Length[m]]]]

mt==With[{m=permutationrep},Outer[PermutationReplace,m,m,1]/.Thread[m->Range[Length[m]]]]

Transpose[mt]==With[{m=permutationrep},Outer[PermutationReplace,m,m,1]/.Thread[m->Range[Length[m]]]]

mt==With[{m=permutationrep},Outer[Part,m,m,1]/.Thread[m->Range[Length[m]]]]

jose 2018-01-15: The multiplication table we currently give is based on the order given by a permutation representation of the group, while the list of matrices has been given is some other order. I need to find the reordering that moves one to the other, but this is not simple, so I'd prefer not to do it right now.

O (pre-FiniteGroupData)

orules=Thread[PointGroup["O"]->Range[24]];

Group

GroupQ[PointGroup["O"]]//Timing

Abelian

AbelianGroupQ[PointGroup["O"]]

Conjugacy Classes

ConjugacyClasses[PointGroup["O"]]/.rules

Length/@%

Subgroups

(sub=Subgroups[PointGroup["O"]]/.orules)//Timing

Length/@sub

Multiplication Table

Show[GraphicsArray[ListDensityPlot[Reverse@GroupMultiplicationTable[PointGroup["O"],orules][[1]],ColorFunction->#,Frame->False,Mesh->True,
PlotLabel->TraditionalForm[O],
DisplayFunction->Identity]&/@{Hue,GrayLevel}]]

Polyhedra

Vectors for the octahedral Group.

Vector[Cube]={1,1,1};
Vector[Octahedron]={1,0,0};
Vector[Cuboctahedron]={1,0,1};
Vector[TruncatedOctahedron]={1, 0, 2};
Vector[TruncatedCube]={1,1,Sqrt[2]-1};
Vector[SmallRhombicuboctahedron]={1,1,Sqrt[2]+1};
Vector[SnubCube]={1,Root[-1+#1+((#1)^2)+((#1)^3)&,1],Root[-1+3 #1+((#1)^2)+((#1)^3)&,1]};

polys=#[[1,1,1]]&/@DownValues[Vector]

<<ConvexHull`

Show[GraphicsArray[Partition[
Graphics3D[#,Boxed->False]&/@Function[v,ConvexHull3D[Union[Chop/@Simplify[#.v&/@PointGroup["O"]]]]]/@(N/@Vector/@polys),
4,4,{1,1},{}]
]]//Timing

Cycle Graph

m=MaximalGraphCycles[PointGroup["O"]]

Split[Sort[Flatten[Rest/@m]]]

ShowLabeledGraph[RadialEmbedding[CycleGraph[PointGroup["O"]]]]

(Subscript[O, h]) (pre-FiniteGroupData)

ohrules=Thread[PointGroup["Oh"]->Range[48]];

Group

GroupQ[PointGroup["Oh"]]//Timing

Abelian

AbelianGroupQ[PointGroup["Oh"]]

Conjugacy Classes

(classes=ConjugacyClasses[PointGroup["Oh"]]/.ohrules)//Timing

Length/@classes

Subgroups

SubgroupQ[Sequence@@PointGroup/@{"O","Oh"}]//Timing

(subg=Subgroups[PointGroup["Oh"]]/.ohrules)//Timing

Length/@subg

Multiplication Table

Show[GraphicsArray[ListDensityPlot[Reverse@GroupMultiplicationTable[PointGroup["Oh"],ohrules][[1]],
DisplayFunction->Identity,
PlotLabel->TraditionalForm[(Subscript[O, h])],ColorFunction->#,Frame->False,Mesh->False]&/@{Hue,GrayLevel}]]

Polyhedra

Vectors for the octahedral Group.

Vector48[GreatRhombicuboctahedron]={1,3-Sqrt[2],Sqrt[2]-1};

polys=#[[1,1,1]]&/@DownValues[Vector48]

<<ConvexHull`

Show[GraphicsArray[Partition[
Graphics3D[#,Boxed->False]&/@Function[v,ConvexHull3D[Union[Chop/@Simplify[#.v&/@PointGroup["Oh"]]]]]/@(N/@Vector48/@polys),
5,5,{1,1},{}]
]]//Timing

Cycle Graph

m=MaximalGraphCycles[PointGroup["Oh"]]

Split[Sort[Flatten[Rest/@m]]]

ShowLabeledGraph[RadialEmbedding[CycleGraph[PointGroup["Oh"]]]]