Which two elements of $Z_2 \times Z_4$ might you use to generate all of $Z_2 \times Z_4$?

58 Views Asked by At

In Judson Abstract Algebra: Theory and Applications, p. 176, one can read:

Build the permutation representation of $Z_2 \times Z_4$ described in Cayley’s Theorem [...]

I got to this point with Sage (after some pen and paper work):

G = PermutationGroup([
    '()',
    '(1,2,3,4)(5,6,7,8)',
    '(1,3)(2,4)(5,7)(6,8)',
    '(1,4,3,2)(5,8,7,6)',
    '(1,5)(2,6)(3,7)(4,8)',
    '(1,6,3,8)(2,7,4,5)',
    '(1,7)(2,8)(3,5)(4,6)',
    '(1,8,3,6)(2,5,4,7)'
])

I think this is fine. But, it then asks:

[...] construct the permutation group as a subgroup of a full symmetric group that is generated by exactly two of the eight elements you have already constructed. Hint: which two elements of $Z_2 \times Z_4$ might you use to generate all of $Z_2 \times Z_4$?

What I expect is to find two elements of $Z_2 \times Z_4$ which generate $Z_2 \times Z_4$. But, I have been scratching my head since I simply can't see which elements do this.

I know that elements with the highest order possible in $Z_2 \times Z_4$ will have order $lcm(2, 4) = 4$. So I think I have to choose two such elements. But without even considering the permutation group I built, I cannot get those two elements from pen and paper. To convince myself that something is off, I wrote a sage script:

generated = set()
for element in G:
    order = element.order()
    assert order in set([1, 2, 4])
    if order == 4:
        generates = [element ** i for i in range(0, 4)]
        generated.update(generates)

It outputs:

{(),
 (1,2,3,4)(5,6,7,8),
 (1,3)(2,4)(5,7)(6,8),
 (1,4,3,2)(5,8,7,6),
 (1,6,3,8)(2,7,4,5),
 (1,8,3,6)(2,5,4,7)}

which clearly isn't my initial group. What am I doing/understanding wrong here?