ApCoCoA-1:Dicyclic groups: Difference between revisions

From ApCoCoAWiki
F lorenz (talk | contribs)
 
(11 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
// Second Implementation without invers elements 
   NC.HF(Gb);
  /*Use the ApCoCoA package ncpoly.*/
   // The order of the dicyclic group
 
   Sum(It);
  // Number of Dicyclic group (note that  the order is 4N)
 
   MEMORY.N:=5;
====Example in Symbolic Data Format====
    
  <FREEALGEBRA createdAt="2014-03-02" createdBy="strohmeier">
 
  <vars>a,b</vars>
  Use ZZ/(2)[a,b,c,d];
  <basis>
   NC.SetOrdering("LLEX");
  <ncpoly>a^(2*5)-1</ncpoly>
  Define CreateRelationsDicyclic()
  <ncpoly>a^5-b*b</ncpoly>
    Relations:=[];
  <ncpoly>b*b*b*a*b-a^(2*5-1)</ncpoly>
   
  </basis>
    // add the relation a^{n} = b^2
  <Comment>Dicyclic_group_5</Comment>
    Append(Relations, [[a^(MEMORY.N)], [-b,b]]);
   </FREEALGEBRA>
   
    // add the relation a^{2n} = 1
    Append(Relations, [[a^(2*MEMORY.N)], [-1]]);
 
    // add the relation b^{-1}ab = a^{-1}
    Append(Relations, [[b^(3),a,b],[a^(2*MEMORY.N-1)]]);
    Return Relations;
   EndDefine;

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>