Re: RootSearch issue
- To: mathgroup at smc.vnet.net
- Subject: [mg112782] Re: RootSearch issue
- From: "Ted Ersek" <ersekt at md.metrocast.net>
- Date: Thu, 30 Sep 2010 04:52:04 -0400 (EDT)
In http://forums.wolfram.com/mathgroup/archive/2010/Sep/msg00570.html there was a question about why RootSearch couldn't find roots when it had to search a large range {x,xmin,xmax}. The setting of Options[ RootSearch, InitialSamples ] indicates the number of samples to take before using root finding algorithms. RootSearch will look for adjacent pairs of initial samples (a,f[a]), (b,f[b]) where f[a]*f[b]<0 and use Brent's method to find a root between these samples. RootSearch also looks for adjacent triplets of initial samples (a,f[a]), (b,f[b]), (c,f[c]) such that And[ ( 0 < f[b]/f[a] < 1 ), ( 0 < f[b]/f[c] < 1 )]. In that case an iterative method is used to find a root between (a,c). Of course if some of the initial samples happen to be roots they are identified as roots. The setting of the option InitialSamples should be sufficiently large that this approach will identify an interval containing each root. If your function has billions of oscillations between (xmin, xmax) you could easily miss roots if you don't take billions of initial samples. ------------------------------------------ The new RootSearch version is not available because I haven't finished it. I still have about sixty hours of work left on it, and obligations related to family & my job don't leave a lot of time for Mathematica. However, I will continue to work on it because I can see more than a few people want the new version. The new version is the result of a lot of work to make subtle improvements. Because the improvements are subtle you shouldn't feel like you are missing out on something big. Ted Ersek