MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

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[2], x, Reals] //
  N // ToRules

{x->-0.861936}

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

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

{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[2]}]

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[2], 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[0] ======== -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?