詹姆斯·威爾金森 - 計算機應(yīng)用
大家知道,計算機的應(yīng)用有兩大領(lǐng)域:數(shù)值應(yīng)用領(lǐng)域和非數(shù)值應(yīng)用領(lǐng)域。所謂數(shù)值應(yīng)用,是指解各種方程和函數(shù),求得它們的數(shù)值解,處理對象是數(shù)值數(shù)據(jù);所謂非數(shù)值應(yīng)用,主要指大家熟悉的數(shù)據(jù)管理和數(shù)據(jù)處理,其他如過程控制、定理證明、推理等也屬這一類,處理對象是非數(shù)值數(shù)據(jù)。早期的計算機由于尚未解決字母、字符的表示和沒有大容量的存儲器,只能用于科學(xué)與工程計算。非數(shù)值應(yīng)用是在20世紀(jì)50年代中期發(fā)明了字符發(fā)生器(Character Generator)和磁盤存儲器以后才逐漸發(fā)展起來的。在數(shù)值應(yīng)用方面,計算機實際上只能做最簡單的加、減、乘、除等四則運算,并不能直接解比如微分方程或求各種復(fù)雜的函數(shù);遇到它們,要先由數(shù)學(xué)家利用各種數(shù)學(xué)變換方法把它們轉(zhuǎn)變?yōu)橐幌盗兴阈g(shù)運算,這叫“數(shù)值分析”或“計算方法”。由于20世紀(jì)五六十年代計算機以數(shù)值應(yīng)用為主,因此1970年的圖靈獎授予了一位在發(fā)展數(shù)值分析技術(shù)和方法方面作出了杰出貢獻的數(shù)學(xué)家就不足為奇了,他就是英國皇家學(xué)會院土、著名的數(shù)值分析專家詹姆斯· 威爾金森(James Hardy Wilkinson,1919—1986)。但令人驚奇的是,這位數(shù)學(xué)家在建造由圖靈設(shè)計的ACE計算機中竟然扮演了舉足輕重甚至最關(guān)鍵的角色。詹姆斯·威爾金森 - 生平
威爾金森1919年9月27日生于英國肯特郡的斯特洛特(Strood,Kent)。他的初等教育階段是在位于倫敦東郊的羅切斯特的一所由著名的數(shù)學(xué)家約瑟夫·威廉姆松爵士(Joseph Williamson)創(chuàng)辦的數(shù)學(xué)學(xué)校中度過的。然后在劍橋最負(fù)盛名的“三圣學(xué)院”(Trinity College)接受了嚴(yán)格的教育,成績出眾,16歲時獲得三圣學(xué)院的最高榮譽——Trinity Major Scholarship,并因而免試進入劍橋大學(xué)。1939年威爾金森獲得一等榮譽獎?wù)聫膭虍厴I(yè)時年方19。由于第二次世界大戰(zhàn),他畢業(yè)后進人劍橋數(shù)學(xué)實驗室的軍械研究所(Armament Re-search Department)工作,研究與解決有關(guān)彈道方面的問題,開始對計算數(shù)學(xué)發(fā)生興趣。也是在那里,他遇到了他未來的終身伴侶、也在劍橋獲得過一等榮譽獎?wù)碌呐當(dāng)?shù)學(xué)家維婀(H.N.Ware),他們于1945年結(jié)婚。戰(zhàn)后,他進入英國最著名的學(xué)術(shù)機構(gòu)之一國家物理實驗室NPL的數(shù)學(xué)部,一半時間在臺式計算機處工作,一半時間協(xié)助圖靈設(shè)計計算機ACE。關(guān)于ACE計算機的研制情況,我們在前面介紹圖靈時已經(jīng)簡單提到過了,這里不再贅述。需要指出的是,在圖靈離開NPL由威爾金森接手負(fù)責(zé)該項目后,威爾金森總結(jié)了前階段設(shè)計與實施ACE的經(jīng)驗教訓(xùn),果斷地采取了兩項措施,一是與工程小組加強聯(lián)系、交流、溝通、合作,改變過去那種隔絕甚至對峙的局面,二是決定放棄原先過于龐大的計劃和過于龐大的規(guī)模,改搞試驗性的ACE,也就是Pilot ACE。當(dāng)圖靈離開NPL時,他設(shè)計的ACE已是“第八版”,單是水銀延遲線存儲器就要用200根延遲線。威爾金森實事求是地估計了延遲線加工上的困難和它工作的不可靠性,決定將Pilot ACE,退回到ACE"第五版”的基礎(chǔ)上,把延遲線減少到32根,把整個機器的設(shè)計目標(biāo)降到能用高斯消去法解8~10個聯(lián)立線性方程。幸運的是,這時,原先負(fù)責(zé)工程的托馬斯也離開了NPL,接替他的是老資格的無線電工程師考爾勃洛克(F.M.Colebrook),他雖然對脈沖技術(shù)并不熟悉,卻擅長項目組織,主動邀請威爾金森在內(nèi)的4個高級設(shè)計師以半固定的方式參加電子學(xué)小組的工作,從而進一步密切了雙方的關(guān)系。同時,新調(diào)來的電子學(xué)小組的技術(shù)負(fù)責(zé)人紐曼(E.Newman)是大戰(zhàn)時參加過H2S機載雷達(dá)系統(tǒng)工作的專家,同威爾金森相處得也很好。這樣,工程進展明顯加快,1950年5月10日,Pilot ACE第一次正式試運行成功,1950年11月,NPL舉行了隆重的“開放日”(OpenDay),邀請新聞界和一批知名的VIP(Very Important Person)參觀ACE,ACE成功地表演了三個程序:由參觀者任意給出一個6位數(shù),機器判定它是否是素數(shù),如果不是素數(shù),給出其一個因子;由參觀者任意說出0—9999年中的任意一個日期,由機器給出這天是星期幾;由機器跟蹤光線通過一組棱鏡后的偏振光。ACE計算機研制成功以后,由EEC公司(English Electric Company)批量生產(chǎn)了約30臺,其商業(yè)名稱為DEUCE。DEUCE和劍橋大學(xué)研制的EDSAC計算機一起,使20世紀(jì)50年代的英國計算機技術(shù)處于世界領(lǐng)先水平,能和美國乎起平坐。第一臺Pilot ACE現(xiàn)在在倫敦的肯辛頓科學(xué)博物館保存、展覽。1984年7月13日,在滑鐵盧大學(xué)舉行的一次國際學(xué)術(shù)會議期間,威爾金森接受丁BYTE雜志安排的一次采訪,詳細(xì)回憶了ACE計算機誕生的過程。有興趣的讀者可參閱該刊1985年2月,177—194頁,“一臺計算機的誕生”(The Birth of a Computer)。
當(dāng)然,作為一名數(shù)學(xué)家,威爾金森的主要貢獻還是在數(shù)值分析方面,尤其是在數(shù)值線性代數(shù)方面。1960年,他提出“向后誤差分析法”(backward error analysis),成為數(shù)學(xué)誤差理論中最基本的方法之一。向后誤差分析是一種先驗性估計,下面我們對它作一簡要介紹。
假設(shè)結(jié)果由已知量(原始數(shù)據(jù)或先前已算出的量)a1,a2,a3,…,an經(jīng)過基本算術(shù)運算確定,寫成
x=f(a1,a2,a3,…,an)
由于計算中產(chǎn)生舍人誤差(rounding error),實際算出的值a與準(zhǔn)確值x不同。向后誤差分析法把舍人誤差與導(dǎo)出a的已知量a1,a2,a3,…,an。的某種攝動(即微小誤差)聯(lián)系起來,即對某個ai引進攝動量εi,使得由浮點運算得到等式:
a=f(a1+ε1,a2+ε2,a3+ε3,…,an+εn)
再推出這些εi的界(εi不是唯一的,且無須求出εi的具體值),然后再利用攝動理論(perturbation theory)估計最后舍人誤差12—01的界。
向后誤差分析是威爾金森20世紀(jì)60年代初在研究矩陣計算的誤差時作了系統(tǒng)分析而提出的,目前是計算機上各種數(shù)值計算最常用的誤差分析手段。
20世紀(jì)60年代,威爾金森在NPL組織開發(fā)了一個用以測試系統(tǒng)浮點運算能力的基準(zhǔn)程序(Benchmark)叫Whetstone。Whetstone規(guī)模不大,對存儲器容量要求較小,主要使用高速緩沖存儲器,適用于評估小型的科學(xué)、工程應(yīng)用系統(tǒng)。Whetstone除了可以測試機器的硬件性能外,還可以用來評估系統(tǒng)數(shù)學(xué)程序集,語言編譯器及其處理效率,其測試結(jié)果用KWIPS(每秒執(zhí)行1 000條Whetstone指令)或MWIPS(每秒執(zhí)行1 000 000條Whetstone指令)表示。1976年Whetstone被作為英國的官方測試標(biāo)準(zhǔn)公布,已有Fortran、Pascal等多種版本,常被用作工作站的測試程序。
1976年,威爾金森積極參與并推動成立了一個非贏利性的名為NAG的公司(Numerical Algorithms Group Ltd.)以開發(fā)和推廣數(shù)值分析和統(tǒng)計分析的軟件包,吸引了世界上許多大學(xué)和政府研究機構(gòu)的專家共同合作。NAG已經(jīng)為68種型號的計算機配備了Fortran庫,Ada、Pascal、C的通用數(shù)學(xué)庫也已上市。NAG推出的Mark 15版數(shù)學(xué)庫中已包括用戶可調(diào)用的程序模塊1 045個,是同類數(shù)學(xué)庫中規(guī)模最大也最先進的一個,威爾金森在其中發(fā)揮了重要的作用。此外,在由美國阿爾貢(Argonne)實驗室NATS(National Activity to Test Software),小組于1972年開發(fā)的EISPACK軟件包計劃中,威爾金森也曾積極參與并貢獻過力量,目前它是計算矩陣特征值最常用的數(shù)學(xué)庫。
威爾金森出版的幾部數(shù)學(xué)專著,如《代數(shù)處理中的舍人誤差》(Rounding Errors in Algebraic Processes,Prentice·Hall,1964),《代數(shù)特征值問題》(The Algebraic Eigenvalue Problem,Clarendon pr.,1965.中譯本由石鐘慈等譯,科學(xué)出版社出版),《自動計算手冊卷2:線性代數(shù)》(Handbook for Automatic Computation,V01.2,Linear Algebra,Springer,1971,與C.Reinsch合著),都在學(xué)術(shù)界有很大影響,被視為經(jīng)典和必備參考書。
威爾金森從1946年進入NPL到1980年正式退休,為NPL服務(wù)長達(dá)34年,其間曾長期擔(dān)任NPL的學(xué)術(shù)長官,并被命名為“有特殊貢獻的首席科學(xué)長官”(Special Merit Chief Scientific Officer),這在英國的行政機構(gòu)中是一個極高而極少被授予的榮譽稱號。這除了由于其個人在學(xué)術(shù)上的造詣和貢獻外,還由于他在NPL營造了一個濃厚而民主的學(xué)術(shù)空氣,能使有才華的年青人脫穎而出,敢于創(chuàng)新。在很長時間里,NPL都是歐洲乃至全世界最有創(chuàng)新精神的研究所之一,也是水平最高的研究機構(gòu)之一。例如,20世紀(jì)60年代在開展計算機聯(lián)網(wǎng)技術(shù)的研究中,NPL的數(shù)據(jù)網(wǎng)絡(luò)計劃(Data Network Project)中就率先采用了“包交換技術(shù)”(packet-switching),成為當(dāng)今包括Internet在內(nèi)的所有各種類型計算機網(wǎng)絡(luò)信息傳輸?shù)募夹g(shù)基礎(chǔ)。把“報文分組”通俗而形象地叫做“包”就是NPL當(dāng)時的自動化部的年青主任戴維斯(D,W.Davies)的創(chuàng)造。
威爾金森除了獲得圖靈獎以外,還有許多榮譽與獎勵。1963年劍橋大學(xué)授予他名譽博士學(xué)位;1969年他當(dāng)選為英國皇家學(xué)會院士;1970年工業(yè)和應(yīng)用數(shù)學(xué)會(S1AM)授予他馮·諾伊曼獎;1987年他獲得美國數(shù)學(xué)會的Chauvenet獎。著名的美國阿爾貢國家實驗室曾聘威爾金森為榮譽高級研究員并兩次向他授獎。
威爾金森在接受圖靈獎時發(fā)表了題為“一個數(shù)值分析家的若干意見”(Some Comments froma Numerical Analyst)的演說,刊載于Journal of ACM,1997年4月,137—147頁,也可見《前20年的ACM的圖靈獎的演說集》(ACM Award Lectures—The First 20 Years:1996-1985,ACM Pr.),243—256頁。
威爾金森1980年退休后擔(dān)任斯坦福大學(xué)客座教授,1986年10月5日在英國坦丁頓的家中不幸病逝,享年67歲。