############################################################################################################################################################################################################################################################################################################################################################################################################################################## Author = Ayoola Jinadu The following parametric polynomial systems are the example we tried on new Dixon resultant code on. Some of these systems can be found in Lewis's Dixon EDF paper. Note := The block structures listed are sensitive to the variable elimination order. ################################################################################################################################################################################################################################################################################################################################################## #1. Heron 3d from Lewis Sys := [ x^2 + y^2 - cs^2, (x - as)^2 + y^2 - bs^2, x1^2 + y1^2 + z1^2 - fs^2, (x1 - as)^2 + y1^2 + z1^2 - ds^2, (x1 - x)^2 + (y1 - y)^2 + z1^2 - es^2, 6vo - asyz1]; Variables := [x,y,x1,y1,z1,vo]; Eliminate := [x,y,x1,y1,z1]; Parameters := [as,bs,cs,ds,es,fs]; Main Variable := vo; Block := Yes. Block size := [6, 7]; ################################################################################################################################################################################################################################################################################################################################################## #2. Heron 5d from Lewis Sys := [ -cs^2 + x^2 + y^2, as^2 - 2*as*x - bs^2 + cs^2, -fs^2 + x1^2 + y1^2 + z1^2, as^2 - 2*as*x1 - ds^2 + fs^2, cs^2 - es^2 + fs^2 - 2*x*x1 - 2*y*y1, -gs^2 + w2^2 + x2^2 + y2^2 + z2^2, as^2 - 2*as*x2 + gs^2 - hs^2, cs^2 + gs^2 - is^2 - 2*x*x2 - 2*y*y2, fs^2 + gs^2 - js^2 - 2*x1*x2 - 2*y1*y2 - 2*z1*z2, -ks^2 + u3^2 + w3^2 + x3^2 + y3^2 + z3^2, as^2 - 2*as*x3 + ks^2 - ls^2, cs^2 + ks^2 - ms^2 - 2*x*x3 - 2*y*y3, ks^2 - ns^2 - 2*x1*x3 - 2*y1*y3 - 2*z1*z3 + fs^2, -as*u3*w2*y*z1 + 120*V, gs^2 + ks^2 - os^2 - 2*w2*w3 - 2*x2*x3 - 2*y2*y3 - 2*z2*z3]; Variables := [V,u3, w2, w3, x, x1, x2, x3, y, y1, y2, y3, z1, z2, z3]; Eliminate := [u3, w2, w3, x, x1, x2, x3, y, y1, y2, y3, z1, z2, z3]; Parameters := [ as, bs, cs, ds, es, fs, gs, hs, is, js, ks, ls, ms, ns, os]; Main Variable := [V]; Block := Yes. Block size := [48, 50, 49, 49, 50, 48, 52, 53]; ################################################################################################################################################################################################################################################################################################################################################## #3. Storti from Duane Storti, University of Washington Sys:= [ -1 + x1^2 + 4*y1^2, -r^2 + (x1-x0)^2 + (y1-y0)^2, x1*y0-4*x0*y1 + 3*x1*y1, -1+x2^2+4*y2^2, -r^2 + (x2-x0)^2 + (y2-y0)^2, x2*y0 - 4*x0*y2 + 3*x2*y2, - 1 + k*((x2-x1)^2 + (y2-y1)^2) ]; Variables := [x1,y1,x2,y2,k,r]; Parameters := [x0,y0]; Eliminate := [x1,y1,x2,y2,k,r]; Main variable := [x0]; Blocks := Yes; Block size := [20,20]; ################################################################################################################################################################################################################################################################################################################################################## #4. Image3d x1 := 0: y1 := 0: z1 := 0: y2 := 0: z2 := 0: z3 := 0: Sys := [ (x-x1)^2+ (y-y1)^2+(z-z1)^2-t1^2, (x-x2)^2+ (y-y2)^2+(z-z2)^2-t2^2, (x-x3)^2+ (y-y3)^2+(z-z3)^2-t3^2, (x-x4)^2+ (y-y4)^2+(z-z4)^2-t4^2, (x1-x2)^2+ (y1-y2)^2+(z1-z2)^2-d1^2, (x1-x3)^2+ (y1-y3)^2+(z1-z3)^2-d2^2, (x1-x4)^2+ (y1-y4)^2+(z1-z4)^2-d3^2, (x2-x3)^2+ (y2-y3)^2+(z2-z3)^2-d4^2, (x2-x4)^2+ (y2-y4)^2+(z2-z4)^2-d5^2, (x3-x4)^2+ (y3-y4)^2+(z3-z4)^2-d6^2, ]: Vaariables := [x, x2, x3, x4, y, y3, y4, z, z4]; Parameters := [d1, d2, d3, d4, d5, d6, t1, t2, t3, t4]; Eliminate := [x, x2, x3, x4, y, y3, y4, z, z4]: Main variable := [t1]: Blocks := Yes; Block size := [13, 14, 14, 15, 18, 19, 18, 19]; ################################################################################################################################################################################################################################################################################################################################################## #5. Perimeter Sys := [ a^3*b + 3*a^3*z + 2*a^2*b^2 + 2*a^2*b*c - 3*a^2*b*z + 3*a^2*c*z - 9*a^2*z^2 + a*b^3 + 2*a*b^2*c - 3*a*b^2*z + a*b*c^2 - 6*a*b*c*z + 9*a*b*w^2 - 3*a*c^2*z + 3*b^3*z + 3*b^2*c*z - 9*b^2*z^2 - 3*b*c^2*z - 3*c^3*z + 9*c^2*z^2, a^3*c + 3*a^3*y + 2*a^2*b*c + 3*a^2*b*y + 2*a^2*c^2 - 3*a^2*c*y - 9*a^2*y^2 + a*b^2*c - 3*a*b^2*y + 2*a*b*c^2 - 6*a*b*c*y + a*c^3 - 3*a*c^2*y + 9*a*c*v^2 - 3*b^3*y - 3*b^2*c*y + 9*b^2*y^2 + 3*b*c^2*y + 3*c^3*y - 9*c^2*y^2, 3*a^3*x - a^2*b*c + 3*a^2*b*x + 3*a^2*c*x - 9*a^2*x^2 - 2*a*b^2*c - 3*a*b^2*x - 2*a*b*c^2 + 6*a*b*c*x - 3*a*c^2*x - b^3*c - 3*b^3*x - 2*b^2*c^2 + 3*b^2*c*x + 9*b^2*x^2 - b*c^3 + 3*b*c^2*x - 9*b*c*u^2 - 3*c^3*x + 9*c^2*x^2, u + v + w - L, (2*b) - a - c + 3*(x - z), a + b - (2*c) + 3*(x - y)]; Variables := [u,v,w,y,z,x]; Parameters := [a,b,c,L]; Eliminate := [u,v,w,y,z]; Main variable := [x]; Blocks := No. ################################################################################################################################################################################################################################################################################################################################################## #6. Pose sys := [ x1^2 + x2^2 - c12*x1*x2 - b1, x2^2 + x3^2 - c23*x2*x3 - b2, x3^2 + x4^2 - c34*x3*x4 - b3, x4^2 + x1^2 - c41*x4*x1 - b4]; Variables := [x1,x2,x3,x4]: Parameters := Eliminate := [ x2, x3, x4 ]; Main variable := [x1] Blocks := No; ################################################################################################################################################################################################################################################################################################################################################## #7. Flex Sys := [ a1*t2^2*t1^2 +b1*t1^2 +2*c1*t2*t1+d1*t2^2+e1, a2*t2^2*t3^2 +b2*t2^2 +2*c2*t2*t3+d2*t3^2+e2, a3*t3^2*t1^2 +b3*t1^2 +2*c3*t3*t1+d3*t3^2+e3 ]; Variables := [a2, a1, a3, b1, b2, b3, c1, c2, c3, d1, d2, d3, e1, e2, e3, t1]; Eliminate := [t2,t3]; Block := No. Main variable := [t1]; ################################################################################################################################################################################################################################################################################################################################################## #8. Robot arms Sys := [ aa * t2^2 * t1^2 * b2^2 * b1^2 + 2 * l1 * t1^2 * b2^2 * b1^2 + aa * t1^2 * b2^2 * b1^2 - 2 * l1 * t2^2 * b2^2 * b1^2 + aa * t2^2 * b2^2 * b1^2 + aa * b2^2 * b1^2 + 2 * l2 * t2^2 * t1^2 * b1^2 + aa * t2^2 * t1^2 * b1^2 + 2 * l2 * t1^2 * b1^2 + 2 * l1 * t1^2 * b1^2 + aa * t1^2 * b1^2 + 2 * l2 * t2^2 * b1^2 - 2 * l1 * t2^2 * b1^2 + aa * t2^2 * b1^2 + 2 * l2 * b1^2 + aa * b1^2 - 2 * l2 * t2^2 * t1^2 * b2^2 + aa * t2^2 * t1^2 * b2^2 - 2 * l2 * t1^2 * b2^2 + 2 * l1 * t1^2 * b2^2 + aa * t1^2 * b2^2 - 2 * l2 * t2^2 * b2^2 - 2 * l1 * t2^2 * b2^2 + aa * t2^2 * b2^2 - 2 * l2 * b2^2 + aa * b2^2 + aa * t2^2 * t1^2 + 2 * l1 * t1^2 + aa * t1^2 - 2 * l1 * t2^2 + aa * t2^2 + aa, 2 * l1 * t2 * t1^2 * b2^2 * b1^2 - 2 * l1 * t2^2 * t1 * b2^2 * b1^ 2 - 2 * l1 * t1 * b2^2 * b1^2 + 2 * l1 * t2 * b2^2 * b1^2 + 2 * l2 * t2^2 * t1^2 * b2 * b1^2 + 2 * l2 * t1^2 * b2 * b1^2 + 2 * l2 * t2^2 * b2 * b1^2 + 2 * l2 * b2 * b1^2 + 2 * l1 * t2 * t1^2 * b1^2 - 2 * l1 * t2^2 * t1 * b1^ 2 - 2 * l1 * t1 * b1^2 + 2 * l1 * t2 * b1^2 - 2 * l2 * t2^2 * t1^2 * b2^2 * b1 - 2 * l2 * t1^2 * b2^2 * b1 - 2 * l2 * t2^2 * b2^2 * b1 - 2 * l2 * b2^2 * b1 - 2 * l2 * t2^2 * t1^ 2 * b1 - 2 * l2 * t1^2 * b1 - 2 * l2 * t2^2 * b1 - 2 * l2 * b1 + 2 * l1 * t2 * t1^2 * b2^2 - 2 * l1 * t2^2 * t1 * b2^2 - 2 * l1 * t1 * b2^2 + 2 * l1 * t2 * b2^2 + 2 * l2 * t2^2 * t1^2 * b2 + 2 * l2 * t1^2 * b2 + 2 * l2 * t2^2 * b2 + 2 * l2 * b2 + 2 * l1 * t2 * t1^2 - 2 * l1 * t2^2 * t1 - 2 * l1 * t1 + 2 * l1 * t2, - al^2 * x * t1^2 * b1^2 - x * t1^2 * b1^2 - l3 * al^2 * t1^2 * b1^2 - l2 * al^2 * t1^2 * b1^2 - l1 * al^2 * t1^2 * b1^2 + l3 * t1^2 * b1^2 - l2 * t1^2 * b1^2 - l1 * t1^2 * b1^2 - al^2 * x * b1^2 - x * b1^2 - l3 * al^2 * b1^2 - l2 * al^2 * b1^2 + l1 * al^2 * b1^2 + l3 * b1^2 - l2 * b1^2 + l1 * b1^2 - 4 * l3 * al * t1^2 * b1 - 4 * l3 * al * b1 - al^2 * x * t1^2 - x * t1^2 + l3 * al^2 * t1^2 + l2 * al^2 * t1^2 - l1 * al^2 * t1^2 - l3 * t1^2 + l2 * t1^2 - l1 * t1^2 - al^2 * x - x + l3 * al^2 + l2 * al^2 + l1 * al^2 - l3 + l2 + l1, - al^2 * y * t1^2 * b1^2 - y * t1^2 * b1^2 - 2 * l3 * al * t1^2 * b1^2 + 2 * l1 * al^2 * t1 * b1^2 + 2 * l1 * t1 * b1^2 - al^2 * y * b1^2 - y * b1^2 - 2 * l3 * al * b1^2 + 2 * l3 * al^2 * t1^2 * b1 + 2 * l2 * al^2 * t1^2 * b1 - 2 * l3 * t1^2 * b1 + 2 * l2 * t1^2 * b1 + 2 * l3 * al^2 * b1 + 2 * l2 * al^2 * b1 - 2 * l3 * b1 + 2 * l2 * b1 - al^2 * y * t1^2 - y * t1^2 + 2 * l3 * al * t1^2 + 2 * l1 * al^2 * t1 + 2 * l1 * t1 - al^2 * y - y + 2 * l3 * al]: Parameters := [aa, al, l1, l2, l3, x, y] Variables := [t1, aa, al, l1, l2, l3, x, y]; We performed four different eliminations to obtain 4 different resultants a. Eliminate := [t2,b1,b2]; B. Eliminate := [t1,b1,b2]; c. Eliminate := [b1,t1,t2]; d. Eliminate := [b2,t1,t2]; ################################################################################################################################################################################################################################################################################################################################################## #9. Nachtwey sys := [ x0 + v0*(a1-a0)/j + a0/2*(a1-a0)^2/j^2 + j/6*(a1-a0)^3/j^3 - x1, v0 + a0*(a1-a0)/j + j/2*(a1-a0)^2/j^2 - v1, x1 + v1*(a1-a5)/j + a1/2*(a1-a5)^2/j^2 - j/6*(a1-a5)^3/j^3 - x5, v1 + a1*(a1-a5)/j - j/2*(a1-a5)^2/j^2 - v5, x5 + v5*(-a5/j) + a5/2*(-a5/j)^2 + j/6*(-a5/j)^3 - x7, v5 + a5*(-a5/j) + j/2*(-a5/j)^2 ]: Variables := [x1,x5,v1,v5,a1,a5]; Parameters := [v0,a0,j,x0,x7]; Eliminate := [x1,x5,v1,a1,a5]; Main variable := [v5]; Block structure := No. ################################################################################################################################################################################################################################################################################################################################################## #10. Pendulum Sys := B := [q * ld * s^3 * t^2-s^3 * t^2-q * ld * s * t^2+2 * q * s * t^2-s * t^2-q * mu * ld * s^4 * t+q * mu * ld * t+q * ld * s^3-s^3 -q * ld * s+2 * q * s-s, q * ld * s * t^4-q * s * t^4-q * ld * s^2 * t^3+q * s^2 * t^3-s^2 * t^3-q * ld * t^3+q * t^3-t^3+q * ld * s^2 * t +q * s^2 * t-s^2 * t+q * ld * t+q * t-t-q * ld * s+q * s, 10 * q^2 * ld^2 * s^3 * t^5 - 10 * q^2 * ld * s^3 * t^5 - 10 * q * ld * s^3 * t^5 + 10 * q * s^3 * t^5-2 * q^2 * ld^2 * s * t^5+6 * q^2 * ld * s * t^5 - 2 * q * ld * s * t^5 - 4 * q^2 * s * t^5+2 * q * s * t^5-15 * q^2 * mu * ld^2 * s^4 * t^4-5 * q^2 * ld^2 * s^4 * t^4+15 * q^2 * mu * ld * s^4 * t^4 + 5 * q^2 * ld * s^4 * t^4-5 * q * s^4 * t^4+5 * s^4 * t^4-10 * q^2 * ld^2 * s^2 * t^4+12 * q^2 * ld * s^2 * t^4-2 * q * ld * s^2 * t^4-2 * q^2 * s^2 * t^4 - 6 * q * s^2 * t^4+8 * s^2 * t^4-q^2 * mu * ld^2 * t^4+3 * q^2 * ld^2 * t^4 +q^2 * mu * ld * t^4 - 9 * q^2 * ld * t^4+6 * q * ld * t^4+6 * q^2 * t^4 - 9 * q * t^4+3 * t^4+10 * q^2 * mu * ld^2 * s^5 * t^3-10 * q^2 * mu * ld * s^5 * t^3+10 * q * mu * ld * s^5 * t^3+12 * q^2 * mu * ld^2 * s^3 * t^3 + 12 * q^2 * ld^2 * s^3 * t^3-12 * q^2 * mu * ld * s^3 * t^3 + 12 * q * mu * ld * s^3 * t^3 - 12 * q^2 * ld * s^3 * t^3-12 * q * ld * s^3 * t^3+ 12 * q * s^3 * t^3 + 2 * q^2 * mu * ld^2 * s * t^3-4 * q^2 * ld^2 * s * t^3-2 * q^2 * mu * ld * s * t^3+2 * q * mu * ld * s * t^3+12 * q^2 * ld * s * t^3-4 * q * ld * s * t^3 - 8 * q^2 * s * t^3+4 * q * s * t^3-10 * q^2 * ld^2 * s^4 * t^2+8 * q^2 * ld * s^4 * t^2+2 * q * ld * s^4 * t^2-8 * q * s^4 * t^2+8 * s^4 * t^2 - 12 * q * s^2 * t^2+12 * s^2 * t^2+2 * q^2 * ld^2 * t^2-8 * q^2 * ld * t^2+ 6 * q * ld * t^2+8 * q^2 * t^2-12 * q * t^2+4 * t^2-2 * q^2 * mu * ld^2 * s^5 * t- 2 * q^2 * mu * ld * s^5 * t+2 * q * mu * ld * s^5 * t-4 * q^2 * mu * ld^2 * s^3 * t+2 * q^2 * ld^2 * s^3 * t-4 * q^2 * mu * ld * s^3 * t+4 * q * mu * ld * s^3 * t- 2 * q^2 * ld * s^3 * t-2 * q * ld * s^3 * t+2 * q * s^3 * t-2 * q^2 * mu * ld^2 * s * t-2 * q^2 * ld^2 * s * t-2 * q^2 * mu * ld * s * t + 2 * q * mu * ld * s * t+6 * q^2 * ld * s * t-2 * q * ld * s * t-4 * q^2 * s * t+2 * q * s * t-q^2 * mu * ld^2 * s^4+3 * q^2 * ld^2 * s^4 + q^2 * mu * ld * s^4+3 * q^2 * ld * s^4-6 * q * ld * s^4-3 * q * s^4+3 * s^ 4+2 * q^2 * ld^2 * s^2+4 * q^2 * ld * s^2-6 * q * ld * s^2+2 * q^2 * s^2 - 6 * q * s^2+4 * s^2+q^2 * mu * ld^2-q^2 * ld^2-q^2 * mu * ld+q^2 * ld+2 * q^2-3 * q + 1]: Variables := [s,t]; Paramters := [q,mu,ld]; Eliminate. := [s,t]; Main variable := [q] Block sizes := [17,16]; ################################################################################################################################################################################################################################################################################################################################################## #11. Tot system B1 :=[-2*s1 - 2*chi*s1 + a*c1*qq*s1 + b*c1*qq*s2, b*c2*qq*s1 - 2*s2 + 2*chi*s2 + c*c2*qq*s2,-1 + c1^2 + s1^2,-1 + c2^2 + s2^2, 4*c1*c2 - 4*c1*c2*chi^2 - 2*a*c1^2*c2*qq - 2*c*c1*c2^2*qq + 2*a*c1^2*c2*chi*qq - 2*c*c1*c2^2*chi*qq - b^2*c1^2*c2^2*qq^2 + a*c*c1^2*c2^2*qq^2 + 2*a*c2*qq*s1^2 - 2*a*c2*chi*qq*s1^2 - a*c*c2^2*qq^2*s1^2 + 2*b*c1*qq*s1*s2 + 2*b*c2*qq*s1*s2 + 2*b*c1*chi*qq*s1*s2 - 2*b*c2*chi*qq*s1*s2 - a*b*c1^2*qq^2*s1*s2 - b*c*c2^2*qq^2*s1*s2 + a*b*qq^2*s1^3*s2 + 2*c*c1*qq*s2^2 + 2*c*c1*chi*qq*s2^2 - a*c*c1^2*qq^2*s2^2 + b^2*qq^2*s1^2*s2^2 + a*c*qq^2*s1^2*s2^2 + b*c*qq^2*s1*s2^3]: Variables := [c1,s1,c2,s2,chi]; Parameters := [qq,a,b,c]; Eliminate := [c1,s1,c2,s2]; Main variable := [chi]; Block size := [31,25]; ##################################################################################################################################################################################################################################################################################################################################################