| #### D.4.20.9 splitting Procedure from library `mprimdec.lib` (see mprimdec_lib). Usage: splitting(N[,check[, ann]]); modul N, module check, ideal ann Return: (l, check) list l, module check the elements of l consists of quadruples, where [1] is of type module, [2], [3] and [4] are of type ideal, s.th. the intersection of the modules is equal to the zero-dimensional module N, furthermore l[j][3]=annil(l[j][1]) and l[j][4] contains internal ideal data; if l[j][2]!=0 then the module l[j][1] is primary with associated prime l[j][2], and check=intersect(check, l[j][1]) is computed Note: if the parameter check is given, only components not containing check are computed; if ann is given, ann is used instead of annil(N) Example:
    LIB "mprimdec.lib";
    ring r=0,z,lp;
    module N=z*gen(1), (z+1)*gen(2);
    N=std(N);
    list l; module check;
    (l, check)=splitting(N);
    l;
    ==> [1]:
    ==>    [1]:
    ==>       _[1]=gen(2)
    ==>       _[2]=z*gen(1)
    ==>    [2]:
    ==>       _[1]=z
    ==>    [3]:
    ==>       _[1]=z
    ==>    [4]:
    ==>       _[1]=z
    ==> [2]:
    ==>    [1]:
    ==>       _[1]=gen(1)
    ==>       _[2]=z*gen(2)+gen(2)
    ==>    [2]:
    ==>       _[1]=z+1
    ==>    [3]:
    ==>       _[1]=z+1
    ==>    [4]:
    ==>       _[1]=z+1
    check;
    ==> check[1]=z*gen(2)+gen(2)
    ==> check[2]=z*gen(1)

User manual for Singular version 4.3.2, 2023, generated by texi2html.