1. 非线性方程(组)及其解

  对于非线性函数 $f(x)$ ,方程 $f(x)=0$ 为非线性方程( $f:\mathbb{R} \rightarrow \mathbb{R}$ )。

  对于n维向量 $\boldsymbol{x}$ 和在n维空间上的变换 $\boldsymbol{f}:\mathbb{R}^n\rightarrow \mathbb{R}^n$ ,方程 $\boldsymbol{f}(\boldsymbol{x})=\boldsymbol{0}$ 即可看作是一个n元非线性方程组(共含n个标量方程,$\boldsymbol{f}(\boldsymbol{x})$ 可以看作是一个n维向量,每一个分量均为一个关于 $\boldsymbol{x}$ 的n个分量的多元函数)。非线性方程(组)的求解问题也即相对应非线性函数的零点问题。

  对于线性方程组,一般的n维向量的n个耦合方程组的解的理论已经非常清楚完整:它要么有唯一的解,要么有以线性空间的形式出现的无穷多个解,要么没有解。但是对于非线性方程,即使是一维的情形,也没有一个直截了当的方法可以判断,遑论高维情形。对于连续的一元非线性函数,若其在两个点的取值异号则在两点间必定存在零点,但是这一判断并不能推广到更高的维度:比如在二维的情况下,函数值的两个分量可以轮流反号,但是在相空间的表现可以是绕着原点作圆周运动而从未经过原点。在更高维的空间类似的例子更容易列举。而解的数量更是任意,可以有唯一解,可以有无穷多解,可以有任意正整数个的解。

2. 问题条件的性质

  先来考虑一维求函数在x处取值的条件数。对于求函数的算法,输入为x,输出为y,根据定义:$$cond(f)=\frac{|\delta y|}{|\delta x|}= \lim\limits_{\delta x\rightarrow 0}\frac{|\delta f(x)|}{|\delta x|}=\frac{|df(x)|}{|dx|}=|f'(x)|$$  再来考虑一维非线性方程求解的条件数。对于求解的算法,在计算表达式f(或者过程)已知的条件下,输入为右端项0(或者说,右端项也就是该方程的解的残差,当残差恰好为零时解恰好为精确解),输出为x,此时条件数表达当右端项离开0产生微小扰动时造成的解的差异,则有:$$cond(f)=\frac{|\delta x|}{|\delta y|}=\lim\limits_{\delta y\rightarrow 0}\frac{|\delta x|}{|\delta y|}=\lim\limits_{\delta x\rightarrow 0}\frac{|\delta x|}{|\delta y|}=(\frac{|dy|}{|dx|})^{-1}=\frac{1}{|f'(x)|}|_{f(x)=0}$$  求解非线性方程的条件数和计算取值的条件数恰好互为倒数。函数在零点附近导数绝对值越小,求解方程的条件数也越大,问题越病态。求解方程即函数零点的几何表示为求解一条弧线与x轴(即y=0)的交点(如下图)。当弧线在该处导数绝对值很小时,弧线在零点附近切线和x轴夹角很小,这使得二者交点的不确定度很大(可参考线性方程组章节中,当直线夹角越小时交点不确定度越大,矩阵越接近奇异,问题越病态),问题显得十分病态。

  然后来考虑高维非线性方程的求解。首先引进一个矩阵,雅可比矩阵(Jacobian)。对于 $\boldsymbol{f}:\mathbb{R}^n\rightarrow \mathbb{R}^n$ :$$Jacobian:\quad \boldsymbol{J}_f(\boldsymbol{x}), \quad (\boldsymbol{J}_f(\boldsymbol{x}))_{ij}=\frac{\partial f_i(\boldsymbol{x})}{\partial x_j}$$  雅可比矩阵在微积分中已经有过许多接触。当将面积分的积分区域转化为极坐标表示时,$rsin\theta$ 项即来自于雅可比行列式的贡献;在积分坐标变换的普遍方法中,从正交的A坐标系转化到正交的B坐标系需要乘以从B到A的映射f的雅可比行列式的绝对值。可以看出,雅可比行列式表达的是从一套坐标向另一套坐标转化的过程中,面积微元的伸缩率。把类似的概念转嫁到 $\boldsymbol{f}:\mathbb{R}^n\rightarrow \mathbb{R}$ 的变换上,那么雅可比矩阵应该表达的就是由一套坐标构成的向量 $\boldsymbol{x}$ 向另一套坐标构成的向量 $\boldsymbol{y}=\boldsymbol{f}(\boldsymbol{x})$ 转化的过程中,向量的伸缩比。讲到这里,雅可比矩阵的意义应该已经清楚了:它是一个类似于导数的概念,描述 $\boldsymbol{x}$ 的微小变化造成的 $\boldsymbol{y}$ 的改变。注意,这里粗体的 $\boldsymbol{x}$ 和 $\boldsymbol{y}$ 全部都是向量的概念。

  雅可比矩阵的意义也可以用另一个方法来得到。微积分的知识给出,多元函数 $y=f(\boldsymbol{x})$ (注意这里y是一维的,x是n维的,即 $f:\mathbb{R}^n\rightarrow \mathbb{R}$ )的全微分为:$$dy=\sum\limits_{i=1}^n\frac{\partial f(\boldsymbol{x})}{\partial x_i}dx_i$$  因而对于 $\boldsymbol{y}=\boldsymbol{f}(\boldsymbol{x})$ ,就有:$$\delta y_i=\sum\limits_{j=1}^n\frac{\partial f_i(\boldsymbol{x})}{\partial x_j}\delta x_j$$

