Home Online Manual
Top
Back: annil
Forward: primTest
FastBack:
FastForward:
Up: mprimdec_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

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)