# Difference between revisions of "ApCoCoA-1:NC.Intersection"

From ApCoCoAWiki

Line 2: | Line 2: | ||

<title>NC.Intersection</title> | <title>NC.Intersection</title> | ||

<short_description> | <short_description> | ||

− | + | Intersection of two finitely generated two-sided ideals in a free monoid ring. | |

</short_description> | </short_description> | ||

− | |||

− | |||

− | |||

− | |||

<description> | <description> | ||

− | <em> | + | <em>Propostion (Intersection of Two Ideals):</em> Let <tt>G_I</tt> and <tt>G_J</tt> be two sets of non-zero polynomials in the free nomoid ring <tt>K<x_1,...,x_n></tt>, and let <tt>I</tt> and <tt>J</tt> be two ideals generated by <tt>G_I</tt> and <tt>G_J</tt>, respectively. We choose a new indeterminate <tt>y</tt>, and form the free monoid ring <tt>K<y,x_1,...,x_n></tt>. Furthermore, let <tt>N</tt> be the ideal generated by the union of <tt>{yf: f in G_I}</tt> and <tt>{(1-y)g: g in G_J}</tt>, and let <tt>C</tt> be the ideal generated by the set <tt>{yx_1-x_1y,...,yx_n-x_ny}</tt> of commutators. Then we have the intersection of <tt>I</tt> and <tt>J</tt> is equal to the intersection of <tt>N+C</tt> and <tt>K<x_1,...,x_n></tt>. |

− | < | ||

− | |||

− | |||

− | |||

− | |||

− | |||

− | < | ||

− | |||

− | |||

− | |||

− | |||

− | |||

<example> | <example> | ||

− | NC. | + | -- Let I be the ideal generated by G_I={xy+z,yz+x}, and J be the ideal generated by G_J={yz+x, zx+y}. |

− | NC. | + | -- We compute the intersection of I and J as follows. |

− | F1 := [[1, | + | NC.SetX("txyz"); -- Let t be an new indeterminate |

− | F2 := [[1, | + | NC.SetOrdering("ELIM"); -- Choose an elimination word ordering for t |

− | + | F1 := [[1,"xy"], [1,"z"]]; -- xy+z | |

− | + | F2 := [[1,"yz"], [1,"x"]]; -- yz+x | |

− | G2 := [ | + | G1 := [[1,"yz"], [1,"x"]]; -- yz+x |

− | NC. | + | G2 := [[1,"zx"], [1,"y"]]; -- zx+y |

− | [[[1, | + | N:=[NC.Multiply([[1,"t"]],F1), NC.Multiply([[1,"t"]],F2)]; -- t*F1, t*F2 |

− | [[1, | + | N:=Concat(N,[NC.Multiply([[1,""],[-1,"t"]],G1), NC.Multiply([[1,""],[-1,"t"]],G2)]); -- (1-t)*G1, (1-t)*G2 |

+ | C:=[[[1,"tx"],[-1,"xt"]],[[1,"ty"],[-1,"yt"]],[[1,"tz"],[-1,"zt"]]]; -- set of commutators | ||

+ | G:=Concat(N,C); | ||

+ | Gb:=NC.GB(G,20,50,1); | ||

+ | |||

+ | -- Done. | ||

------------------------------- | ------------------------------- | ||

− | + | ||

− | + | ||

− | + | The following information printed by the ApCoCoAServer shows that Gb it is a partial Groebner basis. | |

− | + | the number of unselected generators: 0 | |

+ | the number of unselected ObstructionMs: 70 | ||

+ | the procedure is interrupted by loop bound! | ||

+ | the total number of ObstructionMs: 298 | ||

+ | the number of selected ObstructionMs: 43 | ||

+ | the number of ObstructionMs detected by Rule 1: 145 | ||

+ | the number of ObstructionMs detected by Rule 2: 0 | ||

+ | the number of ObstructionMs detected by Rule 3: 40 | ||

+ | the number of redundant generators: 6 | ||

+ | It is a partial Groebner basis. | ||

</example> | </example> | ||

</description> | </description> | ||

<seealso> | <seealso> | ||

− | <see>NC. | + | <see>NC.FindPolys</see> |

− | |||

− | |||

<see>NC.GB</see> | <see>NC.GB</see> | ||

− | <see>NC. | + | <see>NC.Mul</see> |

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

<see>NC.SetOrdering</see> | <see>NC.SetOrdering</see> | ||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

− | |||

</seealso> | </seealso> | ||

<types> | <types> | ||

Line 80: | Line 50: | ||

<type>non_commutative</type> | <type>non_commutative</type> | ||

</types> | </types> | ||

− | <key> | + | <key>ncpoly.Intersection</key> |

<key>NC.Intersection</key> | <key>NC.Intersection</key> | ||

<key>Intersection</key> | <key>Intersection</key> | ||

− | <wiki-category> | + | <wiki-category>Package_ncpoly</wiki-category> |

</command> | </command> |

## Revision as of 14:45, 9 May 2013

## NC.Intersection

Intersection of two finitely generated two-sided ideals in a free monoid ring.

### Description

*Propostion (Intersection of Two Ideals):* Let `G_I` and `G_J` be two sets of non-zero polynomials in the free nomoid ring `K<x_1,...,x_n>`, and let `I` and `J` be two ideals generated by `G_I` and `G_J`, respectively. We choose a new indeterminate `y`, and form the free monoid ring `K<y,x_1,...,x_n>`. Furthermore, let `N` be the ideal generated by the union of `{yf: f in G_I}` and `{(1-y)g: g in G_J}`, and let `C` be the ideal generated by the set `{yx_1-x_1y,...,yx_n-x_ny}` of commutators. Then we have the intersection of `I` and `J` is equal to the intersection of `N+C` and `K<x_1,...,x_n>`.

#### Example

-- Let I be the ideal generated by G_I={xy+z,yz+x}, and J be the ideal generated by G_J={yz+x, zx+y}. -- We compute the intersection of I and J as follows. NC.SetX("txyz"); -- Let t be an new indeterminate NC.SetOrdering("ELIM"); -- Choose an elimination word ordering for t F1 := [[1,"xy"], [1,"z"]]; -- xy+z F2 := [[1,"yz"], [1,"x"]]; -- yz+x G1 := [[1,"yz"], [1,"x"]]; -- yz+x G2 := [[1,"zx"], [1,"y"]]; -- zx+y N:=[NC.Multiply([[1,"t"]],F1), NC.Multiply([[1,"t"]],F2)]; -- t*F1, t*F2 N:=Concat(N,[NC.Multiply([[1,""],[-1,"t"]],G1), NC.Multiply([[1,""],[-1,"t"]],G2)]); -- (1-t)*G1, (1-t)*G2 C:=[[[1,"tx"],[-1,"xt"]],[[1,"ty"],[-1,"yt"]],[[1,"tz"],[-1,"zt"]]]; -- set of commutators G:=Concat(N,C); Gb:=NC.GB(G,20,50,1); -- Done. ------------------------------- The following information printed by the ApCoCoAServer shows that Gb it is a partial Groebner basis. the number of unselected generators: 0 the number of unselected ObstructionMs: 70 the procedure is interrupted by loop bound! the total number of ObstructionMs: 298 the number of selected ObstructionMs: 43 the number of ObstructionMs detected by Rule 1: 145 the number of ObstructionMs detected by Rule 2: 0 the number of ObstructionMs detected by Rule 3: 40 the number of redundant generators: 6 It is a partial Groebner basis.

### See also