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`subgroup; S2 := Subgroups(G: OrderEqual:=2); printf "There are %o class of order 2 subgroups\n", #S2; S := S2`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;