Cleve Moler: Mathematical Software Pioneer and Creator of Matlab

Thomas Haigh University of Wisconsin Editor: Thomas Haigh

Cleve Moler was born in 1939 to a semination of technical knowledge that were to charac- family of journalists, and grew up in terize his entire career. Salt Lake City, Utah. A distinguished A Caltech class with John Todd, then recently arrived student, he developed an early inter- from the Institute for , provided est in science and mathematics, pur- Moler an introduction to electronic computing as well suing technical hobbies such as ham as the fundamentals of numerical analysis: Todd’s radio. In 1957, just prior to the launch students were able to sign up for time on the institute’s of Sputnik, he entered the California Datatron 205. Moler excelled in this class, discovering a Cleve Moler is Institute of Technology as an under- love for and for programming, yet he realized cofounder, graduate. Despite his scientific acu- that he was not, by Caltech standards, an outstanding chairman, and men, Moler retained his family’s theoretical mathematician. During his senior year, he chief scientist of interest in writing, serving as editor worked on an independent project with Todd, including The Mathworks. 1 He is also of the college newspaper. Though he a machine language program to invert Hilbert matrices. president of the eventually majored in mathematics, On Todd’s recommendation, Moler followed gradua- Society for ostensibly because this gave ‘‘the tion from Caltech with a move up the coast to Stanford Industrial and most options and fewer required Applied University as a graduate student in mathematics. He was Mathematics. courses,’’ Moler was already demon- drawn by , then in the process of strating the interdisciplinary interests establishing computing as a distinct area of graduate and commitment to the broad dis- study. Although this was initially done as a specialization within the mathematics program, by the end of Moler’s time at Stanford the effort had produced one of the nation’s first (and most Background of Cleve Moler distinguished) departments of sci- Born: 17 August 1939, Salt Lake City, Utah. ence. Like many computation specialists of the Education: California Inst. of Technology, BS (mathemat- 1950s and early 1960s, Moler was forced to ics), 1961; Stanford Univ., MS, (mathematics), 1963; PhD prove himself within a discipline to which (mathematics), 1965. Professional experience: Stanford ‘‘numerical analysis has always been the black Univ., Dept., instructor, 1965; visiting sheep.’’ He was ‘‘as applied as you could get associate professor, 1970–1971; visiting professor, 1978–1979; and still be in the math department,’’ and visiting professor, 2002. Eidg. Technische Hochschule, Zurich, narrowly satisfied its broader requirements Switzerland, ONR research associate, 1965–1966. Univ. of despite what he recalls as a ‘‘lack of ability in Michigan, Mathematics Dept., assistant professor, 1966–1970; many of the standard topics of a classical associate professor, 1970–1972. Univ. of New Mexico, Mathe- mathematical education.’’2 His talents in com- matics Dept., professor, 1974–1982; associate professor, 1972– puting and applied mathematics, however, 1974; Computer Science Dept., professor and chairman, 1980– made Moler a valued member of the emerging 1984. Intel Scientific Computers, Beaverton, Oregon, manager, computing department. He taught a course on applications research, 1985–1987. Ardent Computers, Sunnyvale, numerical analysis designed by Forsythe, re- California, vice president, scientific software, 1987–1989. The fining and expanding it. Their collaboration MathWorks Inc., chairman and chief scientist, circa 1989– formed the basis for the textbook Computer present. PhD students: Norman Schryer, Michigan, 1969; Solutions of Linear Algebraic Systems,widely Alan K. Cline, Michigan, 1970; Charles Crawford, Michigan, recognized as a classic work in its field.3 The 1970; David Kammler, Michigan, 1971; Stanley Eisenstat, book included a selection of example subrou- Stanford, 1972; Linda Kaufman, Stanford, 1973; Charles Van tines for the solution of systems of simulta- Loan, Michigan, 1973; Charles Burris, New Mexico, 1974; James neous linear equations, and introduced Moler Sanderson, New Mexico, 1976; John Starner, New Mexico, to the publication of software. 1976; George Davis, New Mexico, 1979; , New For his , Moler extended earlier work Mexico, 1980; Ronal Jones, New Mexico, 1985; Augustin by Forsythe on the use of finite difference Dubrulle, New Mexico, 1986; Humberto Madrid, New Mexico, methods to calculate upper and lower bounds 1986. for the eigenvalues of Laplace equations in

