#### D.4.19.14 zeroOpt

Procedure from library `mprimdec.lib` (see mprimdec_lib).

Usage:
  zeroOpt (N[, check]); zero-dimensional module N[, module check]

Return:
  list l
  the minimal primary decomposition of a zero-dimensional module N, computed by a generalized and optimized version of the algorithm of Gianni, Trager and Zacharias

Note:
  if the parameter check is given, only components
  not containing check are computed

Example:

    LIB "mprimdec.lib";
    ring r=0,z,dp;
    module N=z*gen(1),(z-1)*gen(2),(z+1)*gen(3);
    list l=zeroOpt(N);
    l;
    ==> [1]:
    ==>    [1]:
    ==>       _[1]=z*gen(1)
    ==>       _[2]=gen(2)
    ==>       _[3]=gen(3)
    ==>    [2]:
    ==>       _[1]=z
    ==> [2]:
    ==>    [1]:
    ==>       _[1]=gen(1)
    ==>       _[2]=z*gen(2)-gen(2)
    ==>       _[3]=gen(3)
    ==>    [2]:
    ==>       _[1]=z-1
    ==> [3]:
    ==>    [1]:
    ==>       _[1]=gen(1)
    ==>       _[2]=gen(2)
    ==>       _[3]=z*gen(3)+gen(3)
    ==>    [2]:
    ==>       _[1]=z+1

User manual for Singular version 4.4.1, 2025, generated by texi2html.