Fixed Point Method

Work in progress. This note is still being written and incomplete.

5 min read Last updated Wed Aug 12 2026 06:16:48 GMT+0000 (Coordinated Universal Time)

A function GG from DRnD \subseteq \mathbb{R}^n into Rn\mathbb{R}^n has a fixed point at pD\vec{p} \in D iff

G(p)=pG(\vec{p}) = \vec{p}

A nonlinear system F(x)=0F(\vec{x}) = \vec{0} can be rewritten in fixed-point form x=G(x)\vec{x} = G(\vec{x}), so that a solution of F(x)=0F(\vec{x}) = \vec{0} is a fixed point of GG.

Rearranging F to G

For each coordinate function fi(x)=0f_i(\vec{x}) = 0, solve for one variable in terms of the rest to isolate xix_i, giving xi=gi(x)x_i = g_i(\vec{x}). Stacking the gig_i‘s gives G=(g1,,gn)TG = (g_1, \ldots, g_n)^T. This choice is not unique: fi=0f_i = 0 can be solved for any variable, and different choices give different GG‘s with different convergence behavior under the fixed-point theorem.

Fixed-Point Iteration

Given GG and a starting vector x(0)\vec{x}^{(0)}, generate

x(k)=G(x(k1)),k1\vec{x}^{(k)} = G(\vec{x}^{(k-1)}), \quad k \geq 1

Fixed-Point Theorem in n-space

Let D={(x1,x2,,xn)Taixibi,  i=1,2,,n}D = \{(x_1, x_2, \ldots, x_n)^T \mid a_i \leq x_i \leq b_i, \; i = 1, 2, \ldots, n\} for constants ai,bia_i, b_i, and let G:DRnG: D \rightarrow \mathbb{R}^n be continuous with G(x)DG(\vec{x}) \in D whenever xD\vec{x} \in D. Then GG has a fixed point in DD.

If, in addition, every component function of GG has continuous partial derivatives and a constant K<1K < 1 exists with

gi(x)xjKn,xD,  i,j=1,2,,n\left|\frac{\partial g_i(\vec{x})}{\partial x_j}\right| \leq \frac{K}{n}, \quad \forall \vec{x} \in D, \; i, j = 1, 2, \ldots, n

then:

  • GG has a unique fixed point pD\vec{p} \in D.
  • Fixed-point iteration converges to p\vec{p} for any x(0)D\vec{x}^{(0)} \in D.
  • x(k)pKk1Kx(1)x(0)\lVert \vec{x}^{(k)} - \vec{p} \rVert_\infty \leq \dfrac{K^k}{1-K} \lVert \vec{x}^{(1)} - \vec{x}^{(0)} \rVert_\infty for each k1k \geq 1.

Accelerating Convergence