IEEE Annals of the History of Computing Published by the IEEE Computer Society 1058-6180/08/$25.00 G 2008 IEEE 87 Biographies

courses in numerical analysis. While the students were mostly from research groups within aerospace and automotive firms, the instructors included most of the leading figures in numerical analysis, including Alston Householder and Jim Wilkinson. The series formed a social hub for the community, where established instructors swapped ideas with each other and with younger colleagues. Moler also played an active role in the ACM numerical analysis interest group, SIGNUM, where he served as newsletter editor and on the board of directors during the early 1970s. However, he was frustrated by the lack of autonomy the group enjoyed with the ACM, instead devoting himself to the Society for Industrial and Applied Mathematics. From 1973 to 1976 he was editor in chief of the SIAM Journal of Numerical Analysis. Figure 1. Moler draws the L-shaped membrane and its defining Moler remained at Michigan until 1972, equation. During his PhD thesis under the supervision of George before moving on to a post at the University of Forsythe, he worked to analyze its vibrations. The vibrating membrane New Mexico. During his time on the Michigan became a visual motif for further work by Moler and his colleagues and New Mexico faculties, Moler’s research during the 1960s and 1970s. Since the 1980s, it has provided the basis interests gradually shifted from the more for the MathWorks’ logo, and a favorite example of the effectiveness of theoretical aspects of numerical analysis to- Matlab’s programming and visualization tools. ward mathematical software, then viewed by funding bodies such as the Office of Naval two-dimensional domains.4 His main example Research as a less respectable area for academic was an L-shaped membrane (see Figure 1), a investigation. However, his involvement in shape for which he developed a considerable the numerical analysis community had fondness and which had earlier been used as a brought him into contact with the staff of test case by celebrated British numerical the Argonne National Laboratory, and in analyst Jim Wilkinson. Moler later chose it as particular with the team working on the the MathWorks corporate logo, and celebrated 6 EISPACK project. EISPACK was designed to pro- it in such unlikely forms as a Christmas tree duce a high-quality, well-documented, and ornament and, at a party for his 60th birthday, portable Fortran library of routines imple- an ice sculpture. menting the matrix eigenvalue algorithms created by Jim Wilkinson and presented in Academic career high-quality Algol implementation by Wilk- After obtaining his PhD, Moler spent a year inson and Reinsch.7 Wilkinson himself was a at ETH, the Swiss Federal Institute of Technol- regular summer visitor to Argonne. Moler ogy in Zurich. ETH housed an important worked to test and evaluate preliminary computing group, with close ties to the versions of this software, and started spending Institute for Numerical Analysis in California, some or all of his summers at Argonne. He was and Moler’s postdoctoral fellowship was a one of the authors of the commercially 8 specialized program administered by the US published EISPACK user guide. He contributed Office of Naval Research. Here he pursued his a new routine to the third version of EISPACK, work on the L-shaped membrane, devising a working with Burt Garbow to incorporate the new mathematical method in conjunction QZ algorithm for generalized eigenvalue prob- with Leslie Fox and P. Henrici.5 On his return lems he had developed with G.W. (Pete) the US, he was recruited by Bernie Galler to a Stewart.9 Moler then played a central role as numerical analysis faculty position in the one of four primary contributors to Argonne’s mathematics department at the University of LINPACK project, a follow-up to EISPACK designed Michigan, Ann Arbor. to create a complementary library covering Moler rapidly became a prominent figure other kinds of matrix computation functions.10 within the numerical analysis community. Moler stayed at New Mexico for 12 years, One of his responsibilities at Michigan was first in the Mathematics Department and then the organization of an annual series of summer as chair of the Computer Science Department.

