RootSearch options

*To*: mathgroup at smc.vnet.net*Subject*: [mg65376] RootSearch options*From*: ted.ersek at tqci.net*Date*: Wed, 29 Mar 2006 06:34:15 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

I wrote the RootSearch package on MathSource. David W. Cantrell noted that with the default options RootSearch doesn't find all roots in the specified interval in the following example. Below I give three ways to get all the roots using RootSearch. In[1]:= Needs["Ersek`RootSearch`"]; In[2]:= a=0.01; RootSearch[ Cot[x] == x/a - a/(4*x), {x, 10^-6, 50}, RootTest->(True&), InitialSamples->500 ]; In[4]:= RootSearch[ Cot[x] == x/a - a/(4*x), {x, 10^-6, 50}, RootTest->((Abs[#2]<1.0*^-7)&), InitialSamples->500 ]; In[5]:= a=1/100; RootSearch[Cot[x] == x/a - a/(4*x), {x, 10^-6, 50}, InitialPrecision->30, InitialSamples->500 ] ; With the a higher setting for InitialSamples RootSearch looks harder. Some functions are very time consuming to evaluate. In such cases we have a trade off between making sure all roots are found, and the time it takes to find the roots. With the above settings for the RootTest option you have a greater risk that some of the "roots found" are actually points very close to a discontinuity where (lhs-rhs) changes sign. The RootTest option ensures "roots found" where Abs[lhs-rhs] is "too large" are thrown out. Sorry for the delay responding. I don't have a lot of time for MathGroup correspondence. ---------- Regards, Ted Ersek