## Wilkinson, James Hardy

## Wilkinson, James Hardy

# WILKINSON, JAMES HARDY

(*b*. Strood, England, 27 September 1919, *d*. Teddington, England, 5 October 1986), *mathematics, numerical analysis, computing, linear algebra*.

Wilkinson was responsible for leading the team that constructed the Pilot ACE computer at the National Physical Laboratory in Teddington, England, in 1950, following a short period of work with Alan Turing on its design. He went on to become a leading authority on computer-based numerical analysis. He is best known for his work on backward error analysis (which had both practical and theoretical value) and linear algebra, but his work in numerical analysis was wide ranging, and he authored well over one hundred published papers, three influential books, and several unpublished reports. In 1962, George Forsythe, a numerical analyst based at Stanford University, wrote:

In my opinion Wilkinson is single-handedly responsible for the creation of almost all the current body of scientific knowledge about the computer solution of the problems of numerical algebra. He has devised many of the best algorithms himself. Far from that he has personally tested most of the algorithms proposed all over the world, has found their weak and strong points, has published variations that work better, has exposed numerous fallacies about them, has analyzed their errors and tried them on hundreds of matrices.

In order to give error bounds Wilkinson had to create a theory of error analysis for floating-point computation, something that has never been achieved but often attempted.… His unique genius has been to balance mathematical analysis so intimately with practical computing. (quoted in Fox, 1987, p. 689)

**Early Life and Career.** Wilkinson was born on 27 September 1919 into a large happy family of modest means in Strood in Kent, England. He showed early mathematical ability and won a scholarship to Sir Joseph Williamson’s Mathematical School in Rochester. Encouraged by his headmaster, Wilkinson later won a scholarship place to Trinity College, Cambridge, at the age of seventeen. At Cambridge he studied classical analysis with Godfrey Harold Hardy and John Edensor Littlewood, graduating first class in 1939.

Like many of his British mathematical and scientific contemporaries, during World War II Wilkinson was drafted into scientific work rather than being sent directly to fight with the armed forces. He initially worked for the Ordnance Board of the Ministry of Supply. Because of its very wide range of calculating equipment, the Ordnance Board had requisitioned the Cambridge Mathematical Laboratory for the duration of the war. At that time the Cambridge Mathematical Laboratory was one of only two places in England to possess a full-sized differential analyzer—an analogue computing device made up of interconnected disk and wheel integrators designed to solve differential equations. In addition, the laboratory was equipped with a model differential analyzer, the Mallock Machine (a unique analogue device for solving simultaneous equations), and several desk calculating machines. At the Cambridge Mathematical Laboratory, Wilkinson worked on ballistics problems, mainly calculating trajectories using hand-cranked desk calculating machines. He found the work very dull, with each member of the staff being required to compute a set number of trajectory calculations each day. In 1943 Wilkinson was transferred to the Military of Supply Armament Research Laboratory at Fort Halstead and began working on problems associated with the thermodynamics of explosions. Again, the work involved routine computations.

In late 1945, Wilkinson moved to the newly created Mathematics Division of the National Physical Laboratory (NPL) at Teddington in Middlesex. The move was to shape the rest of his career. He had intended to return to

academic life in Cambridge, but as a result of the research opportunities offered to him at the NPL, he remained in the British Scientific Civil Service for the rest of his distinguished career. The NPL Mathematics Division had been created by the U.K. Department of Scientific and Industrial Research to act as a national center of expertise in numerical computation. It had a twofold role: to provide a computing service to government and industry; and to carry out numerical and computational research. Over the next thirty-five years Wilkinson contributed to all these aspects of the NPL Mathematics Division’s work.

