"Groebner bases with DERIVE 2.58 and later versions (till 3.02)" DEGREE(f,x):=DIMENSION(ITERATES(DIF(ff,x,1),ff,f))-3 TERM(f,i,x):=LIM(DIF(f,x,i),x,0)/i!*x^i LT_X(f,x):=TERM(f,DEGREE(f,x),x) LT_LEX_1(f,v,i):=IF(i>DIMENSION(v),f,LT_LEX_1(LT_X(f,ELEMENT(v,i)),v,i+1)) LT_LEX(f,v):=LT_LEX_1(f,v,1) LT(f,v):=LT_LEX(f,v) MDEG_AUX(ltf,v):=VECTOR(ELEMENT(v,k)*DIF(ltf,ELEMENT(v,k))/ltf,k,1,DIMENSION(v~ )) MDEG(f,v):=MDEG_AUX(LT(f,v),v) MON_LCM_AUX(v,md):=PRODUCT(ELEMENT(v,i)^ELEMENT(md,i),i,DIMENSION(v)) MON_LCM(m1,m2,v):=MON_LCM_AUX(v,MAX(APPEND([MDEG_AUX(m1,v),MDEG_AUX(m2,v)]`,[[~ 0,0]]))) S_POLY_AUX(f,g,v,ltf,ltg):=MON_LCM(ltf,ltg,v)*(f/ltf-g/ltg) S_POLY(f,g,v):=S_POLY_AUX(f,g,v,LT(f,v),LT(g,v)) f:=2*x^2*y^3+5*x*y^5-3*x*y-2*y+4 [DEGREE(f,y),LT_X(f,y),LT_LEX(f,[x,y]),MDEG(f,[x,y])] ;Simp(#17) [5,5*x*y^5,2*x^2*y^3,[2,3]] [f:=x^2*y-3*x,g:=x+y^2+1] S_POLY(f,g,[x,y]) ;Simp(#20) -x*(y^3+y+3) NF_4(p,ltp,mdegp,ff,ltff,v,r,i):=IF(mdegp>=MDEG_AUX(ELEMENT(ltff,i),v),[p-ELEM~ ENT(ff,i)*ltp/ELEMENT(ltff,i),r],IF(i=ELEMENT(g,3,k),~ 0,COND2_AUX(g,i,mdegi,mdegj,k+1))) COND2(g,i,mdegi,mdegj):=COND2_AUX(g,i,mdegi,mdegj,1) SUCC(ij):=IF(ELEMENT(ij,1)+1ELEMENT(w,3),w,B_3(ELEMENT(w,1),ELEMENT(w,2),v,ELE~ MENT(w,3),COL_(ELEMENT(w,2),ELEMENT(w,1,1)),COL_(ELEMENT(w,2),ELEMENT(w,1,2)))) B_1(ff,v,t):=ELEMENT(ITERATE(B_2(w__,v),w__,[[1,2],APPEND(ff,[VECTOR(MDEG_AUX(~ ELEMENT(ff,2,i),v),i,t)]),t]),2,1) BUCHBERGER(f,v):=B_1([f,VECTOR(LT(ELEMENT(f,i),v),i,DIMENSION(f))],v,DIMENSION~ (f)) [f1:=x^2*y-3*x,f2:=x+y^2+1,f3:=y^5+2*y^3+3*y^2+y+3] BUCHBERGER([f1,f2],[x,y]) ;Simp(#42) [x^2*y-3*x,x+y^2+1,y^5+2*y^3+3*y^2+y+3] NF(S_POLY(f1,f3,[x,y]),[f1,f2,f3],[x,y]) ;Simp(#44) 0 NF(S_POLY(f2,f3,[x,y]),[f1,f2,f3],[x,y]) ;Simp(#46) 0 v:=[x,y] v_:=[y_1,y_2,y_3,y_4,y_5,y_6,y_7,y_8,y_9,y_10] [ord:=(lex:=1),grlex:=2,grevlex:=3,invlex:=4] E__(n,i):=ELEMENT(IDENTITY_MATRIX(n),i) ORD_MATRIX(ord,n):=IF(ord=1,IDENTITY_MATRIX(n),IF(ord=2,APPEND(APPEND([VECTOR(~ 1,i,n-1)],IDENTITY_MATRIX(n-1))`,[E__(n,1)]),IF(ord=3,VECTOR(VECTOR(IF(i+jk,0,1),i,n)],IF(k1,APPEND(ORD_MATRIX(3,k-1),ZERO_MATRIX(n-~ k+1,k-1))`,[]))` LOG_V(v):=VECTOR(LOG(ELEMENT(v,i)),i,DIMENSION(v)) EXP_V(v):=VECTOR(EXP(ELEMENT(v,i)),i,DIMENSION(v)) LT_ORD(f,v,v_y):=LIM(LT_LEX(LIM(f,v,EXP_V(ord_m . LOG_V(v_y))),v_y),v_y,EXP_V(~ ord_minv . LOG_V(v))) LT(f,v):=IF(ord_=1,LT_LEX(f,v),LT_ORD(f,v,v_y),LT_ORD(f,v,v_y)) DEF_ORD(v,ord):=[v_y:=VECTOR(ELEMENT(v_,i),i,DIMENSION(v)),ord_m:=IF(DIMENSION~ (ord)>0,ord,?,ORD_MATRIX(ord,DIMENSION(v))),ord_minv:=IF(DIMENSION(ord)>0,ord^~ (-1),?,ORD_MATRIX(ord,DIMENSION(v))^(-1))] LEADING_TERM_0(f,v):=LT_ORD(f,v) LEADING_TERM(f,v,ord):=IF(ord=1,LT_LEX(f,v),LEADING_TERM_0(f,v,DEF_ORD(v,ord))) NF_0(f,ff,v):=NF_1(f,ff,VECTOR(LT(ELEMENT(ff,i),v),i,DIMENSION(ff)),v) NF(f,ff,v,ord):=NF_0(f,ff,v,ord_:=ord,DEF_ORD(v,ord)) B_0(f,v):=B_1([f,VECTOR(LT(ELEMENT(f,i),v),i,DIMENSION(f))],v,DIMENSION(f)) BUCHBERGER(f,v,ord):=B_0(f,v,ord_:=ord,DEF_ORD(v,ord)) LEADING_TERM(x*y^2-y^4+2*x) ;Simp(#66) x*y^2 BUCHBERGER([x*y^2-y^4+2*x,x^2*y^3-y]) ;Simp(#68) [x*(y^2+2)-y^4,x^2*y^3-y,2*x^2*y-4*x*y-y^7+2*y^5+y,2*x^2-8*x+y^8/2-2*y^6+4*y^4~ -y^2/2,-4*x-y^10/4+y^8/2-y^6+9*y^4/4+y^2/2,-y^11/8+y^5/8+y^3/2+y/2] BUCHBERGER([x*y^2-y^4+2*x,x^2*y^3-y],v,[[5,2],[2,1]]) ;Simp(#70) [x*(y^2+2)-y^4,x^2*y^3-y,2*x^2*y-4*x*y-y^7+2*y^5+y,2*x^3*y+x*y-y^3,2*x^3+x-y^2] LC1(ltf,v):=LIM(ltf,v,VECTOR(1,i,DIMENSION(v))) LC(f,v):=LC1(LT(f,v),v) DIV_MON1(mdeg_v,i,j):=IF(j>DIMENSION(mdeg_v),1,IF(ELEMENT(mdeg_v,j)<=ELEMENT(m~ deg_v,i),0,IF(j+1/=i,DIV_MON1(mdeg_v,i,j+1),DIV_MON1(mdeg_v,i,j+2)))) DIV_MON(mdeg_v,i):=DIV_MON1(mdeg_v,i,IF(i>1,1,2)) DELETE_ELEMENT(v,k):=APPEND(VECTOR(ELEMENT(v,i),i,k-1),VECTOR(ELEMENT(v,j),j,k~ +1,DIMENSION(v))) EE__(n,m,i,j):=[E__(n,i)]` . [E__(m,j)] E_(a,i,j,v):=a+EE__(DIMENSION(a),DIMENSION(a`),i,j)*(v-ELEMENT(a,i,j)) R_2(g,d,i,v):=IF(i>d OR d=1,VECTOR(ELEMENT(g,1,j)/LC1(ELEMENT(g,2,j),v),j,d),I~ F(DIV_MON(ELEMENT(g,3),i),R_2(DELETE_ELEMENT(g`,i)`,d-1,i,v),R_2(E_(g,1,i,NF_1~ (ELEMENT(g,1,i),DELETE_ELEMENT(ELEMENT(g,1),i),DELETE_ELEMENT(ELEMENT(g,2),i),~ v,0)),d,i+1,v))) R_1(ff,d,v):=R_2(APPEND(ff,[VECTOR(MDEG_AUX(ELEMENT(ff,2,i),v),i,d)]),d,1,v) R_0(f,v):=R_1([f,VECTOR(LT(ELEMENT(f,i),v),i,DIMENSION(f))],DIMENSION(f),v) REDUCE(f,v,ord):=R_0(f,v,ord_:=ord,DEF_ORD(v,ord)) GROEBNER(f,v,ord):=REDUCE(BUCHBERGER(f,v,ord),v,ord) REDUCE([x*y^2+2*x-y^4,x^2*y^3-y,2*x^2*y-4*x*y-y^7+2*y^5+y,2*x^2-8*x+y^8/2-2*y^~ 6+4*y^4-y^2/2,-4*x-y^10/4+y^8/2-y^6+9*y^4/4+y^2/2,-y^11/8+y^5/8+y^3/2+y/2],[x,~ y],lex) ;Simp(#83) [(16*x+y^2*(y^8-2*y^6+4*y^4-9*y^2-2))/16,y*(y^10-y^4-4*y^2-4)] GROEBNER([x*y^2-y^4+2*x,x^2*y^3-y],v,grlex) ;Simp(#85) [y^4-x*(y^2+2),x^2*y^3-y,(2*x^3+x-y^2)/2] GROEBNER([x^2+y^2+z^2+w^2,x^2+2*y^2-y*z-w^2,x+z^3-w^3],[x,y,z,w],grlex) ;Simp(#87) [x^2+y*z+2*z^2+3*w^2,x+z^3-w^3,y^2-y*z-z^2-2*w^2] GROEBNER([x^2+y^2+z^2+w^2,x^2+2*y^2-y*z-w^2,x+z^3-w^3],[x,y,z,w],EL_ORD_MATRIX~ (1,4)) [x+z^3-w^3,y^2-y*z-z^2-2*w^2,y*z+z^6-2*w^3*z^3+2*z^2+w^6+3*w^2] GROEBNER([x*y+z-1,x*z+y-1,y*z+x-1],[x,y,z],lex) [x+y-z^3+z^2+z-2,y^2-y-z*(z-1),y*(z-1)+z^3-z^2-z+1,z^4-2*z^2+z] GROEBNER([x*y+z-1,x*z+y-1,y*z+x-1],[x,y,z],grevlex) [x*y+z-1,x*z+y-1,x+y*z-1,y^2-y-z*(z-1),x^2-x-z*(z-1),-x-y+z^3-z^2-z+2] BUCHBERGER([x*y+z-1,x*z+y-1,y*z+x-1,x+y+z],[x,y,z],grevlex) [x*y+z-1,x*z+y-1,x+y*z-1,x+y+z,-y^2+y+z^2-z,-2*y+z^2-3*z+2,-4*y-2*z,-3*z,6]