S = QQ[x, y, z]; elementaryBasis = ideal(x+y+z, x*y+x*z+y*z, x*y*z); saturate(elementaryBasis, x) powerSumBasis = ideal(x+y+z, x^2+y^2+z^2, x^3+y^3+z^3); saturate(powerSumBasis, x) clearAll; S = ZZ[x, y, z]; powerSumBasis = ideal(x+y+z, x^2+y^2+z^2, x^3+y^3+z^3); saturate(powerSumBasis, x) clearAll; S = QQ[x, y, z, a..j, MonomialOrder => Eliminate 2]; F = a*x^3+b*x^2*y+c*x^2*z+d*x*y^2+e*x*y*z+f*x*z^2+g*y^3+h*y^2*z+ i*y*z^2+j*z^3; partials = submatrix(jacobian matrix{{F}}, {0..2}, {0}) singularities = ideal(partials) elimDiscr = time ideal selectInSubring(1,gens gb singularities); elimDiscrbad=eliminate(elimDiscr,{z}) elimDiscr2 = substitute(elimDiscr, {z => 1}); elimDiscr3 = saturate(elimDiscr,z); elimDiscr2==elimDiscr3 numgens elimDiscr2 # terms elimDiscr2_0 S = QQ[x, y, z]; I = ideal(x^5+y^3+z^3, x^3+y^5+z^3, x^3+y^3+z^5); degree(I : saturate(I)) R = QQ[x,y,z]; M=random(R^4,R^{3:-1}) I= minors(3,M) resol = res I resol.dd_2 J=minors(3,resol.dd_2) J==I betti I betti res I (res ideal(x^2,y^2)).dd_2 betti res ideal(x^2,y^2) R = QQ[t1,t2,t3,t4,s1,s2,s3,s4]; f = t1*t2*t3 + t1*t2*t4 + t1*t3*t4 + t2*t3*t4 ; gradf = {diff(t1,f),diff(t2,f),diff(t3,f),diff(t4,f)}; I=ideal (gradf_0-s1,gradf_1-s2,gradf_2-s3,gradf_3-s4) J=eliminate(I,{t1,t2,t3,t4}) I2=ideal (I,f) J2=eliminate(I2,{t1,t2,t3,t4}) I3=eliminate(ideal(I,J2),{s1,s2,s3,s4}) P=primaryDecomposition I3 W=P_1 degree W R = QQ[t1,t2,t3,t4,s1,s2,s3,s4, Degrees => {{1,0},{1,0},{1,0},{1,0},{0,1},{0,1},{0,1},{0,1}}]; f = t1*t2*t3 + t1*t2*t4 + t1*t3*t4 + t2*t3*t4 ; gradf = {diff(t1,f),diff(t2,f),diff(t3,f),diff(t4,f)}; M = matrix { {s1,s2,s3,s4}, gradf }; multidegree ideal (gradf_0-s1,gradf_1-s2,gradf_2-s3,gradf_3-s4) multidegree minors(2,M) multidegree ideal(gradf) multidegree saturate( minors(2,M), ideal(gradf) ) R = QQ[t1,t2,t3,t4,s1,s2,s3,s4]; f = t1*t2*t3 + t1*t2*t4 + t1*t3*t4 + t2*t3*t4 ; gradf = {diff(t1,f),diff(t2,f),diff(t3,f),diff(t4,f)}; I=ideal (gradf_0-s1,gradf_1-s2,gradf_2-s3,gradf_3-s4) J1=ideal(I,substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0}),substitute(random(1,R),{s1 => 0,s2=>0,s3=>0,s4=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0})) degree J1 J2=ideal(I,substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0}),substitute(random(1,R),{s1 => 0,s2=>0,s3=>0,s4=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0})) degree J2 J3=ideal(I,substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0}),substitute(random(1,R),{t1 => 0,t2=>0,t3=>0,t4=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0})) degree J3 J4=ideal(I,substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0}),substitute(random(1,R),{t1 => 0,t2=>0,t3=>0,t4=>0}),substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0})) degree J4 J5=saturate(J4, ideal(gradf)) degree J5 degree ideal gradf R = QQ[t1,t2,t3,t4]; f = t1*t2*t3 + t1*t2*t4 + t1*t3*t4 + t2*t3*t4 ; gradf = {diff(t1,f),diff(t2,f),diff(t3,f),diff(t4,f)}; S=singularLocus ideal f dim S degree S R = QQ[t1,t2,t3,t4,t5,t6,s1,s2,s3,s4,s5,s6, Degrees => {{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1}}]; f = t1*t2*t3 + t1*t2*t4 + t1*t3*t4 + t2*t3*t4+t5*t1*t2+t5*t1*t3+t5*t1*t4+t5*t1*t6+t5*t2*t3+t5*t2*t4+t5*t2*t6+t5*t3*t4+t5*t3*t6+t5*t4*t6+t6*t1*t2+t6*t1*t3+t6*t1*t4+t6*t2*t3+t6*t2*t4+t6*t3*t4; gradf = {diff(t1,f),diff(t2,f),diff(t3,f),diff(t4,f),diff(t5,f),diff(t6,f)}; M = matrix { {s1,s2,s3,s4,s5,s6}, gradf }; multidegree saturate( minors(2,M), ideal(gradf) ) degree singularLocus ideal f; R = QQ[t1,t2,t3,t4,t5,t6,s1,s2,s3,s4,s5,s6, Degrees => {{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1}}]; f = t1*t2*t3*t4 + t1*t2*t3*t5 + t1*t2*t3*t6 + t1*t2*t4*t5+t1*t2*t4*t6+t1*t2*t5*t6+t1*t3*t4*t5+t1*t3*t4*t6+t1*t3*t5*t6+t1*t4*t5*t6+t2*t3*t4*t5+t2*t3*t4*t6+t2*t3*t5*t6+t2*t4*t5*t6+t3*t4*t5*t6; gradf = {diff(t1,f),diff(t2,f),diff(t3,f),diff(t4,f),diff(t5,f),diff(t6,f)}; M = matrix { {s1,s2,s3,s4,s5,s6}, gradf }; multidegree saturate( minors(2,M), ideal(gradf) ) R = ZZ[t1,t2,t3,t4,t5,t6,s1,s2,s3,s4,s5,s6] f = t1*t2*t3*t4 + t1*t2*t3*t5 + t1*t2*t3*t6 + t1*t2*t4*t5+t1*t2*t4*t6+t1*t2*t5*t6+t1*t3*t4*t5+t1*t3*t4*t6+t1*t3*t5*t6+t1*t4*t5*t6+t2*t3*t4*t5+t2*t3*t4*t6+t2*t3*t5*t6+t2*t4*t5*t6+t3*t4*t5*t6; gradf = {diff(t1,f),diff(t2,f),diff(t3,f),diff(t4,f),diff(t5,f),diff(t6,f)}; I=ideal (gradf_0-s1,gradf_1-s2,gradf_2-s3,gradf_3-s4,gradf_4-s5,gradf_5-s6) J1=ideal(I,substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1 => 0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0})) degree J1 J2=ideal(I,substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1 => 0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{t1=>0,s2=>0,t3=>0,t4=>0,t5=>0,t6=>0}),substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0,t5=>0,t6=>0}),substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0,t5=>0,t6=>0})) degree J2 R = ZZ/14741[t1,t2,t3,t4,t5,t6,s1,s2,s3,s4,s5,s6] f = t1*t2*t3*t4 + t1*t2*t3*t5 + t1*t2*t3*t6 + t1*t2*t4*t5+t1*t2*t4*t6+t1*t2*t5*t6+t1*t3*t4*t5+t1*t3*t4*t6+t1*t3*t5*t6+t1*t4*t5*t6+t2*t3*t4*t5+t2*t3*t4*t6+t2*t3*t5*t6+t2*t4*t5*t6+t3*t4*t5*t6; gradf = {diff(t1,f),diff(t2,f),diff(t3,f),diff(t4,f),diff(t5,f),diff(t6,f)}; I=ideal (gradf_0-s1,gradf_1-s2,gradf_2-s3,gradf_3-s4,gradf_4-s5,gradf_5-s6) J1=ideal(I,substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1 => 0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0})) degree J1 J4=ideal(I,substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0,t5=>0,t6=>0}),substitute(random(1,R),{s1 => 0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0})) degree J4 J5=ideal(I,substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0,t5=>0,t6=>0}),substitute(random(1,R),{t1 => 0,t2=>0,t3=>0,t4=>0,t5=>0,t6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0})) degree J5 J6=ideal(I,substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0,t5=>0,t6=>0}),substitute(random(1,R),{t1 => 0,t2=>0,t3=>0,t4=>0,t5=>0,t6=>0}),substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0,t5=>0,t6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{s1=>0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0})) degree J6 J3=ideal(I,substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0,t5=>0,t6=>0}),substitute(random(1,R),{s1 => 0,s2=>0,s3=>0,s4=>0,s5=>0,s6=>0}),substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0,t5=>0,t6=>0}),substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0,t5=>0,t6=>0}),substitute(random(1,R),{t1=>0,t2=>0,t3=>0,t4=>0,t5=>0,t6=>0})) JJ=ideal(J3, s1-1) degree JJ R = ZZ/14741[t1,t2,t3,t4,t5,t6] S = ZZ/14741[s1,s2,s3,s4,s5,s6] f = t1*t2*t3*t4 + t1*t2*t3*t5 + t1*t2*t3*t6 + t1*t2*t4*t5+t1*t2*t4*t6+t1*t2*t5*t6+t1*t3*t4*t5+t1*t3*t4*t6+t1*t3*t5*t6+t1*t4*t5*t6+t2*t3*t4*t5+t2*t3*t4*t6+t2*t3*t5*t6+t2*t4*t5*t6+t3*t4*t5*t6; gradf = {diff(t1,f),diff(t2,f),diff(t3,f),diff(t4,f),diff(t5,f),diff(t6,f)}; ff=map(R,S,gradf) JJ=preimage_ff ideal(random(1,R)) degree JJ