A function G from D⊆Rn into Rn has a fixed point at p∈Diff
G(p)=p
A nonlinear systemF(x)=0 can be rewritten in fixed-point form x=G(x), so that a solution of F(x)=0 is a fixed point of G.
Rearranging F to G
For each coordinate function fi(x)=0, solve for one variable in terms of the rest to isolate xi, giving xi=gi(x). Stacking the gi‘s gives G=(g1,…,gn)T. This choice is not unique: fi=0 can be solved for any variable, and different choices give different G‘s with different convergence behavior under the fixed-point theorem.
Fixed-Point Iteration
Given G and a starting vector x(0), generate
x(k)=G(x(k−1)),k≥1
Fixed-Point Theorem in n-Space
Let D={(x1,x2,…,xn)T∣ai≤xi≤bi,i=1,2,…,n} for constants ai,bi, and let G:D→Rn be continuous with G(x)∈D whenever x∈D. Then G has a fixed point in D.
If, in addition, every component function of G has continuous partial derivatives and a constant K<1 exists with
∂xj∂gi(x)≤nK,∀x∈D,i,j=1,2,…,n
then:
G has a unique fixed point p∈D.
Fixed-point iteration converges to p for any x(0)∈D.
∥x(k)−p∥∞≤1−KKk∥x(1)−x(0)∥∞ for each k≥1.
Accelerating Convergence
Computing x(k) with the already-updated components x1(k),…,xi−1(k) in place of x1(k−1),…,xi−1(k−1), rather than waiting for the full previous iterate, is the Gauss-Seidel method applied to fixed-point iteration. It often converges faster, but not always.
The largest of these is 0.2805, so taking K=0.85 (so K/n=K/3=0.2833≥0.2805) satisfies (JG(x))ij≤K/n for all i,j on D, with K<1. By the Fixed-Point Theorem, G therefore has a unique fixed point in D, and fixed-point iteration converges to it for any x(0)∈D.
Iterating to the Fixed Point
Starting from x(0)=(0.1,0.1,−0.1)T∈D and applying x(k)=G(x(k−1)):
k
x1(k)
x2(k)
x3(k)
0
0.10000
0.10000
-0.10000
1
0.49998
0.00944
-0.52310
2
0.49999
0.00003
-0.52336
3
0.50000
0.00001
-0.52360
For k=1: x2(0)x3(0)=−0.01, so g1=31cos(−0.01)+61=0.49998; (x1(0))2+sinx3(0)+1.06=0.97017, so g2=910.97017−0.1=0.00944; x1(0)x2(0)=0.01, so g3=−201e−0.01−6010π−3=−0.52310.
The iterates converge to p=(0.5,0,−6π)≈(0.5,0,−0.52360), which checks out directly: g1(p)=31cos(0)+61=0.5, g2(p)=910.25−0.5+1.06−0.1=910.81−0.1=0, g3(p)=−201e0−6010π−3=−0.05−0.4736=−6π.