Ask Your Question

Determining if two subgroups of a symmetric group are conjugate

asked 2018-11-20 21:08:01 -0600

cjohnson gravatar image

If I have two particular subgroups of a symmetric group, is there any built-in way in Sage to determine if the groups are conjugate to one another? I tried creating a ConjugacyClass for each and then comparing them, but this gives an error:

S = SymmetricGroup(3)
gen1 = Permutation('(1,2,3)')
gen2 = Permutation('(1,3,2)')
gen3 = Permutation('(1,2)')
gen4 = Permutation('(1,3)')
G1 = PermutationGroup([gen1, gen3])
G2 = PermutationGroup([gen2, gen4])
ConjugacyClass(S, G1) == ConjugacyClass(S, G2)

When executing the very last line I get the error

TypeError: For implementing multiplication, provide the method '_mul_' for (1,2) resp. Permutation Group with generators [(1,2), (1,2,3)]
edit retag flag offensive close merge delete


What version of Sage? What operating system? How was Sage installed?

slelievre gravatar imageslelievre ( 2018-11-21 02:05:15 -0600 )edit

I was using an older version of Sage (7.1, I think?) on macOS High Sierra, installed using the binaries on I've updated my version of Sage and no longer have the TypeError from before, but am not getting the result I'd expect, as elaborated on in the comment below your answer.

cjohnson gravatar imagecjohnson ( 2018-11-21 08:47:29 -0600 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2018-11-21 02:04:12 -0600

slelievre gravatar image

This seems to work fine in Sage 8.4, for instance as tried on SageMathCell at

Here is how to check the version of Sage (a good thing to include when reporting errors).

sage: print(version())
SageMath version 8.4, Release Date: 2018-10-17

Testing if two conjugacy classes are equal works:

sage: S = SymmetricGroup(3)
sage: a = Permutation('(1, 2, 3)')
sage: b = Permutation('(1, 3, 2)')
sage: c = Permutation('(1, 2)')
sage: d = Permutation('(1, 3)')
sage: G = PermutationGroup([a, c])
sage: H = PermutationGroup([b, d])
sage: GG = ConjugacyClass(S, G)
sage: HH = ConjugacyClass(S, H)
sage: GG == HH

I changed the notation from that in the question, but copy-pasting the exact code from the question works equally well (try it in SageMathCell).

edit flag offensive delete link more



I've updated to 8.4 and no longer have this error, but am not getting the expected result:

S = SymmetricGroup(3)
gen1 = Permutation('(1,2)(3)')
gen2 = Permutation('(1,3)(2)')
G = PermutationGroup([gen1])
H = PermutationGroup([gen2])
CCG = ConjugacyClass(S, G)
CCH = ConjugacyClass(S, H)
print CCG == CCH

This prints False, though these groups are conjugate.

cjohnson gravatar imagecjohnson ( 2018-11-21 08:45:51 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2018-11-20 13:06:56 -0600

Seen: 50 times

Last updated: Nov 21 '18