|
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+4
==> I3[3]=3x+2
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
|
|