| ##### 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

User manual for Singular version 4-0-2, 2015, generated by texi2html.