ECO中文网

标题: 1989 威廉·卡韩 [打印本页]

作者: shiyi18    时间: 2022-4-16 08:34
标题: 1989 威廉·卡韩
William Kahan

PHOTOGRAPHS
BIRTH:
June 5, 1933, in Toronto, Ontario, Canada

EDUCATION:
B.Sc. 1954; M.Sc. 1956; Ph.D. 1958 (all in Mathematics, University of Toronto); Honorary Doctor of Mathematics, University of Waterloo, Canada, 1998; Honorary Doctor of Mathematics, Chalmers Inst., Goteborg, Sweden, 1993.

EXPERIENCE:
Postdoctoral fellow, Cambridge University Mathematical Laboratory (UK) 1958-1960; Assistant/Associate Professor of Mathematics, University of Toronto 1960-1968; Professor of Mathematics/Electrical Engineering & Computer Science (currently Emeritus Professor), University of California Berkeley 1968.

HONORS AND AWARDS:
First ACM George. E. Forsythe Memorial Award (1972); ACM Turing Award, 1989; ACM Fellow (1994); SIAM John von Neumann Lecture (1997); IEEE Emanuel R. Piore Award (2000); Foreign (Canadian) Associate, National Academy of Engineering (2005). Holds honorary doctorates from Goteborg, Sweden (1993) and from University of Waterloo, Canada (1998).


WILLIAM (“VELVEL”) MORTON KAHAN DL Author Profile link
United States – 1989
CITATION
For his fundamental contributions to numerical analysis. One of the foremost experts on floating-point computations. Kahan has dedicated himself to "making the world safe for numerical computations"!

SHORT ANNOTATED
BIBLIOGRAPHY
RESEARCH
SUBJECTS
ADDITIONAL
MATERIALS
VIDEO INTERVIEW
William Kahan was born in Canada in 1933 and grew up around Toronto in a family of Jewish immigrants. His mother created dress designs for a successful factory run by his father. His family called him "Velvel", or "little wolf," a nickname still favored by his friends over the Anglicized "William." As a young man Kahan loved to fix mechanical and electronic devices, an inclination that gained him a summer job repairing electronic equipment used by Canadian Armed Forces for a while after WW-II. He has retained this love of tinkering throughout his life.He has retained this love of tinkering throughout his life. He kept a pair of customized 1984 Peugeot 505s running for more than thirty years, and long eschewed laser printers in favor of a dot matrix printer he had modified to rapidly print mathematical texts.

Kahan learned to program during the summer of 1953 as an undergraduate majoring in mathematics at the University of Toronto. The university was a center of early computer development and use, and owned FERUT, one of the world’s first commercially manufactured computers –the second Manchester Ferranti Mark I ever built.

Kahan describes working with the FERUT, a commercialized version of the pioneering Manchester Mark I.       
Remaining at Toronto as a graduate student, he focused his studies on numerical analysis and explored the new possibilities in applied mathematics that were opened up by the use of computers. He made extended visits to two other computing centers: he spent the summer of 1957 working on the ILLIAC I at the University of Illinois, and after completing his Ph.D. in 1958 spent two years with the EDSAC-2 at Cambridge University's Mathematical Laboratory.

He returned to Toronto in 1960 as a faculty member, where his research focused on the error-analysis of numerical computations. For Kahan this involved not just determination of the accuracy of calculated results, but also the design of new software and architectural features to improve accuracy while maintaining high performance. He created an integrated system of mathematical routines, compiler tweaks and operating system modifications for the university’s IBM 7094 computer to help programmers create accurate, high performance floating point code. Kahan played a leading role in the numerical analysis subgroup of the IBM computer user group SHARE, and spearheaded its successful campaign in 1966-1967 to force IBM to fix design flaws in the arithmetic of its new System /360 computers.

Kahan left Toronto in 1968 for the University of California, Berkeley, to bolster its newly created department of computer science. (Another Turing Award winner, Richard M. Karp, joined the same year as Kahan). Kahan credits the move to a combination of the attractions of Northern California for his children, who had been struck by its beauty during his recent sabbatical at Stanford University, and his dwindling faith in the future of high performance computing in Canada following the collapse of the country’s high technology defense sector.

