[Date Index]
[Thread Index]
[Author Index]
Re: FindRoots?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg112185] Re: FindRoots?
*From*: Matthias Bode <lvsaba at hotmail.com>
*Date*: Sat, 4 Sep 2010 03:58:57 -0400 (EDT)
Hola Gianluca:
In[1]:== Reduce[2*x + Log[-((-1 + 2*x)/(-1 + 2*x^2))] ==== 0 &&
-2 < x < -Sqrt[2]^(-1), x, Reals]
Out[1]== x ==== Root[{Log[-((-1 + 2*#1)/(-1 + 2*#1^2))] + 2*#1 & ,
-0.86193624643066461859672257230652325788`20.308604836334762}]
In[2]:== 2*x + Log[-((-1 + 2*x)/(-1 + 2*x^2))] /.
x -> -0.86193624643066461859672257230652325788`20.308604836334762
Out[2]== 0``19.380562970987107
== 0. * 10^ -20
Whereas (see your original equation below),
Reduce[2 x + Log[-((-1 + 2 x)/(-1 + 2 x^2))] ====== ==
0 && -2 < x < -1/Sqrt[2], x, Reals]
Syntax::sntxf:"2x+Log[-((-1+2x)/(-1+2x^2))]======" cannot be followed by "=
==0&&-2<x<-1/Sqrt[2]".
Syntax::tsntxi:"==0&&-2<x<-1/Sqrt[2]" is incomplete; more input is needed.
Syntax::sntxi:Incomplete expression; more input is needed.
Best regards,
MATTHIAS BODE
COCHABAMBA/BOLIVIA
> Date: Fri, 3 Sep 2010 06:10:23 -0400
> From: gianluca.gorni at uniud.it
> Subject: [mg112177] Re: FindRoots?
> To: mathgroup at smc.vnet.net
>
>
> 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 an=
d
> >> incorporate it as part of regular Mathematica. Finding all the roots o=
f a
> >> real function on a 1-dimensional domain is the most common case of roo=
t
> >> finding, and it is the one thing regular Mathematica is very poor at. =
Ted's
> >> package is quite robust and returns all the roots in order.
> >
> >
> > Mathematica's Reduce can do this (in the case of complex analytic funct=
ions, which covers most important practical cases) since version 7. I have =
posted examples of this several times, but somehow nobody seems to notice a=
nd we keep reading strange remarks like the above. Well, I don't want it to=
sound like I am trying to diminish Ted's achievement, but quite frankly, f=
rom the mathematical point of view, the methods used in the RootSearch pack=
age are rather primitive, relatively to the current state of knowledge in t=
his field, of course. Not only does Reduce solve most transcendental equati=
ons much faster but it also does not require setting the values of any opti=
ons by hand, and, what I think is most important, the results thus obtained=
are provably correct, which is not the case with Ted's package. In fact, m=
uch more general methods of solving transcendental equations exist (in gene=
ral the functions need not be analytic and can involve systems of n-real eq=
uations in n-varia!
> b
> > l!
> > es with non-vanishing Jacobian). An example of such a method can be fou=
nd in one of my demonstrations on the demonstrations site (the algorithm ca=
n easily be converted to a practical method for real life probl ems.
> >
> > In view of this, how could there be any justification for the suggestio=
n that Wolfram incorporates what is actually an impressive but amateurish p=
ackage into what is supposed to be a sophisticated mathematical program?
> > Sometimes certain capabilities are missing from Mathematica simply beca=
use implementing "bleeding edge" algorithms in a way that is satisfactory f=
ora program that has the kind of aspirations that Mathematica obviously doe=
s takes time.
> >
> > These sort of "helpful suggesting", particularly when coming from non-e=
xp==
> erts, have no chance whatever of being accepted and even can produce the =
im==
> pression of an ulterior motive being involved.
> >
>
--_637439e7-ac01-4858-84ae-ee894c0a0aa9_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Sun-Content-Length: 6413
<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
Hola Gianluca:<br><br>In[1]:= Reduce[2*x + Log[-((-1 + 2*x)/(-1 + 2*x^2))=
] == 0 && <br> -2 < x =
< -Sqrt[2]^(-1), x, Reals]<br><br>Out[1]= x == Root[{Log[-((=
-1 + 2*#1)/(-1 + 2*#1^2))] + 2*#1 & , <br> &=
nbsp; -0.86193624643066461859672257230652325788`20.308604=
836334762}]<br><br>In[2]:= 2*x + Log[-((-1 + 2*x)/(-1 + 2*x^2))] /. <br>&=
nbsp; x -> -0.86193624643066461859672257230652325788`20.3086=
04836334762<br><br>Out[2]= 0``19.380562970987107<br><br>= 0. * 10^ -20<=
br><br>Whereas (see your original equation below),<br><br>Reduce[2 x + Lo=
g[-((-1 + 2 x)/(-1 + 2 x^2))] === = <br> 0 &&=
amp; -2 < x < -1/Sqrt[2], x, Reals]<br><br>Syntax::sntxf:"2=
x+Log[-((-1+2x)/(-1+2x^2))]===" cannot be followed by "=0&&am=
p;-2<x<-1/Sqrt[2]".<br><br>Syntax::tsntxi:"=0&&-2=
<x<-1/Sqrt[2]" is incomplete; more input is needed.<br><br>Synt=
ax::sntxi:Incomplete expression; more input is needed.<br><br>Best regard=
s,<br><br><div><strong><em></em></strong><style>
</style><div><font face="Arial" size="2">MATTHIAS BODE<br>COCHABAMBA/BO=
LIVIA</font><br></div></div><br><br>> Date: Fri, 3 Sep 2010 06:10:23=
-0400<br>> From: gianluca.gorni at uniud.it<br>> Subject: [mg112177=
] Re: FindRoots?<br>> To: mathgroup at smc.vnet.net<br>> <br>> =
<br>> In my opinion Reduce can replace RootSearch in some<br>> ca=
ses but not in others.<br>> <br>> First of all, Reduce has bugs=
. Here is an analytic function<br>> that clearly has a real root:<br>&=
gt; <br>> Plot[2 x + Log[-((-1 + 2 x)/(-1 + 2 x^2))], {x, -2, =
-1/Sqrt[2]}]<br>> <br>> Still, Reduce does not see it (as of ve=
rsion 7.0.1):<br>> <br>> Reduce[2 x + Log[-((-1 + 2 x)/(-1 + 2 x^=
2))] ==== 0 && -2 <<br>> x < -1/Sqrt[=
2], x, Reals]<br>> False<br>> <br>> (I reported this exa=
mple to wolfram last year).<br>> <br>> Next, Reduce has problem=
s with inexact input, and with<br>> InterpolatingFunction, so that=
it won't work with<br>> the output of NDSolve:<br>> <br>> s=
ol == x /.<br>> First@NDSolve[{x'[t] ==== x[t] + 2, x[=
0] ==== -1}, x, {t, 0, 2}];<br>> Reduce[sol[t] ==
=== 0 && 0 < t < 2, t]<br>> <br>> o=
r, say, with functions obtained by interpolating between Locators.<br>&=
gt; RootSearch works fine in these cases.<br>> <br>> I have mad=
e some interactive panels where I can change the Locators<br>> with th=
e mouse and I get in real time the roots of the interpolating<br>> fun=
ction as big Points in the plot: I can do this with RootSearch,<br>>=
but not with Reduce.<br>> Unfortunately, I can't give these panels =
to other users, because<br>> I can't assume that they have RootSearc=
h installed.<br>> <br>> I endorse the wish that the functionality=
of RootSearch were available<br>> in the kernel.<br>> <br>>=
Best regards,<br>> Gianluca Gorni<br>> <br>> <br>> <=
br>> On 01/set/2010, at 12.28, Andrzej Kozlowski wrote:<br>> =
<br>> ><br>> > On 30 Aug 2010, at 12:19, David Park=
wrote:<br>> ><br>> >> I don't know why Wolfram do=
esn't acquire the rights to this package and<br>> >> incorpo=
rate it as part of regular Mathematica. Finding all the roots of a<br>>=
; >> real function on a 1-dimensional domain is the most common=
case of root<br>> >> finding, and it is the one thing reg=
ular Mathematica is very poor at. Ted's<br>> >> package is q=
uite robust and returns all the roots in order.<br>> ><br>> =
><br>> > Mathematica's Reduce can do this (in the case of co=
mplex analytic functions, which covers most important practical cases) si=
nce version 7. I have posted 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 sound like I am trying to diminish Ted's achieve=
ment, but quite frankly, from the mathematical point of view, the met=
hods used in the RootSearch package are rather primitive, relatively to t=
he current state of knowledge in this field, of course. Not only does Red=
uce solve most transcendental equations much faster but it also does not re=
quire setting the values of any options by hand, and, what I think is m=
ost important, the results thus obtained are provably correct, which is=
not the case with Ted's package. In fact, much more general methods of s=
olving transcendental equations exist (in general the functions need not be=
analytic and can involve systems of n-real equations in n-varia!<br>>=
b<br>> > l!<br>> > es with non-vanishing Jacobian). An=
example of such a method can be found in one of my demonstrations on the d=
emonstrations site (the algorithm can easily be converted to a practical me=
thod for real life probl ems.<br>> ><br>> > In view of =
this, how could there be any justification for the suggestion that Wolfra=
m incorporates what is actually an impressive but amateurish package into w=
hat is supposed to be a sophisticated mathematical program?<br>> >=
; Sometimes certain capabilities are missing from Mathematica simply beca=
use implementing "bleeding edge" algorithms in a way that is satisfactory f=
ora program that has the kind of aspirations that Mathematica obviously doe=
s takes time.<br>> ><br>> > These sort of "helpful sugg=
esting", particularly when coming from non-exp=<br>> erts, have =
no chance whatever of being accepted and even can produce the im=<br>>=
; pression of an ulterior motive being involved.<br>> ><br>>=
; <br> </body>
</html>=
--_637439e7-ac01-4858-84ae-ee894c0a0aa9_--
Prev by Date:
**Re: FindRoots?**
Next by Date:
**user-defined functions in KeyEventTranslations.tr**
Previous by thread:
**Re: FindRoots?**
Next by thread:
**Re: FindRoots?**
| |