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