计算方法1 函数求根
严格写就太累了,这个就当是随手的笔记得了。大概看看原理,不求甚解。
Fixpoint Theorem
定义函数 的不动点 为满足 的所有取值
考虑函数 ,定义不动点迭代算法如下:
- 任取
- 计算
- 重复步骤2 次
记出现的所有 按顺序构成数列 ,定理如下
若 是连续函数,且 ,那么
证明:
根据定义, 是一个不动点
具体解释就是,当 充分大的时候,我们会得到一个充分接近 的近似解(极限的定义)
Convergence Theorem
不动点定理说的是:如果迭代收敛,那么收敛到不动点
收敛定理则给出了迭代收敛的一个充分条件,也就是挑出了一类特殊的可以收敛的函数,给了一个判别条件。
定义 ,若 ,那么称这个迭代是线性收敛的,收敛率为
若函数 连续可导,并且 是 的一个不动点,那么由 可以推出 在以一个足够接近 的初值开始迭代时线性收敛,收敛率为
这句话很难理解,但是结合证明就不太难了:
考虑 ,那么有 ,其中 ,最后一个等号是微分中值定理
取极限就得到了一个 处的导数,根据条件有这个极限的绝对值小于
又因为 连续可导,所以 连续,所以存在邻域 使得 都有
结合比值就知道,在 内任取一个元素作为初值开始迭代,每次的误差会严格递减。又因为误差单调有下界,所以收敛,并且收敛率就是 的
我们把这类收敛称为局部收敛
具体解释就是,如果函数连续可导并且不动点处的导数比较好,那么存在一个区间 ,如果我们在 内开始迭代时,就能线性收敛到不动点,并且收敛率是不动点处的导数。
但是定理反过来不成立,意思是一个并非局部收敛的函数可能在别的地方收敛到此,这是完全可行的。
这个定理可以是后验的,即先算出一个收敛的点,然后求导验证是否满足定理前提。
根的敏感性
假设 的计算存在误差,例如给定 时我们只能计算 ,其中 是一个小常数, 是一个关于 的误差函数。那么我们在求根 时引入的误差就会进一步被放大。
不妨设求得的数值根为 ,那么我们此时求得的实际上是带误差的函数的根,满足
两边泰勒展开一下就有
舍去高阶无穷小就是
注意到 是 的根的定义,且 很小,因此上式约为
本文来自博客园,作者:jjppp。本博客所有文章除特别声明外,均采用CC BY-SA 4.0 协议
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2021-03-07 CSAPP实验5: cachelab