Macaulay2 » Documentation
Packages » NoetherianOperators :: differentialPrimaryDecomposition
next | previous | forward | backward | up | index | toc

differentialPrimaryDecomposition -- compute a differential primary decomposition

Synopsis

Description

Let $R$ be a polynomial ring over a field $K$. Given a submodule $U$ of an $R$-module $M$, a differential primary decomposition of $U$ in $M$ is a list of pairs $(p_1, A_1), ..., (p_k, A_k)$ where $p_1, ..., p_k$ are the associated primes of $M/U$ and $A_i \subseteq \operatorname{Diff}_{R/K}(M, R/p_i)$ are differential operators satisfying $$U_p = \bigcap_{p_i \subseteq p} \{ w \in M_p : \delta(w) = 0 , \ \forall \delta \in A_i \}.$$ This notion was introduced in [2] (cf. Definition 4.1), in which it was shown that the size of a differential primary decomposition (which is defined to be $\sum_{i=1}^k |A_i|$) is at least amult(U), and moreover differential primary decompositions of size equal to amult(U) exist (and are called minimal).

This method contains an implementation of Algorithm 4.6 in [2].

The following example appears as Example 6.2 in [1]:

i1 : R = QQ[x_1,x_2,x_3]

o1 = R

o1 : PolynomialRing
i2 : U = image matrix {{x_1^2,x_1*x_2,x_1*x_3}, {x_2^2,x_2*x_3,x_3^2}}

o2 = image | x_1^2 x_1x_2 x_1x_3 |
           | x_2^2 x_2x_3 x_3^2  |

                             2
o2 : R-module, submodule of R
i3 : differentialPrimaryDecomposition U

                                   2
o3 = {{ideal x , {| 1 |}}, {ideal(x  - x x ), {| -x_3 |}}, {ideal (x , x ),
              1   | 0 |            2    1 3    |  x_1 |             3   2  
     ------------------------------------------------------------------------
     {|   0  |}}}
      | dx_3 |

o3 : List

References

[1] Chen, J., Cid-Ruiz, Y. (2021). Primary decomposition of modules: a computational differential approach

[2] Cid-Ruiz, Y., Sturmfels, B. (2021). Primary Decomposition with Differential Operators

See also

Ways to use differentialPrimaryDecomposition :

For the programmer

The object differentialPrimaryDecomposition is a method function with options.