度量衡革命,計算方法也跟著全新革命│《電腦簡史》 齒輪時代(十七)

法國大革命後,重新制定度量衡,一律改成十進位的公制。沒想到就連時間、角度也都要改,但如此一來,三角函數就得重新計算。一位法國數學家突法奇想,將工廠製造大頭針的方法用來計算對數表與三角函數表。這個分工合作的方法影響深遠,不但美國太空總署初期的太空任務仍然沿用,也啟發了一位英國數學家設計第一台真正的計算機。

本文為系列文章,上一篇請見:從加減到乘除,四則計算器終於現身│《電腦簡史》 齒輪時代(十六)

法國大革命,度量衡也要革命

歷史總是不斷重演,當天災與人禍的雙重壓力到達頂點,往往造成政權更替。 1780 年代,法國因為連續乾旱與極端氣候導致糧食不足、民不聊生,一般人民更無力繳稅給地主、教會與政府。然而王公貴族與教會等上層階級卻幾乎無需繳稅,人民早已憤恨不平。

另一方面,法國為了支持美國脫離英國獨立,也派軍參與美國獨立戰爭,導致政府財政更加困難。為了增加稅收,王室於 1789 年召開由教士、貴族與平民組成的三級會議,希望透過決議,名正言順地向貴族與教會加徵土地稅。不過貴族與教會不願放棄既得利益,百般阻撓,積怨已深的平民代表乾脆自組國民會議,號召制憲。國王立即派兵鎮壓,結果反而激起法國大革命,成功推翻帝制,建立歐洲第一個民主共和國。

在全面除舊布新的改革聲浪下,國民議會要求法國科學院制定一套十進位制的全新度量衡,做為全國統一的標準。 1791 年,法國科學院定義出公尺的長度與公斤的大小,再據以制定長度、面積、體積、重量等單位,這套十進位制的公制便一直沿用至今,通行全世界。

十進位制的時鐘,大指針顯示 03:16:86,小指針顯示24小時制的 07:34。圖/wikipedia

蝦咪,圓周變成 400 度,三角函數怎麼辦?

除此之外,任何傳統非十進位的方式,在當時學者的眼中,也都不科學。所以複雜的貨幣單位(害得巴斯卡不得不發明加法器)要改成十進位,甚至傳統六十進位的時間單位也得改,改為一天 10 小時、一小時 100 分鐘、一分鐘 100 秒。不僅如此,就連圓周 360 度也改為 400 度。這麼一來直角不再是 90 度,而是 100 度,從古希臘以降的三角函數全亂了,勢必得重新計算數值。

三角函數表對數表一樣重要,除了用於天文計算,航海導航、土地測量也都需要用到。法國大革命後,百廢待興,重新測繪地籍圖也是其中一項首要之務,更急需新定義的三角函數。

這項重責大任落到了數學家德普羅尼 (Gaspard de Prony)身上。他不僅要製作全新的三角函數表,也打算重新編製對數表,而且精確度要提高到前所未有的程度。這意謂著表格裡的數值比以往切分得更細,也就是說要塞進更多數字,而且每個數字要算到小數點後更多位數(至少 14 位數以上)。

Gaspard de Prony

數學家德普羅尼 (Gaspard de Prony, 1955 – 1839)。圖/Wikipedia

這當然是件浩大的工程。當年納皮爾憑花了十幾年的時間,才算出 90 頁的對數表,如今德普羅尼所面對的計算量,至少是納皮爾的千百倍以上。德普羅尼雖然是帶領著一個團隊,但即使大家分頭計算,也要算到地老天荒;而且讓法國數學家完全投入單調重複的計算工作,根本是浪費他們的才能。面對這個不可能的任務,德普羅尼突然靈光一閃,想到蘇格蘭經濟學家亞當·斯密 (Adam Smith)所寫的《國富論》(The Wealth of Nations)。

工廠有作業員,計算何不用計算員?

《國富論》出版於 1776 年,堪稱奠定現代經濟學、同時也是影響最深遠的經典著作。這本書主要闡述市場運作彷彿有隻「看不見的手」在指導,使得全體國民致力於追求個人利益的同時,也促進了群體的福祉裡面。除了市場面,亞當·斯密也論及生產方式,主張專業分工才能提高生產效率。

他舉大頭針工廠為例,大頭針的製造過程大致可分為把鐵絲拉長、拉直、裁剪、削尖、拋光、結合針頭等步驟。相較於讓每個工人從頭到尾一手包辦,改成讓每個工人只專注於其中一項製程,反而能大幅提升生產效率。

1762 年《百科全書》(Diderot’s Encyclopédie)中有關工廠分工的版畫。圖/wikimedia

