昆仑山:眼中无形心中有穴之穴人合一

夫君子之行,静以修身,俭以养德;非澹泊无以明志,非宁静无以致远。夫学须静也,才须学也;非学无以广才,非志无以成学。怠慢则不能励精,险躁则不能冶性。年与时驰,意与岁去,遂成枯落,多不接世。悲守穷庐,将复何及!

 

7.2不动点迭代法及其收敛性

不动点迭代法及其收敛性 深度讲解与推导证明

作为数值分析中求解非线性方程 \(f(x)=0\) 的核心基础方法,不动点迭代法的核心思想是将隐式求根问题转化为显式迭代序列的递推计算,是牛顿法、弦截法等高级迭代法的理论根基。以下将从基础概念、核心定理、收敛性判定到收敛速度分析,进行全流程详细讲解与严谨推导。


一、不动点与不动点迭代法的基础概念

1.1 不动点的等价定义

求解非线性方程 \(f(x)=0\),我们可以将其等价改写为形如

\[x=\varphi(x) \tag{7.3} \]

的方程。这里的「等价」是严格双向的:

  • \(x^*\) 满足 \(f(x^*)=0\),则必有 \(x^*=\varphi(x^*)\)
  • 反之,若 \(x^*=\varphi(x^*)\),则必有 \(f(x^*)=0\)

我们称满足 \(x^*=\varphi(x^*)\)\(x^*\) 为函数 \(\varphi(x)\)不动点。由此,求 \(f(x)\) 的零点,完全等价于求迭代函数 \(\varphi(x)\) 的不动点,这是不动点迭代法的核心逻辑。

1.2 不动点迭代法的构造

选定根的初始近似值 \(x_0\),将其代入式(7.3)的右端,得到新的近似值 \(x_1=\varphi(x_0)\);以此反复迭代,得到通用迭代公式:

\[x_{k+1}=\varphi(x_k), \quad k=0,1,2,\cdots \tag{7.4} \]

其中 \(\varphi(x)\) 称为迭代函数,该迭代过程称为不动点迭代法

1.3 收敛与发散的定义

若对任意初始值 \(x_0\in[a,b]\),由式(7.4)生成的序列 \(\{x_k\}\) 满足

\[\lim_{k\to\infty}x_k=x^* \]

则称该迭代法收敛\(x^*\) 即为 \(\varphi(x)\) 的不动点;若序列 \(\{x_k\}\) 无有限极限(如数值趋于无穷、震荡不收敛),则称迭代法发散

1.4 示例:迭代函数对收敛性的影响

以方程 \(f(x)=x^3-x-1=0\)\(x_0=1.5\) 附近的求根为例,两种等价改写得到完全不同的结果:

  1. 改写1:\(x=\sqrt[3]{x+1}\),迭代公式 \(x_{k+1}=\sqrt[3]{x_k+1}\)。迭代结果逐步收敛到 \(x^*\approx1.32472\)
  2. 改写2:\(x=x^3-1\),迭代公式 \(x_{k+1}=x_k^3-1\)。迭代结果 \(x_1=2.375,x_2=12.39,\cdots\) 迅速趋于无穷,迭代发散。

这一示例引出核心问题:迭代函数 \(\varphi(x)\) 满足什么条件时,不动点迭代法收敛?


二、不动点的存在唯一性与全局收敛性

我们首先研究迭代法在整个闭区间 \([a,b]\) 上的收敛性(全局收敛性),核心是两个基础定理。

2.1 定理7.1:不动点存在唯一性定理

定理内容

\(\varphi(x)\in C[a,b]\)(即 \(\varphi(x)\) 在闭区间 \([a,b]\) 上连续),且满足以下两个条件:

  1. 映内性:对任意 \(x\in[a,b]\),有 \(a\leqslant\varphi(x)\leqslant b\)
  2. 压缩性:存在正常数 \(L<1\),使得对任意 \(x,y\in[a,b]\),有

    \[|\varphi(x)-\varphi(y)|\leqslant L|x-y| \tag{7.6} \]

    该式称为Lipschitz条件,\(L\) 称为Lipschitz常数。

\(\varphi(x)\)\([a,b]\)存在唯一的不动点 \(x^*\)


详细证明过程

证明分为「存在性」和「唯一性」两部分,全程无跳步推导:

(1)不动点的存在性证明

