ApCoCoA-1:FreeAbelian groups

From ApCoCoAWiki

Description

Every element in a free abelian group can be written in only way as a finite linear combination. A representation is given by the following:

Z(n) = <a_{1},...,a_{n} | [a_{i},a_{j}] = 1 for all i,j>

Reference

Phillip A. Griffith, Infinite Abelian group theory. Chicago Lectures in Mathematics. University of Chicago Press, 1970.

Computation

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