When going through a list of elements, GroupOrbits
usually recognises if the orbit of an element has been calculated already and will skip it in that case to avoid repetitions. For example,
GroupOrbits[SymmetricGroup[2],{1}] == GroupOrbits[SymmetricGroup[2],{1,2}]
will result in True
(because 2
is in the orbit of 1
).
However, if I define
a = {{1,1},{1,2}}
b = {{2,1},{2,2}}
the sets GroupOrbits[SymmetricGroup[2],{a}]
and GroupOrbits[SymmetricGroup[2],{b}]
are practically the same (as sets, in mathematical notation: {(1,1),(1,2)}={(1,2),(1,1)}
etc.), but aren't treated as the same by Mathematica. How can I achieve that the output of GroupOrbits[SymmetricGroup[2],{a,b}]
doesn't add one more orbit?
Secondary question: How does Mathematica handle an input of the form {...}? As a list, as a tuple, or as a set? And how can all these types be distinguished? For example, If I have a list or a tuple, how can I pass it to Mathematica as a set (and the other way round)?
GroupOrbits[SymmetricGroup[2], a]
(without the curly braces)? Because in that case the two yield the same result. $\endgroup${{1,1},{1,2}}
(as a set), not the respective orbits of the two elements{1,1}
and{1,2}
. $\endgroup$b
, I could of course writeReverseSort@b
, that isGroupOrbits[SymmetricGroup[2],{a,ReverseSort@b}]
, but this requires the knowledge ofb
. It would be nice to have that done automatically because the above example is just a minimal example. $\endgroup$