Please declare an explicit group, the class of it is important. For instance:

```
sage: G = DihedralGroup(8)
sage: G.is_cyclic()
False
sage: G.gens()
[(1,2,3,4,5,6,7,8), (1,8)(2,7)(3,6)(4,5)]
```

Also

```
sage: G = SymmetricGroup(3)
sage: for H in G.subgroups():
....: print "gens=%s order=%s abelian=%s cyclic=%s" % (H.gens(), H.order(), H.is_abelian(), H.is_cyclic())
....:
gens=[()] order=1 abelian=True cyclic=True
gens=[(2,3)] order=2 abelian=True cyclic=True
gens=[(1,2)] order=2 abelian=True cyclic=True
gens=[(1,3)] order=2 abelian=True cyclic=True
gens=[(1,2,3)] order=3 abelian=True cyclic=True
gens=[(2,3), (1,2,3)] order=6 abelian=False cyclic=False
```

and

```
sage: AbelianGroup(1).is_cyclic()
True
```