Re: Root finding needs higher accuracy
- To: mathgroup at smc.vnet.net
- Subject: [mg123189] Re: Root finding needs higher accuracy
- From: HwB <hwborchers at googlemail.com>
- Date: Fri, 25 Nov 2011 04:59:24 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jalbrn$sib$1@smc.vnet.net>
Okay, with the help of Fred Simons, Netherlands, I realized that the
magic keyword here is "WorkingPrecision" --- though I don't understand
how to know an appropriate value for it in advance (I am not using
Mathematica on a regular basis). At least, Mathematica itself is
requesting more iterations if necessary.
SetPrecision[
x /. FindRoot[f12[x], {x, 1, 3.4}, Method -> "Brent",
WorkingPrecision -> 75, MaxIterations -> 250], 20]
1.6487212707001281468
Still, I find it strange that Mathematica cannot solve this expression
symbolically.
Regards
Hans Werner
On Nov 24, 1:04 pm, HwB <hwborch... at googlemail.com> 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, PrecisionGoa=
l -> 20], 16]
> # 1.648732212532746
> SetPrecision[
> x /. FindRoot[f12[x], {x, 1.0, 3.4}, Method -> "Secant",
> AccuracyGoal -> Infinity, PrecisionGoa=
l -> 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?
>
> Many thanks, Hans Werner
- Follow-Ups:
- Re: Root finding needs higher accuracy
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: Root finding needs higher accuracy
- From: DrMajorBob <btreat1@austin.rr.com>
- Re: Root finding needs higher accuracy