# ApCoCoA-1:NCo.KernelOfHomomorphism

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

## NCo.KernelOfHomomorphism

The kernel of an algebra homomorphism.

### 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&lt;a,b&gt;/&lt;F11,F12,F13&gt; with the triangle group of order 576
F11:=[[1,"aa"], [-1,""]];
F12:=[[1,"bbb"], [-1,""]];
F13:=[[1,"abababbabbabababbabb"], [-1,""]];
-- Group ring Q&lt;x,y,X,Y&gt;/&lt;F21,F22,F23,F24,F25,F26&gt; 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"]];
-- Q-group algebra homomorphism phi: Q&lt;a,b&gt;/&lt;F11,F12,F13&gt; --&gt;Q&lt;x,y,X,Y&gt;/&lt;F21,F22,F23,F24,F25,F26&gt;
-- 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];
NCo.SetX("xyXYab");
NCo.SetOrdering("ELIM"); -- we want to eliminate x,y,X and Y
Gb:=NCo.ReducedGB(G);
KGb:=NCo.FindPolynomials("ab",Gb);
Concat(KGb,[F11,F12,F13]); -- a generating system of the ker(phi)

[[[1, "b"]], [[1, "aaaaaaaaaaaaaaaaaa"], [-1, ""]], [[1, "aa"], [-1, ""]], [[1, "bbb"], [-1, ""]],
[[1, "abababbabbabababbabb"], [-1, ""]]]
-------------------------------
```

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&lt;a,b&gt;/&lt;b^2-1,(ab)^2-1&gt;,
-- hence the group &lt;a,b: b^2=(ab)^2=1&gt; is infinite.
F1:=[[1,"bb"],[-1,""]]; -- b^2-1
F2:=[[1,"abab"],[-1,""]]; -- (ab)^2-1
-- Construct a Q-algebra homomorphism phi: Q[y]--&gt; Q&lt;a,b&gt;/&lt;b^2-1,(ab)^2-1&gt;
-- 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 &lt;a,b: a^3=b^2=(ab)^2=1&gt;.
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]--&gt; Q&lt;a,b&gt;/&lt;a^3-1,b^2-1,(ab)^2-1&gt;
-- 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
-------------------------------
```