ApCoCoA-1:NC.KernelOfHomomorphism

From ApCoCoAWiki
Revision as of 12:54, 26 July 2010 by Stadler (talk | contribs)

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

NC.Add

NC.BP

NC.Deg

NC.FindPolynomials

NC.GB

NC.Intersection

NC.IsGB

NC.LC

NC.LT

NC.LTIdeal

NC.MinimalPolynomial

NC.Multiply

NC.NR

NC.SetFp

NC.SetOrdering

NC.SetRelations

NC.SetRules

NC.SetX

NC.Subtract

NC.UnsetFp

NC.UnsetOrdering

NC.UnsetRelations

NC.UnsetRules

NC.UnsetX

NC.MRAdd

NC.MRBP

NC.MRIntersection

NC.MRKernelOfHomomorphism

NC.MRMinimalPolynomials

NC.MRMultiply

NC.MRSubtract

Introduction to CoCoAServer