Numerical analysis is at the intersection of computing and applied mathematics. Within that community Kahan is recognized as a researcher and theorist of exceptional talent. He contributed to several widely used algorithms, including the Golub-Kahan variant of the QR algorithm for singular value decomposition (used for matrix calculations fundamental to many kinds of computation) and a Compensated Summation algorithm to offset the worst rounding errors in trajectory computations.

Throughout his tenure at Berkeley, Kahan’s work involved the creation of practical tools as well as papers, algorithms and theorems. Together with his students he produced the widely used fdlibm mathematics library distributed with BSD Unix and used to implement mathematical computations for machines supporting the new IEEE 754 floating-point standard. Another widely used work was paranoia, a program that tests floating point arithmetic implementations for errors. He was also a committed, if demanding, teacher and invested considerable time tutoring undergraduates to solve problems of the kind encountered in the William Lowell Putnam Mathematics Competition.

At Berkeley, Kahan began to consult for computer manufacturers. From 1974 to 1984 he assisted Hewlett Packard with the mathematical functioning of its calculators, improving the accuracy and performance of many models, including the classic HP34C and HP12C, and adding widely used functions such as integrate and solve to package complex mathematical operations in a convenient and easy to use form. The continuing popularity of the HP12C financial calculator is testified to by its 30th anniversary edition, released in 2011.

Kahan recalls hist contribution to Hewlett-Packard’s programmable calculators, including the Solve and Integrate keys.       
During a long and productive relationship with Intel he specified the design for its floating-point arithmetic on several chips starting with the 8087, released in 1980, and then the 80387 and 486DX. Thanks to the success of IBM's Personal Computer and its direct descendants, those chips were used on millions of computers. When Intel redesigned its floating point implementation for the Pentium processor, launched in 1994, it introduced a high profile "Divide bug"; subsequently Kahan supplied a test program to prevent that from happening again.

Kahan describes the floating point system he designed for Intel and its initial implementation in the 8087 coprocessor chip.       
In 1977 Kahan became active in the fledgling IEEE effort initiated by Robert Stewart to define a standard for computer arithmetic. Variations in floating-point arithmetics implemented on different kinds of computers often caused programs written in a standard language such as FORTRAN to give very different results when recompiled and run on another computer. The sudden proliferation of microprocessors and workstation systems threatened to worsen diversity and render uneconomical the development, testing and wide distribution of engineering and even some business software.

Most people expected the IEEE committee to endorse the existing approach of some particular manufacturer, such as DEC or IBM. Instead, Kahan persuaded the committee to endorse an entirely new design modeled on his then-secret work for Intel. The committee's doubts about efficient implementation were eventually overcome in what Kahan termed "late-night educational sessions." By the time the standard was officially adopted as IEEE 754 in 1985, it had already been implemented widely based on drafts published from 1979 onward with the help of his then graduate student Jerome Coonen. Kahan won the ACM’s Turing Award in 1989 for his work in creating that IEEE 754 standard, and he has often been called “The Father of Floating Point”.

Kahan describes the creation of the IEEE 754 floating point standard.       
Kahan takes personal credit for just two aspects of the 8087 and the IEEE standard that evolved from it: its “inexact flag” that programmers could test to see if a result had been approximated, and the provision of a NaN (Not a Number) code to report the creation of a result for which no numerical representation is possible (such as the quotient 0/0). These novelties, if supported by the programming language, let a programmer suspend judgment about speculatively executed operations because any serious anomalies could be detected by comparatively few tests conducted when the code was run. “Everything else” in the design, he told me, “was deduced” based on technical necessity and his decades of experience with existing computer arithmetic units and the needs of technical computation users.1

Adoption of the standard did a great deal to improve the robustness of floating point arithmetic and improve consistency of results across different computing platforms. Kahan himself regrets that IEEE 754 was generally seen only as a hardware standard, rather than as a specification for a computing environment in which hardware, compilers and application programs would interact. Some hardware features were neglected by compiler writers and language designers, which deprived programmers of their benefits and made it less likely that hardware producers would implement them effectively.

In recent decades Kahan has continued to articulately and bluntly warn of the shortcomings in the floating point implementations of environments as popular as Java and Matlab. The title of one paper, “How Java’s Floating-Point Hurts Everyone Everywhere”, gives a good idea of his willingness to play the part of curmudgeon in pointing out the deficiencies of fashionable ideas, products or technologies.

