# How to find the number of roots of the function?

## Main Question or Discussion Point

hi there
h r u >?
i am a high school physics teacher, and i write many software in vb.net for simulation and ...........
the qustion
i use newton raphson method to find a root of function but
i want to determine the following
1-is the function has a root or not, and then;

2-how can i find the number of roots, and is it complex or is it real
is there are a way or an alogrithems to find that

## Answers and Replies

Gib Z
Homework Helper
Hello hamamo!

Since you are using Newton Raphson iterative method to approximate the root of a function, I am going to assume that the functions you are dealing with here are continuous. Given that, by the "Intermediate Value Theorem", if you are given a value of x, say, 5, and the value of that function at x=5 is, suppose, -2, and also given a value of x, eg x=6, and the value of the function there is 1, then you know somewhere between x=5 and x=6 there is a root.

More neatly stated, if f(a) < 0, and f(b) > 0, then f(x) = 0 for some value of x such that a< x < b. So if you have two values of the function, one negative and one positive, you know straight away there has to be at least 1 root in there somewhere.

Finding the number of roots of a particular function can be a very hard task indeed. Do you have a particular type of function you are asking about? For instance, this question is well investigated and easier to answer for Polynomial functions.

HallsofIvy
Science Advisor
Homework Helper
There is no way to determine the number of roots of a general function- except for the obvious: a polynomial of degree n has exactly n roots (counting multiple roots). If it has real coefficients, then the number of complex (i.e. not real) roots must be even.

D H
Staff Emeritus
Science Advisor
More neatly stated, if f(a) < 0, and f(b) > 0, then f(x) = 0 for some value of x such that a< x < b. So if you have two values of the function, one negative and one positive, you know straight away there has to be at least 1 root in there somewhere.
You don't even know this! Just because f(a)<0 and f(b)>0 does not mean a zero exists between a and b. It means a zero or a discontinuity exists between a and b. For example, consider the function f(x)=1/x. Note that f(-1)=-1 and f(1)=1, but this function of course has no zeros. The problem here is that pesky discontinuity at x=0. If f(a)<0 and f(b)>0 and f is continuous on (a,b) then one can say that a zero does exist in (a,b).

Gib Z
Homework Helper
You don't even know this! Just because f(a)<0 and f(b)>0 does not mean a zero exists between a and b. It means a zero or a discontinuity exists between a and b. For example, consider the function f(x)=1/x. Note that f(-1)=-1 and f(1)=1, but this function of course has no zeros. The problem here is that pesky discontinuity at x=0. If f(a)<0 and f(b)>0 and f is continuous on (a,b) then one can say that a zero does exist in (a,b).
I said earlier in my post I was assuming the function was continuous, as he was using Newtons method on them.

thanx alot
i know that the function should be continuous
and i need a way to do that for any function
any ideas!

Gib Z
Homework Helper
For any general function, there is no general method.

i'm sure mathematica could plot it on pretty much any interval

D H
Staff Emeritus
Science Advisor
Find the zeros of sin(1/x) in the neighborhood of a small but non-zero value of x.

HallsofIvy
Science Advisor
Homework Helper
i'm sure mathematica could plot it on pretty much any interval
Plot what?

Find the zeros of sin(1/x) in the neighborhood of a small but non-zero value of x.
he didn't say enumerate them, he said find the number. and i'm pretty there are countably infinite zeroes for your function on that interval.

Plot what?
his function.

Gib Z
Homework Helper
I think the point of DHs comment was that plotting a function in Mathematica doesn't always give the answer.

CRGreathouse
Science Advisor
Homework Helper
I think the point of DHs comment was that plotting a function in Mathematica doesn't always give the answer.
[Histronic]
Quelle horreur!
[/Histronic]