Let $D$ be the Weyl algebra with generators $x_1,\dots,x_n$ and $\partial_1,\dots,\partial_n$ over a field $K$ of characteristic zero, and denote $R = K(x_1..x_n)<\partial_1..\partial_n>$, the ring of differential operators with rational function coefficients. The Weyl closure of an ideal $I$ in $D$ is the intersection of the extended ideal $R I$ with $D$. It consists of all operators which vanish on the common holomorphic solutions of $D$ and is thus analogous to the radical operation on a commutative ideal.
The partial Weyl closure of $I$ with respect to a polynomial $f$ is the intersection of the extended ideal $D[f^{-1}] I$ with $D$.
The Weyl closure is computed by localizing $D/I$ with respect to a polynomial $f$ vanishing on the singular locus, and computing the kernel of the map $D \to D/I \to (D/I)[f^{-1}]$.
i1 : makeWA(QQ[x]) o1 = QQ[x, dx] o1 : PolynomialRing, 1 differential variables |
i2 : I = ideal(x*dx-2) o2 = ideal(x*dx - 2) o2 : Ideal of QQ[x, dx] |
i3 : holonomicRank I o3 = 1 |
i4 : WeylClosure I 3 2 o4 = ideal (x*dx - 2, x*dx - 2, dx , x*dx - dx) o4 : Ideal of QQ[x, dx] |
The ideal I should be of finite holonomic rank, which can be tested manually by using the function holonomicRank. The Weyl closure of non-finite rank ideals or arbitrary submodules has not been implemented.
The object WeylClosure is a method function.