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

From ApCoCoAWiki
Line 5: Line 5:
 
  C(n) = <a | a^{n} = 1>
 
  C(n) = <a | a^{n} = 1>
  
(Reference: Gallian, Joseph (1998), Contemporary abstract algebra (4th ed.), Boston: Houghton Mifflin, Chapter 4
+
==== Reference ====
 +
Gallian, Joseph (1998), Contemporary abstract algebra (4th ed.), Boston: Houghton Mifflin, Chapter 4.
  
 
==== Computation ====
 
==== Computation ====
Line 16: Line 17:
 
   Use ZZ/(2)[a];
 
   Use ZZ/(2)[a];
 
   NC.SetOrdering("LLEX");
 
   NC.SetOrdering("LLEX");
 +
 
 
   Define CreateRelationsCyclic()
 
   Define CreateRelationsCyclic()
  Relations:=[];
+
    Relations:=[];
 
+
    // Add relation a^n = 1
  // add relation a^n = 1
+
    Append(Relations,[[a^MEMORY.N],[-1]]);
  Append(Relations,[[a^MEMORY.N],[-1]]);
+
    Return Relations;
  Return Relations;
 
 
   EndDefine;
 
   EndDefine;
 
    
 
    
 
   Relations:=CreateRelationsCyclic();
 
   Relations:=CreateRelationsCyclic();
 +
  Relations;
 
    
 
    
   // Compute the Groebner Bases
+
   // Compute a Groebner Basis.
   GB:=NC.GB(Relations);
+
   Gb:=NC.GB(Relations);
 +
  Gb;
 
   //  RESULT for MEMORY.N = 5 :: [[[a^5], [1]]]
 
   //  RESULT for MEMORY.N = 5 :: [[[a^5], [1]]]

Revision as of 07:32, 23 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();
 Relations;
 
 // Compute a Groebner Basis.
 Gb:=NC.GB(Relations);
 Gb;
 //  RESULT for MEMORY.N = 5 :: [[[a^5], [1]]]