Cleve Moler: Geek of the Week

Matlab was never intended as a commercial product when it was first created by Chris Moler while he was a professor of mathematics and computer science at the University of New Mexico to help his students with matrix maths. It has since been developed into a more general computer language, and has become immensely popular. We were intrigued as to how and why Matlab came about so we asked Chris Moler.

2360-clevemoler.JPG

One of the most famous quotes in the history of the computing is that ‘640KB ought to be enough for anybody’, allegedly made by Bill Gates at a computer trade show in 1981 just after the launch of the IBM PC.

The context was that the Intel 8088 processor that powered the original PC could handle a trifling 640 kilobytes of Random Access Memory (RAM) and people were questioning whether that limit wasn’t just a mite restrictive.

Gates has always denied making the statement and he most likely never did. If there’s one man who would have known that just as you can never be too rich or too thin, you can also never have too much RAM, it’s Bill Gates.

But even Gates could not have foreseen the amount of data computers would be called upon to handle within three decades. The tools needed to analyse Big Data, as it’s now called, are few are far between.

In most cases it is limited to programs such as Matlab and Microsoft Excel, which are excellent for small datasets but unable to handle the huge volumes that science and technology are producing.

Almost everyone will have heard of Excel of course but not enough of Matlab which can solve technical computing problems faster than with traditional programming languages, such as C, C++, and Fortran.

The language was chiefly designed by Cleve Moler, an academic who has served as a professor of mathematics and computer science at the University of Michigan, Stanford University, and the University of New Mexico, where he also held the position of chair of the Computer Science department.

During his time at the University of New Mexico, he developed Matlab along with Jack Little and Steve Bangert. Nearly three decades later the program is used in a huge array of applications.

RM:
Cleve, how did Matlab come about?
CM:
At the time I was a professor of mathematics and computer science at the University of New Mexico and in the 1970s there were two Fortran software projects called LINPACK and EISPACK.

LINPAC is today known as the benchmark, the basis for deciding the Top 500 supercomputers. But 37 years ago it was a software project involving matrices and I wanted students at the university to have access to LINPACK and EISPACK without writing Fortran programs. So I wrote the first version of MATLAB, in Fortran just as a program for my students to use.

RM:
Were you trying to solve a particular problem?
CM:
Well, it was problems involving computations with matrices and mathematics, which was very specialised with a very narrow focus. I had no idea that it would be a commercial product and had no intention of starting a company or commercialising it.
RM:
There were three members of the original team behind Matlab and the company which commercialised the program MathWorks, Jack Little, Steve Bangert and yourself, what role did each person play in the program and the beginnings of the business?
CM:
Jack Little is an electrical engineer. In 1979 I visited Stanford University; I was on a sabbatical there and I taught a course and used Matlab in the course. Engineering students at Stanford took the course and found it useful in engineering problems that I didn’t know anything about – topics called control theory and signal processing. Little had gone to Stanford and was working near the campus and he heard about Matlab from the students, some friends that took my course. He got excited about it as something that could be used in engineering.

The mathematics that I was using was useful in these engineering subjects and I didn’t even realise it. Steve Bangert was a friend of Little’s and was our chief programmer for a number of years.

I’m the father of Matlab and Little is the father of MathWorks the company. He’s the real heart and soul and the basis for the success of the company.

RM:
How has the momentum and popularity of Matlab over 30 years surprised you? Did you ever expect it to reach one million users?
CM:
I had no idea, no thought in forming a commercial company, no idea of how far this could go. My first Matlab was very primitive. It was hardly even a programming language, but Jack Little turned it into a real programming language when he became involved in the early 1980s. And today there are so many different kinds of uses of it.
RM:
Was there a moment when its popularity really struck you?
CM:
We had started the company, I was living in California, the company was in Massachusetts, and I came back to visit Jack. I saw we had an office with a conference table – a real conference table! Then we had this Christmas party, 30 odd years ago, and there were a lot of people at the Christmas party and I said: “Wow, we got a real company here!”
RM:
Matlab is known for its array and matrix handing. Do you think you’ve influenced many general purpose languages with that?
CM:
Well, Matlab itself has expanded to become a general purpose language. Matlab stands for ‘matrix laboratory’, but it’s gone way beyond that, particularly with Simulink, our companion product, which lots of people are using for things that don’t even involve matrices.

Some competitors have been modelled after and made to compete with Matlab and have gotten their inspiration from Matlab. There are some open source Matlab clones, there’s the popular languages used in statistics called S and R. Those guys were very much influenced by what we were doing. There’s now an add-on to Python called Numerical Python, which very much looks like Matlab.

