up previous next
NC.KernelOfHomomorphism

Enumerate a (partial) Groebner basis of the kernel of a K-algebra homomorphism.
Syntax
          
NC.KernelOfHomomorphism(X1:STRING, X2:STRING, Images:LIST):LIST
NC.KernelOfHomomorphism(X1:STRING, X2:STRING, 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.

Please set the coefficient fieldK via the function NC.SetFp before calling the function. The default coefficient field is Q. For more information, please check the relevant function. Since this function is based on Groebner basis computations, we refer users to NC.GB or NC.ReducedGB for information about the following three optional parameters:

Example
X1 := "abc"; 
X2 := "xy"; 
F1 := [[1,"x"], [1,"y"]]; 
F2 := [[1,"xx"],[1,"xy"]]; 
F3 := [[1,"yy"],[1,"yx"]]; 
Images :=[F1, F2, F3]; -- a |-> F1; b |-> F2; c |-> F3 
NC.KernelOfHomomorphism(X1, X2, Images);

[[[1, "ab"], [-1, "ba"], [1, "ac"], [-1, "ca"]], [[1, "aa"], [-1, "b"], [-1, "c"]]]
-------------------------------


Theorem: Let I be an ideal of K, let Y= {y1,...,ym} be another alphabet, let K be the free monoid ring generated by Y over K, and let J be an ideal of K. Moreover, let g1,...,gm be polynomals in K, and let f: K/J -> K/I be a homomorphism of K-algebras defined by f(yi)=gi for i=1,...,m. We form the free monoid ring K over K, and let D be the diagonal ideal in K generated by the set {y1-g1,...,ym−gm}. Then we have ker(f)=((D + I) intersect K)+J.

Example
-- Group ring Q/ with the triangle group of order 576
F11:=[[1,"aa"], [-1,""]];
F12:=[[1,"bbb"], [-1,""]];
F13:=[[1,"abababbabbabababbabb"], [-1,""]];
-- Group ring Q/ with 
-- the fundamental group of 3-manifold of order 72
F21:=[[1,"xxx"],[1,"yyy"]]; --x^3=y^3
F22:=[[1,"xxx"],[-1,"yXyX"]]; --x^3p=(yx^-1)^2
F23:=[[1,"Xx"],[-1,""]];
F24:=[[1,"xX"],[-1,"Xx"]];
F25:=[[1,"Yy"],[-1,""]];
F26:=[[1,"yY"],[-1,"Yy"]];
-- K-group algebra homomorphism from Q/ to 
-- Q/ defined by mapping a to x2+1 and b to 0
D1:=[[1,"a"],[-1,"x"]]; -- map a to x
D2:=[[1,"b"]]; -- map b to 0
G:=[D1,D2,F21,F22,F23,F24,F25,F26];
NC.SetX("xyXYab");
NC.SetOrdering("ELIM"); -- we want to eliminate x,y,X and Y
Gb:=NC.ReducedGB(G);
Gb;
KGb:=NC.FindPolynomials("ab",Gb);
Concat(KGb,[F11,F12,F13]); -- the kernel of K-group algebra homomorphism

[[[1, "b"]], [[1, "aaaaaaaaaaaaaaaaaa"], [-1, ""]], [[1, "Yaaa"], [-1, "aaaY"]], [[1, "YY"], [1, "aYa"]], 
[[1, "YaY"], [-1, "aaaaaaaaaaaaaa"]], [[1, "YaaY"], [1, "aaaaaaaaaaaYaa"]], [[1, "X"], [-1, "aaaaaaaaaaaaaaaaa"]], 
[[1, "y"], [-1, "aaaaYa"]], [[1, "x"], [-1, "a"]]]
-------------------------------
[[[1, "b"]], [[1, "aaaaaaaaaaaaaaaaaa"], [-1, ""]], [[1, "aa"], [-1, ""]], [[1, "bbb"], [-1, ""]], 
[[1, "abababbabbabababbabb"], [-1, ""]]]
-------------------------------


See Also