# ApCoCoA-1:NC.KernelOfHomomorphism

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