ApCoCoA-1:NCo.KernelOfHomomorphism
NCo.KernelOfHomomorphism
The kernel of an algebra homomorphism.
Syntax
Description
Proposition (Kernel of an Algebra Homomorphism): Let I be a two-sided ideal in the free monoid ring K<x_1,...,x_n>, and let J be a two-sided ideal in the free monoid ring K<y_1,...,y_m>. Moreover, let g_1,...,g_m be polynomials in K<x_1,...,x_n>, and let phi: K<y_1,...,y_m>/J-->K<x_1,...,x_n>/I be a homomorphism of K-algebras defined by phi(y_i+J)=g_i+I for i=1,...,m. We form the free monoid ring K<x_1,...,x_n,y_1,...,y_m>, and let D be the diagonal ideal generated by the set {y_1-g_1,...,y_m-g_m}. Then we have ker(phi)=((D+J) intersets K<y_1,...,y_m>)+I.
Example
-- Group ring Q<a,b>/<F11,F12,F13> with the triangle group of order 576 F11:=[[1,<quotes>aa</quotes>], [-1,<quotes></quotes>]]; F12:=[[1,<quotes>bbb</quotes>], [-1,<quotes></quotes>]]; F13:=[[1,<quotes>abababbabbabababbabb</quotes>], [-1,<quotes></quotes>]]; -- Group ring Q<x,y,X,Y>/<F21,F22,F23,F24,F25,F26> with the fundamental group of 3-manifold of order 72 F21:=[[1,<quotes>xxx</quotes>],[1,<quotes>yyy</quotes>]]; --x^3=y^3 F22:=[[1,<quotes>xxx</quotes>],[-1,<quotes>yXyX</quotes>]]; --x^3p=(yx^-1)^2 F23:=[[1,<quotes>Xx</quotes>],[-1,<quotes></quotes>]]; F24:=[[1,<quotes>xX</quotes>],[-1,<quotes>Xx</quotes>]]; F25:=[[1,<quotes>Yy</quotes>],[-1,<quotes></quotes>]]; F26:=[[1,<quotes>yY</quotes>],[-1,<quotes>Yy</quotes>]]; -- Q-group algebra homomorphism phi: Q<a,b>/<F11,F12,F13> -->Q<x,y,X,Y>/<F21,F22,F23,F24,F25,F26> -- defined by mapping a to x2+1 and b to 0 D1:=[[1,<quotes>a</quotes>],[-1,<quotes>x</quotes>]]; -- map a to x D2:=[[1,<quotes>b</quotes>]]; -- map b to 0 G:=[D1,D2,F21,F22,F23,F24,F25,F26]; NCo.SetX(<quotes>xyXYab</quotes>); NCo.SetOrdering(<quotes>ELIM</quotes>); -- we want to eliminate x,y,X and Y Gb:=NCo.ReducedGB(G); KGb:=NCo.FindPolynomials(<quotes>ab</quotes>,Gb); Concat(KGb,[F11,F12,F13]); -- a generating system of the ker(phi) [[[1, <quotes>b</quotes>]], [[1, <quotes>aaaaaaaaaaaaaaaaaa</quotes>], [-1, <quotes></quotes>]], [[1, <quotes>aa</quotes>], [-1, <quotes></quotes>]], [[1, <quotes>bbb</quotes>], [-1, <quotes></quotes>]], [[1, <quotes>abababbabbabababbabb</quotes>], [-1, <quotes></quotes>]]] -------------------------------
Corollary (Minimal Polynomial): Let phi: K[y]-->K<X>/I be a K-algebra homomorphism given by phi(y)=g+I. Then g+I is algebraic over K if and only if ker(phi) is not zero. Moreover, if g+I is algebraic over K, then the unique monic generating polynomial of the ideal ker(phi) is the minimal polynomial of g+I over K.
Example
-- The following example shows that a is transcendental over Q in the algebra Q<a,b>/<b^2-1,(ab)^2-1>, -- hence the group <a,b: b^2=(ab)^2=1> is infinite. F1:=[[1,"bb"],[-1,""]]; -- b^2-1 F2:=[[1,"abab"],[-1,""]]; -- (ab)^2-1 -- Construct a Q-algebra homomorphism phi: Q[y]--> Q<a,b>/<b^2-1,(ab)^2-1> -- defined by mapping y to a D:=[[1,"y"],[-1,"a"]]; -- y-a G:=[D,F1,F2]; NCo.SetX("aby"); NCo.SetOrdering("ELIM"); -- we want to eliminate a and b Gb:=NCo.GB(G); Gb; NCo.FindPolynomials("y",Gb); [[[1, "a"], [-1, "y"]], [[1, "bb"], [-1, ""]], [[1, "yby"], [-1, "b"]]] ------------------------------- [ ] ------------------------------- -- The following example computes the order of bab in the group <a,b: a^3=b^2=(ab)^2=1>. G1:=[[1,"aaa"],[-1,""]]; -- a^3-1 G2:=[[1,"bb"],[-1,""]]; -- b^2-1 G3:=[[1,"abab"],[-1,""]]; -- (ab)^2-1 -- Construct a Q-algebra homomorphism phi: Q[y]--> Q<a,b>/<a^3-1,b^2-1,(ab)^2-1> -- defined by mapping y to bab D:=[[1,"y"],[-1,"bab"]]; -- y-bab G:=[D,G1,G2,G3]; NCo.SetX("aby"); NCo.SetOrdering("ELIM"); -- we want to eliminate a and b Gb:=NCo.GB(G); NCo.FindPolynomials("y",Gb); [[[1, "yyy"], [-1, ""]]] -- thus the order of bab is 3 -------------------------------
See also