Difference between revisions of "ApCoCoA-1:NCo.KernelOfHomomorphism"
(New page: <command> <title>NCo.KernelOfHomomorphism</title> <short_description> Enumerate a (partial) Groebner basis of the kernel of a <tt>K</tt>-algebra homomorphism. </short_description> <syntax>...) |
m (replaced <quotes> tag by real quotes) |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Version|1}} | ||
<command> | <command> | ||
<title>NCo.KernelOfHomomorphism</title> | <title>NCo.KernelOfHomomorphism</title> | ||
<short_description> | <short_description> | ||
− | + | The kernel of an algebra homomorphism. | |
</short_description> | </short_description> | ||
− | <syntax> | + | <syntax></syntax> |
− | |||
− | |||
− | </syntax> | ||
<description> | <description> | ||
− | <em> | + | <em>Proposition (Kernel of an Algebra Homomorphism):</em> Let <tt>I</tt> be a two-sided ideal in the free monoid ring <tt>K<x_1,...,x_n></tt>, and let <tt>J</tt> be a two-sided ideal in the free monoid ring <tt>K<y_1,...,y_m></tt>. Moreover, let <tt>g_1,...,g_m</tt> be polynomials in <tt>K<x_1,...,x_n></tt>, and let <tt>phi: K<y_1,...,y_m>/J-->K<x_1,...,x_n>/I</tt> be a homomorphism of <tt>K</tt>-algebras defined by <tt>phi(y_i+J)=g_i+I</tt> for <tt>i=1,...,m</tt>. We form the free monoid ring <tt>K<x_1,...,x_n,y_1,...,y_m></tt>, and let <tt>D</tt> be the diagonal ideal generated by the set <tt>{y_1-g_1,...,y_m-g_m}</tt>. Then we have <tt>ker(phi)=((D+J) intersets K<y_1,...,y_m>)+I</tt>. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<example> | <example> | ||
− | + | -- Group ring Q<a,b>/<F11,F12,F13> with the triangle group of order 576 | |
− | + | F11:=[[1,"aa"], [-1,""]]; | |
− | + | F12:=[[1,"bbb"], [-1,""]]; | |
− | + | F13:=[[1,"abababbabbabababbabb"], [-1,""]]; | |
− | + | -- 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,"xxx"],[1,"yyy"]]; --x^3=y^3 | |
− | NCo. | + | 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<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,"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, | + | [[[1, "b"]], [[1, "aaaaaaaaaaaaaaaaaa"], [-1, ""]], [[1, "aa"], [-1, ""]], [[1, "bbb"], [-1, ""]], |
+ | [[1, "abababbabbabababbabb"], [-1, ""]]] | ||
------------------------------- | ------------------------------- | ||
</example> | </example> | ||
− | + | <em>Corollary (Minimal Polynomial):</em> Let <tt>phi: K[y]-->K<X>/I</tt> be a <tt>K</tt>-algebra homomorphism given by <tt>phi(y)=g+I</tt>. Then <tt>g+I</tt> is algebraic over <tt>K</tt> if and only if <tt>ker(phi)</tt> is not zero. Moreover, if <tt>g+I</tt> is algebraic over <tt>K</tt>, then the unique monic generating polynomial of the ideal <tt>ker(phi)</tt> is the minimal polynomial of <tt>g+I</tt> over <tt>K</tt>. | |
− | <em> | ||
<example> | <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); | |
− | |||
− | |||
− | -- | ||
− | |||
− | |||
− | G:=[ | ||
− | NCo.SetX( | ||
− | NCo.SetOrdering( | ||
− | Gb:=NCo. | ||
Gb; | Gb; | ||
− | + | NCo.FindPolynomials("y",Gb); | |
− | |||
− | [[[1, | + | [[[1, "a"], [-1, "y"]], [[1, "bb"], [-1, ""]], [[1, "yby"], [-1, "b"]]] |
− | [[1, | ||
− | |||
------------------------------- | ------------------------------- | ||
− | [[[1, | + | [ ] |
− | [[1, | + | ------------------------------- |
+ | -- 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 | ||
------------------------------- | ------------------------------- | ||
</example> | </example> | ||
+ | <par/> | ||
</description> | </description> | ||
<seealso> | <seealso> | ||
− | <see>NCo. | + | <see>ApCoCoA-1:NCo.FindPolynomials|NCo.FindPolynomials</see> |
− | + | <see>ApCoCoA-1:NCo.GB|NCo.GB</see> | |
− | + | <see>ApCoCoA-1:NCo.SetOrdering|NCo.SetOrdering</see> | |
− | <see>NCo.GB | + | <see>ApCoCoA-1:NCo.SetX|NCo.SetX</see> |
− | + | <see>ApCoCoA-1:Introduction to CoCoAServer|Introduction to CoCoAServer</see> | |
− | <see>NCo. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <see>NCo. | ||
− | |||
− | |||
− | <see> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</seealso> | </seealso> | ||
<types> | <types> | ||
Line 114: | Line 88: | ||
<key>NCo.KernelOfHomomorphism</key> | <key>NCo.KernelOfHomomorphism</key> | ||
<key>KernelOfHomomorphism</key> | <key>KernelOfHomomorphism</key> | ||
− | <wiki-category>Package_gbmr</wiki-category> | + | <wiki-category>ApCoCoA-1:Package_gbmr</wiki-category> |
</command> | </command> |
Latest revision as of 13:40, 29 October 2020
This article is about a function from ApCoCoA-1. |
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,"aa"], [-1,""]]; F12:=[[1,"bbb"], [-1,""]]; F13:=[[1,"abababbabbabababbabb"], [-1,""]]; -- 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,"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<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,"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<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