Re: ALL roots of non-polynomial equation
- To: mathgroup at smc.vnet.net
- Subject: [mg36072] Re: ALL roots of non-polynomial equation
- From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
- Date: Thu, 15 Aug 2002 02:36:24 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Selwyn Hollis replied to the answers on the above subject with: "Looks like we've been reinventing the wheel, folks. The package NumericalMath`IntervalRoots` has exactly what we need ....." ---------- Well that isn't entirely true. The above package only works if the equation can be evaluated using Mathematica's interval arithmetic which does not support the evaluation of special functions (BesselJ, Beta, Zeta, ....). --------- Besides that after Interval[{2, 5}] is substituted for each occurrence of (x) in an expression we get the largest possible interval that can result if each instance of Interval[{2, 5}] were an independent value between 2 and 5. This sort of interval arithmetic can be helpful in some situations, but more often one wants to treat each occurrence of Interval[{2,5}] as the same value in the given interval. And I expect this will prevent the functions in the (NumericalMath`IntervalRoots`) package from converging in some cases. For an example of where Mathematica's interval arithmetic gives misleading results consider the following: In[1]:= Clear[x]; poly[x_]=ChebyshevT[12,x]; poly[Interval[{-1,1}]] Out[3]= Interval[{-9799,9801}] We get a very large interval above even though it's well known that -1 <= ChebyshevT[n, x] <= 1 ( for -1<x<1; Integer n ) I will point out that the NumericalMath`NMinimize` package in Mathematica 4.2 will allow one to numerically find a global minimum over a specified interval (even in multiple dimensions). ------- My RootSearch package on MathSource does a very good job of finding all roots in a finite real interval of an equation in one variable. I have yet to find another way to easily solve all the problems in the notebook that goes with the package. ------- Regards, Ted Ersek