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