Ask Your Question

Revision history [back]

  1. The method calls GAP's ConjugacyClassesSubgroups to get the conjugacy classes and then GAP's Representative to get a representative of each. This does not have the property you want. For example SymmetricGroup(4).conjugacy_classes_subgroups() includes both $K=\langle (1,3)(2,4)\rangle$ and $L=\langle (3,4), (1,2)(3,4) \rangle$ where a conjugate of $K$ is a subgroup of $L$ but $K$ is not a subgroup of $L$.

    See symmetric group: get back conjugacy class from its generators if you want the actual conjugacy classes as GAP objects; you will be able to call the methods Representative() and AsList() on them, and on each subgroup you can also call IsSubgroup(H).

  2. I am not a group theorist but your algorithm seems fine to me.

  1. The method calls GAP's ConjugacyClassesSubgroups to get the conjugacy classes and then GAP's Representative to get a representative of each. This does not have the property you want. For example SymmetricGroup(4).conjugacy_classes_subgroups() includes both $K=\langle (1,3)(2,4)\rangle$ and $L=\langle (3,4), (1,2)(3,4) \rangle$ where a conjugate of $K$ is a subgroup of $L$ but $K$ is not a subgroup of $L$.

    See symmetric group: get back conjugacy class from its generators if you want the actual conjugacy classes as GAP objects; you will be able to call the methods Representative() and AsList() on them, and on each subgroup you can also call IsSubgroup(H).

  2. I am not a group theorist but your algorithm seems fine to me.

Edit: Maybe I don't have to tell you this but, caveat: being conjugate in a subgroup is a stronger requirement than being conjugate in the full group (because there are fewer elements to conjugate by).