Re: convergence checking

• To: mathgroup at smc.vnet.net
• Subject: [mg70295] Re: [mg70002] convergence checking
• From: Darren Glosemeyer <darreng at wolfram.com>
• Date: Thu, 12 Oct 2006 05:36:58 -0400 (EDT)
• References: <200609300912.FAA13091@smc.vnet.net>

```Inequalities along this line are mentioned in the documentation for
PrecisionGoal and AccuracyGoal.  One way to implement this is via a
While loop of the following form

old=(* insert or compute initial value here *);
new=(* insert or compute next iteration here *);
While[Abs[new-old]>=10^(-acc)+Abs[old]*10^-(prec),
old=new;
new=(* insert or compute next iteration here *)];
new

To avoid a non-terminating loop in cases where the method does not
converge, you can add a counter variable that gets incremented at each
step in the While loop and checked against an iteration limit in the
While test. Alternately, NestWhile could be used to put a cap on the
number of iterations.

Darren Glosemeyer
Wolfram Research

Chris Chiasson wrote:
> Somewhere in the Mathematica documentation, there is an expression like
>
> Abs[new-old]<10^(-acc)+Abs[old]*10^-(prec)
>
> suggested for use as a convergence criteria. I can't find it again,
> and I'm hoping someone will point me to it.
>
> Also, if you have any pointers about checking convergence (ignoring
> other factors like movement along a contour line causing large changes
> in the solution but no changes in function value), I would like to
> hear them.
>
> The dicussion at
>
> http://www.library.cornell.edu/nr/bookcpdf/c10-1.pdf
>
> (around eqn 10.1.2)
>
> is interesting, though I am not sure I understand how to implement it
> (in the context of Mathematica programming of an optimization
> routine).
>
>

```

• Prev by Date: Re: Automate datafitting to a series of parameterized function
• Next by Date: Re: Ordinate in Plot Command
• Previous by thread: Re: Re: Definition of SE (standard error) in LinearRegress and NonlinearRegress
• Next by thread: Linear bonding model using Mathematica