# Singular

##### 7.5.14.0. Weyl
Procedure from library `nctools.lib` (see nctools_lib).

Usage:
Weyl()

Return:
ring

Purpose:
create a Weyl algebra structure on the basering

Note:
Activate this ring using the command `setring`.
Assume the number of variables of a basering is 2k. (if the number of variables is odd, an error message will be returned)
by default, the procedure treats first k variables as coordinates x_i and the last k as differentials d_i
if a non-zero optional argument is given, the procedure treats 2k variables of a basering as k pairs (x_i,d_i), i.e. variables with odd numbers are treated as coordinates and with even numbers as differentials

Example:
 ```LIB "nctools.lib"; ring A1=0,(x(1..2),d(1..2)),dp; def S=Weyl(); setring S; S; ==> // coefficients: QQ ==> // number of vars : 4 ==> // block 1 : ordering dp ==> // : names x(1) x(2) d(1) d(2) ==> // block 2 : ordering C ==> // noncommutative relations: ==> // d(1)x(1)=x(1)*d(1)+1 ==> // d(2)x(2)=x(2)*d(2)+1 kill A1,S; ring B1=0,(x1,d1,x2,d2),dp; def S=Weyl(1); setring S; S; ==> // coefficients: QQ ==> // number of vars : 4 ==> // block 1 : ordering dp ==> // : names x1 d1 x2 d2 ==> // block 2 : ordering C ==> // noncommutative relations: ==> // d1x1=x1*d1+1 ==> // d2x2=x2*d2+1 ```