數值計算先驅 - James Hardy Wilkinson
在《EDSAC 計算機之父——Maurice Wilkes》,介紹了 Wilkes 和他的 EDSAC 計算機。其中說到,EDSAC 項目是英國第三個電子計算機項目,與此同時還有圖靈領導的 ACE 項目。
1945年,圖靈剛剛放下“二戰”的情報破譯工作,就立即設計了這種全新的電子計算機,并向政府申請資助。圖靈提交了一份非常詳細的設計報告,然后一直在國家物理實驗室埋頭編寫指令表(相當于我們現在編寫函數庫),并改進機器的設計。
經過很長時間的討論, 政府批準了這個項目,由達爾文爵士領導,圖靈擔任總設計師。達爾文為這個項目另外調派了兩位科學家, 其中之一,就是本文的主角,James Hardy Wilkinson。
1919年9月27日,Wilkinson 在英國肯特郡的斯特洛特出生,16歲時被劍橋大學破格錄取,19歲畢業獲得最高榮譽獎章。剛畢業, 二戰就爆發了,于是 Wilkinson 進入軍備研究所, 研究與彈道有關的問題, 在這里, 他對數值計算產生了濃厚的興趣。
戰后,Wilkinson 來到國家物理實驗室協助進行一項數值計算工作,他看到圖靈的 ACE 項目,立刻被吸引住了,并且留在這里工作。后來這個項目發生了一些人事上的矛盾,把圖靈給氣跑了( 這事兒我們上期也提過),于是 Wilkinson 就接管了整個 ACE 原型機的建造工作。
Wilkinson 接手之后,總結了前一階段的教訓,果斷采取了兩項措施,一是與工程實踐團隊加強聯系,改變過去的僵局;二是把 ACE 的設計方案回檔到第五版(圖靈走的時候,已經做完了第八版設計),把延遲線的數量減少到32根。
1950年5月10日,ACE 原型機第一次正式試運行成功。1950年11月,NPL 舉行了隆重的發布儀式, 隨后由 EEC 公司量產了大約30臺,其商業名稱為 DEUCE。DEUCE 和 Wilkes 的 EDSAC 計算機一起,使英國的計算機技術躍居世界領先水平,與美國不相上下。第一臺 ACE 原型機至今仍在倫敦的肯辛頓科學博物館里展出,有機會的讀者可以前去參觀。
除了 ACE 項目之外,Wilkinson 在數值計算方面也做出了先驅性的貢獻。1960年,Wilkinson 提出了“向后誤差分析法”,這是誤差理論中最基本的方法之一。向后誤差分析是一種先驗估計,假設一個計算結果x,是由已知量 a1,a2,a3,…,an 通過基本運算確定的,也就是:x=f(a1,a2,a3,…an)。由于數字計算機會產生舍入誤差,實際表示出的值x’與準確值x會有不同。向后誤差分析法把舍入誤差與已知量 a1,a2,a3,…an 的某種擾動聯系起來,引入擾動量εi,得到x’的表達式:x ‘ = f ( a 1 + ε 1 , a 2 + ε 2 , a 3 + ε 3…,an+εn)然后再推出這些εi的界,并以此推算最后的舍入誤差x’-x的界。最常見的例子,就是浮點數的計算。我們大家都知道,浮點數的機器表示為f=p*m^e(其中p是尾數,m是基值,e是階碼)。
這就是典型的由多個已知量共同確定的數值,而且它是有誤差的(在固定的位數和基底下,總是有一部分浮點數無法表示)。在這種情況下,如果需要分析其誤差,那么向后誤差分析法就是最常用的方法。
在那個年代,數值計算是計算機的主要用途,所以這一類算法具有非常重要的意義。
1 9 7 0 年,ACM 將圖靈獎授予 Wilkinson,以表彰其在 ACE 計算機項目、數值計算,尤其是向后誤差分析法方面的貢獻( 筆者個人認為,如果圖靈此時還活著, 考慮到他當初的 ACE 設計方案,他絕不會允許 Wi l k i n s o n 獲得圖靈獎) 。
同年,Wilkinson 還獲得了馮·諾伊曼獎。Wilkinson 一直為國家物理實驗室工作了34年,并在1980年退休后,擔任斯坦福大學客座教授。1986年10月5日,Wilkinson 在英國特丁頓的家中因病去世,享年67歲。
來自: http://www.programmer.com.cn/8834/