|William Morton Kahan|
June 5, 1933 |
Toronto, Ontario, Canada
|Institutions||University of California, Berkeley|
|Alma mater||University of Toronto|
|Thesis||Gauss-Seidel Methods Of Solving Large Systems Of Linear Equations (1958)|
|Doctoral advisor||Byron Alexander Griffith|
|Known for||IEEE 754
Kahan summation algorithm
|Notable awards||Turing Award (1989)
IEEE Emanuel R. Piore Award (2000)
National Academy of Engineering
William Morton Kahan (born June 5, 1933) is a mathematician and computer scientist who received the Turing Award in 1989 for "his fundamental contributions to numerical analysis", was named an ACM Fellow in 1994, and inducted into the National Academy of Engineering in 2005.
He attended the University of Toronto, where he received his Bachelor's degree in 1954, his Master's degree in 1956, and his Ph.D. in 1958, all in the field of mathematics. Kahan is now emeritus professor of mathematics and of electrical engineering and computer sciences (EECS) at the University of California, Berkeley.
Kahan was the primary architect behind the IEEE 754-1985 standard for floating-point computation (and its radix-independent follow-on, IEEE 854). He has been called “The Father of Floating Point,” since he was instrumental in creating the original IEEE 754 specification. Kahan continued his contributions to the IEEE 754 revision that led to the current IEEE 754 standard.
In the 1980s he developed the program "paranoia", a benchmark that tests for a wide range of potential floating point bugs. It would go on to detect the infamous Pentium division bug, and continues to have important uses to this day. He also developed the Kahan summation algorithm, an important algorithm for minimizing error introduced when adding a sequence of finite precision floating point numbers. He coined the term "The Table-Maker's Dilemma" for the unknown cost of correctly rounding transcendental functions to some preassigned number of digits.
He is an outspoken advocate of better education of the general computing population about floating-point issues, and regularly denounces decisions in the design of computers and programming languages that may impair good floating-point computations.
When Hewlett–Packard introduced the original HP-35 pocket scientific calculator, its numerical accuracy in evaluating transcendental functions for some arguments was not optimal. Hewlett–Packard worked extensively with Kahan to enhance the accuracy of the algorithms, which led to major improvements. This was documented at the time in the Hewlett-Packard Journal. He also contributed substantially to the design of the algorithms in the HP-10C series, and wrote part of their intermediate and advanced manuals.
- Karpinski, Richard (1985), "Paranoia: A floating-point benchmark" (PDF), Byte Magazine 10 (2): 223–235
- Kahan, William. "A Logarithm Too Clever by Half". Retrieved 2008-11-14.
- Kahan, William M. (December 1979). "Personal Calculator Has Key to Solve Any Equation f(x) = 0" (PDF). Hewlett-Packard Journal 30 (12): 20–26. Retrieved 2008-11-14.
- Kahan, William M. (August 1980). "Handheld Calculator Evaluates Integrals" (PDF). Hewlett-Packard Journal 31 (8): 23–32. Retrieved 2008-11-14.
- William Kahan at the Mathematics Genealogy Project
- William Kahan's home page
- portrait picture of Kahan (on page 5)
- Paranoia for modern graphics processing units (GPUs)
- Paranoia source code in multiple languages
- IEEE 1985. IEEE standard for binary floating-point arithmetic. ACM SIGPLAN Notices 22, 2 (Feb.), 9–25
- An Interview with the Old Man of Floating-Point, 1998-Feb-20 
- A Conversation with William Kahan, Dr. Dobb's Journal November, 1997