MathGroup Archive 2011

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

Search the Archive

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)




  • Prev by Date: CDF examples
  • Next by Date: Re: Root finding needs higher accuracy
  • Previous by thread: Re: Root finding needs higher accuracy
  • Next by thread: Re: Root finding needs higher accuracy