$$\delta y_1=\frac{\partial f_1(\boldsymbol{x})}{\partial x_1}\cdot \delta x_1+\frac{\partial f_1(\boldsymbol{x})}{\partial x_2}\cdot \delta x_2...+\frac{\partial f_1(\boldsymbol{x})}{\partial x_n}\cdot \delta x_n$$

$$\delta y_2=\frac{\partial f_2(\boldsymbol{x})}{\partial x_1}\cdot \delta x_1+\frac{\partial f_2(\boldsymbol{x})}{\partial x_2}\cdot \delta x_2...+\frac{\partial f_2(\boldsymbol{x})}{\partial x_n}\cdot \delta x_n$$

$$...\qquad ...$$

$$\delta y_n=\frac{\partial f_n(\boldsymbol{x})}{\partial x_1}\cdot \delta x_1+\frac{\partial f_n(\boldsymbol{x})}{\partial x_2}\cdot \delta x_2...+\frac{\partial f_n(\boldsymbol{x})}{\partial x_n}\cdot \delta x_n$$

  最终写成矩阵形式就得到了:

$$\boldsymbol{\delta y}=\begin{bmatrix}\frac{\partial f_1(\boldsymbol{x})}{\partial x_1} & \frac{\partial f_1(\boldsymbol{x})}{\partial x_2} & ... & \frac{\partial f_1(\boldsymbol{x})}{\partial x_n}\\ \frac{\partial f_2(\boldsymbol{x})}{\partial x_1} & \frac{\partial f_2(\boldsymbol{x})}{\partial x_2} & ... & \frac{\partial f_2(\boldsymbol{x})}{\partial x_n}\\ ... & ... & ... & ... \\ \frac{\partial f_n(\boldsymbol{x})}{\partial x_1} & \frac{\partial f_n(\boldsymbol{x})}{\partial x_2} & ... & \frac{\partial f_n(\boldsymbol{x})}{\partial x_n} \end{bmatrix}\cdot \boldsymbol{\delta x}=\boldsymbol{J}_f(\boldsymbol{x})\boldsymbol{\delta x}$$  这就证明了 $\boldsymbol{J}_f(\boldsymbol{x})\boldsymbol{\delta x}$ 正是 $\boldsymbol{y}$ 的线性主部,也即其微分;而 $\boldsymbol{\delta x}$ 的系数雅可比矩阵 $\boldsymbol{J}_f(\boldsymbol{x})$ 也就是导数。

  因此,可以推测,对于一维非线性函数成立的条件数公式,只要把导数换成雅可比矩阵就很有可能成立。事实也确实如此,但是所谓的导数的“倒数”操作和取绝对值操作有些不同,分别换成了取逆和取范数,即:$cond(\boldsymbol{f})=||\boldsymbol{J}_f^{-1}(\boldsymbol{x})||$.

3. 数值方法的收敛率和收敛速度

  几乎主要的求解一般非线性方程的数值算法都是迭代法。衡量迭代法工作效率的一个因素是它的收敛速度,即通过多少步迭代可以达到所需精度。设真解(精确解)为 $\boldsymbol{x}^*$ ,k步迭代以后达到的解为 $\boldsymbol{x}_k$ ,则第k步迭代后距离真解的误差为 $\boldsymbol{e}_k=\boldsymbol{x}_k-\boldsymbol{x}^*$ .  量化收敛速度可以通过下式:$$\lim\limits_{k\rightarrow \infty}\frac{||\boldsymbol{e}_{k+1}||}{||\boldsymbol{e}_k||^r}=C$$  其中r为收敛率,C为收敛常数。收敛率规定了足够多次迭代后,误差减小的次数;收敛常数则规定了误差减小的系数,即 $||\boldsymbol{e}_{k+1}||\approx C||\boldsymbol{e}_k||^r$ .

表1 非线性方程迭代算法的收敛率,及常见求解一维方程算法
收敛率(rate)r 收敛次数 每次迭代获得的有效位数 解释 常见算法
$r=1,C<1$ 线性(Linear)收敛 常数位(如2位-4位-6位)

$r=1$时,若$C\geq 1$ 则不收敛;

由于误差总是以系数C每次迭代减小,缩减比相同,获得有效位数一定

二分法;不动点迭代(导数非零)

$r>1$ 超线性(Superlinear)收敛 递增 (如2位-4位-7位) 介于线性和二次收敛之间

割线法(线性插值法);正向/反向二次插值法;

一次分式插值法

$r=2$ 二次(Quadratic)收敛 翻倍 (如2位-4位-8位) 误差按平方的性质递减,获得的有效位数按照平方的性质翻倍 牛顿法;不动点迭代(导数为零)

