Bisection method and multiple roots

Click For Summary

Discussion Overview

The discussion revolves around the application of the bisection method to find all roots of a polynomial of order n, particularly focusing on the challenges posed by multiple roots and the nature of real versus complex roots.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • Some participants note that the bisection method is effective for finding real roots but does not work for complex roots and requires identifying intervals where the function changes sign.
  • One participant suggests that to find all real roots, one could first find the roots of the polynomial's derivative, which indicates local extrema and helps identify intervals for potential roots.
  • Another participant mentions using Sturm's theorem to find intervals containing all real roots and discusses its historical application in numerical analysis.
  • Concerns are raised about the bisection method's effectiveness when dealing with repeated roots, with an example provided to illustrate this issue.
  • It is mentioned that while Sturm sequences can help identify intervals for roots, the method may not be efficient for large matrices, although it serves as a useful check against other numerical methods.

Areas of Agreement / Disagreement

Participants generally agree on the limitations of the bisection method regarding repeated roots and the necessity of using derivatives to locate intervals for real roots. However, there are multiple competing views on the best approaches to finding all roots, and the discussion remains unresolved regarding the optimal method for handling multiple roots.

Contextual Notes

Limitations include the dependence on the identification of sign changes for the bisection method and the potential inefficiency of Sturm sequences for large matrices. The discussion also highlights the need for careful consideration of the polynomial's derivatives when applying these methods.

nikolafmf
Messages
112
Reaction score
0
Hello,

I have a polynomial of order n and I want to find all it's roots with bisection method. Is it possible? I already wrote an algorithm to find a root and it's works nice for finding one of it's roots, but what about others?


Nikola
 
Mathematics news on Phys.org
nikolafmf said:
I have a polynomial of order n and I want to find all it's roots with bisection method. Is it possible? I already wrote an algorithm to find a root and it's works nice for finding one of it's roots, but what about others?

The method only finds real-valued roots. It does not find complex-valued roots. It also requires that you first find two points where the function value has opposite signs.

However, off the top of my head, I think that you can exploit the method to find all real-valued roots. Start by recursively finding all roots of the first derivative. Those are the candidates for local extrema of the polynomial in question. Between these points the polynomial will either be strictly increasing or strictly decreasing.

Say you start with a polynomial of degree n. There are at most n-1 zeroes of the first derivative. If you sort them in order, they divide the real number line into at most n-2 open intervals plus one open-ended interval on the right and one on the left.

Within each of these intervals there can be at most one real root of the polynomial. It is straightforward to determine whether or not a root exists in each interval. If a root exists, it is straightforward to find function values of opposite sign. That will then provide a starting point to allow the bisection method to find the root.
 
  • Like
Likes   Reactions: 1 person
I suppose you are looking for real roots (not complex roots) since you want to use the bisection method.

You can find an interval containing all the real roots using http://en.wikipedia.org/wiki/Samuelson's_inequality

You can use http://en.wikipedia.org/wiki/Descartes'_rule_of_signs to find the number of real roots, and http://en.wikipedia.org/wiki/Sturm's_theorem to find intervals that each contain one root.

Note, the bisection method might not work if the polynomial has repeated roots. For example, try to find the roots of ##x^2 - 2x + 1 = 0##.
 
  • Like
Likes   Reactions: 1 person
http://en.wikipedia.org/wiki/Sturm's_theorem

I had found that, using Sturm's sequence (above), you can get intervals for all real roots of polynomials. Personal note: many years ago I implemented the procedure and it worked well on polynomials of eighth degree using double precision arithmetic.
 
mathman said:
http://en.wikipedia.org/wiki/Sturm's_theorem

Personal note: many years ago I implemented the procedure and it worked well on polynomials of eighth degree using double precision arithmetic.

The general concept of a Sturm sequence has other uses in numerical analysis. For example it can be used to count the number of eigenvalues of a matrix less than a given value. (Of course you can relate that theoretically to counting the roots of the characteristic polynomial, but you don't want to find the polynomial explicitly for a matrix of size 100,000 x 100,000!)

Finding eigenvalues using only Sturm sequences and interval bisection would not be very efficient for large matrices, but it's a valuable check that faster but possibly less reliable numerical methods have found all the eigenvalues in an interval.

It is efficient if you can first reduce the matrix to a special form, e.g. tridiagonal. That type of method was the state of the art back in the 1960s and 70s, for matrices of order up to about 500 (or 1000 if you got lucky).
 
AlephZero said:
Note, the bisection method might not work if the polynomial has repeated roots. For example, try to find the roots of ##x^2 - 2x + 1 = 0##.
Many things can go wrong. One thing to do is find the roots of the derivative.
 
lurflurf said:
Many things can go wrong. One thing to do is find the roots of the derivative.

Using Sturm sequence method, you will find an interval containing 2 real roots (although, the numerics may give you 0 rather than 2). The interval can be repeatably shrunk.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 16 ·
Replies
16
Views
5K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
6K
Replies
2
Views
2K