德普羅尼認為這也可以套用到對數表與三角函數表的計算。於是他把計算工作拆分成三個階段:

  • 第一階段只需要五、六位數學家,他們負責將對數與三角函數轉換為適當的多項式函數,並決定計算的數值範圍,以及精確到小數點幾位。
  • 第二階段由七、八位學生拆解多項式函數,直到算出固定差值,就可以做出「差分法」的計算工作表,留給下個階段的人計算(可參見底下說明)。
  • 大量的計算工作都在第三階段,由六十到八十位計算員執行 。這些計算員只要會加法就可以了,不需懂數學;其中不少人原本是宮廷的美髮師,大革命後便失業了,而被德普羅尼找來當計算員。事實上 “computer” 這個字在代表電腦之前,原來就是指專門負責計算的人。他們只要根據計算工作表上的數字,逐格填入累加的結果,就能算出所需要的函數值。

武林秘笈無用武之地,武功心法成後世典範

從 1793 年開始,德普羅尼帶著團隊以這種分工合作的方法,於 1796 年就完成多達二十萬個對數的對數表(前十萬個算到小數點後 19 位,後十萬個到第 24 位),與精確到千分之一度的三角函數表

不過法國大革命後,派系互鬥,政局幾無寧日,德普羅尼遲遲未能獲得經費印刷成冊。1804 年拿破崙廢除共和,即位皇帝沒多久後,就將時間與圓周角度恢復成舊制,新三角函數表已毫無用處。而太過精確的對數表,在實際應用上也不需要,因此德普羅尼等於白忙一場,多達十七冊的數值表手稿從此束之高閣,收藏在法國科學院的圖書館內。

德普羅尼的曠世之作雖然未能在當代發揮作用,但是他以生產線專業分工的方式,處理大量計算工作的創舉,卻成為後世的典範。在現代電腦出現之前,這個方式被廣泛運用於大型專案,例如美國太空總署初期的太空計畫,便雇用了大量女性當計算員。(電影《關鍵少數》(Hidden Figures)的主角便是其中幾位卓越的非裔女性。)

電影《關鍵少數》就是描述美國太空總署初期的太空計畫中,這些計算員的故事。圖/imdb

另一方面,深藏在法國科學院內的十七冊手稿,仍等待著有緣人發現它的真諦。十幾年後,一位來自英國的青年數學家來到法國科學院,才得知這份寶典的存在;他將從中獲得啟示,著手打造史上第一部真正的計算機。


小教室:差分法

如果知道兩個函數值之間的差值,也就是f(x+1) = f(x) + D,那麼只要不斷累加差值 D,便能推算出多項式函數的所有答案,這就是差分法。

f(x) = x2 + x + 41 這個函數為例f(x+1) = (x+1)2+(x+1)+41 = x2+2x+1+x+1+41 = f(x)+(2x+2) ,2x+2為第一階差值。再對 f’(x)=2x+2如法炮製,可得出 f’(x+1) = f’(x)+2,即第二階差值固定為 2。

  x  

 函數值

x2 + x + 41

第一階差值

2x+2

第二階差值

2

0 41 2 2
1 43 4 2
2 47 6 2
3 53 8 2
4 61 10 2
5 71 12 2

知道第二階差值等於 2 ,就可以不斷累加,得出第一階差值:2、4、6、8、10、……。

然後從 x = 0 的函數值 f(0) = 41 開始,再不斷累加第一階差值,即 f(1)=41+2=43; f(2)=43+4=47; f(3)=47+6=53;…… 以此類推,一直計算到所需要的位數為止。

二次函數的固定差值出現在第二階,三次函數則出現在第三階,以此類推。所以任何多項式函數一定可以用差分法算出答案。這個方法不用乘法,光靠加法就能算出任何多項式函數的值,因此不用懂數學也能幫忙計算。

  • 註:此處舉例的函數是出自大數學家歐拉(Leonhard Euler)於 1772 年發現的質數公式,前 40 個函數值都是質數。

關於作者

張瑞棋

1987年清華大學工業工程系畢業,1992年取得美國西北大學工業工程碩士。自小喜愛科學新知,浮沉科技業近二十載後,退休賦閒在家,更成為重度閱讀者。當了中年大叔才成為泛科學專欄作者,著有《科學史上的今天》一書,如今又因翻譯《解事者》,而多了個譯者的身分。

網站更新隱私權聲明
本網站使用 cookie 及其他相關技術分析以確保使用者獲得最佳體驗,通過我們的網站,您確認並同意本網站的隱私權政策更新,了解最新隱私權政策