This method contains an implementation of Algorithm 3.9 in the paper Primary ideals and their differential equations. This method can be seen as the reverse operation of computing a set of Noetherian operators for a primary ideal.
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} \}. $$
Next, we provide several examples to show the interplay between computing a set of Noetherian operators and then recovering 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 the paper 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 o6 = {| 1 |, | dx_1 |, | dx_2 |, | dx_1^2 |, | dx_1dx_2 |, | dx_2^2 |, | ------------------------------------------------------------------------ dx_1^3 |, | dx_1^2dx_2 |, | dx_1dx_2^2 |, | dx_2^3 |, | ------------------------------------------------------------------------ 2x_3x_4dx_1^3dx_2+5x_1x_4dx_1^2dx_2^2+2x_2x_4dx_1dx_2^3 |} 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_1 |, | dx_2 |, | dx_3 |, | dx_4 |, | dx_1dx_2 |, | dx_1dx_3 ------------------------------------------------------------------------ |, | dx_1dx_4 |, | dx_2dx_3 |, | dx_2dx_4 |, | dx_3dx_4 |, | ------------------------------------------------------------------------ dx_1dx_2dx_3 |, | dx_1dx_2dx_4 |, | dx_1dx_3dx_4 |, | dx_2dx_3dx_4 |, | ------------------------------------------------------------------------ dx_1dx_2dx_3dx_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 the paper 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 o12 = ideal (3x x - x x - x x - 3x x x x + 2x x , 3x x x - 3x x x x - 1 2 2 3 1 4 1 2 3 4 3 4 1 2 4 1 2 3 4 ----------------------------------------------------------------------- 2 2 2 2 3 2 4 2 2 2 3 3x x x + 3x x x + 2x - 2x x , 3x x - 6x x x x + 3x x x + x - 1 3 4 2 3 4 2 3 4 2 3 1 2 3 4 1 3 4 2 ----------------------------------------------------------------------- 2 3 4 2 2 2 2 2 5 3 x x , 4x x x + x x - 6x x x x - 3x x x + 4x x x , x - x x x - 3 4 1 2 3 1 4 1 2 3 4 2 3 4 1 3 4 2 1 2 4 ----------------------------------------------------------------------- 2 2 3 4 3 2 2 3 4 3 2 3 x x x + x x x , x x - x x x - x x x x + x x , x x - x x - 2x x x 2 3 4 1 3 4 1 2 2 3 4 1 2 3 4 3 4 1 2 2 3 1 3 4 ----------------------------------------------------------------------- 2 5 3 2 2 2 2 3 4 + 2x x x x , x - 4x x x + 3x x x + 2x x x - 2x x x , 3x x x - 1 2 3 4 1 1 2 3 1 2 3 1 3 4 2 3 4 1 3 4 ----------------------------------------------------------------------- 2 2 2 3 3 2 2 2 3 3 6x x x x + 3x x x + 2x x + 6x x x - 6x x x - 2x x x , 4x x + 1 2 3 4 2 3 4 1 2 1 2 3 1 3 4 2 3 4 2 3 ----------------------------------------------------------------------- 3 2 3 4 2 4 2 2 2 2 4x x x - 12x x x x + 4x x - x + 6x x x + 3x x - 8x x x ) 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) o13 = {| 1 |, | dx_1 |, | dx_1^2-2x_2dx_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 exist primary ideals that cannot be described by using differential operators with constant coefficients.
i16 : R = QQ[x_1, x_2, x_3] o16 = R o16 : PolynomialRing |
i17 : Q = ideal(x_1^2, x_2^2, x_1-x_2*x_3) 2 2 o17 = ideal (x , x , - x x + x ) 1 2 2 3 1 o17 : Ideal of R |
i18 : L = noetherianOperators(Q) o18 = {| 1 |, | x_3dx_1+dx_2 |} o18 : List |
i19 : Q' = getIdealFromNoetherianOperators(L,radical Q) 2 2 o19 = ideal (x x - x , x , x x , x ) 2 3 1 2 1 2 1 o19 : Ideal of R |
i20 : Q == Q' o20 = true |
For the last example we consider an ideal defined by using the join construction.
i21 : R = QQ[x_1..x_9] o21 = R o21 : PolynomialRing |
i22 : MM = genericMatrix(R, 3, 3) o22 = | x_1 x_4 x_7 | | x_2 x_5 x_8 | | x_3 x_6 x_9 | 3 3 o22 : Matrix R <--- R |
i23 : P = minors(2, MM) o23 = ideal (- 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 ----------------------------------------------------------------------- x x + x x , - x x + x x , - x x + x x , - x x + x x , - x x + 3 7 1 9 3 8 2 9 5 7 4 8 6 7 4 9 6 8 ----------------------------------------------------------------------- x x ) 5 9 o23 : Ideal of R |
i24 : 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 o24 = ideal (x , x , x , x , x , x , x , x , x ) 1 5 9 2 3 4 6 7 8 o24 : Ideal of R |
i25 : Q = joinIdeals(P, M) 2 2 2 2 o25 = ideal (x x x - x x x , x x - 2x x x 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 2 2 2 2 2 2 2 2 2 2 x x x , x x - 2x x x x + x x , x x - 2x x x x + x x , x x - 2 4 9 6 7 4 6 7 9 4 9 5 7 4 5 7 8 4 8 2 7 ----------------------------------------------------------------------- 2 2 2 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 + 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 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 x x x , x x - 2x x x x + x x , x x - 2x x x x + x x , x x x - 1 6 8 3 5 2 3 5 6 2 6 3 4 1 3 4 6 1 6 6 7 8 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2x x x x - x x x + 2x x x x , x x x - 2x x x x - x x x + 4 6 8 9 5 7 9 4 5 8 9 3 6 8 2 6 8 9 3 5 9 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2x x x x , 2x x x x - x x x - 2x x x x + x x x , x x x - 2x x x x 2 5 6 9 3 5 6 8 2 6 8 3 5 8 9 2 5 9 3 7 8 2 3 7 9 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 + 2x x x x - x x x , 2x x x x - x x x - 2x x x x + x x x , x x x - 1 2 7 9 1 8 9 5 6 7 8 4 6 8 5 6 7 9 4 5 9 3 6 7 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2x x x x + 2x x x x - x x x , x x x - 2x x x x + 2x x x x - 3 4 7 9 1 3 4 9 1 6 9 3 4 7 1 3 6 7 1 6 7 9 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 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 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 - x x x + x x x , x x x - x x x - 2x x x x + 2x x x x , 2x 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 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2x x x x - x x x + x x x , x x x - x x x - 2x x x x + 2x x x x , 1 3 4 5 2 4 6 1 5 6 2 3 4 1 3 5 1 2 4 6 1 2 5 6 ----------------------------------------------------------------------- 3 3 2 2 2 2 3 3 2 3 2 2 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 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 ----------------------------------------------------------------------- 3 2 2 2 3 2 2 2 2 - 2x x x + 3x x x x , x x x x - 2x x x x x - x x x x + 2x x x x x , 5 7 9 4 5 8 9 3 4 6 8 2 4 6 8 9 2 5 7 9 2 4 5 8 9 ----------------------------------------------------------------------- 3 2 2 2 3 2 2 2 2 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 - 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 x x x - 2x x x x x + x x x , 2x x x x x + x x x + 2x 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 ----------------------------------------------------------------------- 2 2 2 2 2 8x x x x x x - 4x x x x x x + 4x x x x x + 4x x x x x - x x x , 1 3 4 5 8 9 1 2 4 6 8 9 1 5 6 8 9 1 2 4 5 9 1 5 9 ----------------------------------------------------------------------- 3 2 2 2 2 2 3 3 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 - 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 ----------------------------------------------------------------------- 2 2 2 2 3 3 2 2 3 2 3x x x x + 3x x x x - x x , x x x x - x x x x + 2x x x x x - 1 3 7 9 1 3 7 9 1 9 1 5 6 7 2 3 4 8 1 2 4 6 8 ----------------------------------------------------------------------- 2 2 2 3 2 3 2 2 2 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 , 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 ----------------------------------------------------------------------- 2 2 3 3 2 2 2 2 3 3 2x x x x x - 2x x x + x x x - 4x x x x x + 3x x x x , x x - 1 2 3 4 5 1 3 5 2 4 6 1 2 4 5 6 1 2 5 6 2 4 ----------------------------------------------------------------------- 2 2 2 2 3 3 2 2 3 2 2 2 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 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 2x x x x x - x x x x + 4x x x x x x , x x x x - 2x 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 ----------------------------------------------------------------------- 3 2 2 2 2 3 2 2 2 x x x x + 2x x x x x , x x x + 2x x x x x x - 4x x x x x x - 2 4 7 9 1 2 4 8 9 1 6 8 2 3 4 6 8 9 1 2 4 6 8 9 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2x x x x x - x x x x + 4x x x x x x , x x x x x - x x x x - 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 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 x x - x x x x x , 2x x x x x - x x x x 2 4 6 8 9 1 5 6 8 9 2 4 5 9 1 2 4 5 9 2 3 4 6 8 1 5 6 8 ----------------------------------------------------------------------- 2 2 2 2 2 - 2x x x x x x - 5x x x x x + 4x x x x x x x + x x x x x + 1 3 4 5 8 9 2 4 6 8 9 1 2 4 5 6 8 9 1 5 6 8 9 ----------------------------------------------------------------------- 2 2 2 2 2 2 3 2 2 3 2 2 3 2 4x x x x - 4x x x x x + x x x , x x x x - 2x x x x x - x x x x + 2 4 5 9 1 2 4 5 9 1 5 9 1 6 7 8 1 4 6 8 9 2 3 4 9 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2 2 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 + 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 2 2 2 3 2 2 4 2 3x x x x - 4x x x x x + x x x ) 2 4 5 9 1 2 4 5 9 1 5 9 o25 : Ideal of R |
i26 : L = noetherianOperators(Q) o26 = {| 1 |, | dx_5 |, | x_6dx_4+x_9dx_7 |, | x_4dx_4-x_8dx_8 |, | ----------------------------------------------------------------------- x_6dx_4dx_5+x_9dx_5dx_7 |, | x_4dx_4dx_5-x_8dx_5dx_8 |, | ----------------------------------------------------------------------- x_4x_5x_9dx_4dx_7+x_4x_8x_9dx_7^2+x_5^2x_9dx_4dx_8+x_5x_8x_9dx_7dx_8-x_ ----------------------------------------------------------------------- 5x_6dx_4 |, | x_4x_5x_9dx_4dx_5dx_7+x_4x_8x_9dx_5dx_7^2+x_5^2x_9dx_4dx_ ----------------------------------------------------------------------- 5dx_8+x_5x_8x_9dx_5dx_7dx_8-x_5x_6dx_4dx_5 |} o26 : List |
i27 : Q' = getIdealFromNoetherianOperators(L, radical Q) 2 2 2 2 o27 = ideal (x x x - x x x , x x - 2x x x 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 2 2 2 2 2 2 2 2 2 2 x x x , x x - 2x x x x + x x , x x - 2x x x x + x x , x x - 2 4 9 6 7 4 6 7 9 4 9 5 7 4 5 7 8 4 8 2 7 ----------------------------------------------------------------------- 2 2 2 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 + 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 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 x x x , x x - 2x x x x + x x , x x - 2x x x x + x x , x x x - 1 6 8 3 5 2 3 5 6 2 6 3 4 1 3 4 6 1 6 6 7 8 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2x x x x - x x x + 2x x x x , x x x - 2x x x x - x x x + 4 6 8 9 5 7 9 4 5 8 9 3 6 8 2 6 8 9 3 5 9 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2x x x x , 2x x x x - x x x - 2x x x x + x x x , x x x - 2x x x x 2 5 6 9 3 5 6 8 2 6 8 3 5 8 9 2 5 9 3 7 8 2 3 7 9 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 + 2x x x x - x x x , 2x x x x - x x x - 2x x x x + x x x , x x x - 1 2 7 9 1 8 9 5 6 7 8 4 6 8 5 6 7 9 4 5 9 3 6 7 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2x x x x + 2x x x x - x x x , x x x - 2x x x x + 2x x x x - 3 4 7 9 1 3 4 9 1 6 9 3 4 7 1 3 6 7 1 6 7 9 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 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 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 - x x x + x x x , x x x - x x x - 2x x x x + 2x x x x , 2x 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 ----------------------------------------------------------------------- 2 2 2 2 2 2 2 2 2 2 2 2x x x x - x x x + x x x , x x x - x x x - 2x x x x + 2x x x x , 1 3 4 5 2 4 6 1 5 6 2 3 4 1 3 5 1 2 4 6 1 2 5 6 ----------------------------------------------------------------------- 3 3 2 2 2 2 3 3 2 2 2 2 2 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 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 ----------------------------------------------------------------------- 2 2 2 2 2 - 8x x x x x x - 4x x x x x x + 4x x x x x + 4x x x x x - x x x , 1 3 4 5 8 9 1 2 4 6 8 9 1 5 6 8 9 1 2 4 5 9 1 5 9 ----------------------------------------------------------------------- 3 3 2 2 2 2 3 3 3 3 2 2 2 2 x x - 3x x x x + 3x x x x - x x , x x - 3x x x x + 3x x x x - 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 o27 : Ideal of R |
i28 : Q == Q' o28 = true |
The object getIdealFromNoetherianOperators is a method function.