# 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 variables 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 => { x => dx, y => dy }] o5 = QQ[a..b, x, dx, y, dy] o5 : PolynomialRing, 2 differential variables i6 : QQ[a,b,x,dx,y,dy, WeylAlgebra => { (x, y) => (dx, dy) }] o6 = QQ[a..b, x, dx, y, dy] o6 : PolynomialRing, 1 differential variables

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

 i7 : QQ[x,dx,y,dy,h, WeylAlgebra => { x => dx, y => dy, h }] o7 = QQ[x, dx, y, dy, h] o7 : PolynomialRing, 3 differential variables i8 : dx*x^2 2 2 o8 = x dx + 2x*h o8 : QQ[x, dx, y, dy, h] i9 : dx*x*y 2 o9 = x*dx*y + y*h o9 : QQ[x, dx, y, dy, h] i10 : dx*h^2 2 o10 = dx*h o10 : QQ[x, dx, y, dy, h] i11 : isHomogeneous(dx*(x^2+x*y+h^2)) o11 = 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 -- an optional argument