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.