为什么可以忽略高阶无穷小?《微积分发展史》中牛顿微积分“流数”解释
最近看了中二视频:大侦探牛顿

想起以前看《微积分发展史》中关于牛顿发明微积分部分的原文,很抽象。
注:《微积分发展史》,也就是《The Historical Development of Calculus》Edwards,C.H.作。
由于当时是从常州图书馆借的,手上没有中文版:

网上也没找到中文pdf。于是到外网找到了英文pdf,再把相关内容看了一下。
注:关于牛顿的原文pdf里应该不是拼写错误?应该是拉丁文。而且原书里只是摘录部分内容,缺少上下文,感觉符号上看得很懵逼。不过道理大概懂了。
原书:






上面内容根据红线分2部分。说老实话第2部分,一旦接受了f(x+ox',y+oy')=0那就不需要啥解释了,不知道和第1部分有啥关系,是不是得得出第1部分的结论,才能继续推出第2部分...
总之比较难理解的是第1部分。
问题描述:
牛顿其实是想找“任意曲线”的切线表达式。这个“任意曲线”就是sigma(a[i,j]*x^i*y^j)=0,这个a[i,j]没啥特殊含义,就是表示它是x^i*y^j前面的系数。
牛顿能力:
“拆分之眼”
牛顿工具:
估计是物理学家习惯,牛顿习惯将曲线线上任意点认为是一个动点p(x,y),也不关心其二维变化,而是拆分成x轴和y轴运动,这样方便研究,就像斜抛运动中拆分水平匀速运动和垂直加速运动一样,为了研究方便可以假设x轴的运动是匀速运动。
流数:这是比较抽象的。我感觉他不是一种无穷小的概念,而是某种程度上假定了时间是有“最小单位”的,称之为flux。对于每一个flux,p在x,y轴的运动都有一个对应的fluxsion x',y',在这个flux中,p点就是做了一个匀速直线运动。如果以现代符号说明,设flux中经过了时间dt,那么p点的位移就是dx,x'=dx/dt。同理y'=dy/dt。所以可以看出所谓“流数”是一个平均速度,但又不是真的平均速度,因为dt无限小,也不是瞬时速度,因为它有位移。(说不定“平均速度”和“瞬时速度”这2个概念才比较误导人)。
第一部分(主打抽象,和忽略无穷小无关,可以跳过)
关于第一部分的结论,牛顿几乎是写了一段话,就直接从原函数sigma(a[i,j]*x^i*y^j)=0,得出结论sigma((i*x'/x+j*y'/y)*a[i,j]*x^i*y^j)=0,也就是多了一个系数(i*x'/x+j*y'/y)。关于这个系数怎么来的全靠这段话:

我只能说...抽象。乍一看,这不就是把结论读了一遍?
我们来仔细还原这段话的“心路历程”。
注意!这里开始抽象起来了!
首先,看函数y=x,套用流数体系,明显有dx/x = dy/y,也就是
x'dt/x = y'dt/y
约去两边dt得到
x'/x = y'/y
假设这个比例为k,
k=x'/x=y'/y
那么对于一个范例函数y=x^2,由于两边相等,所以都可以乘一个k。但是x^2不是x。。。
这里就只能说是他的直觉了(不好洗...)
总之,"as x hath dimensions in that term",既然是x^2那就k+k吧。
所以k*y ~~ (2k)x^2
(y'/y)*y == (2*x'/x)*x^2
推广到原函数,就是(i*x'/x+j*y'/y)。
退一万步讲,就算他是碰巧凑出来的,人家也是对的。。。
以y=x^2为例子,y-x^2=0
设y=t^2,x=t,代入他的结论:
(dy/dt/y)*y-(2*dx/dt/x)*x^2=0
(2t/t^2)*t^2-(2*1/t)*t^2=0
2t-2t=0 (确实没毛病)
第二部分
红线以下的第二部分推导就是正儿八经的y=x^n导数推导了,和现代的教学过程差不多。不过其实和高中的一些教材推导是有小差别的。
总之一个关键的结论就是有f(x,y)=0,就有f(x+o*x',y+o*y')=0,这里o和我前面用的dt含义是一样的。所以就是f(x+o*dx/o,y+o*dy/o)=0。
例子,用这个办法,推导y=x^2的切线方向。
对于牛顿来说,得到切线方向才是最终目标,也就是y'/x'。
y-x^2=0得y+o*y'-(x+o*x')^2=0
展开整理(y-x^2)+o*y'-2*o*x*x'-o^2*x'^2=0
前面=0可以删去,如果再舍去o^2项,那么
o*y'-2*o*x*x'=0
照理如果o是0,是不好除的。但它的设定是“flux”,那么不是0,可以除。
切线斜率就是2*x。
那么为什么可以舍去呢?这个国内外网上都查不到解释得比较好得,反倒是AI回答直接点醒:你tmd需求就决定了应该舍弃啊,你问我为啥不要?你要的就是切线,一次近似,就是含o的一次项。
“直线之所以为直线,就是因为它在每一个瞬间都是同一条直线”——中二患者


这时候再来看你用高中推导过程,实际上非常抽象的。
y(x+dx)-y(x) : dx =2*x+dx ~~2*x
我们之所以可以直接除dx,那就dx不是0啊。但是到结果的时候,又舍去了dx,因为它非常小?把它当0了?这是非常混淆的。
但是用牛顿的推导法,你就可以很清楚明白,为什么舍去含o的高次项目?因为我们要的是1次近似。为什么可以除?因为o是flux,我们从来没有忽略o的一次项,更不用说o*x'=dx。
PS:
我就一数学渣渣,大学挂科无数。有不对请多指正,谢谢。