next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Macaulay2Doc > rings > monoid > monoid(...,WeylAlgebra=>...)

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

Synopsis

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

See also

Functions with optional argument named WeylAlgebra :