Groups and Cosets

James F. Hurley

The interactive version of this worksheet is the Mathematics Computer Laboratory (MSB 203) in the Math 216 folder of the MathLab folder within the Workspace volume.

1. Basic environment and commands. As a computer-algebra system (CAS), Maple is designed to carry out symbolic calculations according to mathematical laws of algebraic manipulation. In particular, Maple can carry out computations that arise in groups Ñ the simplest abstract algebraic systems. This worksheet illustrates that.

The package for group theory is
group . As with any package, you invoke it by the with command. The second command below defines the symmetric group of degree 3 as the group generated by the transposition g = ( 2 3 ) and the 3-cycle f = ( 1 2 3 ).

> with(group):
S_3 := permgroup( 3, {g = [[2, 3]], f = [[1, 2, 3]]} );

> grouporder(S_3);

Maple can also calculate the center of
:

> center(S_3);

Recall that the center of
consists just of the identity. Maple thus represents the subgroup consisting only of that element as a the group generated by the empty set. Maple can also determine whether a permutation group is abelian, although to get it to do so in the current worksheet it was necessary to list the generators rather than just ask whether the group is abelian.

> isabelian(permgroup( 3, {[[2, 3]], [[1, 2, 3]]} ));

> isabelian(S_3);

```Error, (in convert/plist) unevaluated array index in assignment
```

By contrast, to the question of whether the cyclic subgroup <
f > is abelian, Maple gives a different answer.

> isabelian(permgroup( 3, {[[1, 2, 3]]} ));

You may wonder whether Maple can handle more general groups than permutation groups, but as we will see shortly a theorem of Cayley makes that unnecessary.

2. Cosets.
Maple can determine the right cosets of a subgroup H of a permutation group G. First, specify the groups, as the following code illustrates for the cyclic subgroup H of geneated by the transposition g = ( 2 3 ).

> with(group):
G := permgroup( 3, {[[2, 3]], [[1, 2, 3]]} );
H := permgroup( 3, {[[2, 3]]} );
cosets(G, H);

Observe that Maple does
not list the cosets by displaying rosters of their elements, but rather by listing a complete set of coset representatives : the identity, which of course belongs to H , the representative ( 1 2 ) of the right coset H ( 1 2 ) = {( 1 2 ), ( 2 3 )( 1 2 ) = ( 1 3 2 )}, and finally the representative ( 1 3 ) of the right coset H (1 3 ) = {( 1 3 ), ( 2 3 ) ( 1 3 ) = ( 1 2 3 ) }.