This strategy implements Algorithm 4.1 in the paper Primary decomposition of modules: a computational differential approach.
The following example deals with a rather non-trivial primary ideal to show the capabilities of this strategy.
i1 : R = QQ[x_1,x_2,x_3,x_4] o1 = R o1 : PolynomialRing |
i2 : k = 3 o2 = 3 |
i3 : J = ideal((x_1^2-x_2*x_3)^k,(x_1*x_2-x_3*x_4)^k,(x_2^2-x_1*x_4)^k) 6 4 2 2 2 3 3 3 3 2 2 2 2 o3 = ideal (x - 3x x x + 3x x x - x x , x x - 3x x x x + 3x x x x - 1 1 2 3 1 2 3 2 3 1 2 1 2 3 4 1 2 3 4 ------------------------------------------------------------------------ 3 3 6 4 2 2 2 3 3 x x , x - 3x x x + 3x x x - x x ) 3 4 2 1 2 4 1 2 4 1 4 o3 : Ideal of R |
i4 : Q = saturate(J,ideal(x_1*x_2*x_3*x_4)) 5 3 2 3 4 2 2 2 2 2 2 2 3 o4 = ideal (x x + x x x - 4x x x x - x x + 3x x x x + x x x - x x x , 2 3 1 2 4 1 2 3 4 1 4 1 2 3 4 2 3 4 1 3 4 ------------------------------------------------------------------------ 4 4 2 2 3 2 3 2 2 2 3 3 2 3 x x x + x x x - 3x x x x - x x x - x x x + 4x x x x - x x , x x x 1 2 3 1 2 4 1 2 3 4 2 3 4 1 3 4 1 2 3 4 3 4 1 2 3 ------------------------------------------------------------------------ 4 2 5 3 2 2 2 2 2 3 2 6 4 - x x + x x - 4x x x x + 3x x x x + x x x - x x x , x - 3x x x + 2 3 1 4 1 2 3 4 1 2 3 4 1 3 4 2 3 4 2 1 2 4 ------------------------------------------------------------------------ 2 2 2 3 3 3 3 2 2 2 2 3 3 6 4 3x x x - x x , x x - 3x x x x + 3x x x x - x x , x - 3x x x + 1 2 4 1 4 1 2 1 2 3 4 1 2 3 4 3 4 1 1 2 3 ------------------------------------------------------------------------ 2 2 2 3 3 3x x x - x x ) 1 2 3 2 3 o4 : Ideal of R |
i5 : isPrimary Q o5 = true |
i6 : elapsedTime noetherianOperators(Q, Strategy => "PunctualQuot") -- 0.19574 seconds elapsed o6 = {| 1 |, | dx_1 |, | dx_2 |, | dx_1^2 |, | dx_1dx_2 |, | dx_2^2 |, | ------------------------------------------------------------------------ 2x_1x_3dx_1^3+3x_2x_3dx_1^2dx_2-3x_3x_4dx_1dx_2^2-2x_1x_4dx_2^3 |} o6 : List |