//===========================================================================// // LIBRARY: lib2 procedures for elimination and saturation // // type lib2(); to list the procedures // // 7/94 GMG+BM // // version for the regression test //===========================================================================// /////////////////////////////////////////////////////////////////////////////// proc sat (ideal i,ideal j) USAGE: sat(,); i,j ideals RETURNS: ideal, union_(k=1...) of i:j^k { ideal @i; int @ii; while ( @ii<=size(@i)) { @i=quotient(i,j); for ( @ii=1; @ii <= size(@i); @ii=@ii+1) { if (NF(@i[@ii],i)!=0) break; } i=@i; } return (@i); } example { "EXAMPLE:"; " ring r=2,(x,y,z),dp;"; ring @r=2,(x,y,z),dp; " poly F=x5+y5+(x-y)^2*xyz;"; poly @F=x5+y5+(x-y)^2*xyz; " ideal j=jacob(F);"; ideal @j= jacob(@F); " sat(j,maxideal(1));"; sat(@j,maxideal(1)); kill @r; } ///////////////////////////////////////////////////////////////////////////////