詹姆斯·威尔金森
----数值分析专家和研制ACE计算机的功臣
(James H. Wilkinson)
大家知道,计算机的应用有两大领域:数值应用领域和非数值应用领域。所谓数值应用,是指解各种方程和函数,求得它们的数值解,处理对象是数值数据;所谓非数值应用,主要指大家熟悉的数据管理和数据处理,其他如过程控制、定理证明、推理等也属这一类,处理对象是非数值数据。早期的计算机由于尚未解决字母、字符的表示和没有大容量的存储器,只能用于科学与工程计算。非数值应用是在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岁。