Re: multistep iterative methods
- To: mathgroup at smc.vnet.net
- Subject: [mg40356] Re: multistep iterative methods
- From: "Kevin J. McCann" <kjm@KevinMcCann>
- Date: Thu, 3 Apr 2003 01:40:13 -0500 (EST)
- References: <b6bnnc$3t$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
I agree with Jens comment. Also why just the predictor? If you are going to do it this way, I would use the Moulton corrector along with it. Much of the recent literature on non-stiff ODE solvers seems to be moving away from predictor-corrector methods and suggesting that Runge-Kutta methods be used for moderate accuracy/fast derivative function problems, and extrapolation methods such as Bulirsch-Stoer for high accuracy. Based on my own experience, I concur with this logic. Kevin "Selwyn Hollis" <hollisse at mail.armstrong.edu> wrote in message news:b6bnnc$3t$1 at smc.vnet.net... > I'd like to throw this out as a challenge to the group: What's the most > efficient way to implement in Mathematica an explicit multistep > iterative method such as, say, the 4-step Adams-Bashforth method for > solving y' = f(t,y): > > y[k+1]:= y[k] + (h/24)*(55*f[k] - 59*f[k-1] + 37*f[k-2] - 9*f[k-3]) > > where y[0], y[1], y[2], y[3] are "given," and f[i] denotes f[t0 +i*h, > y[i]]. The desired output would be the list > > {y[0], y[1], y[2], ... , y[n]}. > > A suitable toy problem is > > y' = -2t*y^2, y(0) = 1, > > with h = 0.01, n = 1000 (?), and the starting values taken from the > exact solution y = 1/(1+t^2): > > y[0]=1, y[1] = 0.9999, y[2] = 0.9996, y[3] = .999101. > > Thanks in advance. > > ------- > Selwyn Hollis > > > >