88 IEEE Annals of the History of Computing As chair, he helped to build the department this system at academic conferences.12 The during a period of rapid growth. His graduate first was to the 1980 National Computer students there included several prominent Conference. He recalls that many in the figures, among them Jack Dongarra, who audience left disappointed, having come to assisted with the EISPACK and LINPACK projects, hear about matrix management, a then-fash- later emerging as major figure in supercomput- ionable technique wherein employees report- ing. While continuing his close involvement ed to more than one boss. By the early 1980s, with Argonne, Moler also developed a relation- several hundred copies of Matlab had been ship with the computer center at Los Alamos distributed, for use by the instructors of National Laboratory, providing advice on its introductory mathematics courses. mathematical software library. Retaining his interest in pedagogy, he co-authored a second Work in industry textbook, based on a course developed by During his years in New Mexico, Moler George Forsythe, to show science and engi- worked as a consultant on several projects to neering students how to solve problems with produce mathematical libraries for the new the aid of standard software packages and generations of vector architecture and parallel libraries.11 The book was accompanied by a processing computers. One was for IBM and set of usable, easy-to-understand subroutines, another for Convex (then creating a ‘‘minisu- distributed on punched card or tape. This percomputer’’ with a similar architecture to blending of education, mathematical theory, theCray1butatamuchlowercost).In1985, and high-quality software was unusual and he left academia to perform a similar role full effective. time at Intel, which was then creating a Around 1976, he began work on another supercomputer subsidiary to build powerful educational software package. Matlab was a machines out of large numbers of micropro- simple matrix calculator, offering a small cessors working in parallel. Moler recalls the subset of the capabilities of EISPACK and LINPACK. main discovery of his team as being how much Moler recalls that ‘‘you could invert matrices harder it was to write software for such a and compute determinants, and compute machine than anyone had expected. He spent their eigenvalues, and that was about all.’’ a lot of time promoting the idea of massively However, the nonspecialist students in this within the scientific com- introductory course found the need to write, munity, and ran a group that was more like an and compile, Fortran programs in order to call academic research department than an indus- LINPACK functions a major hurdle. They were trial software development team. too distracted by the rituals of programming to After two and a half years, he moved to focus on the mathematics. In contrast, Matlab Silicon Valley start-up Ardent, then one of the worked interactively using terminals connect- hottest and best-funded new computer com- ed to a minicomputer. No programming was panies in industry history. Ardent’s aim was to required (or even possible), and users could produce an extremely high performance per- experiment with matrix operations while sonal workstation, using supercomputer tech- receiving instant feedback. This required Mo- nology and a parallel vector architecture. ler to write a simple parser based on Wirth’s Although the firm boasted the efforts of a star demonstration PL0 language (quite a challeng- team of computer scientists, exceptional ing thing to do in the Fortran of that era, given graphical capabilities, and a high-performance its lack of support for recursion), and to create version of LINPACK, by 1989 Ardent had entered portable input and output code able to work a terminal spiral. on a variety of different systems. He was also By this point, however, Matlab had been influenced by APL, an exotic, interactive reborn as a commercially successful product. mathematical language, and a program called Moler traces the roots of this to a sabbatical Speakeasy developed at Argonne. The first year he spent at Stanford in 1979 and 1980, in public presentation of Matlab appears to have which he used Matlab as a pedagogical tool. been in February 1979, when Moler and Although computer scientists in the group Stewart co-taught a SIAM Short Course on were unimpressed, their classmates studying Matrix Methods in Scientific Computing at electrical engineering found Matlab extremely the Naval Postgraduate School in Monterey, useful for control theory and signal processing California. But during this period Moler applications. Some brought the program with treated Matlab as a hobby, a welcome diver- them to the firms they worked for. The first sion from his duties as department chair. commercial Matlab derivatives were produced Moler made only two formal presentations of by spin-off firms from ’s

January–March 2008 89 Biographies

