ApCoCoA-1:FreeAbelian groups: Difference between revisions
From ApCoCoAWiki
StrohmeierB (talk | contribs) |
StrohmeierB (talk | contribs) |
||
Line 9: | Line 9: | ||
==== Computation ==== | ==== 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:=[]; | |||
// add the relations of the inverse elements | |||
For Index1 := 1 To MEMORY.N Do | |||
Append(Relations,[[x[Index1],y[Index1]],[1]]); | |||
Append(Relations,[[y[Index1],x[Index1]],[1]]); | |||
EndFor; | |||
// add the relations [x_{i},x_{j}]=1 | |||
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,31,1,100,1000); | |||
Gb; |
Revision as of 10:47, 6 May 2014
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:=[]; // add the relations of the inverse elements For Index1 := 1 To MEMORY.N Do Append(Relations,[[x[Index1],y[Index1]],[1]]); Append(Relations,[[y[Index1],x[Index1]],[1]]); EndFor; // add the relations [x_{i},x_{j}]=1 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,31,1,100,1000); Gb;