This is a separate answer looking at subgroups:
The roots and the rules to allow manipulation of permutations:
r = Power[2, 1/3] {1, Exp[2 Pi I/3], Exp[4 Pi I/3]} // ComplexExpand
rules = Thread[r -> Range[3]]
The subgroups generated be e,r,f, r f, r^2f:
sge = {{1, 2, 3}}
rg = {# &, Exp[2 Pi I/3] # &, Exp[4 Pi I/3] # &};
sgr = Union[(Table[rg[[j]] /@ r, {j, 3}] // ComplexExpand) /. rules]
fg = {# &, Conjugate@# &};
sf = Union[(Table[fg[[j]] /@ r, {j, 2}] // ComplexExpand) /. rules]
rfg = {# &, Composition[Exp[2 Pi I/3] # &, Conjugate[#] &],
Composition[Exp[2 Pi I/3] # &, Conjugate[#] &, Exp[2 Pi I/3] # &,
Conjugate[#] &]};
sgrf = Union[(Table[rfg[[j]] /@ r, {j, 2}] // ComplexExpand) /. rules]
r2f = {# &, Composition[Exp[4 Pi I/3] # &, Conjugate[#] &],
Composition[Exp[4 Pi I/3] # &, Conjugate[#] &, Exp[4 Pi I/3] # &,
Conjugate[#] &]};
sgr2f = Union[(Table[r2f[[j]] /@ r, {j, 3}] // ComplexExpand) /.
rules]
Converting subgroups to elements of $S_3$:
subgroups =
Sort /@ Table[
PermutationCycles /@ j, {j, {sge, sgr, sf, sgrf, sgr2f}}]
Labeling the subgroups:
sglab = Thread[
subgroups -> {"<e>", "<r>", "<f>", "<rf>",
"<\!\(\*SuperscriptBox[\(r\), \(2\)]\)f>"}]
Deriving relations between subgroups by conjugation:
s3 = GroupElements[SymmetricGroup[3]]
func[x_, y_] := PermutationProduct[x, #, InversePermutation[x]] & /@ y;
res = TableForm[
grp=Transpose[
Map[Sort, (Table[Union@func[#, j] & /@ s3, {j, subgroups}]), {2}] /.
sglab], TableHeadings -> {Row[{"\[Tau](", #, ")"}] & /@ {"e", "f",
"\!\(\*SuperscriptBox[\(r\), \(2\)]\)f", "r",
"\!\(\*SuperscriptBox[\(r\), \(2\)]\)", "rf"}, None}]
This is consistent with the hyperlinked relations.
The order is different but can be re-ordered as desired
To produce the graph:
w = PermutationCycles /@ (grp[[{1, 2, 4}]] /.
Thread[{"<e>", "<r>", "<f>", "<rf>",
"<\!\(\*SuperscriptBox[\(r\), \(2\)]\)f>"} -> Range[5]])
gph = {Range[5],
DeleteCases[
Union[Flatten@(Thread[
DirectedEdge[Range[5], Permute[Range[5], #]]] & /@
w[[2 ;; 3]])], DirectedEdge[a_, a_]]} /.
Thread[Range[5] -> {"<e>", "<r>", "<f>", "<rf>",
"<\!\(\*SuperscriptBox[\(r\), \(2\)]\)f>"}];
Graph[##, VertexLabels -> "Name",
EdgeStyle -> {"<\!\(\*SuperscriptBox[\(r\), \(2\)]\)f>" \
\[DirectedEdge] "<rf>" -> Red, "<rf>" \[DirectedEdge] "<f>" -> Red,
"<f>" \[DirectedEdge] "<\!\(\*SuperscriptBox[\(r\), \(2\)]\)f>" ->
Red}, EdgeLabels -> {"<\!\(\*SuperscriptBox[\(r\), \(2\)]\)f>" \
\[DirectedEdge] "<rf>" -> "r", "<rf>" \[DirectedEdge] "<f>" -> "r",
"<f>" \[DirectedEdge] "<\!\(\*SuperscriptBox[\(r\), \(2\)]\)f>" ->
"r", "<rf>" \[DirectedEdge]
"<\!\(\*SuperscriptBox[\(r\), \(2\)]\)f>" -> "f"}] & @@ gph
GroupOrbits[SymmetricGroup[3], {-0.63 - 1.1 I, 1.26, -0.63 + 1.1 I}, Conjugate[#] &]
without error message. $\endgroup$GroupOrbits[SymmetricGroup[3], {{-0.63 - 1.1 I, 1.26, -0.63 + 1.1 I}}, Permute[Conjugate@#, #2] &]
? $\endgroup$SymmetricGroup[3] // GroupElements
results in{Cycles[{}], Cycles[{{2, 3}}], Cycles[{{1, 2}}], Cycles[{{1, 2, 3}}], Cycles[{{1, 3, 2}}], Cycles[{{1, 3}}]}
so{-0.63-1.1 I,1.26,-0.63+1.1 I}
is unclear to me. $\endgroup$Conjugate
option in the documentation toGroupOrbits
. $\endgroup$