MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: RootSearch Performance

  • To: mathgroup at
  • Subject: [mg72382] Re: RootSearch Performance
  • From: akozlowski at
  • Date: Sat, 23 Dec 2006 06:14:43 -0500 (EST)
  • References: <emggf1$2jk$>

On Dec 22, 8:44 pm, "Ted Ersek" < at> wrote:
> About a week ago we had the thread:
>    "FindRoot anomoly (example from Mathematica"
> --------------------------------------------------------------
> In that thread galordloo wrote:
> Ersek's RootSearch function finds only seven roots to the equation
> between x == 1 and x == 100:
> sol == RootSearch[3*Cos[x] ==== Log[x], {x, 1, 100}]
>       <snip>  (* Rules for seven roots, all between 1 and 20 were returned. *)
> ---------------------------------
> Then Carl Woll (of Wolfram Research) replied:
> An alternative method is possible using IntervalBisection:
> < snip >
> The nice thing about IntervalBisection is that we were able to use an
> initial range of {0,Infinity} instead of {1,100}. The other nice thing
> about IntervalBisection is that we are guaranteed that all roots lie in
> the interval given in the result, something that is not true with
> RootSearch.
> The price you pay is that the only transcendental functions allowed in
> the input are trigonometric/exponential functions and their inverses,
> i.e., only functions which support Interval arguments.
> =========================================================================== =
> I wrote the RootSearch package, and it's designed to never look
> for a root outside the range specified in the input. While
> RootSearch has many lines of code, the ideas I use to limit the
> range being searched are straight forward. I doubt you can find
> an example where it returns a root outside the specified range.
> However, if you can find an example that shows otherwise,
> I would like to know about it.
>          Ted Ersek
>               Reply to:  Ted.Er... at

I think the problem here is a simple linguistic ambiguity. What Carl
meant is that IntervalBisection returns a list of sub-intervals of the
original interval that contain all the roots that lie in the original
interval. In other words: no roots are ever missed, unlike the case
with RootSearch that may sometimes miss some roots. This is quite
different form saying that all rots that are found lie in the
originally specified interval, which of course is true for RootSearch.

Andrzej Kozlowski

  • Prev by Date: Re: Tabling
  • Next by Date: Trig Solve
  • Previous by thread: RE: Bug or feature ?
  • Next by thread: Re: Re: RootSearch Performance