Make `SymmetryGroup` object so the result of symmetry finding is unique
Currently symmetries
returns a pair of discrete and continuous group symmetries. If there are any continuous symmetries, this result is not unique, as the discrete symmetries can be mixed with any continuous symmetry. This is a recurring problem, that the same symmetry group action can be represented by qsymm
in different ways, and it is not always easy to tell whether two instances are the same.
I propose the solution to combine the continuous and discrete symmetries into a single object, and implement various symmetry group operations (such as equivalence check, and normalizing the representations) on such objects.