math software - permutation group elements operation I need a software allows to calculate operation elements of permutation group. For example the following elements operation yields identity permutation
$$ (1234)(1423) = (1)$$
Sage seems to solve the problem. I needed to find conjugacy classes of $D_4$
D = DihedralGroup(4)
print D
D.list()
for i in D:
    l = list()
    for j in D:
        l.append(j*i*j^-1)
    print l

 A: Try GAP: http://www.gap-system.org . It is designed to work with groups, and specially permutations. Here is a sample:
gap> (1,2,3,4)*(1,4,3,2);
()
gap> G:=DihedralGroup(IsPermGroup,8);
Group([ (1,2,3,4), (2,4) ])
gap> cc:=ConjugacyClasses(G);
[ ()^G, (2,4)^G, (1,2)(3,4)^G, (1,2,3,4)^G, (1,3)(2,4)^G ]
gap> for c in cc do
> Print(AsList(c),"\n");
> od;
[ () ]
[ (2,4), (1,3) ]
[ (1,2)(3,4), (1,4)(2,3) ]
[ (1,2,3,4), (1,4,3,2) ]
[ (1,3)(2,4) ]

A: SAGE can also do this. It also has a cloud version, so you don't have to install anything.
Here's how I would do your example in SAGE:
G = SymmetricGroup(4)
G
L = G.list()
g = L[5]
g
h = L[10]
h
g*h

Symmetric group of order 4! as a permutation group
(2,3,4)
(1,2,4,3)
(1,2)

To explain what is going on: In the first line I create the symmetric group of order $4!$. Then by typing just "G", SAGE tells me what I've gotten. Then I make a list of all of its elements. I let $g,h$ be element numbers $5$ and $10$, respectively (counting starts at zero). Then I can compute the permutation $gh$.
