# Singular

##### 7.7.21.0. rightNFWeyl
Procedure from library `dmodloc.lib` (see dmodloc_lib).

Usage:
rightNFWeyl(id,k); id ideal or poly, k int

Assume:
The basering is the n-th Weyl algebra over a field of characteristic 0 and for all 1<=i<=n the identity
var(i+n)*var(i)=var(i)*var(i+1)+1 holds, i.e. the sequence of variables is given by x(1),...,x(n),D(1),...,D(n), where D(i) is the differential operator belonging to x(i).

Return:
same type as id, the right normal form of id with respect to the principal right ideal generated by the k-th variable

Note:
No Groebner basis computation is used.

Example:
 ```LIB "dmodloc.lib"; ring r = 0,(x,y,Dx,Dy),dp; def W = Weyl(); setring W; ideal I = x^3*Dx^3, y^2*Dy^2, x*Dy, y*Dx; rightNFWeyl(I,1); // right NF wrt principal right ideal x*W ==> _[1]=0 ==> _[2]=y^2*Dy^2 ==> _[3]=0 ==> _[4]=y*Dx rightNFWeyl(I,3); // right NF wrt principal right ideal Dx*W ==> _[1]=-6 ==> _[2]=y^2*Dy^2 ==> _[3]=x*Dy ==> _[4]=0 rightNFWeyl(I,2); // right NF wrt principal right ideal y*W ==> _[1]=x^3*Dx^3 ==> _[2]=0 ==> _[3]=x*Dy ==> _[4]=0 rightNFWeyl(I,4); // right NF wrt principal right ideal Dy*W ==> _[1]=x^3*Dx^3 ==> _[2]=2 ==> _[3]=0 ==> _[4]=y*Dx poly p = x*Dx+1; rightNFWeyl(p,1); // right NF wrt principal right ideal x*W ==> 1 ```