我们的目标是找到 \(x^*\in[a,b]\),使得 \(x^*=\varphi(x^*)\),即 \(\varphi(x^*)-x^*=0\)

构造辅助函数:

\[f(x)=\varphi(x)-x \]

  • 连续性:因为 \(\varphi(x)\in C[a,b]\)\(y=x\) 是连续函数,连续函数的差仍连续,因此 \(f(x)\in C[a,b]\)
  • 端点值分析:
    1. \(\varphi(a)=a\),则 \(x=a\) 就是不动点;若 \(\varphi(b)=b\),则 \(x=b\) 就是不动点,存在性直接成立。
    2. \(\varphi(a)\neq a\)\(\varphi(b)\neq b\),结合映内性条件 \(a\leqslant\varphi(x)\leqslant b\),可得 \(\varphi(a)>a\)\(\varphi(b)<b\)
      因此端点函数值满足:

      \[f(a)=\varphi(a)-a>0, \quad f(b)=\varphi(b)-b<0 \]

根据闭区间上连续函数的零点存在定理:若连续函数 \(f(x)\)\([a,b]\) 两端点函数值异号,则至少存在一点 \(x^*\in(a,b)\),使得 \(f(x^*)=0\),即 \(\varphi(x^*)-x^*=0\),也就是 \(x^*=\varphi(x^*)\)

至此,不动点的存在性得证。

(2)不动点的唯一性证明

采用反证法。假设 \(\varphi(x)\)\([a,b]\) 上存在两个不同的不动点 \(x_1^*\)\(x_2^*\),即 \(x_1^*\neq x_2^*\),且 \(x_1^*=\varphi(x_1^*)\)\(x_2^*=\varphi(x_2^*)\)

对两式作差并取绝对值:

\[|x_1^*-x_2^*|=|\varphi(x_1^*)-\varphi(x_2^*)| \]

根据压缩性条件(7.6),有:

\[|\varphi(x_1^*)-\varphi(x_2^*)|\leqslant L|x_1^*-x_2^*| \]

联立得:

\[|x_1^*-x_2^*|\leqslant L|x_1^*-x_2^*| \]

因为 \(x_1^*\neq x_2^*\),所以 \(|x_1^*-x_2^*|>0\),两边同时除以该正数,得到 \(1\leqslant L\),与定理条件 \(L<1\) 矛盾。

因此假设不成立,\(\varphi(x)\)\([a,b]\) 上的不动点是唯一的,唯一性得证。


2.2 定理7.2:全局收敛性与误差估计定理

定理内容

\(\varphi(x)\in C[a,b]\) 满足定理7.1的两个条件(映内性+压缩性),则对任意初始值 \(x_0\in[a,b]\),由迭代公式 \(x_{k+1}=\varphi(x_k)\) 生成的序列 \(\{x_k\}\) 必收敛到 \(\varphi(x)\) 的唯一不动点 \(x^*\),且有先验误差估计式

\[|x_k-x^*|\leqslant \frac{L^k}{1-L}|x_1-x_0| \tag{7.7} \]


详细证明过程

证明分为「收敛性证明」和「误差估计式推导」两部分:

(1)迭代收敛性证明

\(x^*\)\(\varphi(x)\) 的唯一不动点,因此 \(x^*=\varphi(x^*)\)。根据压缩性条件,对任意 \(k\geqslant1\),有:

\[|x_k-x^*|=|\varphi(x_{k-1})-\varphi(x^*)|\leqslant L|x_{k-1}-x^*| \]

这是一个递推不等式,反复递推可得:

\[|x_k-x^*|\leqslant L|x_{k-1}-x^*|\leqslant L^2|x_{k-2}-x^*|\leqslant \dots \leqslant L^k|x_0-x^*| \]

因为 \(0<L<1\),当 \(k\to\infty\) 时,\(L^k\to0\),因此 \(\lim_{k\to\infty}|x_k-x^*|=0\),即 \(\lim_{k\to\infty}x_k=x^*\)

迭代收敛性得证。

(2)先验误差估计式推导

第一步:先推导相邻迭代项的误差递推关系。
对任意 \(k\geqslant1\),由压缩性条件得:

\[|x_{k+1}-x_k|=|\varphi(x_k)-\varphi(x_{k-1})|\leqslant L|x_k-x_{k-1}| \]

反复递推可得:

