# Difference between revisions of "ApCoCoA-1:Weyl.WNR"

## Weyl.WNR

Computes the normal remainder of a Weyl polynomial F with respect

to a polynomial or a list of Weyl polynomials using corresponding implementation in ApCoCoALib.

### Syntax

```Weyl.WNR(F:POLY,G:POLY):POLY
Weyl.WNR(F:POLY,G:LIST):POLY
```

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

Computes the normal remainder of a Weyl polynomial F with respect to a polynomial G or a set of polynomials in the list G.

If G is Groebner basis then this function is used for ideal membership problem. That is, a Weyl polynomial P belongs to an ideal I iff Weyl.WNR(P,Weyl.WGB(I))=0.

• @param F A Weyl polynomial in normal form.

• @param G A Weyl polynomial or a list of Weyl polynomials.

• @return The remainder as a Weyl polynomial using normal remainder algorithm in Weyl algebra A_n.

Note: All polynomials that are not in normal form should be first converted into normal form using Weyl.WNormalForm, otherwise you may get unexpected results.

#### Example

```W3::=ZZ/(7)[x[1..3],d[1..3]];
Use W3;
F1:=-d^3d^5d^5+x^5;
F2:=-3xd^5d^5+xd^3;
F3:=-2d^4d^5-xd^7+x^3d^5;
L:=[F1,F2,F3];
Weyl.WNR(F1,L);
-------------------------------
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
0
-------------------------------
-- Done.
-------------------------------
Weyl.WNR(F1,Gens(Ideal(F2,F3)));
-------------------------------
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
-d^3d^5d^5 + x^5
-------------------------------
-- Done.
-------------------------------
Weyl.WNR(x^5-d^3,L);
-------------------------------
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
x^5 - d^3
-------------------------------
-- Done.
-------------------------------
Weyl.WNR(x^5-d^3d^7d^6,F1);

-------------------------------
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
-x^5d^2d - 3x^4dd + x^5 + x^3d
-------------------------------
-- Done.
-------------------------------
```

#### Example

```Use A1::=QQ[x,d];
Weyl.WNR(xd,d);

-- CoCoAServer: computing Cpu Time = 0
-------------------------------
0
-------------------------------
-- Done.
-------------------------------
Weyl.WNR(xd,x);

-- CoCoAServer: computing Cpu Time = 0
-------------------------------
-1
-------------------------------
-- Done.
-------------------------------
```