|
[Date Index]
[Thread Index]
[Author Index]
Possible bug in FindRoot[] in Mathematica 3.0
Hi there,
I think I've possibly found a bug in Mathematica 3.0. Consider the
equation:
2^x + 3^x = 5^x
Well, it's obvious that x = 1 is a solution, and you can check with
Plot[] that x = 1 is indeed the only solution. When I try to Solve[]
this with Mathematica, it says:
Solve::"tdep":
"The equations appear to involve transcendental functions of the \
variables in an essentially non-algebraic way."
This is fair enough - I have no idea how to solve this type of equation
without some numerical method either. The problem comes when I try to
use FindRoot:
In[83]:= FindRoot[2^x+3^x==5^x,{x,0}] Out[83]:= {x -> -21.1781}
-21? I'm sorry? Obviously, the iterative formula it has created
(presumably by the Newton-Raphson process) for the equation diverges
when the starting point is taken as x = 0. However, if I do something
like this, it handles it correctly:
In[86]:= FindRoot[2^x+3^x==5^x,{x,-1}] FindRoot::"cvnwt":
"Newton's method failed to converge to the prescribed accuracy after
\
15 iterations."
Out[86]:= {x -> -21.0059}
So, why does Mathematica correctly recognise that the iterative sequence
does not converge in the second case, yet it doesn't recognise this in
the first case and thus returns a totally bogus result without any
error message?
This looks like a bug to me. Or am I just missing something here?
Thanks, cheers,
Adrian Cable.
Prev by Date:
Re: Computing my own function efficiently
Next by Date:
Re: Help
Prev by thread:
Re: Bug in SQRT function
Next by thread:
Re: Possible bug in FindRoot[] in Mathematica 3.0
|