##### 7.5.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.4.1, 2025, generated by texi2html.