What's in a Name? Numerical Analysis, Scientific Computing, and CSE.

"Then you should say what you mean," the March Hare went on.

"I do," Alice hastily replied; "at least--at least I mean what I say--that's the same thing, you know."

"Not the same thing a bit!" said the Hatter. "You might just as well say that "I see what I eat" is the same thing as "I eat what I see"!"

-- Lewis Carroll, Alice's Adventures in Wonderland

During a panel session on "the future of numerical analysis" at ICIAM 2007, there was a lively debate about what we should call our field. Is numerical analysis the right name, or should we call our work scientific computing, or computational science and engineering? I don't think there is necessarily a "right" name for this area, but I do think that the different names emphasize different aspects of the field. This note is my attempt to clarify what I mean when I refer to numerical analysis, scientific computing, or computational science and engineering.

Numerical Analysis

In mathematics, the word "analysis" usually refers to the study of continuous things and the limiting processes that define them. Numerical analysis combines the ideas of analysis with numerical computation. As Trefethen puts it in his essay on the definition of numerical analysis, "numerical analysis is the study of algorithms for the problems of continuous mathematics." Like other areas of mathematical analysis, numerical is not purely analytical in the conventional sense. Numerical analysis is also about synthesis of new methods. We are, among other things, engineers of mathematics, and we balance tradeoffs between different approximations in order to design methods that are both fast enough and accurate enough.

Of course, it is a little silly to parse field names too closely. The meaning of "numerical analysis" lies in how we use the phrase more than in the meanings of the component words. Still, it seems to me that we say "numerical analysis" most often when we refer to the mathematical aspects of numerical method design and analysis.

Scientific Computing

I have a book on my shelf entitled Theoretical Numerical Analysis. You can probably guess that it is about the theory underlying various numerical methods, with a particular emphasis on the approximation of differential and integral operators. I do not have a book called Theoretical Scientific Computing, and I have a hard time imagining what such a book would even cover. So if scientific computing doesn't mean the same thing as numerical analysis, what does it mean?

If numerical analysis is about the mathematical aspects of numerical method design and analysis, scientific computing is about the aspects that involve the computer. When I worry about cache architecture, or when I parallelize numerical methods, or when I build little tools to automatically generate parts of my scientific codes, I work on scientific computing. The relationship between scientific computing and numerical analysis is, I think, similar to the relationship between theoretical computer science and systems design -- they're two distinct areas, though the line between them is fuzzy and neither would thrive alone as well as they thrive together.

Computational Science and Engineering

Computational science and engineering (CSE) research combines applications, mathematics, and software. Numerical analysis and computer science are critical to CSE work, but the research is driven by applications to scientific and engineering. According to the SIAM Working Group on CSE Education, "Although it includes elements from computer science, applied mathematics, engineering and science, CSE focuses on the integration of knowledge and methodologies from all of these disciplines, and as such is a subject which is distinct from any of them."

By default, I call my own work computational science and engineering. While my expertise is in mathematics and computing, I tend to be driven by applications. That is, given that there are too many things that I could learn next, I choose what I will learn next based on how it will help my collaborators and I better understand some scientific or engineering application.