Difference between revisions of "ApCoCoA-1:NC.KernelOfHomomorphism"
Line 31: | Line 31: | ||
<seealso> | <seealso> | ||
<see>NC.Add</see> | <see>NC.Add</see> | ||
+ | <see>NC.BP</see> | ||
<see>NC.Deg</see> | <see>NC.Deg</see> | ||
<see>NC.GB</see> | <see>NC.GB</see> |
Revision as of 07:42, 23 July 2010
NC.KernelOfHomomorphism
Computing (partial) Groebner basis of kernel of K-algebra homomorphism.
Syntax
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 occurrence 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.GB for information on optional parameters.
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