陳凱
在倫敦科學(xué)博物館有一臺(tái)巴貝奇的差分機(jī)的復(fù)制品,說(shuō)它是復(fù)制品,其實(shí)并不是很確切,因?yàn)樵?9世紀(jì)20年代,巴貝奇本人也只是做出了差分機(jī)的一部分,證明了這個(gè)機(jī)械的可行性?,F(xiàn)在的工程師利用巴貝奇留下的圖紙,按照當(dāng)時(shí)的工藝,耗費(fèi)了大量的資金和時(shí)間,才完成了整個(gè)差分機(jī)的制作。
巴貝奇的差分機(jī)到底有什么用?通俗來(lái)講,就是把多項(xiàng)式中的乘法變成加法,然后通過(guò)齒輪的傳動(dòng)計(jì)算出結(jié)果。舉一個(gè)簡(jiǎn)單的例子,對(duì)于Y=X^2,當(dāng)X值為1時(shí),Y的值就是1,當(dāng)X值為2、3、4、5…時(shí),Y的值就是4、9、16、25…。雖然說(shuō),做4的平方,可以撥動(dòng)4次齒輪,每次撥4格;做5的平方,可以撥動(dòng)5次齒輪,每次撥5格,但這樣實(shí)在是太不自動(dòng)化了,碰到更高層次的多項(xiàng)式,工作量就以指數(shù)級(jí)別增加。巴貝奇想要的是一臺(tái)自動(dòng)的機(jī)械,輸入X值,這些齒輪能自動(dòng)給出多項(xiàng)式的結(jié)果。其中的原理,可以用一個(gè)畫(huà)圖實(shí)驗(yàn)展現(xiàn)出來(lái)。
做一個(gè)三列n行的表,如三列五行,在第一行的第二列畫(huà)一個(gè)點(diǎn),在第三列的每一行都畫(huà)兩個(gè)點(diǎn)(如圖1)。
接下來(lái),從第二行開(kāi)始畫(huà)點(diǎn),規(guī)則是,當(dāng)前格子里的點(diǎn)的數(shù)量是當(dāng)前格子上方及右上方點(diǎn)的數(shù)量的總和。例如,第二行第一列上方?jīng)]有點(diǎn),而右上方有一個(gè)點(diǎn),則當(dāng)前格子畫(huà)一個(gè)點(diǎn)。又如,在第二行第二列上方有一個(gè)點(diǎn),而右上方有兩個(gè)點(diǎn),則當(dāng)前格子畫(huà)三個(gè)點(diǎn),按這個(gè)規(guī)則從第二行往下依次填完表格(如圖2)。
大家可以發(fā)現(xiàn),最左面一列的點(diǎn)的數(shù)量從上往下依次是1、4、9、16,對(duì)應(yīng)的是1、2、3、4的平方,這樣就可以借助加法運(yùn)算完成乘方的運(yùn)算。巴貝奇用齒輪傳動(dòng)來(lái)實(shí)現(xiàn)以上運(yùn)算的自動(dòng)化過(guò)程,但這實(shí)在太復(fù)雜了?,F(xiàn)如今,人們通過(guò)編程或電子表格等工具都可以模擬差分機(jī)的運(yùn)算過(guò)程。本文借助Word的宏來(lái)完成自動(dòng)運(yùn)算,能顯得更有趣些。為了簡(jiǎn)化運(yùn)算,其實(shí)只需要一行三列的表格。將鼠標(biāo)定位在第一列,然后按如下過(guò)程錄制宏:Tab—復(fù)制—Home—左箭頭—粘貼—Tab—Tab—復(fù)制—Home—左箭頭—粘貼—Home—左箭頭。
初始狀態(tài)如圖3所示,最左面一格的點(diǎn)的數(shù)量正好是3的平方。
執(zhí)行三次宏后,結(jié)果如圖4所示。
如果大家想知道更高次方的運(yùn)算是如何實(shí)現(xiàn)的,可訪問(wèn)http://ed-thelen.org/bab/bab-diff-JavaScript.html網(wǎng)頁(yè),在差分機(jī)的模擬器上進(jìn)行更深入的研究。有興趣的朋友,可以試著在Word中做一張表來(lái)實(shí)現(xiàn)Y=X^3或更高次方的運(yùn)算。