next | previous | forward | backward | up | top | index | toc | Macaulay2 website
NoetherianOperators :: DiffOp

DiffOp -- differential operator

Description

A differential operator of the ring $R = \mathbb{K}[x_1,\dots,x_n]$ can be thought of as a polynomial with coefficients in $R$, and monomials in variables $dx_1, \dots, dx_n$, where $dx_i$ corresponds to the partial derivative with respect to $x_i$. These operators form an $R$-vector space, and act naturally on elements of $R$.

i1 : R = QQ[x,y]

o1 = R

o1 : PolynomialRing
i2 : D = diffOp {x => x+y, x*y^2 => 3+x}

                 2
o2 = (x + 3)dx*dy  + (x + y)dx

o2 : DiffOp
i3 : (x^2+3) * D

       3     2               2     3    2
o3 = (x  + 3x  + 3x + 9)dx*dy  + (x  + x y + 3x + 3y)dx

o3 : DiffOp
i4 : D + D

                  2
o4 = (2x + 6)dx*dy  + (2x + 2y)dx

o4 : DiffOp
i5 : D(x^5*y^2)

       5 2     4 3      5      4
o5 = 5x y  + 5x y  + 10x  + 30x

o5 : R

Instances of DiffOp are hash tables, where keys are differential monomials (represented as monomials in $R$), and values are the corresponding coefficients. A useful shortcut for creating instances of DiffOp is to use a WeylAlgebra.

i6 : needsPackage "Dmodules"

o6 = Dmodules

o6 : Package
i7 : S = makeWA R

o7 = S

o7 : PolynomialRing, 2 differential variables
i8 : E = diffOp(y*dx - x*dy^2)

           2
o8 = - x*dy  + y*dx

o8 : DiffOp

See also

Types of differential operator :

Functions and methods returning a differential operator :

Methods that use a differential operator :

For the programmer

The object DiffOp is a type, with ancestor classes HashTable < Thing.