Re: FindRoot termination criteria
- To: mathgroup at smc.vnet.net
- Subject: [mg5561] Re: FindRoot termination criteria
- From: Robert Knapp <rknapp at sover.net>
- Date: Thu, 19 Dec 1996 01:02:47 -0500
- Organization: Wolfram Research
- Sender: owner-wri-mathgroup at wolfram.com
Sysabel wrote:
>
> Could someone tell me what criteria is used in FindRoot to terminate
> the search?
> I'm running FindMinimum on
> a function that does not have local minima yet it terminates. I've
> tried upping the MaxIterations and the AccuracyGoal but the results
> don't seem to improve.
>
> For example :
> numerical_solution = FindRoot[f[x]==0, {x, {0,1}},
> AccuracyGoal->0.001];
>
> If exact solution is name exact_solution,
>
> is Findroot exit the search when :
> abs(numerical_solution - exact_solution) < 0.001 ???
> or when :
> abs[f[numerical_solution ] - f[exact_solution]] < 0.001 ???
>
> or others ?
>
> Thanks in advance,
> Eric
It is hard to tell from your message whether you are wanting to use
FindRoot -- for numreically finding a solution to an equation..or
FindMinimum -- for numerically minimizing a function.
The criteria for both are based on the objective function.
For FindRoot, at the exact solution, the objective function is 0, so
the stopping criterion is that
Abs[f[numerical_solution]] <= 10^(-AccuracyGoal)
For FindMinimum, estimates are used so that
Abs[f[numerical_solution]-f[exact_solution]] <= 10^(-AccuracyGoal)
and (if f[exact_solution] is non zero)
Abs[(f[numerical_solution]-f[exact_solution])/f[exact_solution]] <=
10^(-PrecisionGoal)
FindRoot does not have a PrecisionGoal option because relative error at
zero makes no sense.
Rob Knapp
WRI