electrical engineering department. One of still find himself staying up all night to tackle these products, Matrix-X, enjoyed consider- an interesting programming job.15 He has able success. The other, Control C, was written new code to support sparse matrices, produced by a systems engineer named John created an interface with to use its Little, working for a company called SCT. symbolic capabilities, and extended Matlab Thearrivalofthepersonalcomputer with special functions and ordinary differen- opened new opportunities for ordinary scien- tial equation solvers. He has also written much tists and engineers to use interactive computers of the product documentation. Over time, as a part of their daily work. In 1983, Little however, he gradually moved out of develop- approached Moler at a conference to suggest ing core parts of the system, leaving this work that they collaborate on a commercial version to a newer generation of mathematical soft- of Matlab, for the new and extremely popular ware specialists. IBM PC. Moler received equity in the new Today, the MathWorks employs more than venture, MathWorks, but was not involved in 1,000 people but offers only two main product its day-to-day operations. Little rented a cabin, families: Matlab, and a related system for purchased an early Compaq portable, and embedded application generation called Simu- worked with a colleague, Steve Bangert, to link. Matlab dominates the market for math- reimplement Matlab in C (including the ematical software. Although it is very widely portions of code from LINPACK and EISPACK). used in universities, its real edge over compet- They added a programming language and, in a itors such as Mathematica and Maple comes in later release, a ‘‘toolbox’’ capability to allow the its acceptance by industrial groups. Most of its creation of new packages of functions for users are practicing scientists and engineers in specific application areas. Matlab retained its industrial organizations, particularly automo- focus on matrices, which were initially its only tive and aerospace firms. Its early strength in data type. The commercial version of Matlab systems control has been followed with spe- wasintroducedtotheworldinLasVegas, cialized toolboxes for signal processing, image during the Automatic Control Conference held processing, bioinformatics, and financial mod- in December 1984. The first sale, early the next eling applications. The firm has tried to retain year, was to Nick Trefethen of the Massachu- an academically inspired culture and strong setts Institute of Technology. Versions for the ties with universities as it has grown. It DEC VAX and for Sun Microsystems worksta- remains privately held, Moler and his partners tions soon followed. Matlab 3, released in having held out against the lure of the stock 1987, included graphical capabilities. market during the boom years of the 1990s. At first, Little and Bangert worked from their homes, and early copies of Matlab were Current interests duplicated manually on Little’s computer. In late 2005, Moler was elected as SIAM Sales started slowly, but grew steadily. Little president, to serve a two-year term that started started to draw a salary, and Bangert came to in January 2007. This followed his receipt, in work for the firm full time. Additional pro- July 2005, of the SIAM Prize for Distinguished grammers, a business manager, office staff, and Service to the Profession. a marketing specialist followed. Until 1988, Moler retains a role in directing the tech- distribution and sales work was handled by a nological evolution of Matlab. Work is cur- small firm called MGA Inc. Moler recalls a visit rently under way to switch from interpretation during 1988 when he walked into and, to a just-in-time compiler to boost perfor- stunned by the sight of a conference room mance of Matlab programs. He is also enlisting and well-stocked office supply room, thought his colleagues in the numerical analysis com- ‘‘My God, this is getting to be a real compa- munity to help replace the core Matlab ny.’’13 It was real enough that in 1989, as algorithms with versions able to exploit the Ardent failed, Moler became a MathWorks multiprocessor configurations now common employee, adding the specially created role of on high-end personal computers. Beyond this, chief scientist to his ceremonial position as Moler writes that chairman.14 He joined a staff of around 30. Moler has continued to avoid involvement The traditional features that I’ve worked on, like in the firm’s routine operations, claiming that basic matrix computation, are mature. But there he does not enjoy this work and is not good at is a great deal of mathematical development in it. He does, however, enjoy writing code and progress and planned for the future. As a adding new capabilities to the system and company, we are broadening our mathematical describes himself as a ‘‘real hacker’’ who can interests and expertise. Current work includes:

