ApCoCoA-1:FreeAbelian groups: Difference between revisions

From ApCoCoAWiki
F lorenz (talk | contribs)
No edit summary
Xiu (talk | contribs)
No edit summary
Line 4: Line 4:
following:
following:
  Z(n) = <a_{1},...,a_{n} | [a_{i},a_{j}] = 1 for all i,j>
  Z(n) = <a_{1},...,a_{n} | [a_{i},a_{j}] = 1 for all i,j>
(Reference: Phillip A. Griffith (1970). Infinite Abelian group theory. Chicago Lectures in Mathematics. University of Chicago Press.)
 
==== Reference ====
Phillip A. Griffith, Infinite Abelian group theory. Chicago Lectures in Mathematics. University of Chicago Press, 1970.
 
==== Computation ====
==== Computation ====
   /*Use the ApCoCoA package ncpoly.*/
   /*Use the ApCoCoA package ncpoly.*/
    
    
   // Number of free abelian group
   // Number of free abelian group
 
   MEMORY.N:=3;
   MEMORY.N:=3;
    
    
   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 CreateRelationsFreeAbelian()
     Relations:=[];
     Relations:=[];
Line 21: Line 24:
       EndFor;
       EndFor;
     EndFor;
     EndFor;
 
 
     Return Relations;
     Return Relations;
   EndDefine;
   EndDefine;
Line 28: Line 29:
   Relations:=CreateRelationsFreeAbelian();
   Relations:=CreateRelationsFreeAbelian();
   Relations;
   Relations;
 
   GB:=NC.GB(Relations);
   GB:=NC.GB(Relations);
   GB;
   GB;

Revision as of 09:14, 23 August 2013

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;