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.