Lesson 11: Systems and resultantsrestart;Real solutions of a systemWe were looking at the system of equations LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYvLUkjbWlHRiQ2JVEjcDFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSJ+RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRkwtRjY2LVEiPUYnRjlGO0Y+RkBGQkZERkZGSC9GS1EsMC4yNzc3Nzc4ZW1GJy9GTkZTRjUtSSNtbkdGJDYkUSIwRidGOS1GNjYtUSIsRidGOUY7L0Y/RjFGQEZCRkRGRkZIRkovRk5RLDAuMzMzMzMzM2VtRidGNS1GLDYlUSNwMkYnRi9GMkY1Rk9GNUZVRjk=, wherep1 := 2*x^4 - 2*y^3 + y ;
p2 := 2 * x^2 * y + 3*y^4 - 2*x ;We had found all the solutions using solve.S:= solve([p1 = 0, p2 = 0], [x,y]);We used allvalues and then evalf to get all the numerical values for the solution that involved RootOf.S2:= evalf([allvalues(S[2])]);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.ResultantsWhat 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 the resultant of two polynomials is 0 if and only if they have a common root. 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 LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KC1JJW1zdXBHRiQ2JS1GLDYlUSJhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYsNiVRIm1GJ0Y3RjovJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnL0Y7USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSy8lKXN0cmV0Y2h5R0ZLLyUqc3ltbWV0cmljR0ZLLyUobGFyZ2VvcEdGSy8lLm1vdmFibGVsaW1pdHNHRksvJSdhY2NlbnRHRksvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZaLUYyNiUtRiw2JVEiYkYnRjdGOi1GLDYlUSJuRidGN0Y6RkBGQy1JKG1mZW5jZWRHRiQ2JC1GIzYnLUkrbXVuZGVyb3ZlckdGJDYnLUZENi9RKiZQcm9kdWN0O0YnLyUrZm9yZWdyb3VuZEdRLlsxNDQsMTQ0LDE0NF1GJ0ZHL0krbXNlbWFudGljc0dGJFEmaW5lcnRGJ0ZJRkwvRk9GOUZQL0ZTRjkvRlVGOUZWRlgvRmZuUSwwLjE2NjY2NjdlbUYnLUYjNiYtRiw2JVEiakYnRjdGOi1GRDYtUSI9RidGR0ZJRkxGTkZQRlJGVEZWL0ZZUSwwLjI3Nzc3NzhlbUYnL0ZmbkZecS1JI21uR0YkNiRRIjFGJ0ZHRkdGPUZWLyUsYWNjZW50dW5kZXJHRktGKy1JJ21zcGFjZUdGJDYmLyUnaGVpZ2h0R1EmMC4wZXhGJy8lJndpZHRoR1EkNS4wRicvJSZkZXB0aEdGW3IvJSpsaW5lYnJlYWtHUSVhdXRvRictRmBvNiQtRiM2Jy1GZW82J0Znby1GIzYmLUYsNiVRImlGJ0Y3RjpGanBGYHFGR0Zcb0ZWRmRxRitGZnEtRmBvNiQtRiM2Ji1JJW1zdWJHRiQ2JS1GLDYlUSJyRidGN0Y6LUYjNiRGXHNGRy8lL3N1YnNjcmlwdHNoaWZ0R0ZCLUZENi1RKCZtaW51cztGJ0ZHRklGTEZORlBGUkZURlYvRllRLDAuMjIyMjIyMmVtRicvRmZuRmF0LUZkczYlLUYsNiVRInNGJ0Y3RjotRiM2JEZncEZHRlt0RkdGR0ZHRkdGR0ZHRkdGK0ZHThe 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.Resultant using divisionLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=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);f1 = expand(Q * f2 + f3);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) = f4^1;A procedure for the resultantHere's how we could program resultant if we had to, using the ideas from the last section. I'll call it the procedure MyResultant. MyResultant:= proc(f1, f2, x)
local a,b,m,n,f3;
m:= degree(f1,x);
a:= coeff(f1,x,m);
n:= degree(f2,x);
b:= coeff(f2,x,n);
if m = -infinity or n = -infinity then 0
elif n = 0 then b^m
elif m = 0 then a^n
elif m < n then
f3:= rem(f2,f1,x);
a^(n-degree(f3,x))*MyResultant(f1,f3,x)
else
f3:= rem(f1,f2,x);
b^(m-degree(f3,x))*MyResultant(f3,f2,x)
end if;
end proc;Just like resultant, it takes three inputs: two polynomials f1 and f2, and the variable name x. We'll use local variables a, b, m, n and f3. First it finds the degrees m and n of f1 and f2 and the leading coefficients a and b: the coeff command can be used to find those coefficients. Now there are a number of cases to consider, which is taken care of by an if statement.The syntax of the if statement is if conditional expression 1 then statements 1 elif conditional expression 2 then statements 2else statements 3end ifHere's how it works. First it checks conditional expression 1 (which must be something that evaluates to either true or false). If it's true, then Maple executes statements 1 (which can be any number of statements) and then skips to whatever is after the end if. If it's false, then Maple checks conditional expression 2. If that one is true, then Maple executes statements 2 and skips to what's after the end if. Finally, if none of the conditional expressions is true, Maple executes statements 3. The elif clause is optional, and there can be any number of them. The else clause is also optional: if there's no else clause and the conditional expressions are all false, Maple just skips to what's after the end if.In our case, the first conditional expression is m = -infinity or n = -infinity, which would mean f1 or f2 is 0. In that case, the resultant should be 0. The statements 1 just says 0.Since what comes after the end if is end proc, i.e. the end of the procedure, 0 would be the last thing evaluated, so the procedure would return the value 0.If that first conditional expression is not true, Maple tries the second conditional expression n = 0. If that's true, f2 is a nonzero constant, and the result should be b^m. If neither of the first two is true, Maple tries m = 0, and if that's true (i.e. f1 is a nonzero constant) it returns the result a^n.The next thing it tries (if nothing was true yet) is m < n. If that's the case, Maple uses rem to find the remainder in dividing f2 by f1, assigns that to f3, and then returns the appropriate power of a times the resultant of f1 and f3. That is done using this same procedure MyResultant. This means that MyResultant is a recursive procedure: a procedure that calls itself. Finally (if none of the conditional expressions was true), Maple finds the remainder individing f1 by f2, assigns that to f3, and returns the appropriate power of b times the resultant of f3 and f2, again done using a recursive call to MyResultant.Recursive procedures are used very often in Maple. One thing you have to be careful of is that the chain of recursive calls must eventually come to an end. For example, this would be bad:badproc:= proc(x)
x * badproc(x-1)
end proc;badproc(10);In this case the chain didn't come to an end: badproc(10) called badproc(9), which called badproc(8), and so on... If you stopped at 1, you'd be computing LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbW5HRiQ2JFEjMTBGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRictSSNtb0dGJDYuUScmZXhjbDtGJ0YvL0krbXNlbWFudGljc0dGJFEiIUYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y7LyUpc3RyZXRjaHlHRjsvJSpzeW1tZXRyaWNHRjsvJShsYXJnZW9wR0Y7LyUubW92YWJsZWxpbWl0c0dGOy8lJ2FjY2VudEdGOy8lJ2xzcGFjZUdRLDAuMTExMTExMWVtRicvJSdyc3BhY2VHRkpGLw==, but there's nothing to tell Maple to stop there, so it continues with 0, -1, -2, ..., until eventually there are so many recursive calls that Maple stops and gives you an error message. If it didn't do that, it would use up all available memory and crash the computer.Fortunately, this shouldn't be a problem in MyResultant: when the procedure calls itself recursively, it does so with a new polynomial f3 of lower degree than either of f1 and f2. Eventually we must get a polynomial of degree 0 or LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbW9HRiQ2LVEqJnVtaW51czA7RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y0LyUpc3RyZXRjaHlHRjQvJSpzeW1tZXRyaWNHRjQvJShsYXJnZW9wR0Y0LyUubW92YWJsZWxpbWl0c0dGNC8lJ2FjY2VudEdGNC8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRkMtRiw2L1EoJmluZmluO0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUwZm9udF9zdHlsZV9uYW1lR1ElVGV4dEYnL0YwUSdpdGFsaWNGJ0YyRjVGN0Y5RjtGPUY/L0ZCUSYwLjBlbUYnL0ZFRlJGLw==, at which point the chain stops.Now let's test out MyResultant, comparing its result to Maple's resultant.MyResultant(f1,f2,x) = resultant(f1,f2, x) ;MyResultant(p1,p2, x)=
resultant(p1,p2, x);expand(%);It seems to work.I should emphasize that this was just an exercise, not really meant to be a serious replacement for Maple's resultant. If you want the resultant, there's no reason not to use resultant. The other variableNow back to two equations in two variables. We wanted to solve the equations LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSJ+RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSS8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZYLUZENi1RIj1GJ0Y+RkdGSkZMRk5GUEZSRlQvRldRLDAuMjc3Nzc3OGVtRicvRlpGaW5GQy1GOzYkRkJGPkY+ and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSI9RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSS8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZYLUY7NiRRIzAuRidGPkY+p1,p2;The resultant of these (considered as polynomials in x) should be a polynomial in y which is 0 exactly when LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== have a common root.factor(resultant(p1,p2,x));There are some technicalities here: what's actually true is that if LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= is a root of the resultant and the coefficients of the highest powers of x in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== are nonzero for that value of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=, then there is some LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= that makes LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYwLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSShtZmVuY2VkR0YkNiQtRiM2Ji1GLzYlUSJ4RidGMkY1LUkjbW9HRiQ2LVEiLEYnRj4vJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjQvJSlzdHJldGNoeUdGUS8lKnN5bW1ldHJpY0dGUS8lKGxhcmdlb3BHRlEvJS5tb3ZhYmxlbGltaXRzR0ZRLyUnYWNjZW50R0ZRLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRi82JVEieUYnRjJGNUY+Rj4tRkw2LVEifkYnRj5GTy9GU0ZRRlRGVkZYRlpGZm5GaG4vRlxvRmpuLUZMNi1RIj1GJ0Y+Rk9GZG9GVEZWRlhGWkZmbi9GaW5RLDAuMjc3Nzc3OGVtRicvRlxvRmpvRmFvLUYsNiVGLi1GIzYkLUY7NiRRIjJGJ0Y+Rj5GQEZDRmFvRmZvRmFvLUY7NiRRIzAuRidGPkZhb0Zhb0Y+That's not a problem here, because the highest powers of x don't contain y.Now, what is that x ? In the case LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSI9RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjI3Nzc3NzhlbUYnL0ZORlNGNS1JI21uR0YkNiRRIjBGJ0Y5Rjk=, it's easy: you just plug in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSI9RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjI3Nzc3NzhlbUYnL0ZORlNGNS1JI21uR0YkNiRRIjBGJ0Y5Rjk= to the equations and immediately see that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSI9RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjI3Nzc3NzhlbUYnL0ZORlNGNS1JI21uR0YkNiRRIjBGJ0Y5Rjk= is the solution for both. But in general, especially if y can only be represented as a complicated RootOf, you really don't want to have to solve some complicated equation with coefficients involving that RootOf. Fortunately, you don't have to. Consider the process that we used to get the resultant, using division with remainder. p3:= rem(p1,p2,x);Since LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYuLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSJ+RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSS8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZYLUZENi1RIj1GJ0Y+RkdGSkZMRk5GUEZSRlQvRldRLDAuMjc3Nzc3OGVtRicvRlpGaW5GQy1GLzYlUSJxRidGMkY1RkMtRiw2JUYuLUYjNiQtRjs2JFEiMkYnRj5GPkZARkMtRkQ2LVEiK0YnRj5GR0ZKRkxGTkZQRlJGVC9GV1EsMC4yMjIyMjIyZW1GJy9GWkZpb0ZDLUYsNiVGLi1GIzYkLUY7NiRRIjNGJ0Y+Rj5GQEY+ for some polynomial q, the solutions of the system LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSVtc3ViR0YkNiUtSSNtaUdGJDYlUSJwRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIxRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RIixGJ0ZDLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y5LyUpc3RyZXRjaHlHRk4vJSpzeW1tZXRyaWNHRk4vJShsYXJnZW9wR0ZOLyUubW92YWJsZWxpbWl0c0dGTi8lJ2FjY2VudEdGTi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUYxNiVGMy1GIzYkLUZANiRRIjJGJ0ZDRkNGRUZDRkMvJSVvcGVuR1EifGZyRicvJSZjbG9zZUdRInxockYnRkM= will be exactly the same as the solutions of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNictSSVtc3ViR0YkNiUtSSNtaUdGJDYlUSJwRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIzRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RIixGJ0ZDLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y5LyUpc3RyZXRjaHlHRk4vJSpzeW1tZXRyaWNHRk4vJShsYXJnZW9wR0ZOLyUubW92YWJsZWxpbWl0c0dGTi8lJ2FjY2VudEdGTi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUZJNi1RIn5GJ0ZDRkwvRlBGTkZRRlNGVUZXRllGZW4vRmluRmduLUYxNiVGMy1GIzYkLUZANiRRIjJGJ0ZDRkNGRUZDRkMvJSVvcGVuR1EifGZyRicvJSZjbG9zZUdRInxockYnLUZJNi1RIi5GJ0ZDRkxGXm9GUUZTRlVGV0ZZRmVuRl9vRkM= Similarly with LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNictSSVtc3ViR0YkNiUtSSNtaUdGJDYlUSJwRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIzRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RIixGJ0ZDLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y5LyUpc3RyZXRjaHlHRk4vJSpzeW1tZXRyaWNHRk4vJShsYXJnZW9wR0ZOLyUubW92YWJsZWxpbWl0c0dGTi8lJ2FjY2VudEdGTi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUZJNi1RIn5GJ0ZDRkwvRlBGTkZRRlNGVUZXRllGZW4vRmluRmduLUYxNiVGMy1GIzYkLUZANiRRIjRGJ0ZDRkNGRUZDRkMvJSVvcGVuR1EifGZyRicvJSZjbG9zZUdRInxockYnRltvRkM=at the next step.p4:= rem(p2,p3,x);Since LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiNEYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictRi82I1EhRidGPg== does not depend on x, the process stops here. But look at LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiM0YnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg==. It has degree 1 in x, so you can solve for x in terms of y very easily. xp3:= solve(p3=0,x);In general, when you come to the last step of our algorithm for resultant, when one of the polynomials has no x, the solution for x can be found from the other polynomial. In many cases (including this one) that polynomial will be of degree 1 in x, so the solution will make x a rational function of the y value. I want to compare this result with what we got from solve for the system. S:=solve([p1=0,p2=0],[x,y]);The second member of the list, S[2], is the interesting one. But I want y instead of that RootOf in the equation for x. Let's first get that RootOf.eval(y, S[2]);Now to substitute y for that in the equation for x.Substitution := % = y;eval(x, S[2]);eval(%, Substitution);This should be the same as xp3.% - xp3;normal(%); But sometimes our second-last polynomial may be of higher degree. It might factor, so you'll get several solutions with different formulas for x, or you may get another RootOf containing the RootOf for y. For example:p4:= y^5 + y - 3;
p3:= x^3 * y + x + 1;S:= solve({p4,p3},{x,y});Substitution:= (eval(y,S) = y);eval(eval(x, S),Substitution);(note that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2J0YrLUYjNiYtSSNtbkdGJDYkUSIxRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLUkjbW9HRiQ2LVEnJnBsdXM7RidGNy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGQC8lKXN0cmV0Y2h5R0ZALyUqc3ltbWV0cmljR0ZALyUobGFyZ2VvcEdGQC8lLm1vdmFibGVsaW1pdHNHRkAvJSdhY2NlbnRHRkAvJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZPLUklbXN1cEdGJDYlLUYsNiVRInlGJy8lJ2l0YWxpY0dRJXRydWVGJy9GOFEnaXRhbGljRictRjQ2JFEiNEYnRjcvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnRjctRjs2LVEpJmVxdWFscztGJ0Y3Rj5GQUZDRkVGR0ZJRksvRk5RLDAuMjc3Nzc3OGVtRicvRlFGYW8tSSZtZnJhY0dGJDYoLUY0NiRRIjNGJ0Y3RlUvJS5saW5ldGhpY2tuZXNzR0Y2LyUrZGVub21hbGlnbkdRJ2NlbnRlckYnLyUpbnVtYWxpZ25HRl1wLyUpYmV2ZWxsZWRHRkBGN0YrRjc= when LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2J0YrLUYjNigtSSVtc3VwR0YkNiUtRiw2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21uR0YkNiRRIjVGJy9GPVEnbm9ybWFsRicvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnLUkjbW9HRiQ2LVEnJnBsdXM7RidGQy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGTi8lKXN0cmV0Y2h5R0ZOLyUqc3ltbWV0cmljR0ZOLyUobGFyZ2VvcEdGTi8lLm1vdmFibGVsaW1pdHNHRk4vJSdhY2NlbnRHRk4vJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZnbkY2LUZJNi1RKCZtaW51cztGJ0ZDRkxGT0ZRRlNGVUZXRllGZW5GaG4tRkA2JFEiM0YnRkNGQy1GSTYtUSkmZXF1YWxzO0YnRkNGTEZPRlFGU0ZVRldGWS9GZm5RLDAuMjc3Nzc3OGVtRicvRmluRmRvLUZANiRGR0ZDRkNGK0ZD)Some geometryHere's a nice little application of resultants to a geometrical problem. We're given two concentric circles with radii LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEickYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEickYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg==. From a given point P at a distance LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiZEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= from the centre of the circles, we want to draw a line intersecting the circles at points LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiUUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiUUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== so that the distances LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEjUFFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2JC1JI21uR0YkNiRRIjJGJy9GNlEnbm9ybWFsRidGPi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRj4= and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEjUFFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2JC1JI21uR0YkNiRRIjFGJy9GNlEnbm9ybWFsRidGPi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRj4= have a given ratio LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEid0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=. How should we do it?
Here's a picture in the case where LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1JJW1zdWJHRiQ2JS1GLDYlUSJyRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIxRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RIj1GJ0ZDLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZOLyUpc3RyZXRjaHlHRk4vJSpzeW1tZXRyaWNHRk4vJShsYXJnZW9wR0ZOLyUubW92YWJsZWxpbWl0c0dGTi8lJ2FjY2VudEdGTi8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRmduRj9GQ0YrRkM=, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1JJW1zdWJHRiQ2JS1GLDYlUSJyRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIyRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RIj1GJ0ZDLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZOLyUpc3RyZXRjaHlHRk4vJSpzeW1tZXRyaWNHRk4vJShsYXJnZW9wR0ZOLyUubW92YWJsZWxpbWl0c0dGTi8lJ2FjY2VudEdGTi8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRmduLUZANiRRIjNGJ0ZDRkNGK0ZD, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSJkRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEiPUYnL0Y4USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGQi8lKXN0cmV0Y2h5R0ZCLyUqc3ltbWV0cmljR0ZCLyUobGFyZ2VvcEdGQi8lLm1vdmFibGVsaW1pdHNHRkIvJSdhY2NlbnRHRkIvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZRLUkjbW5HRiQ2JFEiMkYnRj5GPkYrRj4=. I'll try for LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEid0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1JI21uR0YkNiRRIjJGJ0Y5LUY2Ni1RIn5GJ0Y5RjtGPkZARkJGREZGRkgvRktRJjAuMGVtRicvRk5GV0Y5(but this line isn't the one that achieves that ratio).restart:
with(plots): with(plottools):
display([
circle([0,0],1),
circle([0,0],3),
plot([[2,0],[-2.840,.968]],colour=black),
plot([[2,0],[0,0],[-.825,.565],[0,0],[-2.840,.968]], colour=green),
textplot([[0,-.2,O],[2,0.2,P],[-0.9,0.8,Q[1]],
[-2.9,1.3,Q[2]]])],
axes=none, scaling=constrained);A few things to notice about how I drew this picture:The circles were drawn with a command called circle in the plottools package. You tell it the coordinates of the centre of the circle (as a list [x,y]) and the radius. You could also give it a colour option. The default is black.The labels were printed with the textplot command, which is in the plots package. You
give it a list consisting of x and y coordinates and the text you want it to print, or a list of such lists. I moved the coordinates slightly off the point I wanted to label, because I didn't want the label to be actually on the point. The text to print could be a string (enclosed in quotes), or a Maple expression.The display command is used to put all the pieces together in one plot.I gave the display command the option axes = none, because I didn't want axes interfering with the picture, and scaling = constrained, to make sure the circles look like circles.Actually, let's write a procedure that will produce the plot for any LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiUUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21uR0YkNiRRIjFGJy9GNlEnbm9ybWFsRicvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJ0Y8 on the inner circle. We'll give it as input the angle LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEnJiM5NTI7RicvJSdpdGFsaWNHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JI21vR0YkNi1RIn5GJ0YyLyUmZmVuY2VHRjEvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGMS8lKnN5bW1ldHJpY0dGMS8lKGxhcmdlb3BHRjEvJS5tb3ZhYmxlbGltaXRzR0YxLyUnYWNjZW50R0YxLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGSS1GNjYtUSI9RidGMkY5RjtGPUY/RkFGQ0ZFL0ZIUSwwLjI3Nzc3NzhlbUYnL0ZLRlBGNS1JJW1zdWJHRiQ2JS1GLDYlUSRQT1FGJy9GMFEldHJ1ZUYnL0YzUSdpdGFsaWNGJy1GIzYlLUkjbW5HRiQ2JFEiMUYnRjJGWEZaLyUvc3Vic2NyaXB0c2hpZnRHUSIwRictRjY2LVEiLkYnRjJGOUY7Rj1GP0ZBRkNGRUZHRkpGMg==drawpicture:= proc(theta)
uses plots, plottools;
local x1,y1,yline,x2,y2,x,r;
x1:= cos(theta);
y1:= sin(theta);
yline:= y1*(2-x)/(2-x1);
x2:= fsolve(yline^2 + x^2 = 9, x = -3 .. 0);
y2:= eval(yline, x=x2);
r := evalf(sqrt(((x2-2)^2 + y2^2)/((x1-2)^2 + y1^2)));
display([
circle([0,0],1),
circle([0,0],3),
plot([[2,0],[x2,y2]],colour=black),
plot([[2,0],[0,0],[x1,y1],[0,0],[x2,y2]], colour=green),
textplot([[0,-.2,O],[2,0.2,P],[x1,y1+0.2,Q[1]],
[x2,y2+0.2,Q[2]]])],
axes=none, scaling=constrained, title=(ratio=r));
end proc;drawpicture(1);And an animation. animate(drawpicture,[theta], theta=0..2*Pi);Maple objects introduced in this lessonif ... then ... elif ... else ... end ifplottools packagecircletextplotLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=JSFH