Computing x(k)\vec{x}^{(k)} with the already-updated components x1(k),,xi1(k)x_1^{(k)}, \ldots, x_{i-1}^{(k)} in place of x1(k1),,xi1(k1)x_1^{(k-1)}, \ldots, x_{i-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.

Example

f1(x1,x2,x3)=3x1cos(x2x3)12f2(x1,x2,x3)=x1281(x2+0.1)2+sinx3+1.06f3(x1,x2,x3)=ex1x2+20x3+10π33\begin{aligned} f_1(x_1, x_2, x_3) &= 3x_1 - \cos(x_2 x_3) - \tfrac{1}{2} \\ f_2(x_1, x_2, x_3) &= x_1^2 - 81(x_2 + 0.1)^2 + \sin x_3 + 1.06 \\ f_3(x_1, x_2, x_3) &= e^{-x_1 x_2} + 20x_3 + \tfrac{10\pi - 3}{3} \end{aligned}

For the coordinate functions f1,f2,f3f_1, f_2, f_3, solving each fi=0f_i = 0 for xix_i gives the fixed-point form x=G(x)\vec{x} = G(\vec{x}).

Solving f1=3x1cos(x2x3)12=0f_1 = 3x_1 - \cos(x_2x_3) - \tfrac{1}{2} = 0 for x1x_1:

3x1=cos(x2x3)+12    x1=g1(x)=13cos(x2x3)+163x_1 = \cos(x_2x_3) + \tfrac{1}{2} \implies x_1 = g_1(\vec{x}) = \tfrac{1}{3}\cos(x_2 x_3) + \tfrac{1}{6}

Solving f2=x1281(x2+0.1)2+sinx3+1.06=0f_2 = x_1^2 - 81(x_2+0.1)^2 + \sin x_3 + 1.06 = 0 for x2x_2:

(x2+0.1)2=181(x12+sinx3+1.06)    x2=g2(x)=19x12+sinx3+1.060.1(x_2+0.1)^2 = \tfrac{1}{81}\left(x_1^2 + \sin x_3 + 1.06\right) \implies x_2 = g_2(\vec{x}) = \tfrac{1}{9}\sqrt{x_1^2 + \sin x_3 + 1.06} - 0.1

(taking the positive root, since the solution near the expected root has x2+0.1>0x_2 + 0.1 > 0)

Solving f3=ex1x2+20x3+10π33=0f_3 = e^{-x_1x_2} + 20x_3 + \tfrac{10\pi - 3}{3} = 0 for x3x_3:

20x3=ex1x210π33    x3=g3(x)=120ex1x210π36020x_3 = -e^{-x_1x_2} - \tfrac{10\pi - 3}{3} \implies x_3 = g_3(\vec{x}) = -\tfrac{1}{20}e^{-x_1 x_2} - \tfrac{10\pi - 3}{60}

Verifying a Fixed Point Exists

Take D={(x1,x2,x3)T1xi1}D = \{(x_1, x_2, x_3)^T \mid -1 \leq x_i \leq 1\}.

G(D)DG(D) \subseteq D: for xD\vec{x} \in D, x2x3[1,1]x_2 x_3 \in [-1, 1], so cos(x2x3)[cos1,1]=[0.5403,1]\cos(x_2x_3) \in [\cos 1, 1] = [0.5403, 1], giving

g1(x)[13(0.5403)+16, 13(1)+16]=[0.3468, 0.5]g_1(\vec{x}) \in \left[\tfrac{1}{3}(0.5403) + \tfrac{1}{6},\ \tfrac{1}{3}(1) + \tfrac{1}{6}\right] = [0.3468,\ 0.5]

Similarly x12+sinx3+1.06[0.2185,2.9015]x_1^2 + \sin x_3 + 1.06 \in [0.2185, 2.9015] (using sinx3[0.8415,0.8415]\sin x_3 \in [-0.8415, 0.8415], x12[0,1]x_1^2 \in [0, 1]), so

g2(x)[0.0481, 0.0893]g_2(\vec{x}) \in [-0.0481,\ 0.0893]

and x1x2[1,1]x_1 x_2 \in [-1, 1] gives ex1x2[0.3679,2.7183]e^{-x_1x_2} \in [0.3679, 2.7183], so

g3(x)[0.6095, 0.4920]g_3(\vec{x}) \in [-0.6095,\ -0.4920]

All three ranges lie in [1,1][-1, 1], so G(x)DG(\vec{x}) \in D whenever xD\vec{x} \in D. Every gig_i is continuous on DD, so by the Fixed-Point Theorem, GG has a fixed point in DD.

Verifying Uniqueness

The Jacobian matrix of GG is

JG(x)=(013x3sin(x2x3)13x2sin(x2x3)x19x12+sinx3+1.060cosx318x12+sinx3+1.06120x2ex1x2120x1ex1x20)J_G(\vec{x}) = \begin{pmatrix} 0 & -\tfrac{1}{3}x_3\sin(x_2x_3) & -\tfrac{1}{3}x_2\sin(x_2x_3) \\[6pt] \dfrac{x_1}{9\sqrt{x_1^2+\sin x_3+1.06}} & 0 & \dfrac{\cos x_3}{18\sqrt{x_1^2+\sin x_3+1.06}} \\[6pt] \tfrac{1}{20}x_2 e^{-x_1x_2} & \tfrac{1}{20}x_1 e^{-x_1x_2} & 0 \end{pmatrix}

Bounding each entry of JG(x)J_G(\vec{x}) on DD (using xi1|x_i| \leq 1, sin(x2x3)sin1=0.8415|\sin(x_2x_3)| \leq \sin 1 = 0.8415, x12+sinx3+1.060.2185=0.4675\sqrt{x_1^2+\sin x_3+1.06} \geq \sqrt{0.2185} = 0.4675, ex1x2e=2.7183e^{-x_1x_2} \leq e = 2.7183):

g1x2,g1x30.2805,g2x10.2377,g2x30.1189,g3x1,g3x20.1359\left|\frac{\partial g_1}{\partial x_2}\right|, \left|\frac{\partial g_1}{\partial x_3}\right| \leq 0.2805, \quad \left|\frac{\partial g_2}{\partial x_1}\right| \leq 0.2377, \quad \left|\frac{\partial g_2}{\partial x_3}\right| \leq 0.1189, \quad \left|\frac{\partial g_3}{\partial x_1}\right|, \left|\frac{\partial g_3}{\partial x_2}\right| \leq 0.1359

The largest of these is 0.28050.2805, so taking K=0.85K = 0.85 (so K/n=K/3=0.28330.2805K/n = K/3 = 0.2833 \geq 0.2805) satisfies (JG(x))ijK/n\left|\left(J_G(\vec{x})\right)_{ij}\right| \leq K/n for all i,ji,j on DD, with K<1K < 1. By the Fixed-Point Theorem, GG therefore has a unique fixed point in DD, and fixed-point iteration converges to it for any x(0)D\vec{x}^{(0)} \in D.

Iterating to the Fixed Point

Starting from x(0)=(0.1,0.1,0.1)TD\vec{x}^{(0)} = (0.1, 0.1, -0.1)^T \in D and applying x(k)=G(x(k1))\vec{x}^{(k)} = G(\vec{x}^{(k-1)}):

kkx1(k)x_1^{(k)}x2(k)x_2^{(k)}x3(k)x_3^{(k)}
00.100000.10000-0.10000
10.499980.00944-0.52310
20.499990.00003-0.52336
30.500000.00001-0.52360

For k=1k=1: x2(0)x3(0)=0.01x_2^{(0)}x_3^{(0)} = -0.01, so g1=13cos(0.01)+16=0.49998g_1 = \tfrac{1}{3}\cos(-0.01) + \tfrac{1}{6} = 0.49998; (x1(0))2+sinx3(0)+1.06=0.97017\left(x_1^{(0)}\right)^2 + \sin x_3^{(0)} + 1.06 = 0.97017, so g2=190.970170.1=0.00944g_2 = \tfrac{1}{9}\sqrt{0.97017} - 0.1 = 0.00944; x1(0)x2(0)=0.01x_1^{(0)}x_2^{(0)} = 0.01, so g3=120e0.0110π360=0.52310g_3 = -\tfrac{1}{20}e^{-0.01} - \tfrac{10\pi-3}{60} = -0.52310.

The iterates converge to p=(0.5, 0, π6)(0.5,0,0.52360)\vec{p} = \left(0.5,\ 0,\ -\tfrac{\pi}{6}\right) \approx (0.5, 0, -0.52360), which checks out directly: g1(p)=13cos(0)+16=0.5g_1(\vec{p}) = \tfrac{1}{3}\cos(0) + \tfrac{1}{6} = 0.5, g2(p)=190.250.5+1.060.1=190.810.1=0g_2(\vec{p}) = \tfrac{1}{9}\sqrt{0.25 - 0.5 + 1.06} - 0.1 = \tfrac{1}{9}\sqrt{0.81} - 0.1 = 0, g3(p)=120e010π360=0.050.4736=π6g_3(\vec{p}) = -\tfrac{1}{20}e^0 - \tfrac{10\pi-3}{60} = -0.05 - 0.4736 = -\tfrac{\pi}{6}.

Was this helpful?