#### D.4.15.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-0-3, 2016, generated by texi2html.