简书同步更新
牛顿法给出了任意方程求根的数值解法,而最优化问题一般会转换为求函数之间在"赋范线性空间"的距离最小点,所以,利用牛顿法去求解任意目标函数的极值点是个不错的思路。
方程求根
对于一元二次方程,求根其实很简单,只要套用求根公式就行了,但找到一个方程的求根公式(解析解)其实是很困难的,可以证明5次方程以上便没有解析解了,参考维基百科五次方程。其他的复杂方程如偏微分方程求解更是超级困难。好在随着计算机技术的发展,解析解变的不再那么重要(至少是在工程上),取而代之的方法便是数值解法,牛顿法便是众多数值解法中的一个。
数值法求解又叫做数值分析,主要利用逼近的思想来使数值解通过迭代计算不断接近解析解,而得出来得解就叫做数值解,在工程上,数值解只要是在精度要求范围内满足方程便是有用的。
牛顿迭代法
sqrt2.png
先考虑一个小问题:求解方程
的根,也即求解
。牛顿迭代法的思想从几何的角度很好理解,如上图所示(画图的脚本在这里)方程的根就是函数
与
轴的交点处横坐标的值。从图中
点出发,计算函数在
点处的切线,再计算切线和
轴的交点得到
,再计算函数在
点处的切线... 一直这样迭代下去,可以发现
会越来越接近方程的根。
上述思路的数学表达:
由
计算
得到切线方程:
切线和
轴的交点,也即,当
时,