Create the groups CyclicPermutationGroup(8) and DihedralGroup(4) and name these groups C and D, respectively. We will understand these constructions better shortly, but for now just understand that both objects you create are actually groups.

Check that C and D have the same size by using the .order() method. Determine which group is abelian, and which is not, by using the .is_abelian() method.

Write a nicely formatted discussion identifying differences between the two groups that are discernible in properties of their Cayley tables. In other words, what is {\em different} about these two groups that you can “see” in the Cayley tables? (In the Sage notebook, a Shift-click on a blue bar will bring up a mini-word-processor, and you can use use dollar signs to embed mathematics formatted using TeX syntax.)

For C locate the one subgroup of order \(4\text{.}\) The group D has three subgroups of order \(4\text{.}\) Select one of the three subgroups of D that has a different structure than the subgroup you obtained from C.

The .subgroups() method will give you a list of all of the subgroups to help you get started. A Cayley table will help you tell the difference between the two subgroups. What properties of these tables did you use to determine the difference in the structure of the subgroups?

The .subgroup(elt_list) method of a group will create the smallest subgroup containing the specified elements of the group, when given the elements as a list elt_list. Use this command to discover the shortest list of elements necessary to recreate the subgroups you found in the previous exercise. The equality comparison, ==, can be used to test if two subgroups are equal.