Turn graph.SymmGroup into generic PermutationGroup
Created by: femtobit
This is just a quick offshot of our discussion over at #703 (closed): Since both @attila-i-szabo and @PhilipVinc were initially confused whether and to what extent SymmGroup
depends on the underlying graph -- and the correct answer to that question is "not at all, really" -- I propose turning it into a generic PermutationGroup
class.
It still makes sense in the context of the graph, since any graph automorphism group acts as (a subset of possible) permutations on its sites.
I feel this change makes the terminology clearer and the role of the former SymmGroup
easier to understand and is largely orthogonal to the work on the PointGroup
interface proposed there.
If we want to extend the hierarchy (e.g., by moving product_table
to some intermediate class) we can still do that later if it becomes useful.