This method contains an implementation of Algorithm 3.9 in Primary ideals and their differential equations. Applying this algorithm can be seen as making the backward process of computing a set of Noetherian operators.
Let $R$ be a polynomial ring $R = K[x_1,\ldots,x_n]$ over a field $K$ of characteristic zero. Consider the Weyl algebra $D = R<dx_1,\ldots,dx_n>$ and a list of differential operators $L = \{L_1,\ldots,L_m\} \,\subset\, D$. Denote by $\mathcal{E} \,\subset\, D$ the $R$-bisubmodule of $D$ that is generated by $L_1,\ldots,L_m$. For a given prime ideal $P \,\subset\, R$, this method computes the $P$-primary ideal given as $$ Q = \{ f \,\in\, R\, \mid\, \delta\, \bullet\, f\, \in P \, \forall \delta \in \mathcal{E} \}. $$
This method can be seen as the reverse operation of computing a set of Noetherian operators for a primary ideal.
Next, we provide several examples to show the interplay between computing a set of Noetherian operators and then getting the back the original ideal.
The first example shows an ideal that can be described with two different sets of Noetherian operators (this example appeared in Example 7.8 of Primary ideals and their differential equations).
i1 : R = QQ[x_1,x_2,x_3,x_4] o1 = R o1 : PolynomialRing |
i2 : MM = matrix {{x_3,x_1,x_2},{x_1,x_2,x_4}} o2 = | x_3 x_1 x_2 | | x_1 x_2 x_4 | 2 3 o2 : Matrix R <--- R |
i3 : P = minors(2,MM) 2 2 o3 = ideal (- x + x x , - x x + x x , - x + x x ) 1 2 3 1 2 3 4 2 1 4 o3 : Ideal of R |
i4 : M = ideal{x_1^2,x_2^2,x_3^2,x_4^2} 2 2 2 2 o4 = ideal (x , x , x , x ) 1 2 3 4 o4 : Ideal of R |
i5 : Q = joinIdeals(P,M); o5 : Ideal of R |
i6 : L1 = noetherianOperators(Q) -- A set of Noetherian operators 2 2 3 2 2 3 3 2 2 o6 = {1, dx_2, dx_1, dx_2 , dx_1*dx_2, dx_1 , dx_2 , dx_1*dx_2 , dx_1 dx_2, dx_1 , 72x x dx_1 dx_2 + 180x x dx_1 dx_2 + 1 3 2 3 3 72x x dx_1*dx_2 } 3 4 o6 : List |
i7 : Q1 = getIdealFromNoetherianOperators(L1, P); o7 : Ideal of R |
i8 : Q == Q1 o8 = true |
i9 : L2 = noetherianOperators(M) -- Another set of Noetherian operators o9 = {1, dx_4, dx_3, dx_2, dx_1, dx_3*dx_4, dx_2*dx_4, dx_1*dx_4, dx_2*dx_3, dx_1*dx_3, dx_1*dx_2, dx_2*dx_3*dx_4, dx_1*dx_3*dx_4, dx_1*dx_2*dx_4, dx_1*dx_2*dx_3, dx_1*dx_2*dx_3*dx_4} o9 : List |
i10 : Q2 = getIdealFromNoetherianOperators(L2, P); o10 : Ideal of R |
i11 : Q == Q2 o11 = true |
The following example was given as the running example in the Introduction of Primary ideals and their differential equations.
i12 : Q = ideal(3*x_1^2*x_2^2-x_2^3*x_3-x_1^3*x_4-3*x_1*x_2*x_3*x_4+2*x_3^2*x_4^2,3*x_1^3*x_2*x_4-3*x_1*x_2^2*x_3*x_4-3*x_1^2*x_3*x_4^2+3*x_2*x_3^2*x_4^2+2*x_2^3-2*x_3*x_4^2,3*x_2^4*x_3-6*x_1*x_2^2*x_3*x_4+3*x_1^2*x_3*x_4^2+x_2^3-x_3*x_4^2,4*x_1*x_2^3*x_3+x_1^4*x_4-6*x_1^2*x_2*x_3*x_4-3*x_2^2*x_3^2*x_4+4*x_1*x_3^2*x_4^2,x_2^5-x_1*x_2^3*x_4-x_2^2*x_3*x_4^2+x_1*x_3*x_4^3,x_1*x_2^4-x_2^3*x_3*x_4-x_1*x_2*x_3*x_4^2+x_3^2*x_4^3,x_1^4*x_2-x_2^3*x_3^2-2*x_1^3*x_3*x_4+2*x_1*x_2*x_3^2*x_4,x_1^5-4*x_1^3*x_2*x_3+3*x_1*x_2^2*x_3^2+2*x_1^2*x_3^2*x_4-2*x_2*x_3^3*x_4,3*x_1^4*x_3*x_4-6*x_1^2*x_2*x_3^2*x_4+3*x_2^2*x_3^3*x_4+2*x_1^3*x_2+6*x_1*x_2^2*x_3-6*x_1^2*x_3*x_4-2*x_2*x_3^2*x_4,4*x_2^3*x_3^3+4*x_1^3*x_3^2*x_4-12*x_1*x_2*x_3^3*x_4+4*x_3^4*x_4^2-x_1^4+6*x_1^2*x_2*x_3+3*x_2^2*x_3^2-8*x_1*x_3^2*x_4) 2 2 3 3 2 2 3 2 2 2 2 2 3 2 4 2 o12 = ideal (3x x - x x - x x - 3x x x x + 2x x , 3x x x - 3x x x x - 3x x x + 3x x x + 2x - 2x x , 3x x - 6x x x x + 1 2 2 3 1 4 1 2 3 4 3 4 1 2 4 1 2 3 4 1 3 4 2 3 4 2 3 4 2 3 1 2 3 4 2 2 3 2 3 4 2 2 2 2 2 5 3 2 2 3 4 3 3x x x + x - x x , 4x x x + x x - 6x x x x - 3x x x + 4x x x , x - x x x - x x x + x x x , x x - x x x - 1 3 4 2 3 4 1 2 3 1 4 1 2 3 4 2 3 4 1 3 4 2 1 2 4 2 3 4 1 3 4 1 2 2 3 4 2 2 3 4 3 2 3 2 5 3 2 2 2 2 3 4 2 2 x x x x + x x , x x - x x - 2x x x + 2x x x x , x - 4x x x + 3x x x + 2x x x - 2x x x , 3x x x - 6x x x x + 1 2 3 4 3 4 1 2 2 3 1 3 4 1 2 3 4 1 1 2 3 1 2 3 1 3 4 2 3 4 1 3 4 1 2 3 4 2 3 3 2 2 2 3 3 3 2 3 4 2 4 2 2 2 2 3x x x + 2x x + 6x x x - 6x x x - 2x x x , 4x x + 4x x x - 12x x x x + 4x x - x + 6x x x + 3x x - 8x x x ) 2 3 4 1 2 1 2 3 1 3 4 2 3 4 2 3 1 3 4 1 2 3 4 3 4 1 1 2 3 2 3 1 3 4 o12 : Ideal of R |
i13 : L = noetherianOperators(Q) 2 o13 = {1, dx_1, dx_1 - 2x dx_2} 2 o13 : List |
i14 : Q' = getIdealFromNoetherianOperators(L, P); o14 : Ideal of R |
i15 : Q == Q' o15 = true |
The next example was given by Palamodov to show that there exists primary ideals that cannot be described by using differential operators with constant coefficients.
i1 : R = QQ[x_1, x_2, x_3] o1 = R o1 : PolynomialRing |
i2 : Q = ideal(x_1^2, x_2^2, x_1-x_2*x_3) 2 2 o2 = ideal (x , x , - x x + x ) 1 2 2 3 1 o2 : Ideal of R |
i3 : L = noetherianOperators(Q) o3 = {1, x dx_1 + dx_2} 3 o3 : List |
i4 : Q' = getIdealFromNoetherianOperators(L,radical Q) 2 2 o4 = ideal (x x - x , x , x x , x ) 2 3 1 2 1 2 1 o4 : Ideal of R |
i5 : Q == Q' o5 = true |
For the last example we consider an ideal defined by using the join construction.
i6 : R = QQ[x_1..x_9] o6 = R o6 : PolynomialRing |
i7 : MM = genericMatrix(R, 3, 3) o7 = | x_1 x_4 x_7 | | x_2 x_5 x_8 | | x_3 x_6 x_9 | 3 3 o7 : Matrix R <--- R |
i8 : P = minors(2, MM) o8 = ideal (- x x + x x , - x x + x x , - x x + x x , - x x + x x , - x x + x x , - x x + x x , - x x + x x , - x x + 2 4 1 5 3 4 1 6 3 5 2 6 2 7 1 8 3 7 1 9 3 8 2 9 5 7 4 8 6 7 ---------------------------------------------------------------------------------------------------------------------------- x x , - x x + x x ) 4 9 6 8 5 9 o8 : Ideal of R |
i9 : M = ideal(x_1^2, x_5^2, x_9^2, x_2, x_3, x_4, x_6, x_7, x_8) 2 2 2 o9 = ideal (x , x , x , x , x , x , x , x , x ) 1 5 9 2 3 4 6 7 8 o9 : Ideal of R |
i10 : Q = joinIdeals(P, M) 2 2 2 2 2 2 2 2 2 2 2 o10 = ideal (x x x - x x x , x x - 2x x x x + x x , x x x x - 2x x x x + x x x , x x - 2x x x x + x x , x x - 2x x x x + 2 6 7 3 4 8 3 8 2 3 8 9 2 9 3 6 7 8 3 4 8 9 2 4 9 6 7 4 6 7 9 4 9 5 7 4 5 7 8 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 x x , x x - 2x x x x + x x , x x x - 2x x x x + x x x x , x x x x - 2x x x x + x x x , x x - 2x x x x + x x , x x 4 8 2 7 1 2 7 8 1 8 3 5 7 3 4 5 8 2 4 6 8 2 3 4 7 1 3 4 8 1 6 8 3 5 2 3 5 6 2 6 3 4 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2x x x x + x x , x x x - 2x x x x - x x x + 2x x x x , x x x - 2x x x x - x x x + 2x x x x , 2x x x x - x x x - 1 3 4 6 1 6 6 7 8 4 6 8 9 5 7 9 4 5 8 9 3 6 8 2 6 8 9 3 5 9 2 5 6 9 3 5 6 8 2 6 8 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2x x x x + x x x , x x x - 2x x x x + 2x x x x - x x x , 2x x x x - x x x - 2x x x x + x x x , x x x - 2x x x x + 3 5 8 9 2 5 9 3 7 8 2 3 7 9 1 2 7 9 1 8 9 5 6 7 8 4 6 8 5 6 7 9 4 5 9 3 6 7 3 4 7 9 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2x x x x - x x x , x x x - 2x x x x + 2x x x x - x x x , x x x - 2x x x x + 2x x x x - x x x , 2x x x x - 2x x x x 1 3 4 9 1 6 9 3 4 7 1 3 6 7 1 6 7 9 1 4 9 2 3 7 1 3 7 8 1 3 8 9 1 2 9 2 4 5 7 1 2 5 7 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - x x x + x x x , x x x - x x x - 2x x x x + 2x x x x , 2x x x x - 2x x x x - x x x + x x x , x x x - x x x - 2 4 8 1 5 8 2 4 7 1 5 7 1 2 4 8 1 4 5 8 2 3 4 5 1 3 4 5 2 4 6 1 5 6 2 3 4 1 3 5 --------------------------------------------------------------------------------------------------------------------------- 2 2 3 3 2 2 2 2 3 3 2 3 2 2 3 2 2 2 2x x x x + 2x x x x , x x - 3x x x x + 3x x x x - x x , x x x + 2x x x x x - 4x x x x x - 2x x x + 3x x x x , 1 2 4 6 1 2 5 6 6 8 5 6 8 9 5 6 8 9 5 9 4 6 8 5 6 7 8 9 4 5 6 8 9 5 7 9 4 5 8 9 --------------------------------------------------------------------------------------------------------------------------- 3 2 2 2 2 3 2 2 2 3 2 2 2 2 x x x x - 2x x x x x - x x x x + 2x x x x x , x x x + 2x x x x x - 4x x x x x - 2x x x + 3x x x x , 2x x x x x - 3 4 6 8 2 4 6 8 9 2 5 7 9 2 4 5 8 9 2 6 8 3 5 6 8 9 2 5 6 8 9 3 5 9 2 5 6 9 1 3 4 6 8 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 x x x - 2x x x x x + x x x , 2x x x x x + x x x + 2x x x x x - 8x x x x x x - 4x x x x x x + 4x x x x x + 1 6 8 2 3 4 8 9 2 4 9 3 4 5 7 8 1 6 8 2 3 4 8 9 1 3 4 5 8 9 1 2 4 6 8 9 1 5 6 8 9 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 3 2 2 2 2 2 3 3 2 2 2 2 3 3 4x x x x x - x x x , x x x x - 4x x x x x + 2x x x x x + 2x x x x x - x x x x , x x - 3x x x x + 3x x x x - x x , 1 2 4 5 9 1 5 9 3 4 7 8 1 3 4 8 9 1 3 6 8 9 1 2 3 4 9 1 2 6 9 3 7 1 3 7 9 1 3 7 9 1 9 --------------------------------------------------------------------------------------------------------------------------- 2 2 3 2 2 2 2 3 2 3 2 2 2 2 x x x x - x x x x + 2x x x x x - 2x x x x x , 2x x x x x - 2x x x + x x x - 4x x x x x + 3x x x x , 2x x x x x - 1 5 6 7 2 3 4 8 1 2 4 6 8 1 4 5 6 8 1 2 4 5 7 1 5 7 2 4 8 1 2 4 5 8 1 4 5 8 1 2 3 4 5 --------------------------------------------------------------------------------------------------------------------------- 2 3 3 2 2 2 2 3 3 2 2 2 2 3 3 2 2 3 2 2 2 2x x x + x x x - 4x x x x x + 3x x x x , x x - 3x x x x + 3x x x x - x x , x x x + 2x x x x x - 4x x x x x x - 1 3 5 2 4 6 1 2 4 5 6 1 2 5 6 2 4 1 2 4 5 1 2 4 5 1 5 1 6 8 2 3 4 8 9 1 2 4 6 8 9 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 3 2 2 3 2 2 2 2 3 2 2 2x x x x x - x x x x + 4x x x x x x , x x x x - 2x x x x x - x x x x + 2x x x x x , x x x + 2x x x x x x - 1 2 5 7 9 2 4 8 9 1 2 4 5 8 9 1 3 6 8 1 2 6 8 9 2 4 7 9 1 2 4 8 9 1 6 8 2 3 4 6 8 9 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4x x x x x x - 2x x x x x - x x x x + 4x x x x x x , x x x x x - x x x x - x x x x x + x x x x x + x x x x - 1 2 4 6 8 9 1 3 4 5 9 2 4 6 9 1 2 4 5 6 9 1 2 4 6 8 1 5 6 8 2 4 6 8 9 1 5 6 8 9 2 4 5 9 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 x x x x x , 2x x x x x - x x x x - 2x x x x x x - 5x x x x x + 4x x x x x x x + x x x x x + 4x x x x - 4x x x x x + 1 2 4 5 9 2 3 4 6 8 1 5 6 8 1 3 4 5 8 9 2 4 6 8 9 1 2 4 5 6 8 9 1 5 6 8 9 2 4 5 9 1 2 4 5 9 --------------------------------------------------------------------------------------------------------------------------- 2 3 2 2 3 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 x x x , x x x x - 2x x x x x - x x x x + 2x x x x x , x x x x - x x x x - 4x x x x x x + 4x x x x x x x + 3x x x x 1 5 9 1 6 7 8 1 4 6 8 9 2 3 4 9 1 2 4 6 9 2 4 6 8 1 5 6 8 2 4 5 6 8 9 1 2 4 5 6 8 9 2 4 5 9 --------------------------------------------------------------------------------------------------------------------------- 3 2 2 4 2 - 4x x x x x + x x x ) 1 2 4 5 9 1 5 9 o10 : Ideal of R |
i11 : L = noetherianOperators(Q) 3 3 2 3 2 3 2 o11 = {1, dx_5, x dx_4 + x dx_7, - x dx_4 + x dx_8, (x x x + x x x + x x x x )dx_4*dx_7 + (x x x + x x x x + x x x )dx_7 + 5 8 4 8 4 5 9 4 5 9 4 5 8 9 4 8 9 4 5 8 9 4 8 9 --------------------------------------------------------------------------------------------------------------------------- 2 2 4 2 2 2 3 3 2 3 2 (x x x + x x + x x x )dx_4*dx_8 + (x x x x + x x x + x x x )dx_7*dx_8 - x x x dx_4 + x x dx_7 - x x x dx_8, x dx_4*dx_5 4 5 9 5 9 5 8 9 4 5 8 9 5 8 9 5 8 9 5 8 9 5 9 4 5 9 5 --------------------------------------------------------------------------------------------------------------------------- 3 3 2 3 2 + x dx_5*dx_7, - x dx_4*dx_5 + x dx_5*dx_8, (x x x + x x x + x x x x )dx_4*dx_5*dx_7 + (x x x + x x x x + 8 4 8 4 5 9 4 5 9 4 5 8 9 4 8 9 4 5 8 9 --------------------------------------------------------------------------------------------------------------------------- 3 2 2 2 4 2 2 2 3 3 2 x x x )dx_5*dx_7 + (x x x + x x + x x x )dx_4*dx_5*dx_8 + (x x x x + x x x + x x x )dx_5*dx_7*dx_8 - x x x dx_4*dx_5 + 4 8 9 4 5 9 5 9 5 8 9 4 5 8 9 5 8 9 5 8 9 5 8 9 --------------------------------------------------------------------------------------------------------------------------- 3 2 x x dx_5*dx_7 - x x x dx_5*dx_8} 5 9 4 5 9 o11 : List |
i12 : Q' = getIdealFromNoetherianOperators(L, radical Q) 2 2 2 2 2 2 2 2 2 2 2 o12 = ideal (x x x - x x x , x x - 2x x x x + x x , x x x x - 2x x x x + x x x , x x - 2x x x x + x x , x x - 2x x x x + 2 6 7 3 4 8 3 8 2 3 8 9 2 9 3 6 7 8 3 4 8 9 2 4 9 6 7 4 6 7 9 4 9 5 7 4 5 7 8 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 x x , x x - 2x x x x + x x , x x x - 2x x x x + x x x x , x x x x - 2x x x x + x x x , x x - 2x x x x + x x , x x 4 8 2 7 1 2 7 8 1 8 3 5 7 3 4 5 8 2 4 6 8 2 3 4 7 1 3 4 8 1 6 8 3 5 2 3 5 6 2 6 3 4 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - 2x x x x + x x , x x x - 2x x x x - x x x + 2x x x x , x x x - 2x x x x - x x x + 2x x x x , 2x x x x - x x x - 1 3 4 6 1 6 6 7 8 4 6 8 9 5 7 9 4 5 8 9 3 6 8 2 6 8 9 3 5 9 2 5 6 9 3 5 6 8 2 6 8 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2x x x x + x x x , x x x - 2x x x x + 2x x x x - x x x , 2x x x x - x x x - 2x x x x + x x x , x x x - 2x x x x + 3 5 8 9 2 5 9 3 7 8 2 3 7 9 1 2 7 9 1 8 9 5 6 7 8 4 6 8 5 6 7 9 4 5 9 3 6 7 3 4 7 9 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2x x x x - x x x , x x x - 2x x x x + 2x x x x - x x x , x x x - 2x x x x + 2x x x x - x x x , 2x x x x - 2x x x x 1 3 4 9 1 6 9 3 4 7 1 3 6 7 1 6 7 9 1 4 9 2 3 7 1 3 7 8 1 3 8 9 1 2 9 2 4 5 7 1 2 5 7 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 - x x x + x x x , x x x - x x x - 2x x x x + 2x x x x , 2x x x x - 2x x x x - x x x + x x x , x x x - x x x - 2 4 8 1 5 8 2 4 7 1 5 7 1 2 4 8 1 4 5 8 2 3 4 5 1 3 4 5 2 4 6 1 5 6 2 3 4 1 3 5 --------------------------------------------------------------------------------------------------------------------------- 2 2 3 3 2 2 2 2 3 3 2 2 2 2 2 2x x x x + 2x x x x , x x - 3x x x x + 3x x x x - x x , 2x x x x x + x x x + 2x x x x x - 8x x x x x x - 1 2 4 6 1 2 5 6 6 8 5 6 8 9 5 6 8 9 5 9 3 4 5 7 8 1 6 8 2 3 4 8 9 1 3 4 5 8 9 --------------------------------------------------------------------------------------------------------------------------- 2 2 2 2 2 3 3 2 2 2 2 3 3 3 3 2 2 2 2 4x x x x x x + 4x x x x x + 4x x x x x - x x x , x x - 3x x x x + 3x x x x - x x , x x - 3x x x x + 3x x x x - 1 2 4 6 8 9 1 5 6 8 9 1 2 4 5 9 1 5 9 3 7 1 3 7 9 1 3 7 9 1 9 2 4 1 2 4 5 1 2 4 5 --------------------------------------------------------------------------------------------------------------------------- 3 3 x x ) 1 5 o12 : Ideal of R |
i13 : Q == Q' o13 = true |
The object getIdealFromNoetherianOperators is a method function.