Lesson 10: Polynomials restart;
<Text-field style="Heading 1" layout="Heading 1">Factoring polynomials</Text-field> The Fundamental Theorem of Algebra says that a polynomial of degree n in one variable x (with coefficients that are complex numbers) can be written as LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JkYrLUYjNihGKy1GIzYsLUklbXN1YkdGJDYlLUYsNiVRImFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2JC1GLDYlUSJuRidGO0Y+L0Y/USdub3JtYWxGJy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnRkYvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRlEvJSlzdHJldGNoeUdGUS8lKnN5bW1ldHJpY0dGUS8lKGxhcmdlb3BHRlEvJS5tb3ZhYmxlbGltaXRzR0ZRLyUnYWNjZW50R0ZRLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGam4tSShtZmVuY2VkR0YkNiQtRiM2Ji1GLDYlUSJ4RidGO0Y+LUZMNi1RKCZtaW51cztGJ0ZGRk9GUkZURlZGWEZaRmZuL0ZpblEsMC4yMjIyMjIyZW1GJy9GXG9GaW8tRjY2JS1GLDYlUSJyRidGO0Y+LUYjNiQtSSNtbkdGJDYkUSIxRidGRkZGRkhGRkZGRkstRl5vNiQtRiM2JkZib0Zlby1GNjYlRl1wLUYjNiQtRmNwNiRRIjJGJ0ZGRkZGSEZGRkZGSy1GLDYlUSQuLi5GJ0Y7Rj5GSy1GXm82JC1GIzYmRmJvRmVvLUY2NiVGXXBGQUZIRkZGRkZGLUZMNi1RIj1GJ0ZGRk9GUkZURlZGWEZaRmZuL0ZpblEsMC4yNzc3Nzc4ZW1GJy9GXG9GXnItRiM2J0Y1RkstRiM2Jy1JK211bmRlcm92ZXJHRiQ2Jy1GTDYtUSomUHJvZHVjdDtGJ0ZGRk9GUi9GVUY9RlYvRllGPS9GZW5GPUZmbkZobi9GXG9RLDAuMTY2NjY2N2VtRictRiM2Ji1GLDYlUSJqRidGO0Y+RmpxRmJwRkZGQ0Zmbi8lLGFjY2VudHVuZGVyR0ZRRistSSdtc3BhY2VHRiQ2Ji8lJ2hlaWdodEdRJjAuMGV4RicvJSZ3aWR0aEdRJDUuMEYnLyUmZGVwdGhHRlt0LyUqbGluZWJyZWFrR1ElYXV0b0YnLUZebzYkLUYjNiZGYm9GZW8tRjY2JUZdcC1GIzYkRmFzRkZGSEZGRkZGRkYrRkZGK0ZGRitGRkYrRkY= where the complex numbers LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYsLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEickYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSIsRidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GRDYtUSJ+RidGPkZHL0ZLRklGTEZORlBGUkZURlYvRlpGWC1GRDYtUSMuLkYnRj5GR0ZpbkZMRk5GUEZSRlQvRldRLDAuMjIyMjIyMmVtRidGam4tRkQ2LVEiLkYnRj5GR0ZpbkZMRk5GUEZSRlRGVkZqbkZDRmZuLUYsNiVGLi1GIzYkLUYvNiVRIm5GJ0YyRjVGPkZALUYvNiNRIUYnRj4= are the roots of the polynomial. Some roots may be present more than once: these are called repeated roots. The number of times a root appears is called its multiplicity. Maple has a factor command to factor polynomials, but usually it doesn't do this kind of complete factorization. If the coefficients of the polynomial are rational numbers, it will just find factors with coefficients that are rational numbers. For example: P:= 4*x^4 -4*x^2 +12*x - 9; factor(P); To factor completely into linear factors, you can say factor(P, complex); Notice that the roots LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JC1JJW1zdWJHRiQ2JS1GLDYlUSJyRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtRiw2JVEiakYnRjdGOi9GO1Enbm9ybWFsRicvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJ0ZCRitGQg== are given as (approximate) floating-point numbers. You could also ask for a factorization over the real numbers: factor(P, real); This gives you factors where all the coefficients are real: they may be linear factors, or quadratics whose roots are not real. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=
<Text-field style="Heading 1" layout="Heading 1">Multivariate Polynomials</Text-field> LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic= A multivariate polynomial is a polynomial with several variables instead of just one. For example: P := 4*x^4+2*x^3*y-6*x^2*y^2-2*x^2*y-x*y^2+3*y^3+6*x^2+3*x*y-9*y^2; From one point of view, this can be considered as a polynomial of degree 4 in the variable x whose coefficients are polynomials in y. You could collect the terms of each degree in x as follows: collect(P,x); Or you could consider it as a polynomial in y whose coefficients are polynomials in x. collect(P,y); Factoring works (to some extent): factor(P); But you can't factor a multivariate polynomial into (multivariate) linear factors. Writing LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY0LUkjbW5HRiQ2JFEiMkYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JI21vR0YkNi1RIn5GJ0YvLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y4LyUpc3RyZXRjaHlHRjgvJSpzeW1tZXRyaWNHRjgvJShsYXJnZW9wR0Y4LyUubW92YWJsZWxpbWl0c0dGOC8lJ2FjY2VudEdGOC8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRkctSSVtc3VwR0YkNiUtSSNtaUdGJDYlUSJ4RicvJSdpdGFsaWNHUSV0cnVlRicvRjBRJ2l0YWxpY0YnLUYjNiRGK0YvLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy1GMzYtUSIrRidGL0Y2RjlGO0Y9Rj9GQUZDL0ZGUSwwLjIyMjIyMjJlbUYnL0ZJRmluLUYsNiRRIjNGJ0YvRjItRjM2LVEqJnVtaW51czA7RidGL0Y2RjlGO0Y9Rj9GQUZDRmhuRmpuRjItRk42JVEieUYnRlFGVEYyLUYzNi1RIj1GJ0YvRjZGOUY7Rj1GP0ZBRkMvRkZRLDAuMjc3Nzc3OGVtRicvRklGaG9GMkYrRjItSShtZmVuY2VkR0YkNiQtRiM2KEZNRjJGZW5GMi1GSzYlLUZbcDYkLUYjNiQtSSZtZnJhY0dGJDYoLUYjNiZGYW8tRjM2LVEoJm1pbnVzO0YnRi9GNkY5RjtGPUY/RkFGQ0ZobkZqbkZbb0YvRlYvJS5saW5ldGhpY2tuZXNzR1EiMUYnLyUrZGVub21hbGlnbkdRJ2NlbnRlckYnLyUpbnVtYWxpZ25HRmJxLyUpYmV2ZWxsZWRHRjhGL0YvLUYjNiQtRltwNiQtRiM2JC1GZnA2KC1GLDYkRl9xRi9GVkZdcUZgcUZjcUZlcUYvRi9GL0ZYRi9GL0YyLUZbcDYkLUYjNihGTUYyRl5vRjJGX3BGL0YvRi8= doesn't count: these are not polynomials in x and y, because of the non-integer powers. Here's something Maple can't do: factor multivariate polynomials with floating-point entries. It seems that no good algorithm for this is known. evalf(P); factor(%); convert(%,rational); factor(%);
<Text-field style="Heading 1" layout="Heading 1">Plotting equations in two variables</Text-field> Here are two polynomials in two variables. p1 := 2*x^4 - 2*y^3 + y ; p2 := 2 * x^2 * y + 3*y^4 - 2*x ; We'll want to solve the equations p1 = 0 and p2 = 0. Before doing this, let's plot the curves to see how many intersections they seem to have. Up to now we've plotted expressions such as LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYkLUYsNiVRInhGJ0YvRjIvRjNRJ25vcm1hbEYnRj1GPQ== in one variable, corresponding to equations LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSI9RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjI3Nzc3NzhlbUYnL0ZORlNGNS1GLDYlUSJmRidGL0YyLUkobWZlbmNlZEdGJDYkLUYjNiQtRiw2JVEieEYnRi9GMkY5RjlGOQ==. It would be hard to do that here: p1 has degree 3 as a polynomial in y and p2 has degree 4, and although those could be solved, the solutions would be extremely complicated and unpleasant. The plots package does have a command for plotting curves corresponding to arbitrary equations in two variables: it's called implicitplot. with(plots): implicitplot(p1=0, x = -5 .. 5, y = -5 .. 5); Actually the =0 is not needed: you could give it an expression instead of an equation, and implicitplot would plot the equation (expression) = 0. implicitplot(p1, x = -5 .. 5, y = -5 .. 5); What implicitplot does is basically this. It looks at the difference between the two sides of the equation on a rectangular grid of points in the rectangle where you want the plot: a certain number in the x direction by a certain number in the y direction (these can be set with the grid option). Wherever it sees this difference change sign, it knows there is a bit of curve to be drawn, and it draws a straight line segment using a linear interpolation. For example, suppose one cell of the grid consisted of points (0,0), (1,0), (0,1), (1,1), and the difference between the sides of the equation is f:= (x,y) -> x^2 - y + 1/2; f(0,0), f(1,0), f(0,1), f(1,1); The line must go between (0,0) and (0,1) and between (0,1) and (1,1), and in each case linear interpolation says it should go half-way, i.e. a linear function that has the value 1/2 at 0 and -1/2 at 1 would be 0 at 1/2. So it would draw a line segment from [0,1/2] to [1/2, 1]. implicitplot(f(x,y)=0, x=0..1,y=0..1,grid=[2,2], view=[0..1,0..1]); One consequence of this strategy is that implicitplot usually doesn't catch a case where the difference of the two sides doesn't change sign, but instead is 0 on some curve and, say, positive on both sides. implicitplot((y-x^2)^2=0, x=-1..1,y=-1..1); There is one option that may help here: factor=true, which tells implicitplot to try factoring the input. If it sees that the input is a power LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1cEdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUYvNiVRIm5GJ0YyRjVGMkY1LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy9GNlEnbm9ybWFsRic=, it can work on LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= instead of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1cEdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUYvNiVRIm5GJ0YyRjVGMkY1LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RIi5GJy9GNlEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkgvJSlzdHJldGNoeUdGSC8lKnN5bW1ldHJpY0dGSC8lKGxhcmdlb3BHRkgvJS5tb3ZhYmxlbGltaXRzR0ZILyUnYWNjZW50R0ZILyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGV0ZE implicitplot((y-x^2)^2=0,x=-1..1,y=-1..1,factor=true); Implicitplot also has some trouble with curves that intersect themselves, because linear interpolation is usually not very good near the intersection points. implicitplot((x^2+y^2-1)*((x-1)^2+y^2-1),x=-1..2,y=-1..1); Increasing the grid settings may help somewhat, but it makes the command slower. By the way, the option scaling = constrained makes a plot have the same scale in both axes, so circles look like circles and not ellipses. implicitplot((x^2+y^2-1)*((x-1)^2+y^2-1),x=-1..2,y=-1..1,grid=[50,50],scaling=constrained); There are also two options: crossingrefine and gridrefine, which you can set to positive integer values. These cause implicitplot to look more closely at what happens near the points it plots, giving you better-looking curves.` implicitplot((x^2+y^2-1)*((x-1)^2+y^2-1),x=-1..2,y=-1..1, gridrefine=3, scaling=constrained); You can also give implicitplot a list of equations rather than just one, and use different colours for each. So here are our two equations. implicitplot([p1 = 0, p2 = 0], x = -5 .. 5, y = -5 .. 5, colour = [red,blue], grid=[50,50],gridrefine=3); It looks very much like there are two intersections, one at the origin and another near (0.28, -0.68), although you might want to take a closer look near (0.38, 0.72).
<Text-field style="Heading 1" layout="Heading 1">Solving systems</Text-field> As we've seen, we can ask Maple to solve this system of equations for the two variables x and y. We could try either fsolve or solve. On a system of equations, fsolve will only return one solution (it's just for a single polynomial that it would return all the real solutions). fsolve({p1=0,p2=0},{x,y}); If we want another solution, we can give fsolve intervals for x and y, making sure not to include the solution it already found. fsolve({p1=0,p2=0},{x=-1..1,y=-0.5 .. 1}); fsolve({p1=0,p2=0},{x=0 .. 0.5, y = 0.5 .. 1}); There is another command, Isolate in the RootFinding package, that will give you all the real solutions of a system of polynomials. RootFinding[Isolate]([p1,p2],[x,y]); It wouldn't work for non-polynomials, though. RootFinding[Isolate]([x^2 - y*cos(x), x-y],[x,y]); We could also try solve: solve({p1 = 0, p2 = 0}, {x,y}); You can also use lists instead of sets. The main advantage of using lists instead of sets here (I think) is that, since lists have a well-defined order, you should get a more predictable result (the same variable should always be eliminated first). S := solve([p1 = 0, p2 = 0], [x,y]); It did find the solutions after a fashion: y is "RootOf" a complicated polynomial, and x is a very complicated function of that. It's our bad luck that the first complicated polynomial can't be solved in "closed form". To get all the values of a RootOf (or an expression containing a RootOf), you can use allvalues. In this case we want to apply that to the second solution returned by solve. allvalues(S[2]); All that really happened here was that the solution using RootOf was expanded into 15 such solutions, each one where the RootOf was given an index 1 to 15. Note that the result of allvalues is an expression sequence. In order to get something easier to work with, we'll make it into a list by enclosing it in square brackets. Next we use evalf to get numerical values. S2:= evalf([%]); Most of the solutions are complex. We just want the real ones (those with no I). remove(has, S2, I); Here's what's going on in this bit of Maple magic. has(A, B) checks whether a Maple expression A contains a certain subexpression B, returning either true or false. For example: has(x^2 + y, x); has(x^2 + y^3, y^2); remove(f, A) takes a function f (which should return either true or false), applies it to each of the operands of A (e.g. the members of a list or set) and removes those where the functions return true, keeping those where it returns false. select(f, A) does the opposite, keeping those where the function returns true. Additional inputs to f can be included in the call to remove or select after the A. Thus in our case, remove(has, S2, I) will evaluate has(t, I) for each of the members of the list S2, and returns the list consisting of those members t for which the result was false, i.e. those that contain only real numbers.
<Text-field style="Heading 1" layout="Heading 1">Resultants</Text-field> What is that polynomial that y is supposed to be a root of? res := resultant(p1,p2,x); factor(res); This is the resultant of p1 and p2, considered as polynomials in x (with coefficients that are polynomials in y). The most important property is that if two polynomials in y have a common root, their resultant is 0. To understand resultants, it's simplest to eliminate the distraction of the second variable, and start with polynomials with constant coefficients. I'll take these same polynomials, but fix LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1JI21uR0YkNiRRIjNGJ0Y5Rjk=. f1 := eval(p1, y=3); f2 := eval(p2, y=3); resultant(f1,f2,x); Suppose LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KEYrLUYjNiYtSSVtc3ViR0YkNiUtRiw2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y9USdub3JtYWxGJ0ZFLyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJ0ZFLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZQLyUpc3RyZXRjaHlHRlAvJSpzeW1tZXRyaWNHRlAvJShsYXJnZW9wR0ZQLyUubW92YWJsZWxpbWl0c0dGUC8lJ2FjY2VudEdGUC8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRmluLUkobWZlbmNlZEdGJDYkLUYjNiQtRiw2JVEieEYnRjlGPEZFRkVGRS1GSzYtUSI9RidGRUZORlFGU0ZVRldGWUZlbi9GaG5RLDAuMjc3Nzc3OGVtRicvRltvRmhvLUYjNiYtRiw2JVEiYUYnRjlGPC1GSzYtUTEmSW52aXNpYmxlVGltZXM7RidGRUZORlFGU0ZVRldGWUZlbkZnbkZqbi1JJW1zdXBHRiQ2JUZhby1GLDYlUSJuRidGOUY8LyUxc3VwZXJzY3JpcHRzaGlmdEdGSUZFRitGRUYrRkU= + ... and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSShtZmVuY2VkR0YkNiQtRiM2JC1GLzYlUSJ4RidGMkY1Rj5GPi1JI21vR0YkNi1RIj1GJ0Y+LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZRLyUpc3RyZXRjaHlHRlEvJSpzeW1tZXRyaWNHRlEvJShsYXJnZW9wR0ZRLyUubW92YWJsZWxpbWl0c0dGUS8lJ2FjY2VudEdGUS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRmpuLUYvNiVRImJGJ0YyRjUtRkw2LVExJkludmlzaWJsZVRpbWVzO0YnRj5GT0ZSRlRGVkZYRlpGZm4vRmluUSYwLjBlbUYnL0Zcb0Zkby1JJW1zdXBHRiQ2JUZILUYvNiVRIm1GJ0YyRjUvJTFzdXBlcnNjcmlwdHNoaWZ0R0ZCRj4=+ ... are polynomials of degrees n and m respectively. In our example, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JkYrLUYjNiYtRiw2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GOlEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkQvJSlzdHJldGNoeUdGRC8lKnN5bW1ldHJpY0dGRC8lKGxhcmdlb3BHRkQvJS5tb3ZhYmxlbGltaXRzR0ZELyUnYWNjZW50R0ZELyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGUy1JI21uR0YkNiRRIjJGJ0ZARkBGK0ZARitGQA==, n = 4, b = 6, m = 2. Let the n roots of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1JJW1zdWJHRiQ2JS1GLDYlUSJmRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIxRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RMCZBcHBseUZ1bmN0aW9uO0YnRkMvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRk4vJSlzdHJldGNoeUdGTi8lKnN5bW1ldHJpY0dGTi8lKGxhcmdlb3BHRk4vJS5tb3ZhYmxlbGltaXRzR0ZOLyUnYWNjZW50R0ZOLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGZ24tSShtZmVuY2VkR0YkNiQtRiM2JC1GLDYlUSJ4RidGN0Y6RkNGQ0ZDRitGQw== be LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEickYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg==, ..., LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEickYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm5GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== and the m roots of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1JJW1zdWJHRiQ2JS1GLDYlUSJmRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIyRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RMCZBcHBseUZ1bmN0aW9uO0YnRkMvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRk4vJSlzdHJldGNoeUdGTi8lKnN5bW1ldHJpY0dGTi8lKGxhcmdlb3BHRk4vJS5tb3ZhYmxlbGltaXRzR0ZOLyUnYWNjZW50R0ZOLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGZ24tSShtZmVuY2VkR0YkNiQtRiM2JC1GLDYlUSJ4RidGN0Y6RkNGQ0ZDRitGQw== be LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEic0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg==, ..., LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEic0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm1GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== (including repeated roots, if any). Then the resultant of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== is LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KC1JJW1zdXBHRiQ2JS1GLDYlUSJhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYsNiVRIm1GJ0Y3RjovJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnL0Y7USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSy8lKXN0cmV0Y2h5R0ZLLyUqc3ltbWV0cmljR0ZLLyUobGFyZ2VvcEdGSy8lLm1vdmFibGVsaW1pdHNHRksvJSdhY2NlbnRHRksvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZaLUYyNiUtRiw2JVEiYkYnRjdGOi1GLDYlUSJuRidGN0Y6RkBGQy1JKG1mZW5jZWRHRiQ2JC1GIzYnLUkrbXVuZGVyb3ZlckdGJDYnLUZENi9RKiZQcm9kdWN0O0YnLyUrZm9yZWdyb3VuZEdRLlsxNDQsMTQ0LDE0NF1GJ0ZHL0krbXNlbWFudGljc0dGJFEmaW5lcnRGJ0ZJRkwvRk9GOUZQL0ZTRjkvRlVGOUZWRlgvRmZuUSwwLjE2NjY2NjdlbUYnLUYjNiYtRiw2JVEiakYnRjdGOi1GRDYtUSI9RidGR0ZJRkxGTkZQRlJGVEZWL0ZZUSwwLjI3Nzc3NzhlbUYnL0ZmbkZecS1JI21uR0YkNiRRIjFGJ0ZHRkdGPUZWLyUsYWNjZW50dW5kZXJHRktGKy1JJ21zcGFjZUdGJDYmLyUnaGVpZ2h0R1EmMC4wZXhGJy8lJndpZHRoR1EkNS4wRicvJSZkZXB0aEdGW3IvJSpsaW5lYnJlYWtHUSVhdXRvRictRmBvNiQtRiM2Jy1GZW82J0Znby1GIzYmLUYsNiVRImlGJ0Y3RjpGanBGYHFGR0Zcb0ZWRmRxRitGZnEtRmBvNiQtRiM2Ji1JJW1zdWJHRiQ2JS1GLDYlUSJyRidGN0Y6LUYjNiRGXHNGRy8lL3N1YnNjcmlwdHNoaWZ0R0ZCLUZENi1RKCZtaW51cztGJ0ZHRklGTEZORlBGUkZURlYvRllRLDAuMjIyMjIyMmVtRicvRmZuRmF0LUZkczYlLUYsNiVRInNGJ0Y3RjotRiM2JEZncEZHRlt0RkdGR0ZHRkdGR0ZHRkdGK0ZH The symbol LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbW9HRiQ2LlEnJnByb2Q7RicvJStmb3JlZ3JvdW5kR1EuWzE0NCwxNDQsMTQ0XUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNy8lKXN0cmV0Y2h5R1EldHJ1ZUYnLyUqc3ltbWV0cmljR0Y3LyUobGFyZ2VvcEdGPC8lLm1vdmFibGVsaW1pdHNHRjwvJSdhY2NlbnRHRjcvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4xNjY2NjY3ZW1GJy1GLDYuUSJ+RidGL0YyRjVGOC9GO0Y3Rj0vRkBGNy9GQkY3RkNGRS9GSUZHRjI=stands for product. We need to multiply all the differences LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEickYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRImlGJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSJ+RidGPS8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSC8lKXN0cmV0Y2h5R0ZILyUqc3ltbWV0cmljR0ZILyUobGFyZ2VvcEdGSC8lLm1vdmFibGVsaW1pdHNHRkgvJSdhY2NlbnRHRkgvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZXLUZDNi1RKiZ1bWludXMwO0YnRj1GRkZJRktGTUZPRlFGUy9GVlEsMC4yMjIyMjIyZW1GJy9GWUZobkZCLUYsNiUtRi82JVEic0YnRjJGNS1GIzYkLUYvNiVRImpGJ0YyRjVGPUY/Rj0= where LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEickYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRImlGJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRictRi82I1EhRidGPQ== is a root of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSShtZmVuY2VkR0YkNiQtRiM2JC1GLzYlUSJ4RidGMkY1Rj5GPi1GLzYjUSFGJ0Y+ and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEic0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRImpGJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== is a root of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSShtZmVuY2VkR0YkNiQtRiM2JC1GLzYlUSJ4RidGMkY1Rj5GPi1GLzYjUSFGJ0Y+, and finally multiply the result by LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1cEdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm1GJ0YyRjUvRjZRJ25vcm1hbEYnLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy1GLDYlLUYvNiVRImJGJ0YyRjUtRiM2JC1GLzYlUSJuRidGMkY1Rj1GP0Y9. Note that this will be 0 if LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== have a root in common. Let's calculate this for our example, using this definition. First we need the roots. Digits:= 16: r := fsolve(f1, x, complex); s := fsolve(f2, x, complex); OK, four roots for f1 and two for f2. Now to plug in to the formula for the resultant. The mul command will make a sequence of expressions, depending on an index variable, and multiply them together. For example, for LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkrbXVuZGVyb3ZlckdGJDYnLUkjbW9HRiQ2LVEqJlByb2R1Y3Q7RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUmZmVuY2VHUSZ1bnNldEYnLyUqc2VwYXJhdG9yR0Y3LyUpc3RyZXRjaHlHUSV0cnVlRicvJSpzeW1tZXRyaWNHRjcvJShsYXJnZW9wR0Y8LyUubW92YWJsZWxpbWl0c0dGPC8lJ2FjY2VudEdGNy8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjE2NjY2NjdlbUYnLUYjNiYtSSNtaUdGJDYlUSJpRicvJSdpdGFsaWNHRjwvRjNRJ2l0YWxpY0YnLUYvNi1RIj1GJ0YyL0Y2USZmYWxzZUYnL0Y5RlkvRjtGWS9GPkZZL0ZARlkvRkJGWS9GREZZL0ZGUSwwLjI3Nzc3NzhlbUYnL0ZJRltvLUkjbW5HRiQ2JFEiMUYnRjJGMi1GIzYkLUZebzYkUSIzRidGMkYyRmluLyUsYWNjZW50dW5kZXJHRlktSSVtc3ViR0YkNiUtRk42JVEiY0YnRlFGUy1GIzYkRk1GMi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRjI=: mul(c[i],i=1..3); By the way, for addition we would use add. add(c[i],i=1..3); In this case I need one mul inside another. 2^2 * 6^4 * mul(mul(r[i]-s[j], j=1..2), i=1..4); round(%); Up to roundoff error, this is the same as what Maple got for the resultant.
<Text-field style="Heading 1" layout="Heading 1">Resultant using division</Text-field> LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic= If that was all there was to computing the resultant, it would be rather useless. Fortunately, there are algebraic ways to calculate it, which don't depend on actually getting the roots, just using the coefficients. This is why it is useful, especially for polynomials in several variables. Note that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KEYrLUYjNiYtSSVtc3ViR0YkNiUtRiw2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y9USdub3JtYWxGJ0ZFLyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJ0ZFLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZQLyUpc3RyZXRjaHlHRlAvJSpzeW1tZXRyaWNHRlAvJShsYXJnZW9wR0ZQLyUubW92YWJsZWxpbWl0c0dGUC8lJ2FjY2VudEdGUC8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRmluLUkobWZlbmNlZEdGJDYkLUYjNiQtRiw2JVEieEYnRjlGPEZFRkVGRS1GSzYtUSI9RidGRUZORlFGU0ZVRldGWUZlbi9GaG5RLDAuMjc3Nzc3OGVtRicvRltvRmhvLUYjNiYtRiw2JVEiYkYnRjlGPC1GSzYtUTEmSW52aXNpYmxlVGltZXM7RidGRUZORlFGU0ZVRldGWUZlbkZnbkZqbi1GXW82JC1GIzYnLUkrbXVuZGVyb3ZlckdGJDYnLUZLNi9RKiZQcm9kdWN0O0YnLyUrZm9yZWdyb3VuZEdRLlsxNDQsMTQ0LDE0NF1GJ0ZFL0krbXNlbWFudGljc0dGJFEmaW5lcnRGJ0ZORlEvRlRGO0ZVL0ZYRjsvRlpGO0ZlbkZnbi9GW29RLDAuMTY2NjY2N2VtRictRiM2Ji1GLDYlUSJqRidGOUY8RmRvLUZCNiRRIjFGJ0ZFRkUtRiw2JVEibUYnRjlGPEZlbi8lLGFjY2VudHVuZGVyR0ZQRistSSdtc3BhY2VHRiQ2Ji8lJ2hlaWdodEdRJjAuMGV4RicvJSZ3aWR0aEdRJDUuMEYnLyUmZGVwdGhHRmlyLyUqbGluZWJyZWFrR1ElYXV0b0YnLUZdbzYkLUYjNiZGYW8tRks2LVEoJm1pbnVzO0YnRkVGTkZRRlNGVUZXRllGZW4vRmhuUSwwLjIyMjIyMjJlbUYnL0Zbb0Zqcy1GNDYlLUYsNiVRInNGJ0Y5RjwtRiM2JEZpcUZFRkdGRUZFRkVGRUZFRitGRUYrRkU= so the resultant of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== must be LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1JJW1zdXBHRiQ2JS1GLDYlUSJhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYsNiVRIm1GJ0Y3RjovJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnL0Y7USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSy8lKXN0cmV0Y2h5R0ZLLyUqc3ltbWV0cmljR0ZLLyUobGFyZ2VvcEdGSy8lLm1vdmFibGVsaW1pdHNHRksvJSdhY2NlbnRHRksvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZaLUkobWZlbmNlZEdGJDYkLUYjNigtSSttdW5kZXJvdmVyR0YkNictRkQ2L1EqJlByb2R1Y3Q7RicvJStmb3JlZ3JvdW5kR1EuWzE0NCwxNDQsMTQ0XUYnRkcvSSttc2VtYW50aWNzR0YkUSZpbmVydEYnRklGTC9GT0Y5RlAvRlNGOS9GVUY5RlZGWC9GZm5RLDAuMTY2NjY2N2VtRictRiM2Ji1GLDYlUSJpRidGN0Y6LUZENi1RIj1GJ0ZHRklGTEZORlBGUkZURlYvRllRLDAuMjc3Nzc3OGVtRicvRmZuRmZwLUkjbW5HRiQ2JFEiMUYnRkdGRy1GLDYlUSJuRidGN0Y6RlYvJSxhY2NlbnR1bmRlckdGS0YrLUknbXNwYWNlR0YkNiYvJSdoZWlnaHRHUSYwLjBleEYnLyUmd2lkdGhHUSQ1LjBGJy8lJmRlcHRoR0ZmcS8lKmxpbmVicmVha0dRJWF1dG9GJy1GIzYmLUklbXN1YkdGJDYlLUYsNiVRImZGJ0Y3RjotRiM2JC1GaXA2JFEiMkYnRkdGRy8lL3N1YnNjcmlwdHNoaWZ0R0ZCLUZENi1RMCZBcHBseUZ1bmN0aW9uO0YnRkdGSUZMRk5GUEZSRlRGVkZYRmVuLUZobjYkLUYjNiQtRmJyNiUtRiw2JVEickYnRjdGOi1GIzYkRl9wRkdGXHNGR0ZHRkdGK0ZHRkdGR0YrRkc= Similarly, the resultant is also LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KC1JJW1zdXBHRiQ2JS1JKG1mZW5jZWRHRiQ2JC1GIzYlLUkjbW9HRiQ2LVEqJnVtaW51czA7RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZCLyUpc3RyZXRjaHlHRkIvJSpzeW1tZXRyaWNHRkIvJShsYXJnZW9wR0ZCLyUubW92YWJsZWxpbWl0c0dGQi8lJ2FjY2VudEdGQi8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRlEtSSNtbkdGJDYkUSIxRidGPUY9Rj0tRiM2Ji1GLDYlUSJtRicvJSdpdGFsaWNHUSV0cnVlRicvRj5RJ2l0YWxpY0YnLUY6Ni1RMSZJbnZpc2libGVUaW1lcztGJ0Y9RkBGQ0ZFRkdGSUZLRk0vRlBRJjAuMGVtRicvRlNGYG8tRiw2JVEibkYnRmduRmpuRj0vJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnRlxvLUYyNiUtRiw2JVEiYkYnRmduRmpuLUYjNiVGYm9GZ25Gam5GZW9GXG8tRjU2JC1GIzYoLUkrbXVuZGVyb3ZlckdGJDYnLUY6Ni9RKiZQcm9kdWN0O0YnLyUrZm9yZWdyb3VuZEdRLlsxNDQsMTQ0LDE0NF1GJ0Y9L0krbXNlbWFudGljc0dGJFEmaW5lcnRGJ0ZARkMvRkZGaW5GRy9GSkZpbi9GTEZpbkZNRl9vL0ZTUSwwLjE2NjY2NjdlbUYnLUYjNiYtRiw2JVEiakYnRmduRmpuLUY6Ni1RIj1GJ0Y9RkBGQ0ZFRkdGSUZLRk0vRlBRLDAuMjc3Nzc3OGVtRicvRlNGXXJGVEY9RlpGTS8lLGFjY2VudHVuZGVyR0ZCRistSSdtc3BhY2VHRiQ2Ji8lJ2hlaWdodEdRJjAuMGV4RicvJSZ3aWR0aEdRJDUuMEYnLyUmZGVwdGhHRmZyLyUqbGluZWJyZWFrR1ElYXV0b0YnLUYjNiYtSSVtc3ViR0YkNiUtRiw2JVEiZkYnRmduRmpuLUYjNiRGVEY9LyUvc3Vic2NyaXB0c2hpZnRHRmdvLUY6Ni1RMCZBcHBseUZ1bmN0aW9uO0YnRj1GQEZDRkVGR0ZJRktGTUZfb0Zhby1GNTYkLUYjNiQtRmJzNiUtRiw2JVEic0YnRmduRmpuLUYjNiRGZnFGPUZpc0Y9Rj1GPUYrRj1GPUY9RitGPQ== where the LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1cEdGJDYlLUkobWZlbmNlZEdGJDYkLUYjNiUtSSNtb0dGJDYtUSomdW1pbnVzMDtGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjwvJSlzdHJldGNoeUdGPC8lKnN5bW1ldHJpY0dGPC8lKGxhcmdlb3BHRjwvJS5tb3ZhYmxlbGltaXRzR0Y8LyUnYWNjZW50R0Y8LyUnbHNwYWNlR1EsMC4yMjIyMjIyZW1GJy8lJ3JzcGFjZUdGSy1JI21uR0YkNiRRIjFGJ0Y3RjdGNy1GIzYmLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnL0Y4USdpdGFsaWNGJy1GNDYtUTEmSW52aXNpYmxlVGltZXM7RidGN0Y6Rj1GP0ZBRkNGRUZHL0ZKUSYwLjBlbUYnL0ZNRltvLUZVNiVRIm5GJ0ZYRmVuRjcvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnRjc= comes from the fact that each LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1JJW1zdWJHRiQ2JS1GLDYlUSJzRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtRiw2JVEiakYnRjdGOi9GO1Enbm9ybWFsRicvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RKCZtaW51cztGJ0ZCLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZNLyUpc3RyZXRjaHlHRk0vJSpzeW1tZXRyaWNHRk0vJShsYXJnZW9wR0ZNLyUubW92YWJsZWxpbWl0c0dGTS8lJ2FjY2VudEdGTS8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRmZuLUYyNiUtRiw2JVEickYnRjdGOi1GIzYkLUYsNiVRImlGJ0Y3RjpGQkZERkJGK0ZC must be changed to LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1JJW1zdWJHRiQ2JS1GLDYlUSJyRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtRiw2JVEiaUYnRjdGOi9GO1Enbm9ybWFsRicvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RKCZtaW51cztGJ0ZCLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZNLyUpc3RyZXRjaHlHRk0vJSpzeW1tZXRyaWNHRk0vJShsYXJnZW9wR0ZNLyUubW92YWJsZWxpbWl0c0dGTS8lJ2FjY2VudEdGTS8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRmZuLUYyNiUtRiw2JVEic0YnRjdGOi1GIzYkLUYsNiVRImpGJ0Y3RjpGQkZERkJGK0ZC. Let's try these in our example. 2^2 * mul(eval(f2,x=r[i]), i=1..4); (-1)^8 * 6^4 * mul(eval(f1,x=s[j]), j=1..2); This would still not be useful if we needed to calculate the roots of one of our polynomials. But now we use division with remainder: Given any two polynomials LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSShtZmVuY2VkR0YkNiQtRiM2JC1GLzYlUSJ4RidGMkY1Rj5GPi1GLzYjUSFGJ0Y+ and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSShtZmVuY2VkR0YkNiQtRiM2JC1GLzYlUSJ4RidGMkY1Rj5GPkY+, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYrLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSShtZmVuY2VkR0YkNiQtRiM2JC1GLzYlUSJ4RidGMkY1Rj5GPi1JI21vR0YkNi1RIn5GJ0Y+LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZRLyUpc3RyZXRjaHlHRlEvJSpzeW1tZXRyaWNHRlEvJShsYXJnZW9wR0ZRLyUubW92YWJsZWxpbWl0c0dGUS8lJ2FjY2VudEdGUS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRmpuLUZMNi1RKyZOb3RFcXVhbDtGJ0Y+Rk9GUkZURlZGWEZaRmZuL0ZpblEsMC4yNzc3Nzc4ZW1GJy9GXG9GYW9GSy1GOzYkRkJGPi1GTDYtUSIsRidGPkZPL0ZTRjRGVEZWRlhGWkZmbkZobi9GXG9RLDAuMzMzMzMzM2VtRidGS0Y+we can write LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY0LUklbXN1YkdGJDYlLUkjbWlHRiQ2J1EiZkYnLyUlYm9sZEdRJXRydWVGJy8lJ2l0YWxpY0dGNC8lLG1hdGh2YXJpYW50R1EsYm9sZC1pdGFsaWNGJy8lK2ZvbnR3ZWlnaHRHUSVib2xkRictRiM2Ji1JI21uR0YkNiZRIjFGJ0YyL0Y4RjxGOkYyRkNGOi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUkobWZlbmNlZEdGJDYmLUYjNiYtRi82J1EieEYnRjJGNUY3RjpGMkZDRjpGMkZDRjotSSNtb0dGJDYvUSJ+RidGMkZDRjovJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRlUvJSlzdHJldGNoeUdGVS8lKnN5bW1ldHJpY0dGVS8lKGxhcmdlb3BHRlUvJS5tb3ZhYmxlbGltaXRzR0ZVLyUnYWNjZW50R0ZVLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGXm8tRlA2L1EiPUYnRjJGQ0Y6RlNGVkZYRlpGZm5GaG5Gam4vRl1vUSwwLjI3Nzc3NzhlbUYnL0Zgb0Zlb0ZPLUYvNidRIlFGJ0YyRjVGN0Y6RkdGTy1GLDYlRi4tRiM2Ji1GQDYmUSIyRidGMkZDRjpGMkZDRjpGREZHRk8tRlA2L1EiK0YnRjJGQ0Y6RlNGVkZYRlpGZm5GaG5Gam4vRl1vUSwwLjIyMjIyMjJlbUYnL0Zgb0ZlcEZPLUYsNiVGLi1GIzYlLUZANiRRIjNGJy9GOFEnbm9ybWFsRidGNS9GOFEnaXRhbGljRidGREZHRjJGQ0Y6 where LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2J1EiUUYnLyUlYm9sZEdRJXRydWVGJy8lJ2l0YWxpY0dGMS8lLG1hdGh2YXJpYW50R1EsYm9sZC1pdGFsaWNGJy8lK2ZvbnR3ZWlnaHRHUSVib2xkRictSShtZmVuY2VkR0YkNiYtRiM2Ji1GLDYnUSJ4RidGL0YyRjRGN0YvL0Y1RjlGN0YvRkJGN0YvRkJGNw== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUklbXN1YkdGJDYlLUkjbWlHRiQ2J1EiZkYnLyUlYm9sZEdRJXRydWVGJy8lJ2l0YWxpY0dGNC8lLG1hdGh2YXJpYW50R1EsYm9sZC1pdGFsaWNGJy8lK2ZvbnR3ZWlnaHRHUSVib2xkRictRiM2JS1JI21uR0YkNiRRIjNGJy9GOFEnbm9ybWFsRidGNS9GOFEnaXRhbGljRicvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JKG1mZW5jZWRHRiQ2Ji1GIzYmLUYvNidRInhGJ0YyRjVGN0Y6RjIvRjhGPEY6RjJGUkY6RjJGUkY6 are polynomials, and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUklbXN1YkdGJDYlLUkjbWlHRiQ2J1EiZkYnLyUlYm9sZEdRJXRydWVGJy8lJ2l0YWxpY0dGNC8lLG1hdGh2YXJpYW50R1EsYm9sZC1pdGFsaWNGJy8lK2ZvbnR3ZWlnaHRHUSVib2xkRictRiM2JS1JI21uR0YkNiRRIjNGJy9GOFEnbm9ybWFsRidGNS9GOFEnaXRhbGljRicvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JKG1mZW5jZWRHRiQ2Ji1GIzYmLUYvNidRInhGJ0YyRjVGN0Y6RjIvRjhGPEY6RjJGUkY6RjJGUkY6 has lower degree than LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYuLUklbXN1YkdGJDYlLUkjbWlHRiQ2J1EiZkYnLyUlYm9sZEdRJXRydWVGJy8lJ2l0YWxpY0dGNC8lLG1hdGh2YXJpYW50R1EsYm9sZC1pdGFsaWNGJy8lK2ZvbnR3ZWlnaHRHUSVib2xkRictRiM2Ji1JI21uR0YkNiZRIjJGJ0YyL0Y4RjxGOkYyRkNGOi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUkobWZlbmNlZEdGJDYmLUYjNiYtRi82J1EieEYnRjJGNUY3RjpGMkZDRjpGMkZDRjotSSNtb0dGJDYvUSIuRidGMkZDRjovJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRlUvJSlzdHJldGNoeUdGVS8lKnN5bW1ldHJpY0dGVS8lKGxhcmdlb3BHRlUvJS5tb3ZhYmxlbGltaXRzR0ZVLyUnYWNjZW50R0ZVLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGXm8tRlA2L1EifkYnRjJGQ0Y6RlNGVkZYRlpGZm5GaG5Gam5GXG9GX28tRlA2LUZjby9GOFEnbm9ybWFsRidGU0ZWRlhGWkZmbkZobkZqbkZcb0Zfby1GLzYlUSNXZUYnL0Y2RlVGZm9GZG8tRi82JVEkY2FuRidGW3BGZm9GZG9GMkZDRjo=get LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSJRRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEwJkFwcGx5RnVuY3Rpb247RicvRjhRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZCLyUpc3RyZXRjaHlHRkIvJSpzeW1tZXRyaWNHRkIvJShsYXJnZW9wR0ZCLyUubW92YWJsZWxpbWl0c0dGQi8lJ2FjY2VudEdGQi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRlEtSShtZmVuY2VkR0YkNiQtRiw2JVEieEYnRjRGN0Y+Rj5GK0Y+ and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1JJW1zdWJHRiQ2JS1GLDYlUSJmRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW5HRiQ2JFEiM0YnL0Y7USdub3JtYWxGJy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUkjbW9HRiQ2LVEwJkFwcGx5RnVuY3Rpb247RidGQS8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGTC8lKXN0cmV0Y2h5R0ZMLyUqc3ltbWV0cmljR0ZMLyUobGFyZ2VvcEdGTC8lLm1vdmFibGVsaW1pdHNHRkwvJSdhY2NlbnRHRkwvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0Zlbi1JKG1mZW5jZWRHRiQ2JC1GLDYlUSJ4RidGN0Y6RkFGQUYrRkE= using quo and rem. Q:= quo(f1,f2,x); f3 := rem(f1,f2,x); Now the key observation is that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYqLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSShtZmVuY2VkR0YkNiQtRiM2JC1GLDYlLUYvNiVRInNGJ0YyRjUtRiM2JC1GLzYlUSJpRidGMkY1Rj5GQEY+Rj4tSSNtb0dGJDYtUSJ+RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGWC8lKXN0cmV0Y2h5R0ZYLyUqc3ltbWV0cmljR0ZYLyUobGFyZ2VvcEdGWC8lLm1vdmFibGVsaW1pdHNHRlgvJSdhY2NlbnRHRlgvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0Zhby1GUzYtUSI9RidGPkZWRllGZW5GZ25GaW5GW29GXW8vRmBvUSwwLjI3Nzc3NzhlbUYnL0Zjb0Zob0ZSLUYsNiVGLi1GIzYkLUY7NiRRIjNGJ0Y+Rj5GQEZDRj4=, and so (except for the factor LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUklbXN1cEdGJDYlLUkobWZlbmNlZEdGJDYkLUYjNiUtSSNtb0dGJDYtUSomdW1pbnVzMDtGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjwvJSlzdHJldGNoeUdGPC8lKnN5bW1ldHJpY0dGPC8lKGxhcmdlb3BHRjwvJS5tb3ZhYmxlbGltaXRzR0Y8LyUnYWNjZW50R0Y8LyUnbHNwYWNlR1EsMC4yMjIyMjIyZW1GJy8lJ3JzcGFjZUdGSy1JI21uR0YkNiRRIjFGJ0Y3RjdGNy1GIzYmLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnL0Y4USdpdGFsaWNGJy1GNDYtUTEmSW52aXNpYmxlVGltZXM7RidGN0Y6Rj1GP0ZBRkNGRUZHL0ZKUSYwLjBlbUYnL0ZNRltvLUZVNiVRIm5GJ0ZYRmVuRjcvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnLUY0Ni1RIn5GJ0Y3RjpGPUY/RkFGQ0ZFRkdGam5GXG8tRiw2JS1GVTYlUSJiRidGWEZlbi1GIzYkRlRGN0Zgb0ZnbkY3, which will have to be adjusted) the resultant of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictRi82I1EhRidGPg== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== is the same as the resultant of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiM0YnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg==. (-1)^8 * 6^4 * mul(eval(f3,x=s[j]), j=1..2); (-1)^2 * 6^1 * mul(eval(f1,x=s[j]), j=1..2) = evalf(resultant(f3,f2,x)); resultant(f1,f2,x) = (-1)^(8-2)*6^(4-1)*resultant(f3,f2,x); So instead of calculating the resultant of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JC1JJW1zdWJHRiQ2JS1GLDYlUSJmRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIxRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJ0ZDRitGQw== (of degree 4) and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JC1JJW1zdWJHRiQ2JS1GLDYlUSJmRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIyRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJ0ZDRitGQw== (degree 2), we only have LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JC1JJW1zdWJHRiQ2JS1GLDYlUSJmRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIzRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJ0ZDRitGQw== (of degree 1) and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JC1JJW1zdWJHRiQ2JS1GLDYlUSJmRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIyRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJ0ZDRitGQw== to deal with. Next, take the remainder in dividing LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JC1JJW1zdWJHRiQ2JS1GLDYlUSJmRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIyRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJ0ZDRitGQw== by LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JC1JJW1zdWJHRiQ2JS1GLDYlUSJmRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIzRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJ0ZDRitGQw==. f4 := rem(f2, f3, x); resultant(f3,f2,x)=(1456/27)^2*resultant(f3,f4,x); Now LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiNEYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== is just a number, so it has no roots at all. The products are just 1, so the resultant of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiM0YnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiNEYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== is LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JC1JKG1zdWJzdXBHRiQ2Jy1GLDYlUSJmRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSI0RicvRjtRJ25vcm1hbEYnRkMtRiM2Ji1GLDYlUSdkZWdyZWVGJ0Y3RjotSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJ0ZDLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZQLyUpc3RyZXRjaHlHRlAvJSpzeW1tZXRyaWNHRlAvJShsYXJnZW9wR0ZQLyUubW92YWJsZWxpbWl0c0dGUC8lJ2FjY2VudEdGUC8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRmluLUkobWZlbmNlZEdGJDYkLUYjNiQtSSVtc3ViR0YkNiVGNC1GIzYkLUZANiRRIjNGJ0ZDRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJ0ZDRkNGQy8lMXN1cGVyc2NyaXB0c2hpZnRHRltwRmlvRkNGK0ZD. resultant(f3,f4,x) = (-1456/27)^0*f4^1;
<Text-field style="Heading 1" layout="Heading 1">Maple objects introduced in this lesson</Text-field> collect implicitplot grid scaling=constrained crossingrefine gridrefine allvalues has remove select resultant mul add quo rem LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=
JSFH