# ApCoCoA-1:Weyl.WNR

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

## 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[1]^3d[2]^5d[3]^5+x[2]^5;
F2:=-3x[2]d[2]^5d[3]^5+x[2]d[1]^3;
F3:=-2d[1]^4d[2]^5-x[1]d[2]^7+x[3]^3d[3]^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[1]^3d[2]^5d[3]^5 + x[2]^5
-------------------------------
-- Done.
-------------------------------
Weyl.WNR(x[2]^5-d[1]^3,L);
-------------------------------
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
x[2]^5 - d[1]^3
-------------------------------
-- Done.
-------------------------------
Weyl.WNR(x[2]^5-d[1]^3d[2]^7d[3]^6,F1);

-------------------------------
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
-x[2]^5d[2]^2d[3] - 3x[2]^4d[2]d[3] + x[2]^5 + x[2]^3d[3]
-------------------------------
-- 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.
-------------------------------
```