Difference between revisions of "ApCoCoA-1:Cyclic groups"

From ApCoCoAWiki
(New page: === <div id="Cyclic_groups">Cyclic groups</div> === ==== Description ==== Every cyclic group is generated by a single element a. If n is finite the...)
 
Line 14: Line 14:
 
   MEMORY.N:=5;
 
   MEMORY.N:=5;
 
    
 
    
   Use ZZ/(2)[a,b];
+
   Use ZZ/(2)[a];
 
   NC.SetOrdering("LLEX");
 
   NC.SetOrdering("LLEX");
 
   Define CreateRelationsCyclic()
 
   Define CreateRelationsCyclic()
 
   Relations:=[];
 
   Relations:=[];
 
 
  // add relation of invers elements a and b
 
  Append(Relations,[[a,b],[-1]]);
 
 
    
 
    
 
   // add relation a^n = 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]]);
 
   Append(Relations,[[a^MEMORY.N],[-1]]);
  */
 
 
   Return Relations;
 
   Return Relations;
 
   EndDefine;
 
   EndDefine;

Revision as of 14:49, 12 August 2013

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];
 NC.SetOrdering("LLEX");
 Define CreateRelationsCyclic()
 Relations:=[];
 
 // add relation a^n = 1
 Append(Relations,[[a^MEMORY.N],[-1]]);
 Return Relations;
 EndDefine;
 
 Relations:=CreateRelationsCyclic();
 
 // Compute the Groebner Bases