**Turing and the Pilot ACE.** On his appointment to the NPL, Wilkinson was assigned part-time to the General Computing Section and part-time to the ACE section. The General Computing Section consisted of a strong team of mathematicians concentrating mainly on numerical research and a team of well-trained and well-equipped desk calculating machine operators who did computing work from both inside and outside the NPL. Wilkinson was involved in devising algorithms for solving a range of problems, many of which involved the solution of linear simultaneous equations using both desk calculating machines and the NPL Hollerith punched card installation. However, it was the opportunity to work with Alan Turing in the ACE section that really excited Wilkinson, and he commented (1971) that it was the experience of working with Turing that finally convinced him that a career working on numerical analysis with computers was more interesting than returning to Cambridge for a career in classical analysis.

Turing had been appointed to the NPL in 1945 and was given the opportunity to design an electronic stored program computer. In the postwar period, ideas about the concept of the stored program computer were emerging from the ENIAC project at the University of Pennsylvania, and it was a natural step for the NPL, in its role as a national computing center, to take a lead in developing the new technology. Turing had had wartime experience with the Colossus machine at Bletchley Park and had contributed theoretically to the field. When Wilkinson arrived at the NPL, Turing was working on a highly original design for a computer called ACE (Automatic Computing Engine). Most other early computers were heavily based on the EDVAC design by John Mauchley, John Presper Eckert, John von Neumann, and others. Turing’s design was influenced by this work but had a different architecture and electronic timings that allowed the programmer to creatively use the mercury delay line memory to place both machine instructions and numbers so that significant computational speed could be acheived. Wilkinson worked very closely with Turing on the logical design of the machine and on programming numerical algorithms. Turing proved occasionally difficult to work for, and, as he described in 1971, Wilkinson chose his moments to work with the General Computing Section carefully. The dual role proved fruitful, as it gave Wilkinson valuable practical experience in solving difficult problems using desk calculating machines, coupled with an understanding of the logical and physical design of the ACE. Both experiences gave him a strong foundation for his later work on computer-based numerical analysis.

Despite a great deal of work on the design of the ACE, there was initially little progress made on actually building the machine. The original intention had been to subcontract out the construction work, but this proved untenable, as groups with the relevant expertise, such as those at Manchester and Cambridge Universities or the Post Office, were interested in other projects or in building computers to their own design and thus were not interested in constructing the ACE for NPL. In early 1947, Harry Huskey, who had worked on the ENIAC project in the United States, joined the small ACE team for a sabbatical year, and he immediately suggested that the NPL build a Test Assembly to test the feasibility of Turing’s design. Turing was discouraged; he was not interested in building a small machine but wanted to make progress with the larger machine. He took sabbatical leave back to Cambridge, leaving the relatively inexperienced Wilkinson as leader of the ACE section. It had been decided that the electronic hardware work for the Test Assembly was to be carried out in collaboration with the NPL Electronics Division, but at that time there was little enthusiasm for the ACE project within the Electronics Division, and the Test Assembly project floundered. By the end of the year, Huskey had returned to the United States, and Turing had moved permanently to Manchester University, where computer developments under Frederic (“Freddie”) Williams and Tom Kilburn had proceeded more quickly.

In 1948, Wilkinson was invited by the new head of the NPL Electronics Division to build a pilot version of ACE as a collaborative venture based on Turing’s design. The ACE section, now consisting of four staff members including Wilkinson, gladly accepted the offer; the team, led by Wilkinson, began in seriousness to build what became known as the Pilot ACE. While Wilkinson’s expertise was in the logical design and programming of the machine, he nonetheless contributed to the physical construction in order to speed up the project. In May 1950, the machine ran its first simple program and was demonstrated to the press in November of that year. It was the third electronic stored program computer to be operational in the United Kingdom. Although originally the machine was intended to be experimental, Wilkinson soon found the section under considerable pressure to use the machine for useful work, and the Pilot ACE went into regular service in 1952. NPL users such as the Royal Aircraft Establishment and the Atomic Weapons Research Establishment began requesting solutions to large, complex problems using the Pilot ACE—requests that both challenged and stimulated Wilkinson and his staff. The Pilot ACE was actually a small machine with limited memory, a fact that forced Wilkinson and his NPL colleagues to produce very efficient algorithms. Efficiency and reliability became the key elements of Wilkinson’s later extensive contributions in the application of computers to numerical problems.

