Re: Root finding needs higher accuracy

*To*: mathgroup at smc.vnet.net*Subject*: [mg123179] Re: Root finding needs higher accuracy*From*: Bill Rowe <readnews at sbcglobal.net>*Date*: Fri, 25 Nov 2011 04:57:35 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com

On 11/24/11 at 6:57 AM, hwborchers at googlemail.com (HwB) wrote: >I would like to numerically find the root of the following function >with up to 20 digits. >f12[x_] := Log[x] + x^2 / (2 Exp[1]) - 2 x / Sqrt[Exp[1]] + 1 >This problem is known to be difficult for solvers in double >precision arithmetics. I thought it should be easy with Mathematica, >but the following attempts were not successful. >SetPrecision[ x /. FindRoot[f12[x], {x, 1.0, 3.4}, Method -> >"Brent", AccuracyGoal -> Infinity, PrecisionGoal -> 20], 16] >#1.648732212532746 >SetPrecision[ x /. FindRoot[f12[x], {x, 1.0, 3.4}, Method -> >"Secant", AccuracyGoal -> Infinity, PrecisionGoal -> 20], 16] >#1.648710202030051 >The true root obviously is Sqrt[Exp[1]]//N = 1.648721270700128... >The symbolic solver explicitely says it cannot solve this >expression. What do I need to do to get a much more exact result out >of Mathematica? On my machine the simple naive approach seems to work fine. That is In[25]:= FindRoot[f12[x], {x, 2}, WorkingPrecision -> 20] Out[25]= {x->1.6487220277297822898} In[26]:= $Version Out[26]= 8.0 for Mac OS X x86 (64-bit) (October 5, 2011)

**Follow-Ups**:**Re: Root finding needs higher accuracy***From:*DrMajorBob <btreat1@austin.rr.com>