The Computable Differential Equation Lecture ... - Bruce E. Shapiro

The Computable Differential Equation Lecture ... - Bruce E. Shapiro The Computable Differential Equation Lecture ... - Bruce E. Shapiro

bruce.shapiro.com
from bruce.shapiro.com More from this publisher
21.04.2015 Views

78 CHAPTER 4. IMPROVING ON EULER’S METHOD Figure 4.3: Numerical solution of equation 4.80 for h = 0.190 (red), h = 0.205 (blue), and h = 0.23 (green). . Re(hλ) ≤ 0) then the method is said to be A-Stable. A-Stable methods are preferable for stiff problems. A stronger requirement is Stiff Decay: consider the generalized test equation y ′ = λ(y − g(t)) (4.85) where g(t) is any arbitrary, bounded function. Then we say that equation 4.85 has stiff decay if for any fixed t n > 0, lim |y n (t) − g(t n )| = 0. (4.86) hRe(λ)→−∞ To determine the shape of this region we observe that in the complex plane we can write hλ = x + iy (4.87) and therefore 1 ≥ |1 + x + iy| 2 (4.88) = (1 + x + iy)(1 + x − iy) 2 (4.89) = (1 + x) 2 + y 2 (4.90) which is a disk of radius 1 centered at the point (−1, 0). If λ ∈ R then this condition gives −1 ≤ 1 + hλ ≤ 1 (4.91) If λ < 0 then −2 ≤ hλ ≤ 0 (4.92) h ≤ − 2 λ (4.93) Math 582B, Spring 2007 California State University Northridge c○2007, B.E.Shapiro Last revised: May 23, 2007

CHAPTER 4. IMPROVING ON EULER’S METHOD 79 Figure 4.4: The region of absolute stability for Euler’s method is indicated by the gray area. To find the eigenvalue of equation 4.80 we linearize. Since the system is scalar, the Jacobian reduces to a single partial derivative ∂f/∂y. For f(t, y) = −5ty 2 +5/t−1/t 2 we have the linearized equation y ′ ≈ f y (1, 1)y (4.94) ) = (−10(t)(y)| t=1,y=1 y (4.95) = −10y (4.96) Hence λ = −10 and we need h ≤ −2/(−10) = 0.2 to remain in the region of absolute stability. Of course, this eigenvalue will change as the solution progresses, and values of t and y change, so the step size needs to be adjusted dynamically to remain within the desired region. 4.3 Stiffness and the Backward Euler Method An initial value problem is said to be stiff if the absolute stability requirement leads to a much smaller value of h than would otherwise be needed to satisfy the accuracy requirements. Thus stiffness depends on three factors: (1) accuracy; (2) the length of the interval of integration; and (3) the region of absolute stability of the problem. An example is given in figure 4.5. From equation 4.92 this problem, which has λ = −100 requires h < 0.02 for small t. For the test equation the problem is stiff on the interval [0, b] if bRe(λ)

CHAPTER 4. IMPROVING ON EULER’S METHOD 79<br />

Figure 4.4: <strong>The</strong> region of absolute stability for Euler’s method is indicated by the<br />

gray area.<br />

To find the eigenvalue of equation 4.80 we linearize. Since the system is scalar, the<br />

Jacobian reduces to a single partial derivative ∂f/∂y. For f(t, y) = −5ty 2 +5/t−1/t 2<br />

we have the linearized equation<br />

y ′ ≈ f y (1, 1)y (4.94)<br />

)<br />

=<br />

(−10(t)(y)| t=1,y=1<br />

y (4.95)<br />

= −10y (4.96)<br />

Hence λ = −10 and we need h ≤ −2/(−10) = 0.2 to remain in the region of absolute<br />

stability. Of course, this eigenvalue will change as the solution progresses, and values<br />

of t and y change, so the step size needs to be adjusted dynamically to remain within<br />

the desired region.<br />

4.3 Stiffness and the Backward Euler Method<br />

An initial value problem is said to be stiff if the absolute stability requirement<br />

leads to a much smaller value of h than would otherwise be needed to satisfy the<br />

accuracy requirements. Thus stiffness depends on three factors: (1) accuracy; (2)<br />

the length of the interval of integration; and (3) the region of absolute stability of<br />

the problem. An example is given in figure 4.5. From equation 4.92 this problem,<br />

which has λ = −100 requires h < 0.02 for small t. For the test equation the problem<br />

is stiff on the interval [0, b] if<br />

bRe(λ)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!