**Numerical Analysis.** Although Wilkinson has no algorithms named after him, he contributed very significantly to the development of computer-based numerical analysis and especially in comparing different methods and establishing their good and bad points. His experience of working with Turing on developing theoretical algorithms for problems using floating point arithmetic before he had a machine to run them on proved invaluable and meant that Wilkinson was theoretically well ahead of his contemporaries when computers using floating point arithmetic became more freely available.

Computers allowed large numbers of repeated arithmetical operations to be carried out during a solution to a problem, but they also stored numerical data in a limited form. This introduced the very real possibility of cumulative rounding errors sometimes negating the usefulness of a solution to some problems. The study of how and why seemingly effective algorithms produce incorrect results is called error analysis; it is for his contributions to this field that Wilkinson became well known. In the late 1940s and early 1950s, there was great pessimism about the effect of rounding errors in the analysis, of problems by electronic computers as well as by more traditional computational methods. Wilkinson’s great achievement was to bring insight and understanding into the way algorithms running on electronic computers performed in detail.

Drawing on work by both John von Neumann and Turing, Wilkinson explored and further developed the method of backward error analysis. Backward error analysis was not new, but Wilkinson showed how it could be used in practice to good effect. Traditionally forward error analysis examines what errors are produced by each intermediate stage of the solution of a problem with a view to understanding the error in the final result. In backward error analysis, the aim is to find the modified data set for which the computed solution is exact and then compare the modified data with the original data. The great value of backward error analysis was that it offered insight into how the numerical processes of various algorithms actually influence the data. This in turn indicated the numerical stability and/or computer efficiency of a given algorithm, and this information could be used to select a particular algorithm or to show the way toward developing new algorithms. The technique could also be used to examine the effect of small changes to the original data. If the small changes led to large errors in the final result, this method could ascertain whether the problem being considered was itself unstable (or ill conditioned), or whether the algorithm being used to solve it was the cause of the instability. In a great part of his numerical analysis work, Wilkinson was able to use error analysis to illustrate how each stage of an algorithm operated and the effect it had on the data, therefore proving the stability of the algorithm in question.

Wilkinson published the results of his work in *Rounding Errors in Algebraic Processes* in 1963, a book that proved influential to an entire generation of numerical analysts. A very large proportion of Wilkinson’s published works concentrated on the algebraic eigenvalue problem and its many associated subproblems. (The eigenvalue problem refers to finding a set of characteristic values associated with a matrix or matrices and can take several forms. It is used in a variety of theoretical and applied mathematical contexts.) His work was published in *The Algebraic Eigenvalue Problem* in 1965 and, like *Rounding Errors*, this book became a classic in the field. The algebraic eigenvalue problem occurs in many branches of physics in which real world systems are described by a large matrix. Wilkinson’s early work in the field was based on finding the characteristic polynomial associated with the matrix, and he built on his work on backward error analysis to closely examine a whole range of algorithms in this field, testing them both theoretically and practically. He was able to present the way that each algorithm worked in detail and to use that information to go from describing an algorithm to synthesizing new algorithms. Using this knowledge, Wilkinson could identify which parts of an algorithm were most sensitive and needed additional accuracy for their solution. To provide this additional accuracy Wilkinson developed inverse iterative methods for finding eigenvalues and eigenvectors.

Wilkinson also developed transformation methods that first produce simplified matrices for which the solution of the eigenvalue is easier using one of a number of tried and tested algorithms. In addition he worked extensively on methods for the computation of eigenvectors in a condensed form when an eigenvalue had already been found by one of his stable methods.