\[|x_{k+1}-x_k|\leqslant L|x_k-x_{k-1}|\leqslant L^2|x_{k-1}-x_{k-2}|\leqslant \dots \leqslant L^k|x_1-x_0| \tag{7.8} \]

第二步:利用三角不等式估计多步迭代的误差。
对任意正整数 \(p\),将 \(x_{k+p}-x_k\) 拆分为相邻项的和:

\[x_{k+p}-x_k=(x_{k+p}-x_{k+p-1})+(x_{k+p-1}-x_{k+p-2})+\dots+(x_{k+1}-x_k) \]

两边取绝对值,由三角不等式 \(|a_1+a_2+\dots+a_n|\leqslant|a_1|+|a_2|+\dots+|a_n|\),得:

\[|x_{k+p}-x_k|\leqslant |x_{k+p}-x_{k+p-1}|+|x_{k+p-1}-x_{k+p-2}|+\dots+|x_{k+1}-x_k| \]

将式(7.8)代入每一项,提取公因子 \(|x_1-x_0|\),得:

\[|x_{k+p}-x_k|\leqslant (L^k+L^{k+1}+\dots+L^{k+p-1})|x_1-x_0| \]

括号内是首项为 \(L^k\)、公比为 \(L<1\) 的等比数列,由等比数列求和公式:

\[L^k+L^{k+1}+\dots+L^{k+p-1}=L^k\cdot\frac{1-L^p}{1-L} \]

因为 \(0<L<1\),所以 \(1-L^p<1\),因此:

\[L^k\cdot\frac{1-L^p}{1-L}<\frac{L^k}{1-L} \]

代入得:

\[|x_{k+p}-x_k|\leqslant \frac{L^k}{1-L}|x_1-x_0| \]

第三步:取极限得到最终误差估计。
\(p\to\infty\),已证 \(\lim_{p\to\infty}x_{k+p}=x^*\),因此左边极限为 \(|x^*-x_k|=|x_k-x^*|\),右边与 \(p\) 无关,极限保持不变。

最终得到先验误差估计式:

\[|x_k-x^*|\leqslant \frac{L^k}{1-L}|x_1-x_0| \]

误差估计式推导完成。


2.3 误差估计的实际意义与实用判别方法

(1)误差估计的应用

  1. 先验估计:可在迭代开始前,根据精度要求 \(\varepsilon\) 计算所需迭代次数 \(k\)。只需解不等式 \(\frac{L^k}{1-L}|x_1-x_0|\leqslant\varepsilon\),即可得到最小迭代次数。
  2. 后验估计:实际应用中 \(L\) 往往难以确定,因此更常用的是迭代终止条件。由上述推导可推出后验误差公式:

    \[|x^*-x_k|\leqslant \frac{1}{1-L}|x_{k+1}-x_k| \]

    该式表明:只要相邻两次迭代的差值 \(|x_{k+1}-x_k|\) 足够小,就能保证近似值 \(x_k\) 达到足够精度。因此实际计算中,通常以 \(|x_{k+1}-x_k|<\varepsilon\) 作为迭代终止条件。

(2)压缩性条件的实用判别

定理7.1中的Lipschitz条件验证难度较高,实际应用中可通过导数简化判定:
\(\varphi(x)\in C^1[a,b]\)(在 \([a,b]\) 上一阶连续可导),且对任意 \(x\in[a,b]\),有

