Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
289,59 KB
Nội dung
194 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS We can eliminate the factor c 6 −1 because, if it were zero, then it would follow that c 3 = 1 3 and that c 4 = 1, which are consistent with the vanishing of the second factor, which leads to c 4 = c 3 2 −10c 3 +15c 2 3 . (326s) Having chosen c 3 , and therefore c 4 , together with arbitrary c 2 , c 5 and c 6 and the known value c 7 = 1, excluding some impossible cases, we can solve for the components of b from (326a)–(326g). We can then solve for a 54 , a 64 and a 65 from the consistent equations (326h)–(326k). We then solve for a 32 from (326l) and then for a 42 , a 43 , a 52 , a 53 , a 62 and a 63 from (326l) with i =4,5, 6 and from (326o), (326p) and (326q). It remains to compute the first column of A from (326m) and the last row from (326n). The following example is of a method derived from these equations: 0 1 3 1 3 2 3 0 2 3 1 3 1 12 1 3 − 1 12 5 6 25 48 − 55 24 35 48 15 8 1 6 3 20 − 11 24 − 1 8 1 2 1 10 1 − 261 260 33 13 43 156 − 118 39 32 195 80 39 13 200 0 11 40 11 40 4 25 4 25 13 200 . It is possible to derive sixth order methods in other ways. For example, Hu ˇ ta used the C(3) with subsidiary conditions for stages 2 and 3. However, he used s = 8, and this gave him more freedom in the choice of c. The alternative example of a method of this order that we give uses C(2) and D(2) with subsidiary conditions to repair the gaps in the order conditions caused by C(2) not applying to stage 2 and D(2) not holding for stage 6. It is necessary to choose b 2 = 0, and to require that c 3 , c 4 and c 5 are related so that the right-hand side vanishes in the equations 7 i,j=1 b i (1 −c i )(c i − c 5 )a ij c j (c j − c 3 )= 1 90 − c 3 40 − c 5 60 + c 3 c 5 24 , 7 i=1 b i (1 −c i )(c i − c 3 )(c i − c 4 )(c i − c 5 )c i = 1 30 − c 3 + c 4 + c 5 20 + c 3 c 4 + c 3 c 5 + c 4 c 5 12 − c 3 c 4 c 5 6 , RUNGE–KUTTA METHODS 195 because the left-hand sides are identically zero. A method derived along these lines is as follows: 0 2 5 2 5 4 5 0 4 5 2 9 169 1458 110 729 − 65 1458 8 15 − 44 675 − 88 135 76 351 336 325 0 21 106 0 − 105 689 − 324 689 45 106 1 − 2517 4864 − 55 38 10615 31616 567 7904 7245 4864 2597 2432 00 1375 4992 6561 20384 3375 12544 53 768 19 294 . 327 Methods of orders greater than 6 Methods with order 7 must have at least nine stages. It is possible to construct such a method using the principles of Subsection 323, extending the approach used in Subsection 326. The abscissa vector is chosen as c =[ 0 1 3 c 4 2 3 c 4 c 4 c 5 c 6 c 7 01 ] , and the orders of stages numbered 4, 5, ,9 are forced to be 3. To achieve consistency of the conditions b i (1 −c i )a ij a jk c k (c k − c 4 )(c k − c 5 )= 1 4·5·6·7 − c 4 + c 5 3·4·5·6 + c 4 c 5 2·3·4·5 , b i (1 −c i )a ij c j (c j − c 4 )(c j − c 5 )(c j − c 6 )= 1 5·6·7 − c 4 + c 5 + c 6 4·5·6 + c 4 c 5 + c 4 c 6 + c 5 c 6 3·4·5 − c 4 c 5 c 6 2·3·4 , b i (1 −c i )c i a ij c j (c j − c 4 )(c j − c 5 )= 1 4·6·7 − c 4 + c 5 3·5·6 + c 4 c 5 2·4·5 , it is found that c 6 = u −12v +7uv 3 −12u +24v +14u 2 − 70uv + 105v 2 , where u = c 4 + c 5 and v = c 4 c 5 .Thevalueofc 7 is selected to ensure that 1 0 x(1 − x)(x − c 4 )(x − c 5 )(x − c 6 )(x − c 7 )dx =0. 196 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS The tableau for a possible method derived along these lines is 0 1 6 1 6 1 3 0 1 3 1 2 1 8 0 3 8 2 11 148 1331 0 150 1331 − 56 1331 2 3 − 404 243 0 − 170 27 4024 1701 10648 1701 6 7 2466 2401 0 1242 343 − 19176 16807 − 51909 16807 1053 2401 0 5 154 00 96 539 − 1815 20384 − 405 2464 49 1144 1 − 113 32 0 − 195 22 32 7 29403 3584 − 729 512 1029 1408 21 16 000 32 105 1771561 6289920 243 2560 16807 74880 77 1440 11 270 . Order 8 requires 11 stages, and methods of this order were derived by Curtis (1970)and Cooper and Verner (1972). In each case the abscissae were based on the Lobatto quadrature formula with three internal points. We quote the method of Cooper and Verner in Table 327(I). Although order 9 has not attracted much interest, and it is unknown how many stages are required to achieve this order, order 10 has posed a challenge. In Curtis (1975) a method of order 10 was presented with 18 stages. However, using an ingenious combination of various simplifying assumptions, Hairer (1978) accomplished this feat in 17 stages. It is still not known if fewer stages are possible. Exercises 32 32.1 Find a method with s = p =3suchthatc =[0, 1 2 , 1]. 32.2 Find a method with s = p =3suchthatc =[0, 1 3 , 1]. 32.3 Find a method with s = p =4suchthatb 1 =0andc 2 = 1 5 . 32.4 Find a method with s = p =4suchthatb 2 =0andc 2 = 1 4 . 32.5 Find a method with s = p =4suchthatb 1 =0andc 3 =0. 32.6 Show that Lemma 322A can be used to prove that c 4 =1,ifs = p ≥ 4. 32.7 Show that Lemma 322A can be used to prove that c 5 =1,ifs = p ≥ 5 leading to an alternative proof of Theorem 324B. RUNGE–KUTTA METHODS 197 Table 327(I) Tableau for Cooper–Verner eighth order method 0 1 2 1 2 1 2 1 4 1 4 7+ √ 21 14 1 7 −7−3 √ 21 98 21+5 √ 21 49 7+ √ 21 14 11+ √ 21 84 0 18+4 √ 21 63 21− √ 21 252 1 2 5+ √ 21 48 0 9+ √ 21 36 −231+14 √ 21 360 63−7 √ 21 80 7− √ 21 14 10− √ 21 42 0 −432+92 √ 21 315 633−145 √ 21 90 −504+115 √ 21 70 63−13 √ 21 35 7− √ 21 14 1 14 00 0 14−3 √ 21 126 13−3 √ 21 63 1 9 1 2 1 32 00 0 91−21 √ 21 576 11 72 −385−75 √ 21 1152 63+13 √ 21 128 7+ √ 21 14 1 14 00 0 1 9 −733−147 √ 21 2205 515+111 √ 21 504 −51−11 √ 21 56 132+28 √ 21 245 1 00 0 0 −42+7 √ 21 18 −18+28 √ 21 45 −273−53 √ 21 72 301+53 √ 21 72 28−28 √ 21 45 49−7 √ 21 18 1 20 00 0 0 0 0 49 180 16 45 49 180 1 20 198 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS 33 Runge–Kutta Methods with Error Estimates 330 Introduction Practical computations with Runge–Kutta methods usually require a means of local error estimation. This is because stepsizes are easy to adjust so as to follow the behaviour of the solution, but the optimal sequence of stepsizes depends on the local truncation error. Of course, the exact truncation error cannot realistically be found, but asymptotically correct approximations to it can be computed as the integration proceeds. One way of looking at this is that two separate approximations to the solution at a step value x n are found. Assuming that the solution value at the previous point is regarded as exact, because it is the local error that is being approximated, denote the two solutions found at the current point by y n and y n . Suppose the two approximations have orders p and q, respectively, so that y n = y(x n )+O(h p+1 ), y n = y(x n )+O(h q+1 ). Then, if q>p, y n − y n = y(x n ) − y n + O(h p+2 ), which can be used as an approximation to the error committed in the step. Furthermore, the approximation becomes increasingly accurate as h becomes small. Thus y n − y n is used as the error estimator. Even though we emphasize the construction of method pairs for which q = p+1, and for which it is y n (rather than the asymptotically more accurate approximation y n ) that is propagated as the numerical approximation at x n , customary practice is to use the higher order as the propagated value. This is sometimes interpreted as ‘local extrapolation’, in the sense that the error estimate is added to the approximate solution as a correction. While the estimator is still used as a stepsize controller, it is now no longer related asymptotically to the local truncation error. We review the ‘deferred approach to the limit’ of Richardson (1927) and then consider specially constructed Runge–Kutta tableaux, which combine two methods, with orders one apart, built into one. The classical method of this type is due to Merson (1957), but we also consider built-in estimators due to Fehlberg (1968, 1969), Verner (1978) and Dormand and Prince (1980). Some of the methods derived for the author’s previous book (Butcher, 1987) will also be recalled. 331 Richardson error estimates Richardson extrapolation consists of calculating a result in a manner that depends on a small parameter, and for which the error in the calculation varies systematically as the parameter varies. By using a sequence of values of the parameter, much of the effect of the errors can be eliminated so that RUNGE–KUTTA METHODS 199 improved accuracy results. In numerical quadrature, for example, the method of Romberg (1955) is based on calculating an integral I = b a φ(x)dx using the trapezoidal rule with a stepsize h equal to an integer divisor of b −a.For a single choice of h, the result computed can be expanded by an asymptotic formula of the form T (h)=I + C 1 h 2 + C 2 h 4 + ··· , so that, using a sequence h = H, 2 −1 H, 2 −2 H, , we arrive at the approximations T 0 = T (H), T 1 = T ( 1 2 H), T 2 = T ( 1 4 H), with expansions T 0 = I + C 1 H 2 + C 2 H 4 + ··· , T 1 = I + 1 4 C 1 H 2 + 1 16 C 2 H 4 + ··· , T 2 = I + 1 16 C 1 H 2 + 1 256 C 2 H 4 + ··· , . . . . . . By forming T 01 = 4 3 T 1 − 1 3 T 0 , T 12 = 4 3 T 2 − 1 3 T 1 , . . . . . . we obtain an ‘improved’ sequence in which the C 1 H 2 terms are eliminated from the asymptotic expansions so that convergence towards the exact result I is more rapid as terms in the sequence are calculated. Similarly, a second sequence of improved approximations can be found from T 012 = 16 15 T 12 − 1 15 T 01 , T 123 = 16 15 T 23 − 1 15 T 12 , . . . . . . This idea has an application to Runge–Kutta methods for ordinary differential equations on the small scale of a single step, repeated with two steps and half the original value of h.Lety n−1 denote an incoming approximation for y(x n−1 )andy n the solution computed as an approximation to y(x n )=y(x n−1 + h) using a Runge–Kutta method with tableau 200 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS 0 c 2 a 21 c 3 a 31 a 32 . . . . . . . . . . . . c s a s1 a s2 ··· a s,s−1 b 1 b 2 ··· b s−1 b s . Repeating the calculation with h replaced by 1 2 h but carrying out two steps, rather than only one, is equivalent to taking a single step with the original h, but using the tableau 0 1 2 c 2 1 2 a 21 1 2 c 3 1 2 a 31 1 2 a 32 . . . . . . . . . . . . 1 2 c s 1 2 a s1 1 2 a s2 ··· 1 2 a s,s−1 1 2 1 2 b 1 1 2 b 2 ··· 1 2 b s−1 1 2 b s 1 2 + 1 2 c 2 1 2 b 1 1 2 b 2 ··· 1 2 b s−1 1 2 b s 1 2 a 21 1 2 + 1 2 c 3 1 2 b 1 1 2 b 2 ··· 1 2 b s−1 1 2 b s 1 2 a 31 1 2 a 32 . . . . . . . . . . . . . . . . . . . . . . . . 1 2 + 1 2 c s 1 2 b 1 1 2 b 2 ··· 1 2 b s−1 1 2 b s 1 2 a s1 1 2 a s2 ··· 1 2 a s,s−1 1 2 b 1 1 2 b 2 ··· 1 2 b s−1 1 2 b s 1 2 b 1 1 2 b 2 ··· 1 2 b s−1 1 2 b s Denote the result computed by this 2s-stage method by y n , and note that if the local truncation error in y n is C(x n )h p+1 + O(h p+2 ), so that y n = y(x n ) − C(x n )h p+1 + O(h p+2 ), (331a) then y n = y(x n ) − 2 −p C(x n )h p+1 + O(h p+2 ), (331b) because the error in computing y n is 2 −p−1 C(x n )h p+1 + O(h p+2 ) contributed from each of two steps. From the difference of (331a) and (331b) we find y n − y n =(1−2 −p )C(x n )h p+1 + O(h p+2 ), so that the local truncation error in y n can be approximated by (1 − 2 −p ) −1 (y n − y n ). (331c) RUNGE–KUTTA METHODS 201 This seems like an expensive way of computing the error in the result computed using an s-stage method, because the additional computations required for the estimation take twice as long as the result itself. However, the additional cost becomes more reasonable when we realize that it is not y n but y n that should be propagated. The additional cost on this basis is something like 50%. Actually, it is slightly less than this because the calculation of the derivative of y n−1 is shared by each of the two methods, and needs to be carried out only once. 332 Methods with built-in estimates Instead of using the Richardson technique it is possible to combine two methods into one by constructing a tableau with common stages but two alternative output coefficient vectors. The following method, due to Merson (1957), seems to have been the first attempt at constructing this type of stepsize control mechanism: 0 1 3 1 3 1 3 1 6 1 6 1 2 1 8 0 3 8 1 1 2 0 − 3 2 2 1 6 00 2 3 1 6 1 10 0 3 10 2 5 1 5 . The interpretation of this tableau, which contains two b vectors, is that it combines two methods given by 0 1 3 1 3 1 3 1 6 1 6 1 2 1 8 0 3 8 1 1 2 0 − 3 2 2 1 6 00 2 3 1 6 (332a) and by 0 1 3 1 3 1 3 1 6 1 6 1 2 1 8 0 3 8 1 1 2 0 − 3 2 2 1 10 0 3 10 2 5 1 5 . (332b) 202 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS 10 2 10 3 10 4 10 −2 10 −6 10 −10 number of f evaluations global error e =0.1 e =0.5 e =0.9 Figure 332(i) Two alternative stepsize control mechanisms based on Richardson (dashed line) and built-in (solid line) error estimates In Merson’s derivation of this method, (332a) was shown to be of order 4. Although (332b) has order only 3, it becomes effectively of order 5 if used to solve linear problems with constant coefficients. The difference between the results computed by the two methods can, it is suggested, be used as a local error estimator. To show how well the method works in practice, an experiment using this technique has been carried out and the results summarized in Figure 332(i). The three problems attempted are the Kepler orbit problem with eccentricities e =0.1, e =0.5ande =0.9, respectively. 333 A class of error-estimating methods In the search for efficient step-control mechanisms, we consider (s + 1)-stage methods of the form 0 c 2 a 21 c 3 a 31 a 32 . . . . . . . . . . . . c s a s1 a s2 ··· a s,s−1 1 a s+1,1 a s+1,2 ··· a s+1,s−1 a s+1,s b 1 b 2 ··· b s−1 b s b s+1 (333a) with order p + 1, with the coefficients chosen so that the embedded method RUNGE–KUTTA METHODS 203 0 c 2 a 21 c 3 a 31 a 32 . . . . . . . . . . . . c s a s1 a s2 ··· a s,s−1 a s+1,1 a s+1,2 ··· a s+1,s−1 a s+1,s (333b) has order p. Even though this method formally has s + 1 stages, in terms of computational cost it can be regarded as having only s, because the derivative calculation needed for stage s+ 1 is identical to the first derivative calculation in the succeeding step. It is convenient to write order conditions for the embedded method pair in terms of the number B = b s+1 and the artificial tableau 0 c 2 a 21 c 3 a 31 a 32 . . . . . . . . . . . . c s a s1 a s2 ··· a s,s−1 b 1 b 2 ··· b s−1 b s . (333c) An elementary weight, computed using this tableau, differs from that of the full method by a single term. This additional term is formed by multiplying B by the derivative of the order p result found by the method represented by (333b). This enables us to form modified order conditions for (333c), which will ensure that both (333a) and (333b) satisfy the correct conditions. We denote the elementary weights for (333c) by Φ(t). Theorem 333A If (333b) has order p and (333a) has order p +1 and B = b s+1 ,then Φ(t)= 1 − Br(t) γ(t) ,r(t) ≤ p +1. (333d) Conversely, if (333d) holds with c s =1and B =0and, in addition, b s+1 = B, (333e) a s+1,s = B −1 b s (1 − c s ), (333f) a s+1,j = B −1 b j (1 − c j ) − s i=1 b i a ij ,j=1, 2, ,s− 1, (333g) then (333b) has order p and (333a) has order p +1. [...]... 24921 73 5 73 5 3 − 93 0 − 10059 4 22 1408 70 4 1408 70 4 9 670 70 67 15526951598 279 49088 452648800 270 189568 17 865 473 13055 19 10295610642 0 − 28 670 62 571 978 869 8 171 12 67 − 245133801 4 679 8 271 1 98 9 1 071 64 390963 1 0 0 − 83 − 11 76 5 1600 75 225 22 576 00 188 1593 2943 1 97 576 2 476 099 0 0 3315 75 53 20800 975 2 275 29348800 142 2412 549 128 130321 68 − 1989 0 0 − 1040 − 4095 − 14 674 40 75 53 195 334 2 39 2 39 The methods. .. − b which is used for error estimation purposes: 0 1 18 1 6 2 9 2 3 1 8 9 1 1 18 1 − 12 2 − 81 40 33 − 369 73 − 871 6 891 3015 256 3 80 57 640 33 640 1 4 4 27 4 − 11 72 73 656 2 97 −9 4 0 0 0 8 81 − 56 11 5380 219 39520 891 − 4219 78 4 25 − 16 65 − 132 325 54 11 − 12285 584 − 416 11 5985 128 243 1120 1 377 2240 891 2240 2695 175 2 52 27 − 539 384 77 160 121 320 33 − 320 0 0 693 3328 73 70 0 0 0 0 891 8320... and simplifying, we find the consistency condition c4 = For example, choosing B = c3 = 4 , yields the tableau 7 1 12 1 − 7B + 12B 2 1 − 6B + 12B 2 to give c4 = 6 7, together with c2 = 2 7 and 206 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS 0 2 7 4 7 6 7 2 7 8 − 35 29 42 1 6 11 96 5 − 96 1 4 5 −2 3 1 6 7 24 1 8 5 6 5 12 35 96 5 − 96 1 4 7 48 5 − 48 1 12 1 12 Order 4 embedded in order 5 requires... authors as ‘RK5(4)7M’, is designed to have a low value of the 2-norm of the vector of sixth order error coefficients This method has the tableau 0 1 5 3 10 4 5 8 9 1 1 1 5 3 40 44 45 19 372 6561 90 17 3168 35 384 35 384 5 179 576 00 71 − 576 00 9 40 − 56 15 − 25360 21 87 − 355 33 0 0 0 0 32 9 64448 6561 4 673 2 52 47 500 1113 500 1113 75 71 16695 71 16695 − 212 72 9 49 176 125 192 125 192 393 640 71 − 1920 (336a)...204 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS Proof For a given tree t, let Φ(t) denote the elementary weight for (333a) and Φ(t) the elementary weight for (333b) Because the latter method has order p, it follows that for a tree t = [t1 t2 · · · tm ], with order not exceeding p + 1, we have Φ(ti ) = 1/γ(ti ), for i = 1, 2, , m Hence, for a method identical with (333a) except for b... 5103 − 18656 − 21 87 678 4 − 21 87 678 4 920 97 − 339200 172 53 339200 11 84 11 84 1 87 2100 22 − 525 0 1 40 1 40 It is emphasized that the first of the output approximations has order p+1 = 5 and is the result propagated This method, like those derived in Subsection 333, have the so-called FSAL (‘first same as last’) property in which the 212 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS vector b... (336a) For comparison, a method pair with exactly six stages (but of course without the FSAL property) was also presented in the Dormand and Prince paper This method, given by 0 1 5 3 10 3 5 2 3 1 1 5 3 40 3 10 226 72 9 − 181 270 19 216 31 540 11 − 360 9 40 9 − 10 − 25 27 5 2 0 0 0 6 5 880 72 9 − 266 2 97 1000 2 079 190 2 97 10 63 55 72 9 − 91 27 − 125 216 − 145 108 − 55 72 189 55 81 88 351 220 27 40 5 56... solved efficiently using explicit methods: this fact is the most important practical reason for paying special attention to implicit methods However, there are other problem classes, such as differentialalgebraic equations, for which implicit Runge–Kutta methods also have a vital role 214 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS 341 Solvability of implicit equations As we have remarked, explicit... these formulae into a consistent pattern These three quadrature formulae are the ones sought We have: Theorem 344A Let c1 < c2 < · · · < cs be chosen as abscissae of the Radau I, the Radau II or the Lobatto quadrature formula, respectively Then: I For the Radau I formula, c1 = 0 This formula is exact for polynomials of degree up to 2s − 2 II For the Radau II formula, cs = 1 This formula is exact for. .. p = 3), 1 3 Radau I 1 0 0 3 4 Radau IIA 1 3 0 √ 9+ 6 75 √ 9− 6 75 1 9 0 √ 24+ 6 120 √ 168 +73 6 600 √ 16+ 6 36 0 √ 168 73 6 600 √ 24− 6 120 √ 16− 6 36 (s = 3, p = 5), 0 √ 6− 6 10 √ 6+ 6 10 1 9 1 9 1 9 1 9 √ −1− 6 18√ 88 +7 6 360√ 88+43 6 360 √ 16+ 6 36 √ −1+ 6 18 √ 88−43 6 360 √ 88 7 6 360 √ 16− 6 36 226 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS Radau II (s = 3, p = 5), √ 4− 6 10 √ 4+ 6 10 . − 63 8 7 − 1 2 3 4 − 93 22 0 24921 1408 − 10059 70 4 73 5 1408 73 5 70 4 17 19 865 473 13055 10295610642 0 − 9 670 70 67 28 670 62 15526951598 571 978 869 279 49088 8 171 12 67 − 452648800 245133801 270 189568 4 679 8 271 1 1 98 76 5 00. − 1 2 1 13 20 13 200 − 299 1000 78 125 13 50 4 5 548 74 75 688 2 875 572 2 875 − 88 575 132 299 1 37 312 0 4 33 8 9 − 100 1 17 575 79 2 41 520 0 58 165 16 135 50 351 575 2 376 1 15 − 31 78 0 0 38 165 − 104 135 350 351 − 575 1188 1 15 . For. − 9 670 70 67 28 670 62 15526951598 571 978 869 279 49088 8 171 12 67 − 452648800 245133801 270 189568 4 679 8 271 1 1 98 76 5 00 − 9 83 1 071 1600 − 11 75 64 225 390963 22 576 00 188 3315 00 1593 75 53 2943 20800 1 97 975 576 2 275 2 476 099 29348800 2 39 − 142 1989 00 2412 75 53 − 549 1040 68 195 − 128 4095 − 130321 14 674 40 2 39 334