Another important contribution by Wilkinson was his work on the QR algorithm for computing eigenvalues. The QR algorithm had been developed by J. G. F. Francis and has become known as one of the most stable algorithms for solving eigenvalue problems. In 1968, Wilkinson published a shift within the algorithm that accelerated the convergence of the solution and made it more efficient in terms of computing time. He also proved a proof for the convergence of the method. In 1976, Wilkinson and Gene Golub published a major article on the Jordan canonical form of a block matrix and showed how matrices could be transformed into this form. The paper also considered where this technique could be used for practical calculations and where its use was limited.

Another aspect of Wilkinson’s numerical analysis work involved computations with polynomials, and here too he used backward error analysis to investigate different algorithms for their solution. His initial work had been conducted as test runs for the Pilot ACE, but the results surprised Wilkinson and led him to investigate more deeply. His work in this area is consolidated in Chapter 2 of *Rounding Errors*, but he was still thinking about polynomials toward the end of his career. In 1984, he published “The Perfidious Polynomial” to sum up his experiences for the general reader. Wilkinson was posthumously awarded the Chauvenet Prize from the Mathematical Association of America for the essay’s clarity of mathematical exposition.

**Algorithm Sharing, Lecturing, and International Recognition.** In the 1950s and 1960s, computers were often very differently and individually designed, and it was not possible to run software developed for one machine on any other computer. By the late 1960s, high level programming languages, such as ALGOL and FORTRAN, had been developed to enable programs to be transferable from one machine to another. The increasing availability of generic rather than machine-specific programs and algorithms allowed Wilkinson’s work to be increasingly influential. There was an atmosphere of mutual help and cooperation in the field of numerical analysis, and his dominance in the field meant that Wilkinson was invited to both lecture and collaborate internationally.

In the late 1960s, Wilkinson was invited to contribute to an international project designed to provide the scientific community with a series of well-tested algorithms for common numerical problems. The result of this work was the *Handbook for Automatic Computation: Linear Algebra*, published in 1971 by Wilkinson and Christian Reinsch. The volume was part of an edited collection of internationally developed algorithms based on papers published in the journal *Numerische Mathematik*, but Wilkinson’s dominance of the field was such that over half of the contributions are by Wilkinson himself.

Wilkinson was also involved in the creation of the Numerical Algorithms Group (NAG), which has become the main numerical software organization in the United Kingdom and whose published algorithms underpin many academic and industrial applications. The Nottingham Algorithms Group (later changed to Numerical Algorithms Group) officially began in 1970 when Brian Ford collaborated with Wilkinson to translate some of the ALGOL routines developed at NPL and for the *Handbook* into FORTRAN in order to make them more widely available. The work linked several workers in different institutions in an open spirit of collaboration. Wilkinson continued to collaborate with the Numerical Algorithms Group right up until his death.

Wilkinson was a frequent visitor and consultant to both Stanford University and the Applied Mathematics Division of the Argonne National Laboratory in the United States. At Argonne he served as an advisor on the Eispack project, a library of FORTRAN subroutines for computing matrix eigenvalues and eigenvectors. The project had some parallels with the Numerical Algorithms Group in the United Kingdom and had its basis in the 1971 *Handbook*.

While Wilkinson’s position at the NPL made research, rather than teaching, the focus of his work, he did lecture widely. As early as 1954, Wilkinson was invited to Oak Ridge National Laboratory in the United States to speak on matrix computations, from which evolved the regular Gatlinburg conferences on linear algebra for which Wilkinson sat on the organizing committee. He regularly contributed to conferences and meetings in the United States and for more than ten years gave a regular series of lectures every summer at the University of Michigan. From the mid-1960s onward, Wilkinson regularly visited the Argonne National Laboratory to lecture as well as to collaborate and consult. Following his death, Argonne created the J. H. Wilkinson Fellowship in Computational Mathematics. From 1974 to 1986, Wilkinson held a part-time professorship with Stanford University.

Outside the United States and Britain, Wilkinson collaborated with numerical analysts working in Europe and in Russia. In 1968, he visited Russia under an exchange agreement between the Royal Society and the U.S.S.R. Academy of Sciences. He was a corresponding member of the Bavarian Academy of Sciences and served on the editorial advisory board of the U.S.S.R. *Computational Mathematics and Mathematical Physics* and the French *R.A.I.R.O. Analyse Numérique*.