90 IEEE Annals of the History of Computing N New optimization techniques 2004; available from http://history.siam.org/ N Genetic algorithms N oralhistories/moler.htm, p. 4. Throughout this Mixed integer/continuous linear and nonline- biography, details not otherwise attributed are ar programming taken from this source. N More powerful statistical computations N Bioinformatics 2. Ibid., p. 9. N Biosimulation 3. G.E. Forsythe and C.B. Moler, Computer Solution N Control in the presence of uncertainty (robust of Linear Algebraic Systems, Prentice Hall, 1967. control) 4. C.B. Moler, ‘‘Finite Difference Methods for the N Image morphing N Eigenvalues of Laplace’s Operator,’’ doctoral Filter design dissertation, Dept. Mathematics, Stanford Univ. 1965. We may not be inventing new mathematics or 5. C. Moler, L. Fox, and P. Henrici, ‘‘Approximations new mathematical algorithms, but we are mak- and Bounds for Eigenvalues of Elliptic Operators,’’ ing mathematical thinking and mathematical techniques accessible to scientists and engineers SIAM J. Numerical Analysis, vol. 4, 1967, pp. 89-102. who might not encounter them otherwise.16 6. J.M. Boyle et al., ‘‘NATS: A Collaborative Effort to Certify and Disseminate Mathematical Software,’’ Moler now has the freedom and security to Proc. ACM Ann. Conf., vol. 2, 1972, pp. 630-635. work on almost anything he wants to. On the C.B. Moler and J.J. Dongarra, ‘‘EISPACK—A policy level, this has included service on the Package for Solving Matrix Eigenvalue Problems,’’ advisory boards of various interdisciplinary Sources and Development of Mathematical centers for applied computing research and Software, W.R. Cowell, ed., Prentice Hall, 1984, education. On a more personal level, he has pp. 68-87. been teaching an undergraduate course on 7. J.H. Wilkinson, The Algebraic Eigenvalue Problem, numerical methods to computer science ma- Clarendon Press, 1965; J.H. Wilkinson and C. jors at the University of California, Santa Reinsch, Handbook for Automatic Computation, Barbara, something he describes as ‘‘a real Vol. 2: , Springer-Verlag, 1971. challenge, because they don’t know very much 8. B.T. Smith et al., Matrix Eigensystem Routines— 17 mathematics.’’ This course uses a new text- EISPACK User’s Guide, Springer-Verlag, 1974. book, Numerical Computing, with Matlab which 9. C.B. Moler and G.W. Stewart, ‘‘An Algorithm for 18 he has made available online, together with Generalized Matrix Eigenvalue Problems,’’ SIAM J. sample code to provide interactive examples of Numerical Analysis, vol. 10, no. 2, 1973, pp. 241-256. the use of mathematics, such as Fourier 10. J.J. Dongarra et al., LINPACK Users’ Guide, SIAM analysis of touch-tone phone dialing. Moler Publications, 1979. says he is prouder of this code than of any 11. G.E. Forsythe, M.A. Malcolm, and C.B. Moler, other program he has written, because it Computer Methods for Mathematical instructspeopleaswellascontrolsmachines. Computations, Prentice Hall, 1977. He admits to the hope that one or two of the 12. The presentations were published as C.B. Moler, students he teaches will perhaps have awak- ‘‘Design of an Interactive Matrix Calculator,’’ ened in them an enduring love for the subject Proc. 1980 Nat’l Computer Conf., AFIPS Press, akin to that he experienced more than 40 years 1980, and C.B. Moler, ‘‘Demonstration of a ago, in John Todd’s classroom at Caltech.19 Matrix Laboratory,’’ Proc. Cocoyoc Conf. Numerical Acknowledgments Analysis, LNM 909, J.-P. Hennart, ed., Springer- Verlag, 1983, pp. 84-89. This biography and the oral history interview 13. C. Moler, oral history interview, p. 79. from which it draws were created under 14. See http://www.mathworks.com/company/ contract to SIAM as part of the SIAM History aboutus/founders/clevemoler.html. Project supported by # DE-FG02-01ER25547 15. C. Moler, oral history interview, p. 84. awarded by the US Department of Energy. Transcripts and other project documents are 16. C.B. Moler, personal communication to author, 8 available at http://history.siam.org and will be Mar. 2006. added to the permanent collection of the 17. C. Moler, oral history interview, p. 64. Charles Babbage Institute. 18. See http://www.mathworks.com/moler. 19. C. Moler, oral history interview, p. 62. References and notes 1. C. Moler, oral history interview by T. Haigh, 8-9 Mar. 2004, Santa Barbara, Calif., Soc. for Readers may contact department editor Thomas Industrial and Applied Mathematics, Philadelphia, Haigh at [email protected].

January–March 2008 91