After retirement Kahan became Professor Emeritus at UC Berkeley. His career has been marked by faith in rigorous analysis and in the power of superior designs to win over skeptics. Kahan would rather be right than popular, and even as a young man he showed little deference when he thought someone was mistaken. When visiting Cambridge as a postdoctoral fellow he challenged the competence of Maurice Wilkes, the leading figure in British computing, to lecture on Numerical Analysis. Kahan’s version of the story ends with him informing Wilkes that “there is a difference between elementary and superficial”.1 He mentioned to me that Wilkes would tell the same story to make a different point.

Kahan on three people he worked with during his Cambridge fellowship: JCP Miller, Maurice Wilkes and James Wilkinson.       
In March 2016 he summarized his part in the later revision of the standard by proposing the following text: "Starting in 2000, Kahan participated initially in an obligatory revision of IEEE 754 subjected to an official demand that the revision cover decimal arithmetic as well as binary. As the committee grew, so did centrifugal demands for the inclusion of options that have compounded complexity. He regrets that the result released in 2008 has become so long and unreadable that it discourages the wide adoption in hardware of decimal floating-point, which is more humane than binary albeit less liked by mathematical error-analysts like him."

Unsurprisingly, Kahan finds little inherent reward in the politics and bureaucracy of committee work, so his commitment to the IEEE standards project over many years surprised some colleagues. It reflected his determination to apply the force of his intellect to end wasted effort and unnecessary frustration. Kahan’s success shows that commitment to uncompromising technical rigor and academic excellence, coupled with more than a little luck, can transform real world computer hardware and software. Sometimes an idealistic refusal to accept the deficiencies of established ways of doing things really does pay off.

Kahan is married to Sheila K. Strauss. They have two sons and four granddaughters.

Author: Thomas Haigh

Notes:

1 William Kahan, Oral History Interview With Thomas Haigh, 5-8 August 2005. Available online from SIAM.



威廉-卡汉

照片
出生地:加拿大
1933年6月5日,在加拿大安大略省多伦多市。

学历:1954年理科学士;1956年理科硕士;1958年博士(均为数学专业)。
1954年理学士;1956年理硕士;1958年博士(均为多伦多大学数学专业);1998年加拿大滑铁卢大学荣誉数学博士;1993年瑞典哥德堡查尔姆斯学院荣誉数学博士。

工作经验。
1958-1960年,英国剑桥大学数学实验室博士后;1960-1968年,多伦多大学数学助理/副教授;1968年,加州大学伯克利分校数学/电气工程和计算机科学教授(目前为荣誉教授)。

荣誉和奖项。
第一届ACM乔治. E. Forsythe纪念奖(1972年);ACM图灵奖,1989年;ACM研究员(1994年);SIAM John von Neumann讲座(1997年);IEEE Emanuel R. Piore奖(2000年);国家工程院外籍(加拿大)院士(2005年)。拥有瑞典哥德堡大学(1993年)和加拿大滑铁卢大学(1998年)的名誉博士学位。


威廉-莫顿-卡汉(WILLIAM ("VELVEL") MORTON KAHAN)作者简介链接
美国 - 1989年
褒奖
由于他对数值分析的基本贡献。是浮点计算方面最重要的专家之一。Kahan致力于 "使世界对数值计算安全"!

简短注释
书目
研究成果
题目
额外的
材料
视频采访
威廉-卡汉1933年出生于加拿大,在多伦多附近的一个犹太移民家庭中长大。他的母亲为他父亲经营的一家成功的工厂设计了服装。他的家人叫他 "Velvel",或 "小狼",他的朋友们仍然喜欢这个绰号,而不是英译的 "威廉"。年轻时,卡汉喜欢修理机械和电子设备,这种倾向使他在二战后的一段时间内获得了一份修理加拿大武装部队使用的电子设备的暑期工作。他一生都保留着这种修补的爱好。他一生都保留着这种修补的爱好。他让一对定制的1984年的标致505汽车运行了三十多年,并长期放弃了激光打印机,而选择了他改装的点阵打印机来快速打印数学文本。

