FY12CE Mathematics study materials
FY12CE Mathematics study resources

Valve Controller Root-Finding: Ten-Iteration Error Guarantee

FY12CE Mathematics · Put your knowledge to work in context.

All case studies

Valve Controller Root-Finding: Ten-Iteration Error Guarantee

A process engineer must solve f(x) = x^3 - 2x - 5 = 0 for a valve setting x in [2,3]. The controller has a fixed budget of 10 iterations per cycle and must guarantee an absolute error below 10^{-6} before the next control action. Three routines are candidates: (A) fixed-point iteration x_{n+1} = (2x_n + 5)^{1/3}; (B) Newton's method with f'(x) = 3x^2 - 2; and (C) the algebraically equivalent rearrangement x_{n+1} = (x_n^3 - 5)/2. A colleague prefers (C) because it is exact at the root and uses only a cube and division; another prefers bisection because it preserves the bracket [2,3]. The controller uses 32-bit floating point, and near the root f'(x) is about 11.2. The engineer must choose a method that meets the error guarantee, not just one that converges eventually. A previous run from x0 = 2.5 with routine (A) reached 2.0945 in four iterations; the operator assumed that meant the tolerance was met.

1. Show that the root lies in [2,3]. Compute the contraction factor of routine (A) near the root and estimate how many iterations from x0 = 2.5 are needed to reduce the error below 10^{-6}. Why does routine (C) fail the guarantee?

Read the worked answer

f(2) = 8 - 4 - 5 = -1 and f(3) = 27 - 6 - 5 = 16, so by continuity a root lies in [2,3]. Routine (A) has g(x) = (2x + 5)^{1/3}, so g'(x) = 2/[3(2x + 5)^{2/3}]. At the root r ≈ 2.0946, 2r + 5 ≈ 9.189 and (9.189)^{2/3} ≈ 4.39, giving g'(r) ≈ 2/(13.17) ≈ 0.152. The initial error is about 2.5 - 2.0946 = 0.4054. To get below 10^{-6}, need 0.4054(0.152)^n < 10^{-6}. Taking logs gives n > ln(2.466×10^{-6})/ln(0.152) ≈ (-12.913)/(-1.884) ≈ 6.85, so n = 7 iterations are needed. Routine (C) has g(x) = (x^3 - 5)/2, so g'(x) = 3x^2/2. At the root this is about 3(2.0946)^2/2 ≈ 6.58, whose magnitude exceeds 1, so the fixed-point iteration is locally repelling rather than contractive. It may be exact at the root but gives no convergence guarantee.

2. Perform two Newton iterations from x0 = 2. Compare the error with two iterations of (A) from x0 = 2.5. Which is ahead after two steps?

Read the worked answer

Newton: f(2) = -1, f'(2) = 10, so x1 = 2 - (-1)/10 = 2.1. Then f(2.1) = 2.1^3 - 4.2 - 5 = 9.261 - 9.2 = 0.061, and f'(2.1) = 3(2.1)^2 - 2 = 13.23 - 2 = 11.23. Thus x2 = 2.1 - 0.061/11.23 ≈ 2.094568. The error is about 1.7×10^{-5}. Routine (A): x0 = 2.5, x1 = (10)^{1/3} ≈ 2.1544; x2 = (2(2.1544) + 5)^{1/3} = (9.3088)^{1/3} ≈ 2.1035. The error is about 0.00895. Newton is much closer after two steps: about 1.7×10^{-5} versus about 9×10^{-3}.

3. Bisection on [2,3] needs how many iterations to guarantee 10^{-6}? Given the 10-iteration limit, recommend a routine and describe a safeguard. Mention the 32-bit arithmetic limit.

Read the worked answer

Bisection reduces the bracket width by half each step, so after n steps the width is 1/2^n. Need 1/2^n < 10^{-6}, i.e. 2^n > 10^6, so n > log2(10^6) ≈ 19.93. Therefore 20 bisection iterations are required, which exceeds the 10-iteration budget. Plain bisection cannot meet the guarantee in 10 iterations, even though it always converges. Routine (A) needs about 7 iterations by the contraction estimate and is feasible, but it is only linearly convergent. Newton from x0 = 2 reaches the tolerance in about 3 iterations, but plain Newton is not bracket-preserving. The practical recommendation is a safeguarded Newton method: take a Newton step when it stays inside [2,3] and f'(x) is not dangerously small; otherwise take a bisection step to restore the bracket. Stop when the bracket width or the estimated error is below 10^{-6}. With 32-bit floating point, the unit roundoff near x ≈ 2.1 is on the order of 10^{-7} relative, so an absolute tolerance of 10^{-6} is reasonable, but demanding much tighter than about 10^{-7} would be limited by arithmetic precision rather than by the iteration count.