ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

浅谈不动点法在数列中的应用

2022-09-11 14:31:09  阅读:201  来源: 互联网

标签:函数 迭代 求解 varphi 法在 不动点 浅谈 数列


浅谈不动点法在数列中的应用

不动点法(fixed point method)是解方程的一种一般方法,对研究方程解的存在性、唯一性和具体计算有重要的理论与实用价值。数学中的各种方程,诸如代数方程、微分方程和积分方程等等,均可改写成 \(x=f(x)\) 的形式。

不动点法在解释线性空间,动态规划以及其他领域的问题中都有很重要的应用。

压缩映射与巴拿赫不动点定理(仅限于了解,与文章内容无直接关联)

映射的图论理解

我们高中阶段学习的函数其实是数集 \(A\) 到数集 \(B\) 的映射,其中 \(\forall x\in A\) 有且仅有唯一的 \(y\in B\) 与之对应。

那么我们可以用一张有向二分图来表示这种映射关系:

这是一种一一对应的情况,例如其中 \(f(2)=7\)


不动点的概念与性质

对于函数 \(y=f(x)\),若 \(f(x_0)=x_0\),则称 \(x=x_0\) 是函数的一个一阶不动点。

类似地,如果有 \(f(f(x_0))=x_0\),则称 \(x=x_0\) 是函数的一个二阶不动点。

令 \(f^{(n)}(x)=\underbrace{f(f(f(\cdots f}_{n个f}(x))))\),并补充定义 \(f^{(0)}(x)=x\),那么如果有 \(f^{(n)}(x_0)=x_0\),则称 \(x=x_0\) 是函数的一个 \(n\) 阶不动点。

类似于零点和极值点,不动点不是点,而是一个横坐标。

利用图论来思考映射,我们不难得出:一个函数的不动点也是它的任意次迭代函数的不动点。

也就是说,\(x_0\to x_0\) 这个循环在一直进行下去,这也是不动点的不动之所在。


引例

已知数列 \(\{a_n\}\) 满足 \(a_{n+1}=2a_n+2,n\in \N^*\),求 \(\{a_n\}\) 的通项公式。

啪的一下,很快啊!

只需要 \(a_{n+1}+2=2(a_n+2)\),求解 \(b_{n+1}=2b_n\) 即可。

但是对于很多复杂递推公式来说,人类直接观察可解的题目是非常有限的,这其中要求我们了解不动点法的原理及其正确性。


递推数列与函数迭代

文章开头说过,利用不动点法在于求解 \(x=f(x)\) 类型的函数。

放在数列里,\(a_{n+1}=f(a_n)\) 。

引例中 \(f(a_n)=2a_n+2\)。

所谓函数迭代,其实就是一步步地去计算:

\[\begin{align} a_2&=f(a_1)\\ a_3&=f(a_2)=f(f(a_1))\\ a_4&=f(a_3)=f(f(a_2))=f(f(f(a_1)))\\ &\cdots \end{align} \]

所以求解 \(a_n\) 的过程可以表示为 \(a_n=f^{(n-1)}(a_1)\),于是,求解数列通项的过程就转化为了求解数列迭代的过程。


换元法

引例中,我们其实是通过换元将递推公式复杂的数列 \(\{a_n\}\) 转化为了易于求解的数列 \(\{b_n\}\),进而反解得到 \(\{a_n\}\) 。

这启示我们要探究换元前和换元后两个函数间的关系。

对于一个函数 \(y=f(x)\),我们令 \(t=\varphi(x)\) 。

为了研究简便,我们不妨令 \(t=\varphi(x)\) 是一一对应的情况,这样 \(x=\varphi^{-1}(t)\) 。

在函数迭代的过程中,如果发生了 \(x\to f(x)\) 的变化,那么我们也需要找到一种 \(t\to g(t)\) 的变化方法,来满足数列 \(\{b_n\}\) 的迭代过程。

不难得出,\(g(t)=\varphi(f(x))=\varphi(f(\varphi^{-1}(t)))\),其中 \(f(x)\) 是下一个 \(x\) 对应的值。

可以得到,\(g^{(n)}(t)=\varphi(f^{(n)}(\varphi^{-1}(t)))\),也就是说,先让 \(x\) 迭代 \(n\) 次变为 \(f^{(n)}(x)\),再利用 \(g^{(n)}(t)=\varphi(f^{(n)}(x))=\varphi(f^{(n)}(\varphi^{-1}(t)))\) 求解。

最终我们得出结论:

\[g^{(n)}(t)=\varphi(f^{(n)}(\varphi^{-1}(t))) \]

不动点法解决求数列通项问题

利用上面的结论,我们假设 \(x=x_0\) 是 \(f(x)\) 的一个一阶不动点,那么 \(t_0=\varphi(x_0)\) 也是 \(g(t)\) 的一个一阶不动点(\(x\) 不动了对应的 \(t\) 肯定也不动)。

所以我们就找到了函数 \(f(x)\) 和函数 \(g(t)\) 之间不动点的关系它们在数值上表示为 \(t_0=\varphi(x_0)\)

我们回到数列中来,对于一个递推公式 \(a_{n+1}=f(a_n)\),在可以利用不动点法求解的情况下,一定会整理为 \(b_{n+1}=k\times b_n\) 的形式(等比形式)

而对于引例中的 \(b_{n+1}=2b_n\) ,这个数列的不动点显然是 \(0\)。

推广到 \(b_{n+1}=k\times b_n\) 的形式,数列的不动点仍然是 \(0\)。

于是 \(t_0=\varphi(x_0)\) 可以改写为 \(\varphi(x_0)=0\),这意味着只要知道了 \(x_0\),我们就可以构造出一个 \(t=\varphi(x)\) 的映射,其中求解\(\varphi(x)\) 的过程就是求数列通项时的构造新数列的过程

自此,我说明了不动点法求解通项公式的原理,让我们再次回到引例:

\[a_{n+1}=2a_n+2 \]

求解不动点得 \(x_0=-2\),因为 \(t_0=\varphi(x_0)=0\),所以 \(\varphi(x)=x-x_0=x+2\) 。

这也是上数学课时要求的:

  1. 求解不动点 \(x_0\)
  2. 两边减去不动点 \(x_0\)

进而便可以得到等比数列形式的式子。


没有不动点的情况

这位老哥延申到了复数域的范围,超出了本文内容所讲述的范围,大家有兴趣的可以学习一下。

浅谈“不动点”求数列通项的方法

标签:函数,迭代,求解,varphi,法在,不动点,浅谈,数列
来源: https://www.cnblogs.com/Liang-sheng/p/16683935.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有