1953年夏天,Kahan在多伦多大学主修数学的本科生中学习编程。该大学是早期计算机开发和使用的中心,并拥有FERUT,这是世界上最早的商业化生产的计算机之一--曼彻斯特的第二台Ferranti Mark I。

卡汉描述了与FERUT的合作,它是开创性的曼彻斯特马克一号的商业化版本。       
作为研究生留在多伦多,他把研究重点放在数值分析上,并探索了使用计算机所带来的应用数学的新可能性。他对其他两个计算中心进行了长期访问:1957年夏天,他在伊利诺伊大学的ILLIAC I上工作,1958年完成博士学位后,又在剑桥大学数学实验室的EDSAC-2上工作了两年。

他于1960年回到多伦多任教,其研究重点是数值计算的误差分析。对卡汉来说,这不仅涉及到确定计算结果的准确性,而且还涉及到设计新的软件和结构特征,以提高准确性,同时保持高性能。他为大学的IBM 7094计算机创建了一个数学例程、编译器调整和操作系统修改的综合系统,以帮助程序员创建准确、高性能的浮点代码。卡汉在IBM计算机用户组SHARE的数值分析分组中发挥了领导作用,并在1966-1967年带头开展了成功的运动,迫使IBM修复其新的System /360计算机算术中的设计缺陷。

Kahan于1968年离开多伦多,前往加州大学伯克利分校,为其新成立的计算机科学系提供支持。(另一位图灵奖得主理查德-M-卡普与卡汉同年加入)。卡汉将此举归功于北加州对他孩子的吸引力,他最近在斯坦福大学休假时被北加州的美景所震撼,以及在加拿大的高科技国防部门崩溃后,他对加拿大高性能计算的未来的信心逐渐减弱。

数值分析处于计算和应用数学的交叉点。在这个圈子里,卡汉被公认为是一位才华横溢的研究者和理论家。他对几个广泛使用的算法做出了贡献,包括用于奇异值分解的QR算法的Golub-Kahan变体(用于许多类型计算的基本矩阵计算)和用于抵消轨迹计算中最糟糕的舍入误差的补偿求和算法。

在伯克利的整个任职期间,卡汉的工作包括创造实用工具以及论文、算法和定理。他和他的学生一起制作了广泛使用的fdlibm数学库,与BSD Unix一起分发,用于实现支持IEEE 754新浮点标准的机器的数学计算。另一项被广泛使用的工作是paranoia,一个测试浮点运算实现错误的程序。他也是一位尽职尽责的教师,虽然要求很高,但他投入了大量的时间辅导本科生解决威廉-洛厄尔-普特南数学竞赛中遇到的那种问题。

在伯克利,卡汉开始为计算机制造商提供咨询。从1974年到1984年,他协助惠普公司改进其计算器的数学功能,提高了许多型号的精确度和性能,包括经典的HP34C和HP12C,并增加了广泛使用的功能,如整合和解决,将复杂的数学运算打包成方便和容易使用的形式。HP12C金融计算器在2011年发布的30周年纪念版就证明了它的持续受欢迎。

Kahan回忆起他对惠普公司可编程计算器的贡献,包括解决和整合键。       
在与英特尔公司长期而富有成效的合作中,他为英特尔公司的几款芯片的浮点运算指定了设计,从1980年发布的8087开始,然后是80387和486DX。由于IBM的个人电脑及其直系后代的成功,这些芯片被用于数百万台计算机。当英特尔为1994年推出的奔腾处理器重新设计其浮点实现时,它引入了一个引人注目的 "Divide bug";随后卡汉提供了一个测试程序来防止这种情况再次发生。

Kahan描述了他为英特尔设计的浮点系统及其在8087协处理器芯片中的最初实现。       
1977年,Kahan积极参与了由Robert Stewart发起的刚刚起步的IEEE工作,以定义计算机算术的标准。在不同类型的计算机上实现的浮点算术的差异,往往导致用FORTRAN等标准语言编写的程序在另一台计算机上重新编译和运行时产生非常不同的结果。微处理器和工作站系统的突然激增有可能使多样性恶化,使工程软件甚至一些商业软件的开发、测试和广泛传播变得不经济。

