Difference between revisions of "ApCoCoA-1:NC.KernelOfHomomorphism"
Line 2: | Line 2: | ||
<title>NC.KernelOfHomomorphism</title> | <title>NC.KernelOfHomomorphism</title> | ||
<short_description> | <short_description> | ||
− | + | Computes a (partial) Groebner basis of the kernel of a <tt>K</tt>-algebra homomorphism. | |
</short_description> | </short_description> | ||
<syntax> | <syntax> | ||
− | NC.KernelOfHomomorphism(X_1:STRING, X_2:STRING, Images:LIST | + | NC.KernelOfHomomorphism(X_1:STRING, X_2:STRING, Images:LIST):LIST |
+ | NC.KernelOfHomomorphism(X_1:STRING, X_2:STRING, Images:LIST, DegreeBound:INT, LoopBound:INT, Flag:INT):LIST | ||
</syntax> | </syntax> | ||
<description> | <description> | ||
Line 12: | Line 13: | ||
Before calling the function, please set coefficient field <tt>K</tt> through the functions <ref>NC.SetFp</ref>(Prime) (or <ref>NC.UnsetFp</ref>()). Default coefficient field is <tt>Q</tt>. For more information, please check the relevant functions. | Before calling the function, please set coefficient field <tt>K</tt> through the functions <ref>NC.SetFp</ref>(Prime) (or <ref>NC.UnsetFp</ref>()). Default coefficient field is <tt>Q</tt>. For more information, please check the relevant functions. | ||
<itemize> | <itemize> | ||
− | <item>@param <em>X_1:</em> a | + | <item>@param <em>X_1:</em> a string which is an alphabet (indeterminates) of a free associative <tt>K</tt>-algebra. Every letter in <tt>X_1</tt> should occur only once. Note that the order of letters in <tt>X_1</tt> is important since it induces an admissible ordering and defines a <tt>K</tt>-algebra homomorphism as well.</item> |
− | <item>@param <em>X_2:</em> a | + | <item>@param <em>X_2:</em> a string which is another alphabet (indeterminates) of another free associative <tt>K</tt>-algebra.</item> |
− | <item>@param <em>Images:</em>a | + | <item>@param <em>Images:</em>a list of polynomials generating a two-sided ideal in <tt>K<X_2></tt>. Each polynomial in <tt>K<X_2></tt> is represented as a LIST of LISTs, which are pairs of form <tt>[c, w]</tt> where c is in <tt>K</tt> and w is a word in <tt>(X_2)*</tt>. Unit in <tt>(X_2)*</tt> is empty word represented as an empty string <quotes></quotes>. <tt>0</tt> polynomial is represented as an empty list. For example, X_2:=<quotes>xy</quotes>; F:=[[1,<quotes>xy</quotes>], [-1, <quotes>y</quotes>], [1,<quotes></quotes>]]; means polynomial <tt>F:=xy-y+1</tt> in <tt>K<x,y></tt>. Note that the order of polynomials in <tt>Images</tt> is important since it defines a <tt>K</tt>-algebra homomorphism.</item> |
+ | </itemize> | ||
+ | Since the algorithm used in this function is based on Groebner basis computation, we refer users to <ref>NC.BP</ref> or <ref>NC.GB</ref> for information about the following optional parameters: | ||
+ | <itemize> | ||
+ | <item>@param <em>DegreeBound</em></item> | ||
+ | <item>@param <em>LoopBound</em></item> | ||
+ | <item>@param <em>Flag</em></item> | ||
</itemize> | </itemize> | ||
− | |||
<example> | <example> | ||
X_1 := <quotes>abc</quotes>; | X_1 := <quotes>abc</quotes>; |
Revision as of 14:11, 14 October 2010
NC.KernelOfHomomorphism
Computes a (partial) Groebner basis of the kernel of a K-algebra homomorphism.
Syntax
NC.KernelOfHomomorphism(X_1:STRING, X_2:STRING, Images:LIST):LIST NC.KernelOfHomomorphism(X_1:STRING, X_2:STRING, Images:LIST, DegreeBound:INT, LoopBound:INT, Flag:INT):LIST
Description
Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them.
Before calling the function, please set coefficient field K through the functions NC.SetFp(Prime) (or NC.UnsetFp()). Default coefficient field is Q. For more information, please check the relevant functions.
@param X_1: a string which is an alphabet (indeterminates) of a free associative K-algebra. Every letter in X_1 should occur only once. Note that the order of letters in X_1 is important since it induces an admissible ordering and defines a K-algebra homomorphism as well.
@param X_2: a string which is another alphabet (indeterminates) of another free associative K-algebra.
@param Images:a list of polynomials generating a two-sided ideal in K<X_2>. Each polynomial in K<X_2> is represented as a LIST of LISTs, which are pairs of form [c, w] where c is in K and w is a word in (X_2)*. Unit in (X_2)* is empty word represented as an empty string "". 0 polynomial is represented as an empty list. For example, X_2:="xy"; F:=[[1,"xy"], [-1, "y"], [1,""]]; means polynomial F:=xy-y+1 in K<x,y>. Note that the order of polynomials in Images is important since it defines a K-algebra homomorphism.
Since the algorithm used in this function is based on Groebner basis computation, we refer users to NC.BP or NC.GB for information about the following optional parameters:
@param DegreeBound
@param LoopBound
@param Flag
Example
X_1 := <quotes>abc</quotes>; X_2 := <quotes>xy</quotes>; F1 := [[1,<quotes>x</quotes>], [1,<quotes>y</quotes>]]; F2 := [[1,<quotes>xx</quotes>],[1,<quotes>xy</quotes>]]; F3 := [[1,<quotes>yy</quotes>],[1,<quotes>yx</quotes>]]; Images :=[F1, F2, F3]; -- a |-> F1; b |-> F2; c |-> F3 NC.KernelOfHomomorphism(X_1, X_2, Images); [[[1, <quotes>ab</quotes>], [-1, <quotes>ba</quotes>], [1, <quotes>ac</quotes>], [-1, <quotes>ca</quotes>]], [[1, <quotes>aa</quotes>], [-1, <quotes>b</quotes>], [-1, <quotes>c</quotes>]]] -------------------------------
See also