Difference between revisions of "ApCoCoA-1:NC.KernelOfHomomorphism"

From ApCoCoAWiki
m (insert version info)
m (replaced <quotes> tag by real quotes)
 
Line 10: Line 10:
 
<example>
 
<example>
 
Use QQ[x[1..2],y[1..2],a,b];
 
Use QQ[x[1..2],y[1..2],a,b];
NC.SetOrdering(<quotes>ELIM</quotes>); -- we want to eliminate x[1..2],y[1..2]
+
NC.SetOrdering("ELIM"); -- we want to eliminate x[1..2],y[1..2]
 
-- Group ring Q&lt;a,b&gt;/&lt;F11,F12,F13&gt; with the triangle group of order 576
 
-- Group ring Q&lt;a,b&gt;/&lt;F11,F12,F13&gt; with the triangle group of order 576
 
F11:=[[a^2], [-1]];
 
F11:=[[a^2], [-1]];
Line 40: Line 40:
 
-- hence the group &lt;a,b: b^2=(ab)^2=1&gt; is infinite.
 
-- hence the group &lt;a,b: b^2=(ab)^2=1&gt; is infinite.
 
Use QQ[a,b,y];
 
Use QQ[a,b,y];
NC.SetOrdering(<quotes>ELIM</quotes>); -- we want to eliminate a and b
+
NC.SetOrdering("ELIM"); -- we want to eliminate a and b
 
F1:=[[b^2],[-1]]; -- b^2-1
 
F1:=[[b^2],[-1]]; -- b^2-1
 
F2:=[[a,b,a,b],[-1]]; -- (ab)^2-1
 
F2:=[[a,b,a,b],[-1]]; -- (ab)^2-1
Line 56: Line 56:
 
-------------------------------
 
-------------------------------
 
Use QQ[a,b,y];
 
Use QQ[a,b,y];
NC.SetOrdering(<quotes>ELIM</quotes>); -- we want to eliminate a and b
+
NC.SetOrdering("ELIM"); -- we want to eliminate a and b
 
G1:=[[a^3],[-1]]; -- a^3-1
 
G1:=[[a^3],[-1]]; -- a^3-1
 
G2:=[[b^2],[-1]]; -- b^2-1
 
G2:=[[b^2],[-1]]; -- b^2-1

Latest revision as of 13:34, 29 October 2020

This article is about a function from ApCoCoA-1.

NC.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

Use QQ[x[1..2],y[1..2],a,b];
NC.SetOrdering("ELIM"); -- we want to eliminate x[1..2],y[1..2]
-- Group ring Q&lt;a,b&gt;/&lt;F11,F12,F13&gt; with the triangle group of order 576
F11:=[[a^2], [-1]];
F12:=[[b^3], [-1]];
F13:=[[a,b,a,b,a,b^2,a,b^2,a,b,a,b,a,b^2,a,b^2], [-1]];
-- Group ring Q&lt;x[1],y[1],x[2],y[2]&gt;/&lt;F21,F22,F23,F24,F25,F26&gt; with the fundamental group of 3-manifold of order 72
F21:=[[x[1]^3],[y[1]^3]]; --x[1]^3=y[1]^3
F22:=[[x[1]^3],[-y[1],x[2],y[1],x[2]]]; --x[1]^3p=(y[1]x[1]^-1)^2
F23:=[[x[2],x[1]],[-1]];
F24:=[[x[1],x[2]],[-x[2],x[1]]];
F25:=[[y[2],y[1]],[-1]];
F26:=[[y[1],y[2]],[-y[2],y[1]]];
-- Q-group algebra homomorphism phi: Q&lt;a,b&gt;/&lt;F11,F12,F13&gt; --&gt;Q&lt;x[1],y[1],x[2],y[2]&gt;/&lt;F21,F22,F23,F24,F25,F26&gt; 
-- defined by mapping a to x[1] and b to 0
D1:=[[a],[-x[1]]]; -- map a to x[1]
D2:=[[b]]; -- map b to 0
G:=[D1,D2,F21,F22,F23,F24,F25,F26];
Gb:=NC.GB(G);
KGb:=NC.FindPolys(Gb,[a,b]);
Concat(KGb,[F11,F12,F13]); -- a generating sy[1]stem of the ker(phi)

[[[b]], [[a^18], [-1]], [[a^2], [-1]], [[b^3], [-1]], 
[[a, b, a, b, a, b^2, a, b^2, a, b, a, b, a, b^2, a, b^2], [-1]]]
-------------------------------

Corollary (Minimal Polynomial): Let phi: K[y]-->K<x[1],...,x[n]>/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.
Use QQ[a,b,y];
NC.SetOrdering("ELIM"); -- we want to eliminate a and b
F1:=[[b^2],[-1]]; -- b^2-1
F2:=[[a,b,a,b],[-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:=[[y],[-a]]; -- y-a
G:=[D,F1,F2];
Gb:=NC.GB(G);
Gb;
NC.FindPolys(Gb,[y]);

[[[a], [-y]], [[b^2], [-1]], [[y, b, y], [-b]]]
-------------------------------
[ ]
-------------------------------
Use QQ[a,b,y];
NC.SetOrdering("ELIM"); -- we want to eliminate a and b
G1:=[[a^3],[-1]]; -- a^3-1
G2:=[[b^2],[-1]]; -- b^2-1
G3:=[[a,b,a,b],[-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:=[[y],[-b,a,b]]; -- y-bab
G:=[D,G1,G2,G3];
Gb:=NC.GB(G);
NC.FindPolys(Gb,[y]);

[[[y^3], [-1]]]
-------------------------------


See also

Use

NC.FindPolys

NC.GB

NC.SetOrdering

Introduction to CoCoAServer