大多数人预计IEEE委员会将认可某些特定制造商的现有方法,如DEC或IBM。相反,Kahan说服委员会批准了一个全新的设计,该设计以他当时为英特尔公司所做的秘密工作为蓝本。委员会对有效实施的疑虑最终在卡汉所说的 "深夜教育会议 "中被克服了。当该标准在1985年被正式采纳为IEEE 754时,在他当时的研究生Jerome Coonen的帮助下,它已经在1979年以后发表的草案的基础上被广泛实施。Kahan因其创建IEEE 754标准的工作而在1989年获得了ACM的图灵奖,他经常被称为 "浮点之父"。

Kahan描述了IEEE 754浮点标准的创建过程。       
Kahan仅对8087和由它演变而来的IEEE标准的两个方面表示赞赏:它的 "不精确标志",程序员可以测试一个结果是否是近似的,以及提供一个NaN(不是一个数字)代码来报告一个不可能有数字表示的结果的产生(如商0/0)。如果编程语言支持这些创新,那么程序员就可以暂停对推测执行的操作的判断,因为任何严重的异常都可以在代码运行时被相对较少的测试发现。"他告诉我,设计中的 "其他一切 "都是根据技术需要和他几十年来对现有计算机算术单元的经验以及技术计算用户的需求推导出来的。

该标准的采用极大地改善了浮点运算的稳健性,并提高了不同计算平台上结果的一致性。Kahan本人感到遗憾的是,IEEE 754通常只被看作是一个硬件标准,而不是一个硬件、编译器和应用程序相互作用的计算环境规范。一些硬件特性被编译器编写者和语言设计者忽视了,这剥夺了程序员的利益,也使硬件生产商不太可能有效地实现这些特性。

近几十年来,Kahan继续清晰而直率地警告像Java和Matlab这样流行的环境中浮点实现的缺陷。有一篇论文的标题是 "Java的浮点如何伤害了所有的人",这很好地说明了他愿意扮演古惑仔的角色,指出时髦的想法、产品或技术的不足之处。

退休后,Kahan成为加州大学伯克利分校的名誉教授。他的职业生涯的特点是相信严格的分析和卓越的设计能够战胜怀疑论者。卡汉宁愿自己是正确的,也不希望自己是受欢迎的,甚至在他年轻的时候,当他认为有人错了的时候,他也没有表现出什么敬意。在作为博士后访问剑桥大学时,他挑战了英国计算机界的领军人物莫里斯-威尔克斯(Maurice Wilkes)讲授数值分析的能力。卡汉的故事版本以他告知威尔克斯 "初级和肤浅之间是有区别的 "1而结束。他向我提到,威尔克斯会讲同样的故事来表达不同的观点。

Kahan关于他在剑桥大学研究期间与之合作的三个人。JCP米勒、莫里斯-威尔克斯和詹姆斯-威尔金森。       
2016年3月,他总结了自己在后来的标准修订中的作用,提出了以下文字。"从2000年开始,Kahan最初参与了IEEE 754的强制性修订,受制于官方的要求,该修订涵盖了十进制算术以及二进制。随着委员会的发展,要求加入选项的离心要求也在不断增加,这使得复杂性更加复杂。他感到遗憾的是,2008年发布的结果变得如此冗长和难以阅读,以至于阻碍了十进制浮点在硬件中的广泛采用,而十进制浮点比二进制更人性化,尽管像他这样的数学错误分析家不太喜欢。"

不出所料,Kahan在委员会工作的政治和官僚主义中没有发现什么内在的回报,所以他多年来对IEEE标准项目的承诺让一些同事感到惊讶。这反映了他决心运用他的智慧力量来结束浪费的努力和不必要的挫折。卡汉的成功表明,对不妥协的技术严谨性和学术卓越性的承诺,再加上一点运气,可以改变现实世界的计算机硬件和软件。有时,理想主义地拒绝接受既定做事方式的不足之处,确实会得到回报。

卡汉的妻子是希拉-K-施特劳斯。他们有两个儿子和四个孙女。

作者。托马斯-海格

注释。

1 威廉-卡汉,与托马斯-海格的口述历史访谈,2005年8月5-8日。可从SIAM在线获取。




欢迎光临 ECO中文网 (http://ecocn.dzlz.com/) Powered by Discuz! X3.3