Home Online Manual
Top
Back: convloc
Forward: isRational
FastBack: central_lib
FastForward: dmodapp_lib
Up: dmod_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.7.4.0. minIntRoot
Procedure from library dmod.lib (see dmod_lib).

Usage:
minIntRoot(P, fact); P an ideal, fact an int

Return:
int

Purpose:
minimal integer root of a maximal ideal P

Note:
if fact==1, P is the result of some 'factorize' call,
else P is treated as the result of bernstein::gmssing.lib
in both cases without constants and multiplicities

Example:
 
LIB "dmod.lib";
ring r   = 0,(x,y),ds;
poly f1  = x*y*(x+y);
ideal I1 = bernstein(f1)[1]; // a local Bernstein poly
I1;
==> I1[1]=-4/3
==> I1[2]=-1
==> I1[3]=-2/3
minIntRoot(I1,0);
==> -1
poly  f2  = x2-y3;
ideal I2  = bernstein(f2)[1];
I2;
==> I2[1]=-7/6
==> I2[2]=-1
==> I2[3]=-5/6
minIntRoot(I2,0);
==> -1
// now we illustrate the behaviour of factorize
// together with a global ordering
ring r2  = 0,x,dp;
poly f3   = 9*(x+2/3)*(x+1)*(x+4/3); //global b-polynomial of f1=x*y*(x+y)
ideal I3 = factorize(f3,1);
I3;
==> I3[1]=x+1
==> I3[2]=3x+2
==> I3[3]=3x+4
minIntRoot(I3,1);
==> -1
// and a more interesting situation
ring  s  = 0,(x,y,z),ds;
poly  f  = x3 + y3 + z3;
ideal I  = bernstein(f)[1];
I;
==> I[1]=-2
==> I[2]=-5/3
==> I[3]=-4/3
==> I[4]=-1
minIntRoot(I,0);
==> -2