LIB"primdec.lib"; ring R = 0,(x,y,z),dp; poly p = z2+1; poly q = z4+2; ideal I = p^2*q^3,(y-z3)^3,(x-yz+z4)^4; I; //=== factorizing Buchberger algorithm ============================ facstd(I); ring R1 = 0,(x,y,z),lp; ideal I=imap(R,I); facstd(I); //=== primary decomposition via Gianni,Trager,Zacharias =========== setring R; list pr = primdecGTZ(I); pr; //=== primary decomposition via Shimoyama-Yokoyama ================ pr=primdecSY(I); pr; //=== absolute primary decomposition ================ def T = absPrimdecGTZ(I); setring T; absolute_primes; //=== minimal associated primes via Gianni,Trager,Zacharias ======= setring R; pr=minAssGTZ(I); pr; //=== minimal associated primes using characteristic sets ========= pr=minAssChar(I); pr; //=== radical of I via Krick/Logar and Kemper ==================== ideal J=radical(I); std(J); //=== radical of I via Eisenbud,Huneke,Vasconcelos =============== J=radicalEHV(I); J; //=== radical of the equidimensional part of the ideal I ========== ring S = 0,(x,y,z),dp; ideal I=intersect(ideal(z),ideal(x,y),ideal(x2,z2),ideal(x5,y5,z5)); ideal J=equiRadical(I); J; //=== equidimensional part of the ideal I ========== J=equidimMax(I); J; //=== equidimensional part via Eisenbud,Huneke,Vasconcelos ======== J=equidimMaxEHV(I); J; //=== weak equidimensional decomposition ======== list pr=equidim(I); pr; //=== further examples ============================================ ring RS= 0,(a,b,c,d,e),dp; poly f0= a + b + c + d + e + 1; poly f1= a + b + c + d + e; poly f2= a*b + b*c + c*d + a*e + d*e; poly f3= a*b*c + b*c*d + a*b*e + a*d*e + c*d*e; poly f4= a*b*c*d + a*b*c*e + a*b*d*e + a*c*d*e + b*c*d*e; poly f5= a*b*c*d*e - 1; ideal I= f1,f2,f3,f4,f5; primdecGTZ(I); minAssGTZ(I); ring R2=(2,z),(x,y),lp; minpoly=z3+z+1; ideal I=y2+y+(z2+z+1),x4+x+1; primdecGTZ(I); minAssGTZ(I); //=== normalization ================================================ LIB"normal.lib"; ring RN=0,(x,y),dp; ideal I=x2+y3; list nor=normal(I); def Q = nor[1]; setring Q; norid; normap; kill Q; ring r=32003,(x,y,z),wp(2,1,2); ideal I=z3-xy4; list nor=normal(I); def Q = nor[1]; setring Q; norid; normap;