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