I'm trying to use Magma to do a double coset calculation on the group M10, but the answer does not make sense to me. Your help and comments are most appreciated. First, here's the calculation:
(1) M10 has one conjugacy class of order 72 subgroups; pick one and call it T. There is also one class of order 2 subgroups; pick one and call it S.
(2) Denote by $\tau_i$ the representatives of the double coset decomposition $M10 = (T \tau_1 S) \coprod (T \tau_2 S) \coprod$ ...
(3) For each i: Compute the index $[ S^\tau_i: T \cap S^\tau_i ]$ where $S^t$ denotes the conjugate of S by t.
The (unordered) set of these indices is known to be independent of the choice of the tau's. However, when I tried to do this on Magma, I get different answers if I run the same code multiple times. I did run my code using smaller groups and I got the correct answer. I am new to Magma so perhaps I made syntax errors, but I'm totally confused. I've sent along my short code; your help and comments are most appreciative. THANKS!
=== magma code ===
G := SmallGroup(720,765);
S72 := Subgroups(G: OrderEqual:=72);
printf "There are %o class of index 10 subgroups\n", #S72;
T := S72[1]`subgroup;
S2 := Subgroups(G: OrderEqual:=2);
printf "There are %o class of order 2 subgroups\n", #S2;
S := S2[1]`subgroup;
printf "Here is the actual order 2 subgroup: %o\n", S;
printf ("Double coset representatives of the order 72 by order 2: \n");
D2, D2size := DoubleCosetRepresentatives(G, T, S);
D2;
for i := 1 to #D2 do
dtau := S^D2[i];
printf "i=%o: %o\n", i, #dtau / #(T meet dtau);
end for;