Procedure from library teachstd.lib (see teachstd_lib).
Usage:
minEcart(T,h); T ideal or module, h poly or vector
Return:
element g from T such that leadmonom(g) divides leadmonom(h)
ecart(g) is minimal with this property (if T != 0);
return 0 if T is 0 or h = 0
Example:
LIB "teachstd.lib";
ring R=0,(x,y,z),dp;
ideal T = x2y+x2,y3+xyz,xyz2+z4;
poly h = x2y2z2+x5+yx3+z6;
minEcart(T,h);"";
==> x2y+x2
==>
ring S=0,(x,y,z),(c,ds);
module T = [x2+x2y,y2],[y3+xyz,x3-z3],[x3y+z4,0,x2];
vector h = [x3y+x5+x2y2z2+z6,x3];
minEcart(T,h);
==> [x3y+z4,0,x2]