In 1969, Wilkinson was elected a Fellow of the Royal Society in recognition of his contributions to numerical analysis and his leadership of the Pilot ACE project. From 1974 to 1977, he served on the Council of the Royal Society and was also for a time secretary of the physical sciences section.

At the NPL Wilkinson’s services to numerical analysis were recognized in the form of personal promotions not linked to his role at the NPL but to the internationally recognized research he undertook. In 1974, he was promoted to Chief Scientific Officer on individual merit, which Yates (1997) and Goodwin (1987), both NPL insiders, claim to have been a very rare distinction. In addition, Wilkinson was awarded numerous fellowships and prizes, including the A. M. Turing Award of the Association for Computing Machinery and the J. von Neumann Award of the Society for Industrial and Applied Mathematics. He was a founding member of the British Computer Society and the Institute of Mathematics and its Applications. Fox (1987) gives a complete list of awards and honors received by Wilkinson.

Wilkinson died on 5 October 1986 from a heart attack. He was survived by his wife Heather and his son David; his daughter Jenny predeceased him.

## BIBLIOGRAPHY

*A complete list of Wilkinson’s publications is given in L. Fox, “James Hardy Wilkinson,”* Biographical Memoirs of Fellows of the Royal Society *33 (1987): 669–708. There is a recorded interview with Wilkinson that is commercially available from SIAM (Society for Industrial and Applied Mathematics)*.

### WORKS BY WILKINSON

*Rounding Errors in Algebraic Processes*. London: HMSO, 1963; New York: Prentice-Hall, 1964.

*The Algebraic Eigenvalue Problem*. Oxford: Clarendon Press, 1965.

“Global Convergence of Tridiagonal QR Algorithm with Origin Shifts.” *Linear Algebra Applications* 1 (1968): 409–420.

With Christian Reinsch. *Handbook for Automatic Computation: Linear Algebra*. Vol. 2. New York: Springer-Verlag, 1971.

“Some Comments from a Numerical Analyst.” *Journal of the Association for Computing Machinery* 18 (1971): 137–147.

“The Pilot ACE at the National Physical Laboratory.” *The Radio and Electronic Engineer* 45 (1975): 336–340.

With Gene Golub. “Ill-Conditioned Eigensystems and the Computation of the Jordan Canonical Form.” *SIAM Review* 18 (1976): 548–568.

“The Perfidious Polynomial.” In *Studies in Numerical Analysis*, edited by Gene Golub, pp. 1–28. Washington, DC: Mathematical Association of America, 1984.

### OTHER SOURCES

Albasiny, Ernie. “Dr. James Hardy Wilkinson, FRS, 1919–1986.” *Utilitas Mathematica* 31 (1987): 7–12.

Copeland, B. Jack, ed. *Alan Turing’s Automatic Computing Engine: The Master Codebreaker’s Struggle to Build the Modern Computer*. Oxford: Oxford University Press, 2005.

Croarken, Mary. *Early Scientific Computing in Britain*. Oxford: Clarendon Press, 1990.

Fox, Leslie. “James Hardy Wilkinson.” *Biographical Memoirs of Fellows of the Royal Society* 33 (1987): 669–708.

Goodwin, Eric Thomson. “Dr James Hardy Wilkinson, FRS FIMA.” *Bulletin of the Institute of Mathematics and Its Applications* 23 (1987): 76–77.

Parlett, Beresford N. “The Contribution of J. H. Wilkinson to Numerical Analysis.” In *A History of Scientific Computing*, edited by Stephen G. Nash. New York: ACM Press, 1990.

Yates, David M. *Turing’s Legacy: A History of Computing at the National Physical Laboratory, 1945–1955*. London: Science Museum, 1997.

*Mary Croarken*