Difference between revisions of "ApCoCoA-1:Symbolic data Computations"
(New page: Some computation examples) |
|||
Line 1: | Line 1: | ||
− | + | === Computation Examples for [[:ApCoCoA:Symbolic data|Non-abelian Groups]] === | |
+ | |||
+ | ==== <div id="Baumslag_groups">Computations of Baumslag groups</div> ==== | ||
+ | |||
+ | The Baumslag (respectively Baumslag-Solitar) groups are examples of two-generator one-relator groups. | ||
+ | The first variante of this group has the presentation <a, b | a^m = b^n = 1 > for m, n natural numbers. | ||
+ | Type Baumslag1(m, n, [DegreeBound, LoopBound]) to calculate the Gröbner base. | ||
+ | The second variante of this group (the Baumslag-Solitar group) has the presentation <a, b | b*a^m = a^n*b> for m, n natural numbers. | ||
+ | Type Baumslag2(m, n, [DegreeBound, LoopBound]) to calculate the Gröbner base. | ||
+ | |||
+ | Baumslag1(m, n, [DegreeBound, LoopBound]) (optional parameters in "[ ]") | ||
+ | |||
+ | Baumslag group with the following presentation < a, b | a^m = b^n = 1 > | ||
+ | |||
+ | Define Baumslag1(...) | ||
+ | If Not Len(ARGV) = 2 And Not Len(ARGV) = 4 Then | ||
+ | Error("Error in Baumslag1(...). There have to be two argument (n and m for exponents) | ||
+ | or four arguments (n, m, degree, loops)"); | ||
+ | EndIf; | ||
+ | For I:= 1 To Len(ARGV) Do | ||
+ | If Not Type(ARGV[I]) = INT Then | ||
+ | Error("Error in Baumslag1(...). The Type of the Arguments must be INT"); | ||
+ | ElIf ARGV[I] < 1 Then | ||
+ | Error("Error in Baumslag1(...). The integer arguments must be positive"); | ||
+ | EndIf; | ||
+ | EndFor; | ||
+ | X:= "ab"; | ||
+ | Ordering:= "LLEX"; | ||
+ | R:= []; | ||
+ | AM:= ""; | ||
+ | BN:= ""; | ||
+ | For I:= 1 To ARGV[1] Do | ||
+ | AM:= AM + "a"; | ||
+ | EndFor; | ||
+ | For I:= 1 To ARGV[2] Do | ||
+ | BN:= BN + "b"; | ||
+ | EndFor; | ||
+ | F:= [[[1, AM], [-1, ""]], [[1, BN], [-1, ""]]]; | ||
+ | If Len(ARGV) = 1 Then | ||
+ | S:= $apcocoa/gbmr.MRBP(X, Ordering, R, F); | ||
+ | Else | ||
+ | S:= $apcocoa/gbmr.MRBP(X, Ordering, R, F, ARGV[2], ARGV[3], 1); | ||
+ | EndIf; | ||
+ | Return S; | ||
+ | EndDefine; | ||
+ | |||
+ | |||
+ | Baumslag2(m, n, [DegreeBound, LoopBound]) (optional parameters in "[ ]") | ||
+ | |||
+ | Baumslag-Solitar group with the following presentation < a, b | b * a^m = a^n * b > | ||
+ | |||
+ | Define Baumslag2(...) | ||
+ | If Not Len(ARGV) = 2 And Not Len(ARGV) = 4 Then | ||
+ | Error("Error in Baumslag1(...). There have to be two argument (n and m for exponents) or four arguments (n, m, degree, loops)"); | ||
+ | EndIf; | ||
+ | For I:= 1 To Len(ARGV) Do | ||
+ | If Not Type(ARGV[I]) = INT Then | ||
+ | Error("Error in Baumslag1(...). The Type of the Arguments must be INT"); | ||
+ | ElIf ARGV[I] < 1 Then | ||
+ | Error("Error in Baumslag1(...). The integer arguments must be positive"); | ||
+ | EndIf; | ||
+ | EndFor; | ||
+ | X:= "abcdABCD"; | ||
+ | Ordering:= "LLEX"; | ||
+ | R:= []; | ||
+ | AM:= ""; | ||
+ | AN:= ""; | ||
+ | For I:= 1 To ARGV[1] Do | ||
+ | AM:= AM + "a"; | ||
+ | EndFor; | ||
+ | For I:= 1 To ARGV[2] Do | ||
+ | AN:= AN + "a"; | ||
+ | EndFor; | ||
+ | F1 := [[1, "aA"], [-1, ""]]; | ||
+ | F2 := [[1, "bB"], [-1, ""]]; | ||
+ | F3 := [[1, "cC"], [-1, ""]]; | ||
+ | F4 := [[1, "dD"], [-1, ""]]; | ||
+ | F5 := [[1, "Aa"], [-1, ""]]; | ||
+ | F6 := [[1, "Bb"], [-1, ""]]; | ||
+ | F7 := [[1, "Cc"], [-1, ""]]; | ||
+ | F8 := [[1, "Dd"], [-1, ""]]; | ||
+ | F:= [F1, F2, F3, F4, F5, F6, F7, F8, [[1, "a"], [-1, "c"]], [[1, "b"], [-1, "d"]], [[1, "b" + AN], [-1, AM + "b"]]]; | ||
+ | If Len(ARGV) = 1 Then | ||
+ | S:= $apcocoa/gbmr.MRBP(X, Ordering, R, F); | ||
+ | Else | ||
+ | S:= $apcocoa/gbmr.MRBP(X, Ordering, R, F, ARGV[2], ARGV[3], 1); | ||
+ | EndIf; | ||
+ | Return S; | ||
+ | EndDefine; |
Revision as of 12:16, 29 May 2013
Computation Examples for Non-abelian Groups
Computations of Baumslag groups
The Baumslag (respectively Baumslag-Solitar) groups are examples of two-generator one-relator groups. The first variante of this group has the presentation <a, b | a^m = b^n = 1 > for m, n natural numbers. Type Baumslag1(m, n, [DegreeBound, LoopBound]) to calculate the Gröbner base. The second variante of this group (the Baumslag-Solitar group) has the presentation <a, b | b*a^m = a^n*b> for m, n natural numbers. Type Baumslag2(m, n, [DegreeBound, LoopBound]) to calculate the Gröbner base.
Baumslag1(m, n, [DegreeBound, LoopBound]) (optional parameters in "[ ]")
Baumslag group with the following presentation < a, b | a^m = b^n = 1 >
Define Baumslag1(...) If Not Len(ARGV) = 2 And Not Len(ARGV) = 4 Then Error("Error in Baumslag1(...). There have to be two argument (n and m for exponents) or four arguments (n, m, degree, loops)"); EndIf; For I:= 1 To Len(ARGV) Do If Not Type(ARGV[I]) = INT Then Error("Error in Baumslag1(...). The Type of the Arguments must be INT"); ElIf ARGV[I] < 1 Then Error("Error in Baumslag1(...). The integer arguments must be positive"); EndIf; EndFor; X:= "ab"; Ordering:= "LLEX"; R:= []; AM:= ""; BN:= ""; For I:= 1 To ARGV[1] Do AM:= AM + "a"; EndFor; For I:= 1 To ARGV[2] Do BN:= BN + "b"; EndFor; F:= [[[1, AM], [-1, ""]], [[1, BN], [-1, ""]]]; If Len(ARGV) = 1 Then S:= $apcocoa/gbmr.MRBP(X, Ordering, R, F); Else S:= $apcocoa/gbmr.MRBP(X, Ordering, R, F, ARGV[2], ARGV[3], 1); EndIf; Return S; EndDefine;
Baumslag2(m, n, [DegreeBound, LoopBound]) (optional parameters in "[ ]")
Baumslag-Solitar group with the following presentation < a, b | b * a^m = a^n * b >
Define Baumslag2(...) If Not Len(ARGV) = 2 And Not Len(ARGV) = 4 Then Error("Error in Baumslag1(...). There have to be two argument (n and m for exponents) or four arguments (n, m, degree, loops)"); EndIf; For I:= 1 To Len(ARGV) Do If Not Type(ARGV[I]) = INT Then Error("Error in Baumslag1(...). The Type of the Arguments must be INT"); ElIf ARGV[I] < 1 Then Error("Error in Baumslag1(...). The integer arguments must be positive"); EndIf; EndFor; X:= "abcdABCD"; Ordering:= "LLEX"; R:= []; AM:= ""; AN:= ""; For I:= 1 To ARGV[1] Do AM:= AM + "a"; EndFor; For I:= 1 To ARGV[2] Do AN:= AN + "a"; EndFor; F1 := [[1, "aA"], [-1, ""]]; F2 := [[1, "bB"], [-1, ""]]; F3 := [[1, "cC"], [-1, ""]]; F4 := [[1, "dD"], [-1, ""]]; F5 := [[1, "Aa"], [-1, ""]]; F6 := [[1, "Bb"], [-1, ""]]; F7 := [[1, "Cc"], [-1, ""]]; F8 := [[1, "Dd"], [-1, ""]]; F:= [F1, F2, F3, F4, F5, F6, F7, F8, [[1, "a"], [-1, "c"]], [[1, "b"], [-1, "d"]], [[1, "b" + AN], [-1, AM + "b"]]]; If Len(ARGV) = 1 Then S:= $apcocoa/gbmr.MRBP(X, Ordering, R, F); Else S:= $apcocoa/gbmr.MRBP(X, Ordering, R, F, ARGV[2], ARGV[3], 1); EndIf; Return S; EndDefine;