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

From ApCoCoAWiki
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=== <div id="Dicyclic_groups">[[:ApCoCoA:Symbolic data#Dicyclic_groups|Dicyclic groups]]</div> ===
+
=== <div id="Dicyclic_groups">[[:ApCoCoA:Symbolic data#Dicyclic_groups|Dicyclic Groups]]</div> ===
 
==== Description ====
 
==== 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
+
The dicyclic groups are non-abelian groups with order 4n. For n = 2 the dicyclic group is isomporphic to the quarternion group Q.
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.
+
Note that every element of this groups can be written uniquely as a^k x^j for 0 < k < 2n and j = 0 or 1.
C(n) = <a | a^{n} = 1>
+
  Dic(n) = <a,b | a^{2n} = 1, a^{n} = b^{2}, b^{-1}ab = a^{-1}>
  
(Reference: Gallian, Joseph (1998), Contemporary abstract algebra (4th ed.), Boston: Houghton Mifflin, Chapter 4
+
==== Reference ====
 +
Coxeter, H. S. M., "7.1 The Cyclic and Dicyclic groups", Regular Complex Polytopes, Cambridge University, 1974.
  
 
==== Computation ====
 
==== Computation ====
Line 14: Line 15:
 
   MEMORY.N:=5;
 
   MEMORY.N:=5;
 
    
 
    
   Use ZZ/(2)[a,b,c,d];
+
   Use ZZ/(2)[a,b];
 
   NC.SetOrdering("LLEX");
 
   NC.SetOrdering("LLEX");
 +
 
 
   Define CreateRelationsDicyclic()
 
   Define CreateRelationsDicyclic()
 
     Relations:=[];
 
     Relations:=[];
     // add the relations of the invers elements ac = 1 and bd = 1
+
   
     Append(Relations, [[a,c],[-1]]);
+
     // Add the relation a^{2n} = 1
    Append(Relations, [[c,a],[-1]]);
+
     Append(Relations, [[a^(2*MEMORY.N)], [1]]);
    Append(Relations, [[b,d],[-1]]);
+
   
    Append(Relations, [[d,b],[-1]]);
+
     // Add the relation a^{n} = b^2
   
 
     // add the relation a^{n} = b^2
 
 
     Append(Relations, [[a^(MEMORY.N)], [-b,b]]);
 
     Append(Relations, [[a^(MEMORY.N)], [-b,b]]);
   
+
 
     // add the relation a^{2n} = 1
+
     // Add the relation b^{-1}ab = a^{-1}
    Append(Relations, [[a^(2*MEMORY.N)], [-1]]);
+
     Append(Relations, [[b^(3),a,b],[a^(2*MEMORY.N-1)]]);
   
+
 
    // add the relation bab^{-1} = a^{-1}
 
     Append(Relations, [[b,a,d],[-c]]);
 
 
     Return Relations;
 
     Return Relations;
 
   EndDefine;
 
   EndDefine;
Line 37: Line 35:
 
   Relations:=CreateRelationsDicyclic();
 
   Relations:=CreateRelationsDicyclic();
 
   Relations;
 
   Relations;
   GB:=NC.GB(Relations);
+
    
   GB;
+
  // Compute a Groebner basis
 +
  Gb:=NC.GB(Relations);
 +
   Gb;
 +
 
 +
  // Compute the values of the Hilbert-Dehn function
 +
  NC.HF(Gb);
 +
  // The order of the dicyclic group
 +
  Sum(It);
 +
 
 +
====Example in Symbolic Data Format====
 +
  <FREEALGEBRA createdAt="2014-03-02" createdBy="strohmeier">
 +
  <vars>a,b</vars>
 +
  <basis>
 +
  <ncpoly>a^(2*5)-1</ncpoly>
 +
  <ncpoly>a^5-b*b</ncpoly>
 +
  <ncpoly>b*b*b*a*b-a^(2*5-1)</ncpoly>
 +
  </basis>
 +
  <Comment>Dicyclic_group_5</Comment>
 +
  </FREEALGEBRA>

Latest revision as of 20:29, 22 April 2014

Description

The dicyclic groups are non-abelian groups with order 4n. For n = 2 the dicyclic group is isomporphic to the quarternion group Q. Note that every element of this groups can be written uniquely as a^k x^j for 0 < k < 2n and j = 0 or 1.

 Dic(n) = <a,b | a^{2n} = 1, a^{n} = b^{2}, b^{-1}ab = a^{-1}>

Reference

Coxeter, H. S. M., "7.1 The Cyclic and Dicyclic groups", Regular Complex Polytopes, Cambridge University, 1974.

Computation

 /*Use the ApCoCoA package ncpoly.*/
 
 // Number of Dicyclic group (note that  the order is 4N)
 MEMORY.N:=5;
 
 Use ZZ/(2)[a,b];
 NC.SetOrdering("LLEX");
 
 Define CreateRelationsDicyclic()
   Relations:=[];
    
   // Add the relation a^{2n} = 1
   Append(Relations, [[a^(2*MEMORY.N)], [1]]);
    
   // Add the relation a^{n} = b^2
   Append(Relations, [[a^(MEMORY.N)], [-b,b]]);
  
   // Add the relation b^{-1}ab = a^{-1}
   Append(Relations, [[b^(3),a,b],[a^(2*MEMORY.N-1)]]);
 
   Return Relations;
 EndDefine;
 
 Relations:=CreateRelationsDicyclic();
 Relations;
 
 // Compute a Groebner basis
 Gb:=NC.GB(Relations);
 Gb;
 
 // Compute the values of the Hilbert-Dehn function
 NC.HF(Gb);
 // The order of the dicyclic group
 Sum(It);

Example in Symbolic Data Format

 <FREEALGEBRA createdAt="2014-03-02" createdBy="strohmeier">
 	<vars>a,b</vars>
 	<basis>
 	<ncpoly>a^(2*5)-1</ncpoly>
 	<ncpoly>a^5-b*b</ncpoly>
 	<ncpoly>b*b*b*a*b-a^(2*5-1)</ncpoly>
 	</basis>
 	<Comment>Dicyclic_group_5</Comment>
 </FREEALGEBRA>