Tutorials › Calculus I › Error Amplification in Nonlinear Initial-Value Problems

Euler's Method and Numerical Solutions · Tutorial 1447 of 1495

Error Amplification in Nonlinear Initial-Value Problems

Learn to quantify how the Euler update map magnifies or reduces small differences between solution values in nonlinear initial-value problems.

Advanced 10 min read

What You'll Learn

  • Derive the difference recurrence for two Euler trajectories using the same step size.
  • Interpret the derivative of the Euler update map as a local amplification factor.
  • Use a derivative bound to estimate how differences can grow over several steps.
  • Distinguish contraction from amplification when the slope depends on the solution.
  • Recognize why a negative slope alone does not guarantee that an Euler step contracts.

Why Nearby Euler Trajectories Can Separate

Forward Euler applies a simple update repeatedly, but its effect on a small difference between two computed values can be more subtle than the update itself. When the slope depends on the solution value, two nearby values generally receive different slopes. Their difference may shrink at one step and grow at another.

This matters whenever a numerical value is perturbed: the initial condition may be uncertain, or a small discrepancy may have entered a computation. The question here is specifically how the Euler rule propagates a difference between two approximations made with the same step size. This is distinct from asking how accurately either approximation represents the exact solution.

Definition: For the scalar initial-value problem \(y'=f(t,y)\), a forward Euler step of size \(h\) from \((t_n,y_n)\) is \(y_{n+1}=y_n+h f(t_n,y_n)\), with \(t_{n+1}=t_n+h\). The Euler update map at time \(t_n\) is \(G_n(y)=y+h f(t_n,y)\).

To study amplification, compare two Euler computations on the same time grid, with values \(Y_n\) and \(Z_n\). Write their signed difference as \(\delta_n=Y_n-Z_n\). Since both use the same slope function and step size,

$$ \delta_{n+1} =G_n(Y_n)-G_n(Z_n) =\delta_n+h\bigl(f(t_n,Y_n)-f(t_n,Z_n)\bigr). $$

The next difference depends not only on the current difference, but also on how strongly the slope changes between the two current values. That dependence is the central feature of nonlinear error amplification.

The Local Amplification Factor

Suppose \(f(t_n,y)\) is differentiable with respect to \(y\) throughout the interval between \(Y_n\) and \(Z_n\). If \(Y_n\ne Z_n\), the mean value theorem gives a value \(\xi_n\) between them such that

$$ f(t_n,Y_n)-f(t_n,Z_n) =f_y(t_n,\xi_n)(Y_n-Z_n). $$

Substituting this identity into the difference recurrence yields an exact relation for these two computed values:

$$ \delta_{n+1} =\bigl(1+h f_y(t_n,\xi_n)\bigr)\delta_n. $$

The factor \(1+h f_y(t_n,\xi_n)\) is a secant-based amplification factor: the derivative is evaluated at some point between the two approximations. For an infinitesimal perturbation about a single value \(y\), the derivative of the update map is exactly

$$ G_n'(y)=1+h f_y(t_n,y). $$
Key idea: The size of a small perturbation is governed locally by \(\lvert 1+h f_y(t_n,y)\rvert\), not by the size of \(f(t_n,y)\). A factor with absolute value below \(1\) contracts nearby values; a factor with absolute value above \(1\) amplifies them.

For positive \(h\), a particular local factor contracts when \(-2/h<f_y(t_n,y)<0\). It amplifies when \(f_y(t_n,y)>0\) or \(f_y(t_n,y)<-2/h\). At the boundary values, the factor has absolute value \(1\). These conditions apply to the derivative at the value under consideration; in a nonlinear problem that derivative can change as the computation moves.

Worked Example: A Nonlinear Slope Amplifies a Difference

Worked Example: Comparing Two Euler Runs for \(y'=y^2\)

Use \(h=0.1\) and start two Euler computations at \(Y_0=1\) and \(Z_0=1.01\). The slope is \(f(y)=y^2\), so the update is \(G(y)=y+0.1y^2\).

For the first computation,

$$ Y_1=1+0.1(1^2)=1.1, \qquad Y_2=1.1+0.1(1.1^2)=1.1+0.121=1.221. $$

For the second computation,

$$ Z_1=1.01+0.1(1.01^2) =1.01+0.1(1.0201) =1.11201. $$

At the next step, \(Z_1^2=1.11201^2=1.2365662401\), so

$$ Z_2=1.11201+0.1(1.2365662401) =1.11201+0.12365662401 =1.23566662401. $$

The initial difference is \(Z_0-Y_0=0.01\). After one step it is \(Z_1-Y_1=1.11201-1.1=0.01201\). After two steps it is \(Z_2-Y_2=1.23566662401-1.221=0.01466662401\). The difference has increased at both steps.

As a check, the update map is \(G(y)=y+0.1y^2\), with derivative \(G'(y)=1+0.2y\). This derivative is greater than \(1\) at both starting values, consistent with local amplification. The computed second-step difference is also the direct subtraction of the two displayed Euler values.

A Derivative Bound Gives a Multi-Step Estimate

A local factor describes one step. To bound the separation across several steps, it is useful to have a derivative bound on all the values that the two computations encounter.

Theorem: Suppose \(h>0\), and suppose that for every step \(n\) under consideration, the values between \(Y_n\) and \(Z_n\) lie in a region where \(\lvert f_y(t_n,y)\rvert\le L\). Then \(\lvert\delta_n\rvert\le(1+hL)^n\lvert\delta_0\rvert\).

Proof. By the mean value theorem, at each step with \(Y_n\ne Z_n\),

$$ \lvert f(t_n,Y_n)-f(t_n,Z_n)\rvert =\lvert f_y(t_n,\xi_n)\rvert\,\lvert\delta_n\rvert \le L\lvert\delta_n\rvert. $$

Using the difference recurrence and the triangle inequality,

$$ \lvert\delta_{n+1}\rvert \le \lvert\delta_n\rvert +h\lvert f(t_n,Y_n)-f(t_n,Z_n)\rvert \le (1+hL)\lvert\delta_n\rvert. $$

If the two values coincide at a step, their next values also coincide, so the same inequality holds. Apply the inequality successively from step \(0\) to step \(n-1\): each step contributes a factor \(1+hL\). Therefore, \(\lvert\delta_n\rvert\le(1+hL)^n\lvert\delta_0\rvert\), as claimed. This proves the estimate under the stated derivative bound.

This estimate is a guaranteed upper bound, not a prediction that the difference will actually grow by that much. It uses the absolute derivative bound and can discard useful information about contraction. When the step sizes vary, the same argument gives the product bound \(\lvert\delta_n\rvert\le\lvert\delta_0\rvert\prod_{j=0}^{n-1}(1+h_jL_j)\), provided the relevant derivative bounds \(L_j\) hold at each step.

Worked Example: A Nonlinear Update Contracts Nearby Values

Worked Example: Comparing Euler Runs for the Logistic Slope

Consider \(y'=y(1-y)\) with \(h=0.5\), and start at \(Y_0=1\) and \(Z_0=0.9\). The update is \(G(y)=y+0.5y(1-y)\).

The first computation begins at \(Y_0=1\). Its slope is \(1(1-1)=0\), hence \(Y_1=1+0.5(0)=1\). Its slope at the next step is again \(0\), so \(Y_2=1\).

For the other computation, the initial slope is \(0.9(1-0.9)=0.9(0.1)=0.09\), and

$$ Z_1=0.9+0.5(0.09)=0.9+0.045=0.945. $$

At \(Z_1=0.945\), the slope is \(0.945(1-0.945)=0.945(0.055)=0.051975\). Thus

$$ Z_2=0.945+0.5(0.051975) =0.945+0.0259875 =0.9709875. $$

The absolute difference starts at \(\lvert 0.9-1\rvert=0.1\), becomes \(\lvert 0.945-1\rvert=0.055\), and then becomes \(\lvert 0.9709875-1\rvert=0.0290125\). Each step reduces the difference. The ratios are \(0.055/0.1=0.55\) and \(0.0290125/0.055=0.5275\). These values verify the contraction directly from the computed Euler updates.

Here \(f_y(y)=1-2y\). Near \(y=1\), the Euler-map derivative \(1+0.5(1-2y)\) has absolute value less than \(1\). The contraction in this example is therefore consistent with the local amplification factor.

Worked Example: A Negative Slope Can Still Amplify

Worked Example: A Large Step for a Nonlinear Slope

Let \(f(y)=-4y+y^2\), take \(h=1\), and compare initial values \(Y_0=0\) and \(Z_0=0.01\). The update is \(G(y)=y+f(y)=-3y+y^2\).

At \(Y_0=0\), the slope is \(f(0)=0\), so \(Y_1=0\). At \(Z_0=0.01\),

$$ f(0.01)=-4(0.01)+(0.01)^2=-0.04+0.0001=-0.0399, $$

and therefore

$$ Z_1=0.01+1(-0.0399)=-0.0299. $$

The initial separation is \(0.01\), while the separation after one step is \(\lvert -0.0299-0\rvert=0.0299\), almost three times as large. More precisely, the signed difference changes from \(0.01\) to \(-0.0299\), a factor of \(-2.99\). The update-map derivative is \(G'(y)=-3+2y\), which is \(-3\) at \(y=0\). Its absolute value is \(3>1\), in agreement with the observed amplification. Direct substitution into the Euler update confirms both computed values.

A Common Mistake: Treating a Negative Derivative as Contraction

A negative value of \(f_y\) says that the slope tends to decrease as \(y\) increases. It does not, by itself, say that a forward Euler step reduces the size of a difference. The relevant quantity is the absolute value of \(1+h f_y\).

For the last example, an incorrect argument would say: “Since \(f_y(0)=-4\), the step contracts.” That conclusion ignores both the step size and the added \(1\) in the update-map derivative. With \(h=1\), the actual local factor is

$$ 1+h f_y(0)=1+1(-4)=-3, \qquad \lvert 1+h f_y(0)\rvert=3>1. $$

The correction is to compute the full Euler-map factor and compare its absolute value with \(1\). A negative factor reverses the sign of a small difference; its magnitude determines whether that difference contracts or amplifies.

Using Amplification Analysis Carefully

The derivative of the slope can vary along a nonlinear trajectory, so a single derivative value may describe only one step or one local region. For a practical analysis:

  • Identify the two Euler values being compared and confirm they use the same time grid and step sizes.
  • Estimate \(f_y\) between the values at each step, rather than using only the slope \(f\) itself.
  • Form the local factor \(1+h f_y\), or use a derivative bound to obtain a guaranteed estimate.
  • Repeat the analysis along the computed path, since the amplification factor can change from step to step.

The factor can explain why a small difference grows or shrinks, but it does not alone establish that an Euler approximation is accurate. In particular, comparing two Euler computations measures their sensitivity to differing values; accuracy relative to the exact solution also depends on the discretization. Keeping these questions separate makes the role of amplification clear.

Check Your Understanding

Use the Euler update map and the difference recurrence to answer these questions.

  1. For a scalar equation \(y'=f(t,y)\), what is the derivative of the forward Euler update map with respect to \(y\)?
  2. For \(h=0.2\) and \(f_y(t_n,y)=-2\), does the local factor contract, preserve, or amplify a small difference?
  3. Why does a bound \(\lvert f_y\rvert\le L\) imply \(\lvert\delta_n\rvert\le(1+hL)^n\lvert\delta_0\rvert\) for fixed positive step size?
  4. In the logistic example, what were the absolute differences after zero, one, and two steps?
  5. Why is it not enough to know that \(f_y\) is negative when deciding whether an Euler step contracts?

Test yourself: Calculus I final exam practice

Ready to check what you know? Work a full-length practice final, then open the complete worked solutions.

Want all 1,114 practice problems?

This tutorial covers one topic. Calc Pass covers the full Calculus AB & BC curriculum (the core of Calculus I and II): full review, every practice question, and step-by-step solutions to each one.

QR code to download the Calc Pass app

Get the Calc Pass App

Scan to download and practice on the go, with instant scoring.

Calc Pass Volume 1: 1,114 Practice Questions book cover

Vol. 1: 1,114 Questions

The complete practice question bank, organized by AB & BC topic.

View on Amazon
Calc Pass Volume 2: Solutions Manual book cover

Vol. 2: Solutions Manual

Fully worked solutions to every question in Volume 1.

View on Amazon