Stiff equation
In mathematics, a stiff equation is a differential equation for which certain numerical methods for solving the equation are numerically unstable, unless the step size is taken to be extremely small. It has proven difficult to formulate a precise definition of stiffness, but the main idea is that the equation includes some terms that can lead to rapid variation in the solution.
When integrating a differential equation numerically, one would expect the requisite step size to be relatively small in a region where the solution curve displays much variation and to be relatively large where the solution curve straightens out to approach a line with slope nearly zero. For some problems this is not the case. In order for a numerical method to give a reliable solution to the differential system sometimes the step size is required to be at an unacceptably small level in a region where the solution curve is very smooth. The phenomenon is known as stiffness. In some cases there may be two different problems with the same solution, yet one is not stiff and the other is. The phenomenon cannot therefore be a property of the exact solution, since this is the same for both problems, and must be a property of the differential system itself. Such systems are thus known as stiff systems.
Motivating example
Consider the initial value problem
-
(1)
-
The exact solution (shown in cyan) is
-
with as
(2)
-
We seek a numerical solution that exhibits the same behavior.
The figure (right) illustrates the numerical issues for various numerical integrators applied on the equation.
- Euler's method with a step size of h = 1/4 oscillates wildly and quickly exits the range of the graph (shown in red).
- Euler's method with half the step size, h = 1/8, produces a solution within the graph boundaries, but oscillates about zero (shown in green).
- The trapezoidal method (that is, the two-stage Adams–Moulton method) is given by
-
(3)
-
One of the most prominent examples of the stiff Ordinary differential equations (ODEs) is a system that describes the chemical reaction of Robertson:[1]
-
(4)
-
If one treats this system on a short interval, for example, there is no problem in numerical integration. However, if the interval is very large (1011 say), then many standard codes fail to integrate it correctly.
Additional examples are the sets of ODEs resulting from the temporal integration of large chemical reaction mechanisms. Here, the stiffness arises from the coexistence of very slow and very fast reactions. To solve them, the software packages KPP and Autochem can be used.
Stiffness ratio
Consider the linear constant coefficient inhomogeneous system
-
(5)
-
where and is a constant, diagonalizable, matrix with eigenvalues (assumed distinct) and corresponding eigenvectors . The general solution of (5) takes the form
-
(6)
-
where the κt are arbitrary constants and is a particular integral. Now let us suppose that
-
(7)
-
which implies that each of the terms as , so that the solution approaches asymptotically as ; the term will decay monotonically if λt is real and sinusoidally if λt is complex. Interpreting x to be time (as it often is in physical problems), is called the transient solution and the steady-state solution. If is large, then the corresponding term will decay quickly as x increases and is thus called a fast transient; if is small, the corresponding term decays slowly and is called a slow transient. Let be defined by
-
(8)
-
so that is the fastest transient and the slowest. We now define the stiffness ratio as
-
(9)
-
Characterization of stiffness
In this section we consider various aspects of the phenomenon of stiffness. "Phenomenon" is probably a more appropriate word than "property", since the latter rather implies that stiffness can be defined in precise mathematical terms; it turns out not to be possible to do this in a satisfactory manner, even for the restricted class of linear constant coefficient systems. We shall also see several qualitative statements that can be (and mostly have been) made in an attempt to encapsulate the notion of stiffness, and state what is probably the most satisfactory of these as a "definition" of stiffness.
J. D. Lambert defines stiffness as follows:
If a numerical method with a finite region of absolute stability, applied to a system with any initial conditions, is forced to use in a certain interval of integration a step length which is excessively small in relation to the smoothness of the exact solution in that interval, then the system is said to be stiff in that interval.
There are other characteristics which are exhibited by many examples of stiff problems, but for each there are counterexamples, so these characteristics do not make good definitions of stiffness. Nonetheless, definitions based upon these characteristics are in common use by some authors and are good clues as to the presence of stiffness. Lambert refers to these as "statements" rather than definitions, for the aforementioned reasons. A few of these are:
- A linear constant coefficient system is stiff if all of its eigenvalues have negative real part and the stiffness ratio is large.
- Stiffness occurs when stability requirements, rather than those of accuracy, constrain the step length.
- Stiffness occurs when some components of the solution decay much more rapidly than others.[3]
Etymology
The origin of the term "stiffness" has not been clearly established. According to Joseph Oakland Hirschfelder, the term "stiff" is used because such systems correspond to tight coupling between the driver and driven in servomechanisms.[4] According to Richard. L. Burden and J. Douglas Faires,
Significant difficulties can occur when standard numerical techniques are applied to approximate the solution of a differential equation when the exact solution contains terms of the form eλt, where λ is a complex number with negative real part.
...
Problems involving rapidly decaying transient solutions occur naturally in a wide variety of applications, including the study of spring and damping systems, the analysis of control systems, and problems in chemical kinetics. These are all examples of a class of problems called stiff (mathematical stiffness) systems of differential equations, due to their application in analyzing the motion of spring and mass systems having large spring constants (physical stiffness).[5]
For example, the initial value problem
-
(10)
-
with m = 1, c = 1001, k = 1000, can be written in the form (5) with n = 2 and
-
(11)
-
-
(12)
-
-
(13)
-
and has eigenvalues . Both eigenvalues have negative real part and the stiffness ratio is
-
(14)
-
which is fairly large. System (10) then certainly satisfies statements 1 and 3. Here the spring constant k is large and the damping constant c is even larger.[6] (Note that "large" is a vague, subjective term, but the larger the above quantities are, the more pronounced will be the effect of stiffness.) The exact solution to (10) is
-
(15)
-
Note that (15) behaves quite nearly as a simple exponential x0e−t, but the presence of the e−1000t term, even with a small coefficient is enough to make the numerical computation very sensitive to step size. Stable integration of (10) requires a very small step size until well into the smooth part of the solution curve, resulting in an error much smaller than required for accuracy. Thus the system also satisfies statement 2 and Lambert's definition.
A-stability
The behaviour of numerical methods on stiff problems can be analyzed by applying these methods to the test equation y' = ky subject to the initial condition y(0) = 1 with . The solution of this equation is y (t) = ekt. This solution approaches zero as when If the numerical method also exhibits this behaviour (for a fixed step size), then the method is said to be A-stable.[7] (Note that a numerical method that is L-stable (see below) has the stronger property that the solution approaches zero in a single step as the step size goes to infinity.) A-stable methods do not exhibit the instability problems as described in the motivating example.
Runge–Kutta methods
Runge–Kutta methods applied to the test equation take the form , and, by induction, . The function is called the stability function. Thus, the condition that as is equivalent to . This motivates the definition of the region of absolute stability (sometimes referred to simply as stability region), which is the set . The method is A-stable if the region of absolute stability contains the set , that is, the left half plane.
Example: The Euler methods
Consider the Euler methods above. The explicit Euler method applied to the test equation is
Hence, with . The region of absolute stability for this method is thus which is the disk depicted on the right. The Euler method is not A-stable.
The motivating example had . The value of z when taking step size is , which is outside the stability region. Indeed, the numerical results do not converge to zero. However, with step size , we have which is just inside the stability region and the numerical results converge to zero, albeit rather slowly.
Example: Trapezoidal method
Consider the trapezoidal method
when applied to the test equation , is
Solving for yields
Thus, the stability function is
and the region of absolute stability is
This region contains the left-half plane, so the trapezoidal method is A-stable. In fact, the stability region is identical to the left-half plane, and thus the numerical solution of converges to zero if and only if the exact solution does. Nevertheless, the trapezoidal method does not have perfect behavior: it does damp all decaying components, but rapidly decaying components are damped only very mildly, because as . This led to the concept of L-stability: a method is L-stable if it is A-stable and as . The trapezoidal method is A-stable but not L-stable. The implicit Euler method is an example of an L-stable method.[8]
General theory
The stability function of a Runge–Kutta method with coefficients and is given by
where denotes the vector with ones. This is a rational function (one polynomial divided by another).
Explicit Runge–Kutta methods have a strictly lower triangular coefficient matrix and thus, their stability function is a polynomial. It follows that explicit Runge–Kutta methods cannot be A-stable.
The stability function of implicit Runge–Kutta methods is often analyzed using order stars. The order star for a method with stability function is defined to be the set . A method is A-stable if and only if its stability function has no poles in the left-hand plane and its order star contains no purely imaginary numbers.[9]
Multistep methods
Linear multistep methods have the form
Applied to the test equation, they become
which can be simplified to
where z = hk. This is a linear recurrence relation. The method is A-stable if all solutions {yn} of the recurrence relation converge to zero when Re z < 0. The characteristic polynomial is
All solutions converge to zero for a given value of z if all solutions w of Φ(z,w) = 0 lie in the unit circle.
The region of absolute stability for a multistep method of the above form is then the set of all for which all w such that Φ(z,w) = 0 satisfy |w| < 1. Again, if this set contains the left-half plane, the multi-step method is said to be A-stable.
Example: The second-order Adams–Bashforth method
Let us determine the region of absolute stability for the two-step Adams–Bashforth method
The characteristic polynomial is
which has roots
thus the region of absolute stability is
This region is shown on the right. It does not include all the left half-plane (in fact it only includes the real axis between z = −1 and z = 0) so the Adams–Bashforth method is not A-stable.
General theory
Explicit multistep methods can never be A-stable, just like explicit Runge–Kutta methods. Implicit multistep methods can only be A-stable if their order is at most 2. The latter result is known as the second Dahlquist barrier; it restricts the usefulness of linear multistep methods for stiff equations. An example of a second-order A-stable method is the trapezoidal rule mentioned above, which can also be considered as a linear multistep method.[10]
See also
- Condition number
- Differential inclusion, an extension of the notion of differential equation that allows discontinuities, in part as way to sidestep some stiffness issues
- Explicit and implicit methods
Notes
- Robertson, H. H. (1966). "The solution of a set of reaction rate equations". Numerical analysis: an introduction. Academic Press. pp. 178–182.
- Lambert (1992, pp. 216–217)
- Lambert (1992, pp. 217–220)
- Hirshfelder (1963)
- Burden & Faires (1993, p. 314)
- Kreyszig (1972, pp. 62–68)
- This definition is due to Dahlquist (1963).
- The definition of L-stability is due to Ehle (1969).
- The definition is due to Wanner, Hairer & Nørsett (1978); see also Iserles & Nørsett (1991).
- See Dahlquist (1963).
References
- Burden, Richard L.; Faires, J. Douglas (1993), Numerical Analysis (5th ed.), Boston: Prindle, Weber and Schmidt, ISBN 0-534-93219-3.
- Dahlquist, Germund (1963), "A special stability problem for linear multistep methods", BIT, 3 (1): 27–43, doi:10.1007/BF01963532, hdl:10338.dmlcz/103497.
- Eberly, David (2008), Stability analysis for systems of differential equations (PDF).
- Ehle, B. L. (1969), On Padé approximations to the exponential function and A-stable methods for the numerical solution of initial value problems (PDF), University of Waterloo.
- Gear, C. W. (1971), Numerical Initial-Value Problems in Ordinary Differential Equations, Englewood Cliffs: Prentice Hall.
- Gear, C. W. (1981), "Numerical solution of ordinary differential equations: Is there anything left to do?", SIAM Review, 23 (1): 10–24, doi:10.1137/1023002.
- Hairer, Ernst; Wanner, Gerhard (1996), Solving ordinary differential equations II: Stiff and differential-algebraic problems (second ed.), Berlin: Springer-Verlag, ISBN 978-3-540-60452-5.
- Hirshfelder, J. O. (1963), "Applied Mathematics as used in Theoretical Chemistry", American Mathematical Society Symposium: 367–376.
- Iserles, Arieh; Nørsett, Syvert (1991), Order Stars, Chapman & Hall, ISBN 978-0-412-35260-7.
- Kreyszig, Erwin (1972), Advanced Engineering Mathematics (3rd ed.), New York: Wiley, ISBN 0-471-50728-8.
- Lambert, J. D. (1977), D. Jacobs (ed.), "The initial value problem for ordinary differential equations", The State of the Art in Numerical Analysis, New York: Academic Press: 451–501.
- Lambert, J. D. (1992), Numerical Methods for Ordinary Differential Systems, New York: Wiley, ISBN 978-0-471-92990-1.
- Mathews, John; Fink, Kurtis (1992), Numerical methods using MATLAB.
- Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). "Section 17.5. Stiff Sets of Equations". Numerical Recipes: The Art of Scientific Computing (3rd ed.). New York: Cambridge University Press. ISBN 978-0-521-88068-8.
- Shampine, L. F.; Gear, C. W. (1979), "A user's view of solving stiff ordinary differential equations", SIAM Review, 21 (1): 1–17, doi:10.1137/1021001.
- Wanner, Gerhard; Hairer, Ernst; Nørsett, Syvert (1978), "Order stars and stability theory", BIT, 18 (4): 475–489, doi:10.1007/BF01932026.
- Stability of Runge-Kutta Methods
External links
- An Introduction to Physically Based Modeling: Energy Functions and Stiffness
- Stiff systems Lawrence F. Shampine and Skip Thompson Scholarpedia, 2(3):2855. doi:10.4249/scholarpedia.2855