天文計算涉及龐大的數目,令天文學家頭痛不已。結果竟是由納皮爾這位業餘數學家另闢蹊徑,發明對數將計算化繁為簡,才拯救了天文學家。對數幫助了克卜勒編製星表,克卜勒又激發希卡德這位毫無相關經驗的牧師,投身發明計算器,而所用的原理正是「納皮爾骨牌」。史上第一台四則運算計算器就在一連串機緣巧合中誕生,然而不幸一場大火……。
本文為系列文章,上一篇請見:神乎其技的下棋機器人,是場世紀騙局?!│《電腦簡史》 齒輪時代(十三)
第谷深陷計算地獄,納皮爾矢言伸援手
1576 年,天文學家第谷 (Tycho Brahe) 在丹麥國王的支持下,建造歐洲規模最大的天文台。雖然當時還沒發明望遠鏡,但第谷靠著自己設計的許多觀測儀器,加上極佳的視力,二十年下來,記錄了多達一千顆星星的觀測資料,精確性更大幅超越以往。
不過後續的計算工作比起觀測更加艱鉅。因為天文計算牽涉到很多位數的相乘或相除;加法和減法還能用算籌或算盤這類工具幫忙計算,但乘法和除法就完全只能靠紙筆了。因此對第谷而言,要處理這麼龐大的觀測資料,真的相當費神又耗時。
第谷身陷計算地獄之事,傳到了蘇格蘭貴族納皮爾 (John Napier) 耳中。納皮爾興趣廣泛,從神學辯論、招魂術到煉金術,都相當熱衷,甚至還著手設計一些戰爭武器,但就是還沒發表過數學著作。沒想到都已經四十幾歲的納皮爾,為了研究如何解決第谷的計算之苦,竟然就一頭栽入數學之中。經過二十年的努力,這一位半路出家的業餘數學家,還真的找出化繁為簡的解決方案——用「對數」將乘法化為加法、除法化為減法。在1614年發表的《奇妙的對數規則之描述》這本書中,納皮爾除了詳述對數的運算方式,並附有 90 頁的「對數表」,裡面的數字是他耗費多年光陰,一個一個算出來的。
納皮爾於 1614 年出版的《奇妙的對數規則之描述》。圖\wikipedia
對數運算有巧門,乘除從此變加減
所謂對數就是某個數字所對應的指數,例如 16 是 2 的 4 次方,也是 4 的 2 次方,所以 16 以 2 為底的對數是 4 ,但若以 4 為底則對數是 2 。這裡我們用個特殊的例子來說明如何用對數簡化乘法的計算。假設對數表就是以 2 為底,現在要算 256 x 64 ,首先從對數表查到這兩個數字分別出現在第八格與第六格 (256=28、64=26) ,然後把 8 和 6 相加得到 14 (因為 28 x 26 =28+6) ,再查對數表的第十四格,裡面所載的數字 16384 便是答案。
當然,上面的例子並非真正的對數表。無論是納皮爾最初的版本,或是後來常用的以 10 或自然數 e 為底的對數表,裡面一格與一格之間的數字間距要小得多,這樣找到的近似值才會接近實際答案。不過基本上,納皮爾就是用這個原理把兩數相乘,化為它們的對數相加(相除則變成相減),讓計算變得簡單許多。天文學家從此省下大幅的計算時間,大數學家拉普拉斯 (Pierre-Simon Laplace) 就曾讚譽說:「對數的發明簡化了計算,使天文學家的壽命增加了一倍。」
除了對數與對數表,納皮爾還發明暱稱為「納皮爾骨牌」 (Napier’s bones) 的計算工具。它有一個底座與九支骨牌,底座左邊由上到下寫了 1 到 9 ;骨牌的四個面則分別刻有九九乘法表其中一欄數字。計算兩數相乘時,挑出對應被乘數的那幾支骨牌,依序擺到底座中,然後從乘數的個位數開始,寫下骨牌在那一列的數字(進位的數字須自己心算相加),接著再寫乘數十位數那列,……如此下去。這其實就是長乘法,只是利用刻好九九乘法表的骨牌加速計算。
十八世紀改良的納皮爾骨牌。圖\wikipedia
第谷與納皮爾惜未見成果,克卜勒取兩人遺緒創新局
只可惜第谷等不到納皮爾發表的全新計算工具。 1601 年,第谷參加國王的宴會,卻因為不敢中途離席而憋尿過久,導致膀胱發炎而亡。第谷臨終前把去年才聘來幫忙計算的克卜勒叫到身旁,將所有觀測資料托付給他,囑咐他一定要找出行星運行的模型。第谷最後盯著克卜勒的眼睛,吐出:「別讓我就這麼白來一遭!」才瞑目。 (第谷的死因與臨終遺言,都是來自克卜勒的片面之詞。因此歷史上一直有克卜勒為奪取觀測資料,而對第谷下毒的傳言。直到 2010 年挖出第谷的棺木,由醫學團隊徹底檢驗其遺體後,才排除中毒的可能,終止此一流言。)
克卜勒不負所托,先於 1609 年發表行星運動的第一、第二定律,再於 1619 年出版的《世界的和諧》 (Harmony of the World) 書中,發表他前一年發現的第三定律。我們不確定納皮爾的對數是否有助於他找出第三定律,但可以肯定的是,克卜勒於 1620 年出版的星曆表 (Ephemeris ,刊載星星每天特定時刻在天空什麼位置的相關資訊) 中,已經是用對數計算編製而成;克卜勒還特地在書中註明獻給納皮爾,表示感謝。不過納皮爾也來不及看到,他於 1617 年就過世了。
1617 這一年對克卜勒也是多事之秋。他的幼女才於九月夭折,接著他的母親竟然被控是女巫,將面臨攸關生死的審判。他當時忙著編寫《世界的和諧》,另外《哥白尼天文學概要》 (Epitome of Copernican Astronomy) 這套天文學教科書的第四冊,也正在編排中。現在這些都只能擱在一旁,先趕回德國家鄉為母親辯護。(他母親後來幸運逃過死刑,「只」被判刑十四個月。)沒想到這趟返鄉之旅,竟無意中促成史上第一台加減乘計算器的發明。
克卜勒與希卡德相遇,史上首部計算機乍現
克卜勒本身是路德教派,回到家鄉後隨即拜會當地的路德教會,因而結識牧師威廉·希卡德 (Wilhelm Schickard) 。克卜勒發現希卡德對木版與銅版雕刻也都有頗深的造詣,於是便邀請他為《哥白尼天文學概要》刻製插圖。在討論時,克卜勒提及天文計算相當繁複耗時(此時他還沒看過納皮爾的著作),希卡德聽了之後,竟決定為克卜勒打造一部計算器,一如當年納皮爾想幫第谷解決計算之苦。
1623 年 9 月 20 日,希卡德寫信給克卜勒,聲稱自己已經設計出可做四則運算的計算器。隔年二月,希卡德再稍來一封信,附上計算器的草圖,詳細解釋運作方式。這部計算器其實就是加了齒輪的納皮爾骨牌。它的上半部有六根垂直的轉軸,作用相當於方形的骨牌;以及八支代表乘數的橫桿。橫桿下方有六個轉盤,原本用納皮爾骨牌須一一手寫再相加,現在用轉盤就能自動加總,加總的結果會顯示於下方的數字窗格,答案一目了然。
不過希卡德最後在信末提及一個不幸的消息:這部機器本來已經快打造好了,待完成後就可以送給克卜勒。不料工匠的處所發生火災,機器的半成品就這麼燒毀了。
如果沒有那場大火呢? 1950 年代,有人根據希卡德信中的描述,打造出這部機器,證實可以正常運作,完成希卡德所宣稱的功能。不過在連續進位時 (例如 999 進位到 1000) ,好幾個齒輪嚙合在一起,要非常用力才能轉動轉盤,很難操作,而且輪齒也因此容易損壞。可以想見就算克卜勒真的收到這部機器,也不見得會拿來用。
無論如何,希卡德從此沒再向克卜勒提及這部機器的後續計畫。不知是因為希卡德本身財力不夠,沒錢繼續開發;或是他後來轉到大學任教,事務繁忙無暇他顧,總之這部機器就這麼胎死腹中,從未問世。事實上,當時已出現攜帶方便的對數計算尺,任何三位數之內的加減乘除,只要左右移動「滑動尺」,就可從尺上的對數刻度換算出答案。而對須要計算更多位數的天文學家而言,對數與對數表仍是最佳的計算工具。因此希卡德的計算器即使問世,也免不了大而無當、乏人問津的命運。
另一方面,希卡德寫給克卜勒的信竟埋沒了三百年才被發現,也就是說在二十世紀之前,沒有其他人知道希卡德的設計,這意謂著他的發明無論是在當時或對後世,都毫無影響。下一次計算器的發明已是二十年後,與希卡德的設計毫無牽連,也無關乎天文計算,而是為了解決另一個工作的困擾。