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

From ApCoCoAWiki
(New page: === <div id="VonDyck groups">Von Dyck groups</div> === ==== Description ==== D(l,m,n) = <x,y | x^{l} = y^{m} = (xy)^{n} = 1> (Reference: not f...)
 
Line 10: Line 10:
 
   /*Use the ApCoCoA package ncpoly.*/
 
   /*Use the ApCoCoA package ncpoly.*/
 
    
 
    
   // Number of Dicyclic group (note that  the order is 4N)
+
   // Parameters of von Dyck group
  MEMORY.N:=5;
 
 
    
 
    
 +
  MEMORY.L:=3;
 +
  MEMORY.M:=5;
 +
  MEMORY.N:=2;
 
    
 
    
   Use ZZ/(2)[a,b,c,d];
+
   Use ZZ/(2)[x,y];
 
   NC.SetOrdering("LLEX");
 
   NC.SetOrdering("LLEX");
   Define CreateRelationsDicyclic()
+
   Define CreateRelationsVonDyck()
 
     Relations:=[];
 
     Relations:=[];
   
 
    // add the relation a^{n} = b^2
 
    Append(Relations, [[a^(MEMORY.N)], [b,b]]);
 
 
      
 
      
     // add the relation a^{2n} = 1
+
     // add the relation x^l = 1
     Append(Relations, [[a^(2*MEMORY.N)], [1]]);
+
    BufferA:=[];
 +
     Append(Relations,[[x^MEMORY.L],[1]]);
 +
   
 +
    // add the relation y^m = 1
 +
    Append(Relations,[[y^MEMORY.M],[1]]);
 +
   
 +
    // add the relation (xy)^n = 1
 +
    BufferXY:=[];
 +
    For Index1 := 1 To MEMORY.N Do
 +
    Append(BufferXY,x);
 +
    Append(BufferXY,y);
 +
    EndFor;
 +
   
 +
    Append(Relations,[BufferXY,[1]]);
 
      
 
      
    // add the relation b^{-1}ab = a^{-1}
 
    Append(Relations, [[b^(3),a,b],[a^(2*MEMORY.N-1)]]);
 
 
     Return Relations;
 
     Return Relations;
 
   EndDefine;
 
   EndDefine;
 
    
 
    
   Relations:=CreateRelationsDicyclic();
+
   Relations:=CreateRelationsVonDyck();
 
   Relations;
 
   Relations;
 
   GB:=NC.GB(Relations);
 
   GB:=NC.GB(Relations);
 
   GB;
 
   GB;

Revision as of 10:12, 13 August 2013

Description

 D(l,m,n) = <x,y | x^{l} = y^{m} = (xy)^{n} = 1>

(Reference: not found yet)

Computation

 /*Use the ApCoCoA package ncpoly.*/
 
 // Parameters of von Dyck group
 
 MEMORY.L:=3;
 MEMORY.M:=5;
 MEMORY.N:=2;
 
 Use ZZ/(2)[x,y];
 NC.SetOrdering("LLEX");
 Define CreateRelationsVonDyck()
   Relations:=[];
   
   // add the relation x^l = 1
   BufferA:=[];
   Append(Relations,[[x^MEMORY.L],[1]]);
   
   // add the relation y^m = 1
   Append(Relations,[[y^MEMORY.M],[1]]);
   
   // add the relation (xy)^n = 1
   BufferXY:=[];
   For Index1 := 1 To MEMORY.N Do
   	Append(BufferXY,x);
   	Append(BufferXY,y);
   EndFor;
   
   Append(Relations,[BufferXY,[1]]);
   
   Return Relations;
 EndDefine;
 
 Relations:=CreateRelationsVonDyck();
 Relations;
 GB:=NC.GB(Relations);
 GB;