# ApCoCoA-1:Cyclic groups

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

### 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: Gallian, Joseph (1998), Contemporary abstract algebra (4th ed.), Boston: Houghton Mifflin, Chapter 4

#### Computation

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

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

Use ZZ/(2)[a,b];
NC.SetOrdering("LLEX");
Define CreateRelationsCyclic()
Relations:=[];

// add relation of invers elements a and b
Append(Relations,[[a,b],[-1]]);

// add relation a^n = 1
BufferA:=[];
For Index1:=1 To MEMORY.N Do
Append(BufferA,a);
EndFor;
Append(Relations,[[BufferA],[-1]]);
/*
Alternative Implementation
Append(Relations,[[a^MEMORY.N],[-1]]);
*/
Return Relations;
EndDefine;

Relations:=CreateRelationsCyclic();

// Compute the Groebner Bases
```