Dear William,
in addition to Alexander Hulpke's answer, let me point out that you could use the polycyclic package and the pcp groups it provides. This package is loaded by default, too. This is how your example looks with pcp groups: gap> G:=CyclicGroup(IsPcpGroup, 8); Pcp-group with orders [ 8 ] gap> Elements(G); [ g1^7, g1^6, g1^5, g1^4, g1^3, g1^2, g1, id ] gap> GeneratorsOfGroup(G); [ g1 ] The elements of cyclic Pcp group defined over a single-element generating set will always be of this "natural" kind. Technically, pcp groups can be considered as a refinement of the pc groups built into GAP, which you also tried (they are the default returned by CyclicGroup, if no other type is specified). The ordering of elements for both pc and pcp groups is always based on the exponents of the group elements. I.e., every group element of a pc / pcp group with generating set g1, ..., gn has a unique reduced expression of the form g1^e1 g2^e2 ... gn^en and GAP uses the lexicographical order on these exponents to order the elements. Thus, the ordering is always fully predictable. Hope that helps, Max _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum