Calculator · Engineering Mathematics
Fixed-Point Iteration Calculator
Iterate xₙ₊₁ = g(xₙ) from a starting guess to a fixed point x* = g(x*), with the cobweb diagram showing whether the chosen rearrangement contracts or diverges near it.
Problem definition
Operators + − * / ^, parentheses, pi and e, and sin, cos, tan, asin, acos, atan, exp, sqrt, abs, ln, log, log10. Write 2*x, not 2x.
Results
| Fixed point x* | 0.7391 |
|---|---|
| Residual f(x*) | -1.182e-9 |
| Iterations | 50 |
| Function evaluations | 101 |
| Final step |Δx| | 1.755e-9 |
| Status | Stopped — iteration limit reached before the tolerance was met |
| Local contraction |g′(x*)| | not reported — the iteration did not converge to a fixed point |
Cobweb diagram
Iteration history
| n | xₙ | g(xₙ) | step Δx | f(xₙ) |
|---|---|---|---|---|
| 1 | 1 | 0.5403 | -0.4597 | -0.4597 |
| 2 | 0.5403 | 0.8576 | 0.3173 | 0.3173 |
| 3 | 0.8576 | 0.6543 | -0.2033 | -0.2033 |
| 4 | 0.6543 | 0.7935 | 0.1392 | 0.1392 |
| 5 | 0.7935 | 0.7014 | -0.09211 | -0.09211 |
| 6 | 0.7014 | 0.764 | 0.06259 | 0.06259 |
| 7 | 0.764 | 0.7221 | -0.04186 | -0.04186 |
| 8 | 0.7221 | 0.7504 | 0.02832 | 0.02832 |
| 9 | 0.7504 | 0.7314 | -0.01901 | -0.01901 |
| 10 | 0.7314 | 0.7442 | 0.01283 | 0.01283 |
| 11 | 0.7442 | 0.7356 | -0.008633 | -0.008633 |
| 12 | 0.7356 | 0.7414 | 0.00582 | 0.00582 |
| 13 | 0.7414 | 0.7375 | -0.003918 | -0.003918 |
| 14 | 0.7375 | 0.7401 | 0.00264 | 0.00264 |
| 15 | 0.7401 | 0.7384 | -0.001778 | -0.001778 |
| 16 | 0.7384 | 0.7396 | 0.001198 | 0.001198 |
| 17 | 0.7396 | 0.7388 | -8.069e-4 | -8.069e-4 |
| 18 | 0.7388 | 0.7393 | 5.436e-4 | 5.436e-4 |
| 19 | 0.7393 | 0.7389 | -3.661e-4 | -3.661e-4 |
| 20 | 0.7389 | 0.7392 | 2.466e-4 | 2.466e-4 |
| 21 | 0.7392 | 0.739 | -1.661e-4 | -1.661e-4 |
| 22 | 0.739 | 0.7391 | 1.119e-4 | 1.119e-4 |
| 23 | 0.7391 | 0.7391 | -7.539e-5 | -7.539e-5 |
| 24 | 0.7391 | 0.7391 | 5.078e-5 | 5.078e-5 |
| 25 | 0.7391 | 0.7391 | -3.421e-5 | -3.421e-5 |
| 26 | 0.7391 | 0.7391 | 2.304e-5 | 2.304e-5 |
| 27 | 0.7391 | 0.7391 | -1.552e-5 | -1.552e-5 |
| 28 | 0.7391 | 0.7391 | 1.046e-5 | 1.046e-5 |
| 29 | 0.7391 | 0.7391 | -7.043e-6 | -7.043e-6 |
| 30 | 0.7391 | 0.7391 | 4.744e-6 | 4.744e-6 |
| 31 | 0.7391 | 0.7391 | -3.196e-6 | -3.196e-6 |
| 32 | 0.7391 | 0.7391 | 2.153e-6 | 2.153e-6 |
| 33 | 0.7391 | 0.7391 | -1.450e-6 | -1.450e-6 |
| 34 | 0.7391 | 0.7391 | 9.768e-7 | 9.768e-7 |
| 35 | 0.7391 | 0.7391 | -6.580e-7 | -6.580e-7 |
| 36 | 0.7391 | 0.7391 | 4.432e-7 | 4.432e-7 |
| 37 | 0.7391 | 0.7391 | -2.986e-7 | -2.986e-7 |
| 38 | 0.7391 | 0.7391 | 2.011e-7 | 2.011e-7 |
| 39 | 0.7391 | 0.7391 | -1.355e-7 | -1.355e-7 |
| 40 | 0.7391 | 0.7391 | 9.126e-8 | 9.126e-8 |
Showing the first 40 of 50 iterations.
Continue
g(x), x₀, the tolerance and the iteration limit continue into the Lab, with fixed-point iteration enabled. The optional residual travels as it stands — when you have not supplied one, the Lab receives none.
Assumptions & validity
- · g is continuous near the fixed point.
- · The iteration stays within the region of interest — it is not clamped or restarted.
- · |g′(x*)| is a LOCAL diagnostic, not a global guarantee. It is estimated by a central difference only after the iteration converges, at the fixed point itself, and its two evaluations are included in the reported evaluation count.
- · The residual check, when a residual f is supplied, is only as meaningful as the f you provide.
Technical reference
Iteration: xₙ₊₁ = g(xₙ)
Fixed point: x* = g(x*)
Local convergence condition: |g′(x*)| < 1
Asymptotic error: |eₙ₊₁| ≈ |g′(x*)| · |eₙ|
- g
- the iteration map xₙ₊₁ = g(xₙ)
- xₙ
- the nth iterate
- x*
- the fixed point, x* = g(x*)
- eₙ
- the error xₙ − x*
- f
- optional residual, the equation f(x) = 0 the fixed point is meant to solve
Solving f(x) = 0 by this method requires you to choose a rearrangement x = g(x) yourself — different rearrangements of the same equation converge, diverge or oscillate, and this tool deliberately does not invent one for you.
Reading the diagnostic: |g′(x*)| < 1 means the map is locally contractive, so the fixed point is locally attractive; |g′(x*)| > 1 means it is locally repelling, so ordinary fixed-point iteration is locally unstable there; |g′(x*)| = 1 leaves the first-derivative test inconclusive. The estimate is a finite difference, not an exact value, so a result within numerical noise of 1 is reported as inconclusive rather than decided.
|g′(x*)| < 1 is a LOCAL condition and a diagnostic, not a guarantee. A global guarantee needs |g′| ≤ k < 1 on a whole interval that g maps into itself (the contraction mapping theorem).
Where it applies, convergence is linear, with asymptotic rate |g′(x*)|.
When a residual f is supplied, a negligible step whose residual is still large is reported as stalled rather than converged. The residual test is normalised by the characteristic magnitude of f, so supplying c·f instead of f does not change the verdict. Without a residual, the step test certifies a fixed point of g only.