|
ABSTRACT
Although numerous writers have stated that the class of single-step (“Runge-Kutta”—like) methods of numerical integration of ordinary differential equations are stable under calculational or round-off error, no one has given formal equations for the bounds on the propagated error to indicate this stability. Rutishauser [1] justifies the stability by noting that there is only one solution to the approximating difference equation, and Hildebrand [2] calculates a propagated error bound for the simplest (Euler) case. However, the latter bound does not indicate the stability for even that case.It is the purpose of this paper to investigate this “stability” of the Kutta fourth order procedure for integration of the ordinary differential equation dy/dx = ƒ(x, y), (1) where ƒ(x, y) possesses a continuous first-order partial derivative with respect to y throughout a region D in which the integration is to take place. (By alteration of the proof below, this condition can be replaced by a Lipschitz condition.) Since the Kutta process is the most complicated of such single-step procedures, it should be apparent that similar error bounds can be derived for the various other single-step methods of same or lower order (and in particular the Gill variant method, probably most often used in machine integration because of the storage savings). It is plausible that such error bounds can also be extended to the stable (extrapolation) multi-step methods, such as the Adams method, and to systems of ordinary differential equations. If the variational equation d&eegr;/dx = ∂ƒ(x, y)/∂y &eegr; (2) for the above ordinary differential equation has ƒv(x, y) < 0 throughout a region D the ordinary differential equation is termed stable in D, and for small enough variations in the initial conditions the absolute value of the propagated error decreases with growing x.Todd [3], Milne [4], Rutishauser [1], and others have shown that numerous multi-step numerical integration techniques are unstable in that even when the differential equation is stable, the difference equation will introduce spurious solutions for any step-size h. For the Kutta fourth order process, as seen below, this is not the case; for the stable differential equation the propagated error in the difference approximation remains bounded for small enough (but not too small!) step-size h; and for a given value of x, bounds on the propagated error decrease to a minimum given as a function of the round-off error as the step-size is decreased. Similar statements can be proved (but are not proved here) for other single-step processes. For no round-off (an “infinite word-length machine”) the process converges as h goes to zero.
In addition, an algorithm for determining the step-size as a function of the partial derivative is given below so as to keep the propagated error within a given bound. The classical Kutta procedure [5] gives the value of y at the (i + 1)th step in terms of the value at the ith step and the step-size h as follows: yi+1 = yi + h/6(k1 + 2k2 + 2k3 + k4) + O(h5) k1 = ƒ(xi, yi) k2 = ƒ(xi + h/2, yi + k1h/2) k3 = ƒ(xi + h/2, yi + k2h/2) k4 = ƒ(xi + h, yi + k3h) (3) When the O(h5) term is neglected, the value of yi+1, here called yti+1, is only an approximation.
An error bound for the truncation error at each step is given by Bieberbach [6, 7] and Lotkin [8]. This guarantees that for h small enough the truncation error at a single step, starting at yi, will be bounded by |yi+1 - yti+1| ≦ Ci+1h5, (4) where Ci+1 ≧ 0 is a function only of i, the function ƒ(x, y), and its partial derivatives of the first three orders; and yti is the true solution to the equations (3) truncated so that the O(h5) term does not appear. If the function and its derivaties of the first three orders exist and are bounded throughout a region, then all Ci would be bounded in the region.
Suppose there exists an error &egr;1 in yi at the ith step, which might be due either to previous truncation or round-off error.
Then the calculated value y*i+1 (as opposed to the true value if &egr;i were zero) at the next step is given, after several applications of the mean value theorem, by y*i+1 = yi + &egr;i + h/6{k1 + ∂ƒ/∂y &egr;i + 2k2 + 2[∂ƒ/∂y + (∂ƒ/∂y)2 h/2]&egr;i + 2k3 + 2[∂ƒ/∂y(1 + ∂ƒ/∂y h/2(1 + ∂ƒ/∂y h/2))]&egr;i + k4 + [∂ƒ/∂y(1 + ∂ƒ/∂y h(1 + ∂ƒ/∂y h/2(1 + ∂ƒ/∂y h/2)))]&egr;i} (5) where the various partial derivatives are evaluated within a rectangle given by xi ≦ x ≦ xi + h; |yi - y| ≦ Qh + | &egr;i | where Q is given below. Consider the true solution yit to the difference equation. During its evaluation, in order that all values of ƒ(x, y) used in its calculation lie within a region D, the true solution should not approach the y-boundaries of D closer than | yit; - y| > Qh, where if Q is chosen as Q ≧ maxx,y&egr;D | ƒ(x, y) | ≧ max (| k1/2 |, | k2/2 |, | k3 |) then certainly only values within D will be involved in the calculations.
The same argument holds for the difference equation containing error &egr;i at any step. If such a solution does not approach within closer than Qh + | &egr;i | to the y-boundary of D (such a region will be called D* below), then the true solution will not approach closer than Qh to the boundary. In the latter case the rectangle within which the partial derivatives are to be evaluated will always be within the given region D. This gives for the propagated error at the (i + 1)th step (if yi+1 is the value at step i + 1 given no error at step i, and y*i+1 is the value at step i + 1 with error &egr;i present): &eegr;i+1 = y*i+1 - yi+1 = &egr;i[1 + h/6(∂ƒ/∂y + 2∂ƒ/∂y + 2∂ƒ/∂y + ∂ƒ/∂y) + h2/6(∂ƒ/∂y ∂ƒ/∂y + ∂ƒ/∂y ∂ƒ/∂y + ∂ƒ/∂y ∂ƒ/∂y) + h3/12(∂ƒ/∂y ∂ƒ/∂y ∂ƒ/∂y + ∂ƒ/∂y ∂ƒ/∂y ∂ƒ/∂y) + h4/24(∂ƒ/∂y ∂fnof;/∂y ∂ƒ/∂y ∂ƒ/∂y)] (6) where the partial derivaties are written out to indicate that each is evaluated at what may be a different point in the rectangle. One can now prove the following:
THEOREM: If ∂ƒ/∂y is continuous, negative, and bounded from above and below throughout a region D in the(x, y) plane, -M2 < ∂ƒ/∂y < -M1 < 0, where M2 > M1 < 0, then for a maximum error (truncation, or round-off, or both) E in absolute value at each step the Kutta fourth-order numerical integration procedure has total error at the i-th step, i arbitrary, in the region D*, of | &egr;i | ≦ 2E/hM1 (7) where the step-size h is taken to be h < min (M1/M22, 4M13/M24. (Obviously if D extends to infinity, the boundaries of D and D* will coincide at infinity. Better (but more complex) bounds could certainly be obtained on Q and therefore D*.)
PROOF: For h as given, the multiplier of | &egr;i | within the absolute value signs on the right-hand side of (8) below is positive and the inequality does indeed hold, by applying the bounds on ƒv of the theorem to (6) above.In fact, for h as given &eegr;i+1 | = | y*i+1 - yi+1 | ≦ | &egr;i | | 1 - hM1 + (hM2)2/2! - (hM1)3/3! + (hM2)4/4!| ≦ | &egr;i| |1 - hM1/2|. (8) The total error at the (i + 1)th step is, in absolute value, | &egr;i+1| = |&rgr;i+1| + |&eegr;i+1| ≦ E + | &egr;i | (1 - hM1/2) (9) where &rgr;i+1 is the sum of the round-off and truncation error in that step and &eegr;i+1 the propagated error, 1 - hM1/2 < 1, and E > | &rgr;i | for all i. For i = 0, &egr;0 = 0, and therefore certainly | &egr;0 | ≦ 2E/hM1. (10) If for a given i, | &egr;i | ≦ 2E/hM1, then from (9) | &egr;i+1 | ≦ E + 2E/hM1 (1 - hM1/2) ≦ 2E/hM1, (11) and the proof holds by induction1 on i.
Note that, if &rgr;i consists only of truncation error, | &egr;i+1 | ≦ 2Ch5/hM1, (12) where C > Ci for all i (if sufficient bounded derivatives on ƒ(x, y) are assumed), and limh→0 | &egr;i+1 | = 0. (13)
On the other hand, if &rgr;i consists of round-off error &rgr;* also, bounded by | &rgr;* | for all i, then limh→0 | &egr;i+1 | ≦ 2(| &rgr;* | + Ch5)/hM1 = ∞, (14) provided | &rgr;* | is bounded from below by a positive non-zero value, which is generally true for fixed word-length computers; and the error bound is of no value in the limit. In that case, for h small enough | &eegr;i+1 | = | y*i+1 - yi+1 | ≧ | &egr;i | (1 - hM2) ≧ K | &egr;i |, (15) where now K = (1 - hM2). If, for example, &rgr;k > R > 0, for all k, one obtains | &egr;i+1 | = &rgr;i+1 + | &eegr;i+1 | ≧ &rgr;i+1 + K(&rgr;i + K(&rgr;i-1 + ··· + Ki+1&rgr;0) ···) (16) ≧ R(1 + K + K2 + ··· + Ki+1) ≧ R(i + 2)Ki+1 ∴limh→0 | &egr;i+1 | ≧ (i + 2)R (17)
Therefore, in the case &rgr;k > R > 0, the error can increase without limit when (i + 1)h is held constant. Thus, as perhaps seems obvious from the start, decreasing the step-size will in this case, speaking roughly, improve the propagated error until the point at which the round-off and truncation error have the same order of magnitude. If on the other hand the round-off error can be made a function of the step-size of order hk, where k > 1, then the total error will go to zero as h → 0, or will remain bounded in the case k = 1. Users of variable wordlength digital computing machines should therefore increase their word-length as h is decreased in order to avoid this lower limit due to round-off error. Users of fixed word-length computers must use multi-precision. This result is not surprising; a specific algorithm for doing it is given below.
If ƒy is allowed also to be zero or positive, but bounded throughout D, 0 ≦ |∂ƒ/∂y| < M. (18) Then the propagated error in D* at the (i + 1)th step, due to a given (round-off or truncation error) &egr;i at the ith step, is |y*i+1 - yi+1 | ≦ | &egr;i | (1 + hM + (hM)2)/2 + (hM)3)/3! + (hM)4)/4!) (19) or | &eegr;i+1 | ≦ | &egr;i | ehM, (20) where &eegr;i+1 is the propagated error and E and h are given as before; and one obtains an error bound similar to most classical ones | &egr;i+1 | ≦ E(1 + K + K2 + ··· + Ki) ≦ E Ki+1 - 1/K - 1 = E e(i+1)h M - 1/eh M - 1, (21) where K = eh M.
In both the stable and unstable case, ignoring round-off, the process is obviously convergent in D as h → 0, since D* approaches D as h → 0 and | &egr;i+1 | → 0. For the case ƒy < 0 equations (7) and (14) above give an algorithm for a bound on the stepsize h; a similar analysis could be based on equation (21). Suppose the round-off error per single-precision step is bounded by | &rgr;*(1)(h) |, per n-precision step by | &rgr;*(n)(h) |. (Here n could just as well be number of digits as number of words.) Then, since | &egr;i+1 | ≦ 2(|&rgr;*(n)(h)| + Ch5)/hM1, (22) for | &egr;i+1 | required to be less than B > 0, choose h < M1/M22 such that 2 Ch5/hM1 < B/2 (23) or h4 < M1B/4C. (23a) Then for that value of h, choose the value of n such that | &rgr;*(n)(h) | < BhM1/4. (24) This will guarantee | &egr;i+1 | < B. Obviously, such an h is not necessarily the best possible. The computation of | &rgr;*(n)(h) |, while intricate, could very well be done by the computer itself, if procedures for forming formal derivatives of machine functions were included in whatever compiling techniques were used with the routine. If the calculated solution approached the boundaries of D*, the step-size h would have to be decreased, and the values of h accordingly readjusted in order to continue to apply the theorem.If h and n are picked in this fashion, the numerical machine solution can be made as close to the true solution as desired, and the process will converge. As for “stability” of the solution process under round-off, as would appear intuitive, the propagated error can be guaranteed to go to zero with the step-size h only if the round-off error per step varies with h as O(hk) with k > 1. The Kutta process is stable in the sense that for a stable differential equation, for a given h, the error will be bounded by (7), where E is given without round-off error by (12) and Bieberbach's bound (4). In the latter case, as h → 0, the truncation error goes to zero, which certainly is not true for many multi-step methods.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
RVTISH,tUSF, R, HEINZ, Uber die Instnbilit~t yon Methoden zur Integration gewShnlicher Differentialgleichungen Z.A.M.P., ITI, 1952, pp. 65-74.
|
| |
2
|
HILDEBR_a_ND, ~F. B. lntrod.uction to Numerical Analysis, McGraw-Hill, 1956, pp. 233-239.
|
| |
3
|
TODD, JOHN, Solution of Differential Equations by Recurrence Relations, M.T.A.C. 4, pp. 39-44 (1950).
|
| |
4
|
MILN~., W. E., Numerical Solution of Differential Equations, John Wiley, 1953, pp. 21-24.
|
| |
5
|
KUTq'A, WILHI~LM, Beitrag zur n~horungsweisen Integration totaler Differentialgleichungen, Zeitschr. fiir Math. u. Phys., 46, 1901, pp. 435-453.
|
| |
6
|
BIEBERBACH, LVDW~G, Theorie der Differentialgleichungen, Dover, 1944, pp. 53-55.
|
| |
7
|
BIEBERBACIt, LUDWIG, On The Remainder of the Rtlnge-Kutta Formula, Z.A.M.P., II, 1951, pp. 233-248.
|
| |
8
|
LOTKIN, MAx. On the accuracy of Runge-Kutta's method, M.T.A .C. 5, 1951, pp. 128-133.
|
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE conference on Design automation
Gwo-Dong Chen
, Daniel D. Gajski
|