# ApCoCoA-1:Cyclic groups

### Cyclic groups

#### Description

Every cyclic group is generated by a single element a. If n is finite the group is isomorphic to Z/nZ, otherwise it can be interpreted as Z with the addition of integers as the group operation. For every cyclic group there only exists one subgroup containing a, the group itself.

```C(n) = <a | a^{n} = 1>
```

#### Reference

Joseph A. Gallian, Contemporary Abstract Algebra (4th ed.), Boston: Houghton Mifflin, Chapter 4, 1998.

#### Computation

``` /*Use the ApCoCoA package ncpoly.*/

// Number of cyclic group
MEMORY.N:=5;

Use ZZ/(2)[a];
NC.SetOrdering("LLEX");

Define CreateRelationsCyclic()
Relations:=[];
// Add relation a^n = 1
Append(Relations,[[a^MEMORY.N],[1]]);
Return Relations;
EndDefine;

Relations:=CreateRelationsCyclic();
Relations;

// Compute a Groebner Basis.
Gb:=NC.GB(Relations);
Gb;
// RESULT for MEMORY.N = 5 :: [[[a^5], [1]]]
```

#### Beispiel im Symbolic Data Format

##### Cyclic group 5
``` <FREEALGEBRA createdAt="2014-03-02" createdBy="strohmeier">
<vars>a</vars>
<basis>
<ncpoly>a^5-1</ncpoly>
</basis>
<Comment>Cyclic_group_5</Comment>
</FREEALGEBRA>
```