# monoid(...,WeylAlgebra=>...) -- specify differential operators in the ring

## Synopsis

• Usage:
monoid[x,dx,y,dy, WeylAlgebra => {x => dx, y => dy}]
monoid[x,dx,y,dy,h, WeylAlgebra => {x => dx, y => dy, h}]

## Description

The WeylAlgebra option may be used to provide a list of variables and their corresponding differential operators in a Weyl algebra. For instance, an option of the form x => dx specifies that dx plays the role of the derivative with respect to x in the resulting Weyl algebra.

 i1 : R = ZZ/101[x,dx,y,dy, WeylAlgebra => {x => dx, y => dy}] o1 = R o1 : PolynomialRing, 2 differential variable(s) i2 : dx*x o2 = x*dx + 1 o2 : R i3 : dx*x^10 10 9 o3 = x dx + 10x o3 : R i4 : dx*y^10 10 o4 = dx*y o4 : R

Note that only when the monoid is used to create a polynomial ring the Weyl algebra variables take effect. There are multiple acceptable ways to populate this option, but the differential variable always has to come to the right of the corresponding algebra variable.

 i5 : QQ[a,b,x,dx,y,dy, WeylAlgebra => { {2, 3}, {4, 5} }] o5 = QQ[a..b, x, dx, y, dy] o5 : PolynomialRing, 2 differential variable(s) i6 : QQ[a,b,x,dx,y,dy, WeylAlgebra => { 2 => 3, 4 => 5 }] o6 = QQ[a..b, x, dx, y, dy] o6 : PolynomialRing, 2 differential variable(s) i7 : QQ[a,b,x,dx,y,dy, WeylAlgebra => { x => dx, y => dy }] o7 = QQ[a..b, x, dx, y, dy] o7 : PolynomialRing, 2 differential variable(s) i8 : QQ[a,b,x,dx,y,dy, WeylAlgebra => { (x, y) => (dx, dy) }] o8 = QQ[a..b, x, dx, y, dy] o8 : PolynomialRing, 2 differential variable(s)

The package Dmodules contains further methods for creating and manipulating Weyl algebras.

 i9 : needsPackage "Dmodules" o9 = Dmodules o9 : Package i10 : makeWA(QQ[x,y]) o10 = QQ[x..y, dx, dy] o10 : PolynomialRing, 2 differential variable(s)

Lastly, if a single variable is provided at the end, it is used as a homogenizing variable.

 i11 : QQ[x,dx,y,dy,h, WeylAlgebra => { x => dx, y => dy, h }] o11 = QQ[x, dx, y, dy, h] o11 : PolynomialRing, 3 differential variable(s) and one homogenizing variable i12 : dx*x^2 2 2 o12 = x dx + 2x*h o12 : QQ[x, dx, y, dy, h] i13 : dx*x*y 2 o13 = x*dx*y + y*h o13 : QQ[x, dx, y, dy, h] i14 : dx*h^2 2 o14 = dx*h o14 : QQ[x, dx, y, dy, h] i15 : isHomogeneous(dx*(x^2+x*y+h^2)) o15 = true

This option may also be used when creating a new ring from an existing ring, creating a tensor product ring, or symmetric algebra.

## Further information

• Default value: {}
• Function: monoid -- make or retrieve a monoid
• Option key: WeylAlgebra -- specify differential operators in the ring