Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

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

Search the Archive

Re: FindRoots?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg112219] Re: FindRoots?
  • From: Matthias Bode <lvsaba at hotmail.com>
  • Date: Sun, 5 Sep 2010 05:27:39 -0400 (EDT)

Hola:

In each re-posting of the original messages, cf. below, the Equal signs appear to increase in number according to two to the power n, n positive integer.

Here == I wrote one equal sign. Just ONE.

Best regards,

MATTHIAS BODE
COCHABAMBA/BOLIVIA



> Date: Sat, 4 Sep 2010 03:58:24 -0400
> From: akozlowski at gmail.com
> Subject: [mg112182] Re: FindRoots?
> To: mathgroup at smc.vnet.net
>
>
> On 3 Sep 2010, at 12:10, Gianluca Gorni 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).
>
> You seem to be using ============ instead of ======== which is a very bas=
ic error. In fact
>
> Reduce[2*x + Log[-((-1 + 2*x)/(-1 + 2*x^2))] ======== 0 &&
>      -2 < x < -Sqrt[2]^(-1), x, Reals]
>
>  x ======== Root[{Log[-((2*#1 - 1)/(2*#1^2 - 1))] + 2*#1 & ,
>        -0.86193624643066461859672257230652325787900736031\
>    
>      58816695213`20.308604836334766}]
>
> In[4]:==== $Version
>
> Out[4]==== "7.0 for Mac OS X x86 (64-bit) (February 19, 2009)"
>
>
>
> >
> > 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.
>
> What are these ================ doing in your code? I don't think they co=
uld have been in it when you run it?
>
> Reduce used exact methods so you have to rationalize the output or use eq=
uivalent approaches and it works fine in such cases. You are right that you=
 can't use it with Interpolating functions since of course they are not ana=
lytic.
>
>
>
> >
> > 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.
>
>
> I concede that you make a reasonable case for this sort of capability. Ho=
wever, computations of this kind with Interpolating functions are generally=
 quite unreliable, since the conditions required by FindRoot to work are of=
ten not satisfied. I don't think this sort of hit or miss approach is appro=
priate for a mathematical solver. Perhaps this sort of capabilities should =
be available in a package designed specifically for dealing with interpolat=
ing functions (which I don't consider as "mathematical objects").
>
> Best regards
>
> Andrzej
>


  • Prev by Date: Re: FindRoots?
  • Next by Date: Mathlink problem in C
  • Previous by thread: Re: FindRoots?
  • Next by thread: Re: FindRoots?