\[|\varphi'(x)|\leqslant L<1 \tag{7.9} \]

\(\varphi(x)\)\([a,b]\) 上满足压缩性条件。

证明:由拉格朗日中值定理,对任意 \(x,y\in[a,b]\),存在 \(\xi\) 介于 \(x,y\) 之间,使得

\[\varphi(x)-\varphi(y)=\varphi'(\xi)(x-y) \]

两边取绝对值得:

\[|\varphi(x)-\varphi(y)|=|\varphi'(\xi)|\cdot|x-y|\leqslant L|x-y| \]

完全符合压缩性条件。


三、局部收敛性与收敛阶

全局收敛性要求在整个区间 \([a,b]\) 上满足条件,实际应用中往往难以实现;我们更关注在不动点 \(x^*\) 邻域内的收敛性(局部收敛性),以及迭代法的收敛速度。

3.1 局部收敛性

定义7.1 局部收敛性

\(x^*\)\(\varphi(x)\) 的不动点,若存在 \(x^*\) 的某个邻域 \(R:|x-x^*|\leqslant\delta\)\(\delta>0\)),使得对任意初始值 \(x_0\in R\),迭代生成的序列 \(\{x_k\}\subset R\),且收敛到 \(x^*\),则称该迭代法局部收敛


定理7.3 局部收敛性判定定理

定理内容

\(x^*\)\(\varphi(x)\) 的不动点,\(\varphi'(x)\)\(x^*\) 的某个邻域内连续,且

\[|\varphi'(x^*)|<1 \]

则迭代法 \(x_{k+1}=\varphi(x_k)\) 局部收敛。


详细证明过程
  1. \(\varphi'(x)\)\(x^*\) 邻域内连续,且 \(|\varphi'(x^*)|<1\),根据连续函数的局部保号性,存在 \(x^*\) 的邻域 \(R:|x-x^*|\leqslant\delta\),以及常数 \(L<1\),使得对任意 \(x\in R\),有 \(|\varphi'(x)|\leqslant L<1\)

  2. 验证映内性:对任意 \(x\in R\),有

    \[|\varphi(x)-x^*|=|\varphi(x)-\varphi(x^*)| \]

    由拉格朗日中值定理,存在 \(\xi\) 介于 \(x\)\(x^*\) 之间(因此 \(\xi\in R\)),得:

    \[|\varphi(x)-\varphi(x^*)|=|\varphi'(\xi)|\cdot|x-x^*|\leqslant L|x-x^*|\leqslant |x-x^*|\leqslant\delta \]

    因此 \(\varphi(x)\in R\),满足映内性。

  3. 此时 \(\varphi(x)\) 在邻域 \(R\) 上满足定理7.1的全部条件,因此对任意 \(x_0\in R\),迭代序列 \(\{x_k\}\) 收敛到 \(x^*\),局部收敛性得证。


3.2 收敛阶:迭代收敛速度的量化

收敛阶是衡量迭代法收敛速度的核心指标,同样的收敛迭代,收敛阶越高,收敛速度越快。

定义7.2 收敛阶

设迭代过程 \(x_{k+1}=\varphi(x_k)\) 收敛到不动点 \(x^*\),记迭代误差 \(e_k=x_k-x^*\)。若当 \(k\to\infty\) 时,有

\[\frac{e_{k+1}}{e_k^p}\to C \quad (C为常数,且C\neq0) \]

则称该迭代过程是p阶收敛的。

  • 特殊情况:\(p=1\)\(|C|<1\) 时,称为线性收敛
  • \(p>1\) 时,称为超线性收敛
  • \(p=2\) 时,称为平方收敛(二阶收敛)

收敛阶的物理意义:\(p\) 越大,误差衰减速度越快。例如二阶收敛中,若 \(e_k=10^{-3}\),则 \(e_{k+1}\approx C\cdot10^{-6}\),误差直接缩小3个数量级,远快于线性收敛。


定理7.4 收敛阶判定定理

定理内容

对于迭代过程 \(x_{k+1}=\varphi(x_k)\) 及正整数 \(p\),若 \(\varphi(x)\)\(p\) 阶导数 \(\varphi^{(p)}(x)\) 在不动点 \(x^*\) 的邻域内连续,且满足:

\[\varphi'(x^*)=\varphi''(x^*)=\dots=\varphi^{(p-1)}(x^*)=0, \quad \varphi^{(p)}(x^*)\neq0 \tag{7.10} \]

则该迭代过程在 \(x^*\) 的邻域内是p阶收敛的。


详细证明过程
  1. 先证局部收敛性:因为 \(\varphi'(x^*)=0<1\),根据定理7.3,迭代过程在 \(x^*\) 邻域内局部收敛。

  2. 泰勒展开推导收敛阶:
    \(\varphi(x_k)\) 在不动点 \(x^*\) 处做带拉格朗日余项的p阶泰勒展开

    \[\varphi(x_k)=\varphi(x^*)+\varphi'(x^*)(x_k-x^*)+\frac{\varphi''(x^*)}{2!}(x_k-x^*)^2+\dots+\frac{\varphi^{(p-1)}(x^*)}{(p-1)!}(x_k-x^*)^{p-1}+\frac{\varphi^{(p)}(\xi)}{p!}(x_k-x^*)^p \]

    其中 \(\xi\) 介于 \(x_k\)\(x^*\) 之间。

  3. 代入定理条件化简:
    由条件(7.10),\(\varphi'(x^*)=\dots=\varphi^{(p-1)}(x^*)=0\),且 \(\varphi(x^*)=x^*\)(不动点定义),因此展开式中除首项和末项外,其余项全部为0,化简得:

    \[\varphi(x_k)=x^*+\frac{\varphi^{(p)}(\xi)}{p!}(x_k-x^*)^p \]

  4. 结合迭代公式推导误差关系:
    迭代公式为 \(x_{k+1}=\varphi(x_k)\),代入上式得:

    \[x_{k+1}=x^*+\frac{\varphi^{(p)}(\xi)}{p!}(x_k-x^*)^p \]

    移项得误差表达式:

    \[x_{k+1}-x^*=\frac{\varphi^{(p)}(\xi)}{p!}(x_k-x^*)^p \]

    \(e_{k+1}=\frac{\varphi^{(p)}(\xi)}{p!}e_k^p\)

  5. 取极限验证收敛阶定义:
    \(k\to\infty\) 时,\(x_k\to x^*\),因此 \(\xi\to x^*\);又 \(\varphi^{(p)}(x)\)\(x^*\) 处连续,因此 \(\varphi^{(p)}(\xi)\to\varphi^{(p)}(x^*)\)

    最终得:

    \[\lim_{k\to\infty}\frac{e_{k+1}}{e_k^p}=\frac{\varphi^{(p)}(x^*)}{p!}\neq0 \]

    完全符合p阶收敛的定义,定理得证。


四、核心知识点归纳总结表

知识点类别 核心内容 关键条件 核心结论 适用场景
不动点基本定义 方程 \(f(x)=0\) 等价改写为 \(x=\varphi(x)\),满足 \(x^*=\varphi(x^*)\)\(x^*\) 为不动点 改写需严格双向等价 \(f(x)\) 零点等价于求 \(\varphi(x)\) 不动点 非线性方程求根的迭代法构造
不动点迭代法 迭代公式 \(x_{k+1}=\varphi(x_k),k=0,1,2,\dots\) 选定初始值 \(x_0\),构造迭代函数 \(\varphi(x)\) 序列收敛则得到不动点(方程的根) 非线性方程数值求根的基础实现
不动点存在唯一性定理(定理7.1) 闭区间上不动点的存在与唯一 1. \(\varphi(x)\in C[a,b]\);2. 映内性 \(a\leqslant\varphi(x)\leqslant b\);3. 压缩性 $ \varphi(x)-\varphi(y) \leqslant L
全局收敛性定理(定理7.2) 闭区间上迭代的全局收敛与误差估计 满足定理7.1的全部条件 任意 \(x_0\in[a,b]\),迭代序列收敛到不动点,且有先验误差估计 $ x_k-x^*
压缩性实用判别 导数判定压缩性 \(\varphi(x)\in C^1[a,b]\),且 $ \varphi'(x) \leqslant L<1,\forall x\in[a,b]$
局部收敛性定义 不动点邻域内的收敛性 存在 \(x^*\) 的邻域 \(R\),任意 \(x_0\in R\) 迭代序列收敛到 \(x^*\) 仅需在根的邻域内满足收敛条件,无需全局约束 实际工程中迭代法的收敛判定(已知根的近似范围)
局部收敛性定理(定理7.3) 局部收敛的快速判定 \(\varphi'(x)\)\(x^*\) 邻域连续,且 $ \varphi'(x^*) <1$
收敛阶定义 迭代收敛速度的量化指标 迭代误差满足 \(\frac{e_{k+1}}{e_k^p}\to C\neq0\) \(p\) 为收敛阶,\(p\) 越大收敛速度越快 不同迭代法的收敛速度对比
收敛阶判定定理(定理7.4) 收敛阶的定量计算 \(\varphi^{(p)}(x)\)\(x^*\) 邻域连续,\(\varphi'(x^*)=\dots=\varphi^{(p-1)}(x^*)=0\)\(\varphi^{(p)}(x^*)\neq0\) 迭代过程为p阶收敛 迭代法收敛速度的精准判定、迭代函数的优化设计

posted on 2026-02-27 21:24  Indian_Mysore  阅读(0)  评论(0)    收藏  举报

导航