Kahan étudie à l'Université de Toronto, où il obtient son bachelor en 1954, son mastère en 1956, puis son doctorat en 1958, tous trois dans le domaine des mathématiques. Sa thèse intitulée « Gauss-Seidel Methods Of Solving Large Systems Of Linear Equations » a été rédigée sous la supervision de Byron Alexander Griffith[1].
Spécialiste des calculs en virgule flottante, il est le principal architecte de la norme IEEE 754[2]. Il a été surnommé « The Father of Floating Point » et il a continué ses contributions à la révision de l'IEEE 754(en) qui a conduit à l'actuel standard IEEE 754-2008.
Dans les années 1980, il développe le programme Paranoia, un banc d'essai qui teste pour une large gamme de bugs potentiels avec la virgule flottante[3]. Il a permis de détecter le bug de la division du Pentium, et continue à avoir des utilisations importantes de nos jours.
Kahan a également développé l'algorithme de sommation de Kahan(en), un algorithme important pour minimiser l'erreur introduite quand on additionne une suite de nombres à virgule flottante de précision finie. Il est l'auteur du terme de dilemme du fabricant de table(en) pour le coût inconnu d'arrondir correctement des fonctions transcendentales à un certain nombre de décimales prédéfini[4]. Le théorème de dilatation de Davis–Kahan–Weinberger est l'un des résultats principaux de la théorie de la dilatation des opérateurs d'espaces de Hilbert et il a trouvé des applications dans de nombreux domaines différents[5].
Il milite pour une meilleure éducation de la population concernée par le calcul vis-à-vis des problèmes de virgule flottante, et il dénonce régulièrement des décisions dans la conception des ordinateurs et des langages de programmation qui peuvent détériorer de bons calculs avec virgule flottante.
Quand Hewlett-Packard a introduit la calculatrice HP-35 originale, son exactitude numérique dans l'évaluation de fonctions transcendentales pour certaines arguments n'était pas optimale. Hewlett-Packard a beaucoup travaillé avec Kahan afin d'améliorer l'exactitude des algorithmes, ce qui a conduit à des améliorations majeures. Cela a été documenté à l'époque dans le Hewlett-Packard Journal[6],[7].
Kahan a également contributé de façon substantielle à la conception des algorithmes de la série HP Voyager(en) et il a écrit une partie de leurs manuels d'utilisation.
↑Chandler Davis, W. M. Kahan et H. F. Weinberger, « Norm-Preserving Dilations and Their Applications to Optimal Error Bounds », SIAM Journal of Numerical Analysis, vol. 19, no 3, , p. 445–469 (DOI10.1137/0719029, lire en ligne, consulté le )
↑William M. Kahan, « Personal Calculator Has Key to Solve Any Equation f(x) = 0 », Hewlett-Packard Journal, vol. 30, no 12, , p. 20–26 (lire en ligne, consulté le )
↑William M. Kahan, « Handheld Calculator Evaluates Integrals », Hewlett-Packard Journal, vol. 31, no 8, , p. 23–32 (lire en ligne, consulté le )
↑Golub, Kahan, « Calculating the singular values and pseudo-inverse of a matrix », J. Soc. Indust. Appl. Math. Ser. B Numer. Anal., vol. 2, 1965, p. 205–224.