Possible bug in FindRoot[] in Mathematica 3.0
- To: mathgroup@smc.vnet.net
- Subject: [mg11131] Possible bug in FindRoot[] in Mathematica 3.0
- From: Adrian Cable <megalith@jimc.demon.co.uk>
- Date: Mon, 23 Feb 1998 21:40:49 -0500
- Organization: MeGALiTH Software Ltd
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.
- Follow-Ups:
- Re: Possible bug in FindRoot[] in Mathematica 3.0
- From: Daniel Lichtblau <danl@wolfram.com>
- Re: Possible bug in FindRoot[] in Mathematica 3.0