近日,B站上有我国明代数学家王文素首创用导数法求解高次方程的说法,且甚是流行。各位B站站友们,想了解明代数学家王文素所著《算学宝鉴》中出现导数的具体章节之内容者,可详见于up三河秦中的专栏:网页链接。
五百多年前的王文素是如何求解高次方程: (1)
的呢?
其实,王文素的思想和方法并不难理解。首先,我们可以设方程的根为h+k(甲+乙),其中h大于k,h是我们按照经验或技巧猜测的一个值,这个值与方程(1)的真实解很接近。接下来,我们将方程(1)左边的常系数移到右边,得到的
被命名为“本积”。接下来再将
带入其中,我们可以得到:
(2)
在这一步里,王文素将左边的式子提了一个h,将左边变为:
并把上式括号里的和式命名为“甲总”,我们就记它为H吧,而后令“本积”除去甲乘“甲总”定出“余实”,也就是把:
称为“余实”。很显然,如果“余实”不为零,k就是将这一差值抹平的关键。接下来的思路很简单,我们把h+k带入方程(2)的左边,看看跟之前只把h带入得到的hH有何不同。将h+k带入得到的式子减去上面只带入h得到的hH,我们可以得到:
如果我们把上式中所有关于k的一次项进行合并,可以得到:
(3)
如果把k的平方项合并,则得到:
(4)
k的立方项合并:
(5)
还有k的4、5、6、...、n次方项,都是可以和并的。这里就不逐一列举了。原文中将(3)式中的括号部分称为“乙方”,我们可以记为(细心的人会发现,这个K0就是hH对h的一阶导数,这里先按下不表);而(4)式括号部分称为“一廉增乘”,我们记为
;(5)式括号部分称为“二廉增乘”,我们记为
;命名可类推到(n-1)廉增乘。
因为h+k就是方程(1)的根,所以:
(6)
书中把(6)式括号部分称为“乙总”。接下来观察(6)式的左边,一直到
都是已知的(均由h以及原方程系数决定),右边的“余实”也是已知的,(6)式整个可以看成是一个关于k的n次方程。到了这一步,为了避免套娃也就是为了解n次方程(1)而解另一个n次方程(6),我们考虑到k只是一个相较于h来说较小的值,所以我们可以尝试先忽略(6)式左边括号里
一直到
的作用,得出粗略估计:
得出k的初略估计后,再把这个k的初略估计带入(6)式左边的括号并除到右边,得到一个新的k值,如此迭代多次,可逐渐逼近我们要求的k,也就是先用“乙方”估计乙,再由此乙计算出“乙总”,再由“余实”除以“乙总”得乙,如此迭代之。书中的算例都正好是整数根,没有进行多次迭代,但不影响。以上就是我国明代数学家王文素求解高次方程的方法。显然这是一个数值解法。
回到主题,王文素是否发明了导数这一概念呢?回顾一下王文素的解法,式(3)中的括号部分,也就是被称为“乙方”的东西,确实是等于甲乘“甲总”也就是hH对h求一阶导的结果,仅从这一点来看,我们确实可以在王文素的方法中找到“导数”的影子。但是,这一结果并不是因为王文素发明了求导这一运算而出现的,这只是进行本文中黑体字部分的操作,也就是把(h+k)带入(2)式左边的结果与只把h带入(2)式左边的结果相减后,将k的一次项进行合并得到的一个式子,而它正好是hH对h的一阶导数罢了。为现代人熟知的牛顿法,到底跟王文素的方法有无关联呢?关于牛顿法,网上可以查到很多资料。在牛顿之前的许多先贤们早已进行过有关于无穷问题的哲思,而牛顿和莱布尼兹则乃集大成者,他们在一些用于解决极限或是无穷问题的零散技巧中抽象出了微积分学,而导数的定义也是这时才被提出。回过来谈牛顿法,牛顿基于导数的几何意义,很直观的创建了用导数来解高次方程的牛顿法。