ApCoCoA-1:Free groups: Difference between revisions

From ApCoCoAWiki
F lorenz (talk | contribs)
F lorenz (talk | contribs)
Line 9: Line 9:
   /*Use the ApCoCoA package ncpoly.*/
   /*Use the ApCoCoA package ncpoly.*/
    
    
   // Number of free group
   // Number of free group
    
    
   MEMORY.N:=4;
   MEMORY.N:=4;
Line 15: Line 15:
   Use ZZ/(2)[x[1..MEMORY.N],y[1..MEMORY.N]];
   Use ZZ/(2)[x[1..MEMORY.N],y[1..MEMORY.N]];
   NC.SetOrdering("LLEX");
   NC.SetOrdering("LLEX");
   Define CreateRelationsFreeAbelian()
   Define CreateRelationsFree()
     Relations:=[];
     Relations:=[];
     For Index1 := 1 To MEMORY.N Do
     For Index1 := 1 To MEMORY.N Do
Line 24: Line 24:
   EndDefine;
   EndDefine;
    
    
   Relations:=CreateRelationsFreeAbelian();
   Relations:=CreateRelationsFree();
   Relations;
   Relations;
   GB:=NC.GB(Relations);
   GB:=NC.GB(Relations);
   GB;
   GB;

Revision as of 08:26, 16 August 2013

Description

The relations of a free group with n generators only consists of the existence of the invers elements. Any element of a free group has a unique representation.

 F(n) = <a_{1},...,a_{n} | a_{i}a_{i}^{-1} = a_{i}^{-1}a_{i} = 1>

(Reference: Kharlampovich, Olga; Myasnikov, Alexei (2006). "Elementary theory of free non-abelian groups". J. Algebra 302 (2): 451–552)

Computation

 /*Use the ApCoCoA package ncpoly.*/
 
 // Number of free group
 
 MEMORY.N:=4;
 
 Use ZZ/(2)[x[1..MEMORY.N],y[1..MEMORY.N]];
 NC.SetOrdering("LLEX");
 Define CreateRelationsFree()
   Relations:=[];
   For Index1 := 1 To MEMORY.N Do
     Append(Relations,[[x[Index1],y[Index1]],[1]]);
     Append(Relations,[[y[Index1],x[Index1]],[1]]);
   EndFor;
   Return Relations;
 EndDefine;
 
 Relations:=CreateRelationsFree();
 Relations;
 GB:=NC.GB(Relations);
 GB;