Talk:Numerical methods for ordinary differential equations/Archive 1

Consistent methods
It seems that the consistence of a method is mentioned in the pages about Runge-Kutta and Adams method, but it is never defined. Is this page the right place to put its definition? Fph 12:41, 21 June 2006 (UTC)


 * Yes, I think so. It would perhaps fit in nicely in the discussion about order. By the way, benvenuti a Wikipedia! -- Jitse Niesen (talk) 13:37, 21 June 2006 (UTC)


 * Grazie! I have added some words about consistency (by the way, it seems consistency is more widespread than consistence). Someone should add a short comment about the consistency being a weaker condition than convergence to ensure the method makes (at least some) sense. I'm not sure I know English enough to write it correctly, so I'll better leave it to someone else. :-) --Fph 19:14, 28 June 2006 (UTC)

Slight Change
I think it would make the equations easier to understand if h is replaced by $$\Delta x$$.

Please comment on my suggestion. -- Freiddy 18:48, 2 March 2007 (UTC)


 * Perhaps (I suppose you mean $$\Delta t$$). Your notation is indeed makes it easier for the reader to remember that it stands for the step size. On the other hand, expressions like $$hf(t,y)$$ and $$h^p$$ become slightly more awkward: you get $$\Delta t f(t,y)$$ (could be misinterpreted, though adding some spacing might remedy this) and $$\Delta t^p$$ (might need parentheses). So, I don't know. -- Jitse Niesen (talk) 03:05, 3 March 2007 (UTC)


 * $$\Delta t^p$$ is mostly understandable, since most people are quite used to the notation $$\frac{d^2f}{dx^2}$$. You can also just change $$\Delta t f(t,y)$$ into $$ f(t,y)\ \Delta t$$ which is just like an integral. -- Freiddy 12:28, 3 March 2007 (UTC)

ON THE ACCURACY OF DIGITAL INTEGRATION ALGORITHMS
My 14 years of experience with analog computers, my 40 years of experience with feedback controls, and my 40 years of experience with simulation (both analog and digital) have given me a somewhat different perspective on digital integration than I find in the literature. A digital integration algorithm must be evaluated on how well its gain matches 1/j-omega, and how close its phase is to -90 deg. The primary cause of problems with digital integration algorithms is the phase error, not the gain error. Some years ago I tested several digital integration algorithms and found only one that gave both good gain error and good phase error. This one is the Adams-Bashforth 2. All the other algorithms were very poor. Looking at amplitude error only gives an false confidence in the algorithm. To evaluate the algorithms, we did two different tests. We first measured the gain and phase with a digital signal analyzer which we programmed in C along with the integration algorithm. This was done on a 386-25 which dates the work. Then we programmed a second order loop with no damping to observe how fast the solution diverged or how fast it damped to zero. Once again, the AB 2 was the best by a wide margin. It isn't perfect, and it isn't nearly as good as a good analog integrator, but it was the best we could find. We didn't test every algorithm, but we did test other AB algorithms, the RK algorithms, Euler's method, and probably a predictor-corrector and Adams Moulton methods. The result was always the same: AB 2 wins by a wide margin.

The only time phase is not important is when the simulation is open loop. This is not the normal case. The normal case with the solution to differential equations is that the simulation is closed loop and the phase makes a huge difference. — Preceding unsigned comment added by Servoguy (talk • contribs) 03:44, 7 August 2007 (UTC)

Midpoint Method
The Midpoint method is mantioned in the graph, but there is no mention of it in the article. Shouldn't some mention of it be made? - GeiwTeol 08:15, 19 March 2008 (UTC)

Iterative method
Link to description of algorithm: iterative_method.htm Jeffareid (talk) 06:46, 20 July 2009 (UTC)


 * That's not about computing integrals but computing the solution of a differential equation; see Numerical ordinary differential equations. The predictor is forward Euler and the corrector is the trapezoidal rule, so I'd call it an Euler-trapezoidal method, iterated till convergence. It's the first one in a series of predictor-corrector methods called Adams-Bashforth-Moulton or AB/AM because they use an Adams-Bashforth method as predictor and an Adams-Moulton method as corrector (see linear multistep method). -- Jitse Niesen (talk) 10:46, 20 July 2009 (UTC)


 * Copied from Talk:Numerical_integration Jeffareid (talk) 19:49, 20 July 2009 (UTC)


 * iterated till convergence - I haven't seen iterated till convergence mentioned in the related wiki articles. Considering the speeds of current PC's and computers, it's probably a reasonable approach. Jeffareid (talk) 19:56, 20 July 2009 (UTC)


 * iterative trapezoidal algorithm restated here (using y instead of f for convergence test):


 * $$ y' = f(t,y), \quad y(t_0) = y_0. $$


 * first calculate an initial guess value $$\tilde{y}_{g}$$


 * $$\tilde{y}_{g} = y_i + h f(t_i,y_i)$$


 * next calculate successive guesses


 * $$\tilde{y}_{g+1} = y_i + \frac{h}{2}(f(t_i, y_i) + f(t_{i+1},\tilde{y}_{g})).$$


 * $$\tilde{y}_{g+2} = y_i + \frac{h}{2}(f(t_i, y_i) + f(t_{i+1},\tilde{y}_{g+1})).$$
 * $$\tilde{y}_{g+n} = y_i + \frac{h}{2}(f(t_i, y_i) + f(t_{i+1},\tilde{y}_{g+n-1})).$$
 * $$\tilde{y}_{g+n} = y_i + \frac{h}{2}(f(t_i, y_i) + f(t_{i+1},\tilde{y}_{g+n-1})).$$


 * until the guesses converge to within some error tolerance e:


 * $$ | \tilde{y}_{g+n} - \tilde{y}_{g+n-1} | <= e $$


 * Once convergence is reached, then use the final guess as the next step:


 * $$y_{i+1} = \tilde{y}_{g+n}.$$


 * If the guesses don't converge within some number of steps, such as $$ n = 16 $$ reduce h and repeat the step. To optimize this, if the steps converge too soon, such as 4 steps, then increase h. If I remember correctly, the iterative process converges quadratically.


 * Jeffareid (talk) 20:26, 20 July 2009 (UTC)


 * I added the above as a proposed predictor corrector example in the talk page here: Talk:Predictor-corrector_method Jeffareid (talk) 04:52, 21 July 2009 (UTC)