Difference between revisions of "ApCoCoA-1:Symbolic data Computations"

From ApCoCoAWiki
(New page: Some computation examples)
 
Line 1: Line 1:
Some computation examples
+
=== 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;