up previous next
NC.MRKernelOfHomomorphism

Computes a Groebner basis of the kernel of a k-algebra homomorphism.
Syntax
          
NC.MRKernelOfHomomorphism(X_1:STRING, R_1:LIST, X_2:STRING, R_2:LIST, Images:LIST):LIST
NC.MRKernelOfHomomorphism(X_1:STRING, R_1:LIST, X_2:STRING, R_2:LIST, Images:LIST, DegreeBound:INT, LoopBound:INT, BFlag:BOOL):LIST

          

Description
Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them. Please note all of the following 3 additional optional parameters must be used at the same time if used.

Example
-- Example from "On some basic applications of Groebner bases in noncommutative polynomial rings", Patrik Nordbeck
X_1 := "abc"; 
R_1 := []; -- free associative algebra
X_2 := "xy"; 
R_2 := []; -- free associative algebra
F1 := [[1,"x"], [1,"y"]]; 
F2 := [[1,"xx"],[1,"xy"]]; 
F3 := [[1,"yy"],[1,"yx"]]; 
Images := [F1, F2, F3]; -- k-algebra homomorphism is defined by a |->x+y, b |->xx+xy, c |->yy+yx
NC.MRKernelOfHomomorphism(X_1, R_1, X_2, R_2, Images);
[[[1, "ab"], [-1, "ba"], [1, "ac"], [-1, "ca"]], [[1, "aa"], [-1, "b"], [-1, "c"]]]
-------------------------------
-- Small Changes 
X_1 := "abc";  
R_1 := []; -- free associative algebra 
X_2 := "xy";  
R_2 := []; -- free associative algebra 
F1 := [[1,"x"], [1,"y"]];  
F2 := [[1,"xx"],[1,"xy"]];  
F3 := [[1,"yy"],[1,"xy"]]; -- change here 
Images := [F1, F2, F3]; 
NC.MRKernelOfHomomorphism(X_1, R_1, X_2, R_2, Images,12,50, True);
[[[1, "aab"], [-1, "aba"], [1, "aca"], [-1, "caa"]], [[1, "aaa"], [-1, "ab"], [-1, "ca"]], [[1, "abaa"], [-1, "aaca"], [-1, "abb"], [1, "cca"]], 
[[1, "aacaa"], [-1, "abab"], [1, "abba"], [-1, "abca"], [-1, "ccaa"]]]
-------------------------------


See Also