Home Online Manual
Top
Back: modQuotient
Forward: modnormal_lib
FastBack:
FastForward:
Up: moddiq_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.4.12.2 modSat

Procedure from library moddiq.lib (see moddiq_lib).

Usage:
modSat(I,J); I,J ideal

Return:
a standard basis of (I:J^\infty)

Note:
The procedure computes a standard basis of (I:J^\infty) (over the rational numbers) by using modular methods.

Example:
 
LIB "moddiq.lib";
ring r=0,x(1..6),dp;
ideal i=cyclic(6);
ideal j=-15*var(5)+16*var(6)^3-60*var(6)^2+225*var(6)-4,2*var(5)^2-7*var(5)+2*var(6)^2-7*var(6)+28,(4*var(6)-1)*var(5)-var(6)+4,4*var(1)+var(5)+var(6),4*var(2)+var(5)+var(6),4*var(3)+var(5)+var(6),4*var(4)+var(5)+var(6); 
modSat(i,modSat(i,j)[1])[1];
==> _[1]=x(4)+1/4*x(5)+1/4*x(6)
==> _[2]=x(3)+1/4*x(5)+1/4*x(6)
==> _[3]=x(2)+1/4*x(5)+1/4*x(6)
==> _[4]=x(1)+1/4*x(5)+1/4*x(6)
==> _[5]=x(5)*x(6)-1/4*x(5)-1/4*x(6)+1
==> _[6]=x(5)^2+x(6)^2-7/2*x(5)-7/2*x(6)+14
==> _[7]=x(6)^3-15/4*x(6)^2-15/16*x(5)+225/16*x(6)-1/4
poly F     = x(1)^5+x(2)^5+(x(1)-x(2))^2*x(1)*x(2)*x(3);
ideal J    = jacob(F);
modSat(J,maxideal(1));
==> [1]:
==>    _[1]=x(2)^4+1/5*x(1)^3*x(3)-4/5*x(1)^2*x(2)*x(3)+3/5*x(1)*x(2)^2*x(3)
==>    _[2]=x(1)^3*x(2)-2*x(1)^2*x(2)^2+x(1)*x(2)^3
==>    _[3]=x(1)^4+3/5*x(1)^2*x(2)*x(3)-4/5*x(1)*x(2)^2*x(3)+1/5*x(2)^3*x(3)
==>    _[4]=x(1)^2*x(2)^3-7/15*x(1)^2*x(2)^2*x(3)+4/15*x(1)*x(2)^3*x(3)-1/75*\
   x(1)^3*x(3)^2-2/75*x(1)^2*x(2)*x(3)^2+1/15*x(1)*x(2)^2*x(3)^2-2/75*x(2)^3\
   *x(3)^2
==>    _[5]=x(1)*x(2)^3*x(3)^2+29/220*x(1)^3*x(3)^3-71/220*x(1)^2*x(2)*x(3)^3\
   +27/220*x(1)*x(2)^2*x(3)^3+3/44*x(2)^3*x(3)^3
==>    _[6]=x(1)^2*x(2)^2*x(3)^2-44/41*x(1)*x(2)^3*x(3)^2-17/410*x(1)^3*x(3)^\
   3+101/410*x(1)^2*x(2)*x(3)^3-19/82*x(1)*x(2)^2*x(3)^3+11/410*x(2)^3*x(3)^\
   3
==>    _[7]=x(1)^3*x(3)^4-7*x(1)^2*x(2)*x(3)^4+7*x(1)*x(2)^2*x(3)^4-x(2)^3*x(\
   3)^4
==> [2]:
==> 0
See also: modular; sat.