转载于:https://www.cnblogs.com/gentle-min-601/p/9643749.html

非线性方程(组):计算基本理论相关推荐

  1. 非线性方程(组):高维方程解法

    非线性方程的高维情形和一维情形既有相似处也有差异.首当其中的区别即在高维情形中不再存在介值定理,从而使得二分法不再可推广到高维.不过,仍然有许多方法可以推广. 1. 不动点迭代(高维) 寻找方程 $\ ...

  2. 【计算思维题】少儿编程 蓝桥杯青少组计算思维题真题及解析第2套

    少儿编程 蓝桥杯青少组计算思维题真题及解析第2套 1.天平的左右两端分别放有一些砝码,如下图所示,右边的砝码不变,从左边最多拿走几个砝码,可以使天平左右两边平衡 A.1 B.2 C.3 D.4 答案: ...

  3. 二元一次方程组计算机及过程,二元一次方程组计算题过程及答案

    2016-02-23 求50道一元一次不等式组计算题50道二 一元一次不等式及一元一次不等式组 一. 填空题(每题3分) 1. 若 是关于 的一元一次不等式,则 =_________. 2. 不等式 ...

  4. 【计算思维题】少儿编程 蓝桥杯青少组计算思维题真题及解析第1套

    少儿编程 蓝桥杯青少组计算思维题真题及解析第1套 1.多多观察一个立体图形,从不同的角度看到的形状如下图所示: 这个立体图形可能是  答案:D 考点分析:考查小朋友们的观察能力和推理能力,从前面视角看 ...

  5. RoboMaster机甲大师——视觉组——计算平台的选型与感想(主流几款)

    RoboMaster机甲大师--视觉组--计算平台(工控机)的选型与感想(主流几款) FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 本篇文章 ...

  6. 【计算思维题】少儿编程 蓝桥杯青少组计算思维真题及详细解析第6套

    少儿编程 蓝桥杯青少组计算思维真题及详细解析第6套 1.兰兰有一些数字卡片,从 1 到 100 的数字都有,她拿出几张数字卡片按照一定顺序摆放.想一想,第 5 张卡片应该是 A.11 B.12 C.1 ...

  7. 【蓝桥杯计算思维题】少儿编程 蓝桥杯青少组计算思维真题及详细解析第5套

    少儿编程 蓝桥杯青少组计算思维真题及详细解析第5套 1.北京冬奥会经历 17( ),中国体育代表团收获的金牌数和奖牌数均创历史新高 A.年 B.月 C.天 D.小时 答案:C 考点分析:主要考查小朋友 ...

  8. 硬件可信计算环境 计算困难性理论 对比

    硬件可信计算环境利用CPU等计算硬件为需要隐私保护的数据隔离出一个受保护的计算环境. 数据以密文形式传入,在隔离环境内部完成计算后,再以密文形式返回.主流的国内外芯片 提供商均提供了类似功能,当前广泛 ...

  9. (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t

    讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的(01)ORB-SLAM2源码无死角解析链接如下(本文内容来自计算机视觉life ORB-SLAM2 课程课件): (0 ...

最新文章

  1. linux系统 插优盘安装xvidcap,linux下的视频录制软件xvidcap
  2. 这个图片转文字功能搞一下?还好这个开源项目救了我!
  3. GNN综述:从deepwalk到GraphSAGE,GCN,GAT
  4. html中div不在火狐居中,Firefox嵌套CSS中div标签居中问题解决方法
  5. java调度:(四) spring中使用quartz的配置文件.
  6. 编写java程序的三步骤_帮助Java小白涨知识的教程(三)(运行HelloWorld程序)
  7. 性能调优的方法及概念
  8. asio定时器深度探析
  9. VB 两种方法建立多级目录
  10. ubuntu--雷鸟只能收邮件不能发邮件
  11. 【ACL2019】文本摘要研究工作总结
  12. ni软件可以卸载吗_电视盒子自带的软件居然可以这样卸载!
  13. groovy脚本一键360加固多渠道打包
  14. 系统修复-菜鸟也DIY
  15. 有道词典java下载电脑版下载不了_网易有道词典电脑版下载
  16. 算法题目打卡:Ques20201025
  17. 80后的北漂IT人:你的未来在哪?该做好打算了!
  18. 博客备份系统之一:PDF,Word,TXT文件操作类
  19. 持NPDP证书在深圳可享受子女入学、医疗保健、安居保障等福利
  20. RadioButton设置默认选中后无法取消,可选中多个的问题

热门文章

  1. 笔记本cpu天梯图2022
  2. 阿里巴巴400集python教程_摆摊吧,程序员!阿里巴巴力荐Python400集视频
  3. pgAdmin4的应用(二)
  4. 果壳格言——偶像的力量近在眼前
  5. C语言怎么实现语音功能
  6. RedHat上面部署iObjects C++
  7. 造梦师的梦想是什么样的?
  8. GPUImage滤镜
  9. 树莓派-1、上手及资源
  10. 孙溟㠭篆刻艺术——“猛击一掌“