Fixed-Point Iteration Method
I enter an equation \(f(x)=0\), choose an initial value and observe whether the sequence \(x_{n+1}=g(x_n)\) approaches a solution or fails to converge.
1. Set up the equation
Examples: x^2+x-2 · cos(x)-x · x^3-x-2 · exp(-x)-x · ln(x)+x-2 · x^6-x-2. Use * for multiplication; the following are also accepted: 2x and f(x)=0. The interval must contain \(x_0\).
2. Choose a transformation \(x=g(x)\)
The program proposes several rearrangements of \(f(x)=0\). A transformation may be algebraically equivalent to the equation without necessarily converging.
Select one of the proposed formulas: the iterations and graph update to reflect the chosen function \(g(x)\).
Enter the expression alone, or g(x)=2/(x+1). For a custom function, the program checks the iterations and residual but cannot guarantee that \(x=g(x)\) is equivalent to \(f(x)=0\).
Equation and transformation
Convergence analysis
How is the transformation obtained?
This analysis uses the symbolic derivative from the Derivatives module and numerical interval estimates. Estimates of intervals and derivatives are indicative, not formal proofs. Branch restrictions on inverse functions can exclude other solutions.
3. Cobweb diagram
Displayed iteration
Step-by-step explanation
4. Iteration table
| n | \(x_n\) | \(f(x_n)\) | \(x_{n+1}\) | \(|x_{n+1}-x_n|\) | \(|f(x_{n+1})|\) |
|---|
How does fixed-point iteration work?
I start from an equation \(f(x)=0\) and rewrite it as \(x=g(x)\). I choose an initial value \(x_0\) and build a sequence by repeatedly applying the rule
If the sequence converges and \(g\) is continuous at the limit, the limiting value satisfies \(\alpha=g(\alpha)\). Thus \(\alpha\) is a fixed point. On the graph, each iteration is shown by a vertical segment to the curve \(y=g(x)\), followed by a horizontal segment to the line \(y=x\).
How should I interpret the displayed roots?
The root search is exploratory: it uses sampling, sign changes and some stationary points. It does not establish that every root has been found. The automatic choice takes into account the root reached from the starting value, but cannot guarantee that it is mathematically the closest root.
How can I tell whether the method converges?
If \(g\) is defined and differentiable on a closed interval \(I=[a,b]\), if \(g(I)\subseteq I\), and if there is a constant \(k<1\) such that \(|g'(x)|\leq k\) for every \(x\in I\), the iteration converges to the unique fixed point in \(I\) for any \(x_0\in I\). These conditions are sufficient, not necessary.
Why must I check equivalence?
A fixed point of \(g\) is not necessarily a zero of \(f\). Squaring an equation can introduce extraneous solutions, while selecting a branch of an inverse function may exclude other roots. The program compares numerically identified points without claiming to find them all. With an isolated square root, the opposite side must also be nonnegative: \(\sqrt{x}=2-x\) requires \(x\leq2\).
For example, for \(f(x)=\sqrt{x}+x-2\), the rearrangement \(g(x)=(2-x)^2\) has a fixed point at \(x=4\), but it does not solve the original equation: \(f(4)=4\). The simulator indicates this difference even when the iteration does not move.
What if no transformation works?
If none of the tested transformations achieves the required residual from the chosen starting value, the simulator reports this without recommending one. You can still explore the transformations, change the starting value or enter a custom function. Results depend on the method, tolerance and iteration limit.
What happens when an iteration leaves the interval?
The interval [a,b] is used to analyze sufficient convergence conditions. If an iterate leaves it, these conditions no longer justify the full iteration path, although computation can continue while the function is defined. Leaving the interval does not necessarily imply divergence: the simulator reports it without treating it as the final outcome.
Which stopping criterion is used?
I check the residual \(|f(x_n)|\) against the selected tolerance and separately check that the gap \(|g(x_n)-x_n|\) is sufficiently small for the numerical precision. Both conditions are needed to declare convergence to a root under the selected transformation. I also display \(|x_{n+1}-x_n|\), which alone does not guarantee root accuracy. If the method diverges or encounters an undefined value, the program reports the problem.