Ask Your Question

Revision history [back]

I don't think there is an automatic way to do this. If your groups are finite, something like the following might be enough:

sage: G = SymmetricGroup(4)
sage: H = G.subgroup([G([(1,2),(3,4)]),G((1,2))])
sage: K = G.subgroup([G((1,3,2,4))])
sage: for k in K:
    if k in H:
        print k
()
(1,2)(3,4)

Using a list comprehension does the same thing as the for loop above; you can feed this directly to the subgroup function to get the corresponding subgroup:

sage: G.subgroup([k for k in K if k in H])
Subgroup of SymmetricGroup(4) generated by [(), (1,2)(3,4)]

If your subgroups are countably infinite and the intersection is finite, then maybe some modified version of this will work. Otherwise you may have to be more clever.