       Re: FindRoots?

• To: mathgroup at smc.vnet.net
• Subject: [mg112202] Re: FindRoots?
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Sat, 4 Sep 2010 04:02:02 -0400 (EDT)

```\$Version

7.0 for Mac OS X x86 (64-bit) (February 19, 2009)

Reduce[2 x + Log[-((-1 + 2 x)/(-1 + 2 x^2))] ==== 0 &&
-2 < x < -1/Sqrt, x, Reals] //
N // ToRules

{x->-0.861936}

sol == x /. First@NDSolve[
{x'[t] ==== x[t] + 2, x ==== -1},
x, {t, 0, 2}];

Minimize[{Abs[sol[t]], 0 < t < 2}, t][]

{t->0.693147}

Bob Hanlon

---- Gianluca Gorni <gianluca.gorni at uniud.it> wrote:

==========================

In my opinion Reduce can replace RootSearch in some
cases but not in others.

First of all, Reduce has bugs. Here is an analytic function
that clearly has a real root:

Plot[2 x + Log[-((-1 + 2 x)/(-1 + 2 x^2))], {x, -2, -1/Sqrt}]

Still, Reduce does not see it (as of version 7.0.1):

Reduce[2 x + Log[-((-1 + 2 x)/(-1 + 2 x^2))] ======== 0 && -2 <
x < -1/Sqrt, x, Reals]
False

(I reported this example to wolfram last year).

Next, Reduce has problems with inexact input, and with
InterpolatingFunction, so that it won't work with
the output of NDSolve:

sol ==== x /.
First@NDSolve[{x'[t] ======== x[t] + 2, x ======== -1}, x, {t, 0, 2}];
Reduce[sol[t] ======== 0 && 0 < t < 2, t]

or, say, with functions obtained by interpolating between Locators.
RootSearch works fine in these cases.

I have made some interactive panels where I can change the Locators
with the mouse and I get in real time the roots of the interpolating
function as big Points in the plot: I can do this with RootSearch,
but not with Reduce.
Unfortunately, I can't give these panels to other users, because
I can't assume that they have RootSearch installed.

I endorse the wish that the functionality of RootSearch were available
in the kernel.

Best regards,
Gianluca Gorni

On 01/set/2010, at 12.28, Andrzej Kozlowski wrote:

>
> On 30 Aug 2010, at 12:19, David Park wrote:
>
>> I don't know why Wolfram doesn't acquire the rights to this package and
>> incorporate it as part of regular Mathematica. Finding all the roots of =
a
>> real function on a 1-dimensional domain is the most common case of root
>> finding, and it is the one thing regular Mathematica is very poor at. Te=
d's
>> package is quite robust and returns all the roots in order.
>
>
> Mathematica's Reduce can do this (in the case of complex analytic functio=
ns, which covers most important practical cases) since version 7. I have po=
sted examples of this several times, but somehow nobody seems to notice and=
we keep reading strange remarks like the above. Well, I don't want it to s=
ound like I am trying to diminish Ted's achievement, but quite frankly, fro=
m the mathematical point of view, the methods used in the RootSearch packag=
e are rather primitive, relatively to the current state of knowledge in thi=
s field, of course. Not only does Reduce solve most transcendental equation=
s much faster but it also does not require setting the values of any option=
s by hand, and, what I think is most important, the results thus obtained a=
re provably correct, which is not the case with Ted's package. In fact, muc=
h more general methods of solving transcendental equations exist (in genera=
l the functions need not be analytic and can involve systems of n-real equa=
tions in n-varia!
!
b
> l!
> es with non-vanishing Jacobian). An example of such a method can be found=
in one of my demonstrations on the demonstrations site (the algorithm can =
easily be converted to a practical method for real life probl ems.
>
> In view of this, how could there be any justification for the suggestion =
that Wolfram incorporates what is actually an impressive but amateurish pac=
kage into what is supposed to be a sophisticated mathematical program?
> Sometimes certain capabilities are missing from Mathematica simply becaus=
e implementing "bleeding edge" algorithms in a way that is satisfactory for=
a program that has the kind of aspirations that Mathematica obviously does =
takes time.
>
> These sort of "helpful suggesting", particularly when coming from non-exp=
==
erts, have no chance whatever of being accepted and even can produce the im=
==
pression of an ulterior motive being involved.
>

```

• Prev by Date: Re: 2 dimensional engineering problem
• Next by Date: Re: FindRoots?
• Previous by thread: Re: FindRoots?
• Next by thread: Re: FindRoots?