Finding Multiple Roots of Equations

Click For Summary
SUMMARY

The discussion focuses on finding multiple roots of polynomial equations using numerical methods, specifically the bisection method, Newton-Raphson method, and secant method. The participant seeks to improve their approach by utilizing Horner's algorithm for synthetic division, which allows for the identification of all roots once one root is known. The example provided illustrates how finding one root of the polynomial x^3 + 2x^2 - x - 2 enables the reduction of the polynomial's degree, facilitating the discovery of remaining roots. The discussion emphasizes the importance of understanding polynomial division in root-finding algorithms.

PREREQUISITES
  • Understanding of polynomial equations and their roots
  • Familiarity with numerical methods: bisection method, Newton-Raphson method, secant method
  • Knowledge of Horner's algorithm for synthetic division
  • Basic programming skills to implement numerical methods
NEXT STEPS
  • Research Horner's algorithm for synthetic division in detail
  • Learn about polynomial root-finding techniques using synthetic division
  • Explore advanced numerical methods for root-finding, such as Durand-Kerner method
  • Study the implementation of the bisection method, Newton-Raphson method, and secant method in Python
USEFUL FOR

Students and professionals in mathematics, computer science, and engineering who are involved in numerical analysis, particularly those focused on polynomial equations and root-finding algorithms.

trouty323
Messages
23
Reaction score
0

Homework Statement



Hello everyone. My task is to find the largest positive root in a specific interval of a function using the bisection method, Newton-Raphson method, and secant method. I've written code for all three of these methods, but the only way I can find all of the roots is to hard code different intervals. I know that is horrible practice, but the teacher never explained how to find them all using a different approach. However, I did read online that it can be done using Horner's algorithm (synthetic division). Basically, from my understanding, all of the roots can be found if one root is known. However, I could not find examples of code using Horner's algorithm specific to my purpose. I'm not asking for code, but a logical explanation as to how this can be accomplished. I originally posted this in the Computer Science forum, but was directed here. Thanks in advance!
 
Physics news on Phys.org
Finding one root doesn't mean you can find all roots. Take x^3+2x^2-x-2. If you find one root, say x=1, then you know (x-1) must divide x^3+2x^2-x-2. Indeed (x^3+2x^2-x-2)/(x-1)=x^2+3x+2. Now the remaining roots must be roots of x^2+3x+2. You've cut the degree of the polynomial you have to solve down by one.
 
AFAK, Horner's method is the division of a polynomial by a linear binomial:
<br /> \left( a_0 \, x^n + a_1 \, x^{n - 1} + \ldots + a_{n - 1} + a_n \right) = (x - \alpha) \, \left( b_0 x^{n - 1} + b_1 \, x^{n - 2} + \ldots + b_{n - 2} \, x + b_{n - 1} \right) + r<br />

The recursion is as follows:
<br /> b_0 = a_0<br />
<br /> b_{k} = \alpha \, b_{k - 1} + a_{k}, \ k = 1, \ldots, n - 1<br />
<br /> r = \alpha \, b_{n - 1} + a_{n}<br />

Now, if \alpha is a root of the polynomial, then, by definition, r \equiv P_n(\alpha) = 0. In a numerical procedure, r should be sufficiently small.

If you managed to find the root of a polynomial largest by absolute value, then you may find the quotient polynomial that is one order lower and repeat the same procedure. In this way, you can enumerate all the roots of the polynomial.

For non-polynomial functions, I don't know what Horner's method means.
 

Similar threads

Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 16 ·
Replies
16
Views
4K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
6K
  • · Replies 2 ·
Replies
2
Views
9K
  • · Replies 1 ·
Replies
1
Views
2K