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