Macaulay2 » Documentation
Packages » Macaulay2Doc > rings > monoid > monoid(...,WeylAlgebra=>...)
next | previous | forward | backward | up | index | toc

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 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

See also

Functions with optional argument named WeylAlgebra :