I have a permutation group, e.g.
g = PermutationGroup[{Cycles[{{1, 2}}]}]
but not necessarily limited to a single generating cycle.
What I want is to create a list of subsets of some integers, for instance {1,2,3}
, modulo this group g
. I know I can create all subsets of this list of, say, length 2, via
Subsets[{1,2,3},{2}] (* == {{1, 2}, {1, 3}, {2, 3}} *)
Under the action of g
, the last two items are considered equivalent, as one can map 1<->2
.
How do I do this, ideally without filtering a list of all possible subsets (as those blow up exponentially when the list of integers becomes longer)?
Thanks a lot!
/J
Edit: I found a paper that yields an algorithm, if anyone has an idea on how to implement this efficiently in a Mathematica way?