RM:
Are you aware of any everyday products that use Matlab as one of their tools for creation?
CM:
Absolutely! One of the most interesting is hearing aids. There’s a famous Australian company called Cochlear that makes hearing aids. Several years ago my wife was looking for a hearing aid for her mother. She was on the web and she came across the Cochlear website. She said, “Hey Cleve there’s a Matlab plot!” So it turns out my mother-in-law has a MATLAB designed hearing aid.

All the major automobile manufacturers including Toyota use Matlab in the design of the electronics in the car: The anti-lock brakes, the electronic ignition, motors running the windows. Matlab doesn’t actually run in your car, but its electronics were most likely designed with it. The same is true of airplanes and cell phones.

RM:
Can you tell me a little more about the graphics and plotting abilities of MATLAB?
CM:
This has absolutely been one of the important aspects of its popularity. It was added very early on to accompany the matrices’ and make it easy to use plots. Today, they’re used throughout science and engineering. Whenever I read a scientific or engineering publication or journal article and there’s a plot in it I look to see if it’s made from Matlab. It’s sort of puzzle; they don’t say if it is a Matlab plot – they don’t need to – but there are clues in the way the axes are labelled and so on that indicates a Matlab plot.
RM:
Were there any particularly difficult or frustrating problems you had to overcome in the development of Matlab?
CM:
Early on it was important for us to run on all of the computers that were around. Unix workstations like Sun’s were much more powerful than PCs and there were several Unix workstations: Sun, Apollo and so on. They’re not in business anymore because the PC has overtaken them, but in the early days it was important that we work on all these different architectures because our customers didn’t just use one machine, they had access to a number of different machines and the fact that they could move their Matlab programs from one machine to another was an important aspect of preserving popularity. That was difficult to do, because there were a lot of operating systems and not a lot of standards.
RM:
Would you have done anything differently in the development of Matlab if you had the chance?
CM:
That’s a good question. Matlab is a programming language and most users use it as this programming language. So it has evolved from something that was very primitive to a modern programming language, object oriented and so on. Its evolution, from a primitive calculator to a modern programming language, has been very difficult.

If I had started out at the beginning to design a programming language, Matlab probably would have been something quite different. The original intention was that it would be easy to use and that it would have solid mathematics underlying it. I’m glad I did it the way I did, but if I knew what it was going to be today, I might not have done it that way.

RM:
Have you ever seen Matlab used in a way in which you never intended it to be used?
CM:
Yes I have, many times. One of the most remarkable was at Australia’s Synchrotron Research Centre outside Melbourne. The software that controls the machines, the magnets, the timing and the operation of the machine was written in Matlab. I saw a demonstration of that when I was in Australia two or three years ago. It’s not only used at that facility but they share that software with atom-smashers in other countries.
RM:
What’s your favourite feature of Matlab, if you had to pick one?
CM:
It’s the mathematics. The thing that I enjoy as a mathematician is finding out how mathematics underlies so many different disciplines. We didn’t intend to do automobiles, anti-lock brakes or human genome or pricing of derivatives in the finance market. We never set out to do any of that originally, but mathematics is common to all of these. I really enjoy talking about how these different fields are unified by the underlying mathematics.
RM:
What are you proudest of in terms of Matlab’s initial development and continuing use?
CM:
The popularity, the fact that this is now used by probably one million people around the world and the fact that the science and engineering influences peoples lives. That’s not something that a research mathematician expects to see his work used in. That has been very gratifying.
RM:
Do you have any advice for today’s maths, science and engineering students?
CM:
Stay in school. I’m serious, it’s very tempting for these guys to leave early, particularly in the computer business. It’s so attractive and they get such good jobs. They can go out and be a web designer, they’re attracted by computer graphics, games, and the film industry. That’s exciting, attractive work and these students leave school [university] to go get those good jobs. For the long term, they should stay in school and learn a little bit more math and a little more engineering before they succumb to all the attractive industries.
RM:
Do you wish mathematics and engineering were taught more in universities?
CM:
We’re on the intersection between mathematics, engineering and computer science. In many universities, those three disciplines just concentrate on their own little field. The mathematicians don’t want to dirty their hands with engineering, the engineers are afraid of mathematics, it’s the interdisciplinary, the combination of all three of those that students should have a chance to appreciate.
RM:
Where do you see the future for Matlab? And what’s next for MathWorks?
CM:
Biomedical areas, research medicine and research biology are areas where we’re just beginning to have an impact. Our biggest competitor is actually [Microsoft] Excel. A lot of technical people do calculations with a spreadsheet, but they’d be better off using MATLAB for it and that’s the audience we want to reach. Not a particular discipline, but all the scientists and engineers who haven’t gone to the trouble to learn more powerful methods to do the calculations they want to do.

As for MathWorks. Stay on course. We’ve come through this world economic crisis in good shape. Some of our customers have been hit hard, but we survived well. We’ve got to continue to attract good people, good students out of the universities all around the world.