up previous next
NC.MRKernelOfHomomorphism

(Partial) Groebner basis of the kernel of a K-algebra homomorphism.
Syntax
          
NC.MRKernelOfHomomorphism(X1:STRING, Relations1:LIST, X2:STRING, Relations2:LIST, Images:LIST):LIST
NC.MRKernelOfHomomorphism(X1:STRING, Relations1:LIST, X2:STRING, Relations2:LIST, Images:LIST, DegreeBound:INT, LoopBound:INT, Flag:INT):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. Since the algorithm used in this function is based on Groebner basis computation, we refer users to NC.MRGB or NC.MRReducedGB for information about the following optional parameters:

Example
-- Example from "On some basic applications of Groebner bases in noncommutative polynomial rings", Patrik Nordbeck
X1 := "abc"; 
Relations1 := []; -- free associative algebra
X2 := "xy"; 
Relations2 := []; -- 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(X1, Relations1, X2, Relations2, Images);
[[[1, "ab"], [-1, "ba"], [1, "ac"], [-1, "ca"]], [[1, "aa"], [-1, "b"], [-1, "c"]]]
-------------------------------
-- Small Changes   
F3 := [[1,"yy"],[1,"xy"]]; -- change here 
Images := [F1, F2, F3]; 
NC.MRKernelOfHomomorphism(X1, Relations1, X2, Relations2, Images, 10, 20, 1);
[[[1, "aab"], [-1, "aba"], [1, "aca"], [-1, "caa"]], [[1, "aaa"], [-1, "ab"], [-1, "ca"]], [[1, "abaa"], [-1, "aaca"], [-1, "abb"], [1, "cca"]], 
[[1, "ababa"], [-1, "abbaa"], [-1, "aacab"], [1, "abcaa"], [-1, "aacca"], [1, "ccab"], [1, "ccca"]], 
[[1, "aacaa"], [-1, "abab"], [1, "abba"], [-1, "abca"], [-1, "ccaa"]]]
-------------------------------


See Also