By Tamara Kolda
Recently, physicist Rhett Allain posted a Wired Science blog entry entitled "What kind of science is computational science?" He discusses the roles of theoretical science, where new ideas are created, and experimental science, where scientists collect data and compare it to models. He goes on to argue that computational science is simply where numerical models and computer simulations are used to compare theoretical models and experimental data. While computational methods are conceded to be somewhat useful (after all, not all equations have analytical solutions), computation as a science is dismissed as “just model building.” Ironically, the posting provides a fantastic analogy for the importance of computational methods…
If you like to compare analytical and numerical approaches, you can consider the following analogy. Suppose you wanted to travel from New York to Chicago. You could get in a automobile and drive, right? You could also get there by flying in an airplane. These seem like very different ways to travel, but in the end they both do the same thing. They take you from New York and get you to Chicago.
Of course, if you want to get from New York to Beijing, the airplane will get you there and the car won’t! Likewise, analytical solutions are infeasible or impractical for virtually all modern scientific problems. Just imagine trying to compute an analytical solution of the thermal structure of the Earth’s mantle, visualized here (from “Thermal versus elastic heterogeneity in high-resolution mantle circulation models with pyrolite composition: High plume excess temperatures in the lowermost mantle” by Schuberth, B.S.A.; Bunge, H.P.; Steinle-Neumann, G., et al. Geochemistry Geophysics Geosystems 10(1) Article Q01W01; Published January 8, 2009.)
It’s unlikely that Allain is alone in this misperception of computational science, so let’s return to the original question: What is computational science? It’s much more than just making computer models run faster. There is a nice definition in the 2005 U.S. Presidential Information Technology Advisory Committee (PITAC) on Computational Science: Ensuring America’s Competitiveness:
Computational science is a rapidly growing multidisciplinary field that uses advanced computing capabilities to understand and solve complex problems. Computational science fuses three distinct elements:
More generally, you often hear about computational science and engineering (CSE). SIAM’s report on Graduate Education for Computational Science and Engineering says, “CSE is a broad multidisciplinary area that encompasses applications in science/engineering, applied mathematics, numerical analysis, and computer science. Computer models and computer simulations have become an important part of the research repertoire, supplementing (and in some cases replacing) experimentation. Going from application area to computational results requires domain expertise, mathematical modeling, numerical analysis, algorithm development, software implementation, program execution, analysis, validation and visualization of results. CSE involves all of this.” Computer models are ultimately discrete approximations of continuous phenomena. CSE addresses not only how to build the model efficiently under various constraints (limited computational power and computer memory) but also how to determine if the model and its computational realization are accurate enough to be reliable.
One critical misperception in the Wired Science blog is that computational and analytical approaches amount to the same thing, concluding that “There are not ‘three pillars’ of science, there are only two. There are experimental data and theoretical models.” Setting aside for a moment the relevance and potential of computational science, the Wired Science blog gives the impression that theoretical models are equivalent to computational models with mesh size (Δt) tending to zero. However, concepts of stability and consistency from numerical analysis are needed to firm up this connection; many sensible looking discretizations can be shown not to converge in the required limits. Studying and applying these concepts to develop numerical methods lies outside the two pillars of experimental data and theoretical models. Experimental data is typically patchy and noisy, and occasionally inconsistent. Designing, analysing and validating computational approaches that handle these issues is another field beyond the realms of experimental data and theoretical models. More generally, the three elements of computational science — algorithms, computer and information science and the computing infrastructure — call on many research concepts that are distinct from those used in the generation of experimental data and the development of theoretical models.
Returning to the relevance of computational science, the PITAC report argues that it is the third pillar of science, complementing theory and experiment. The 2003 DOE Report on A Science-based Case for Large-scale Simulation (SCaLeS) makes a similar case, arguing that breakthroughs in both theory and experiment rely on advances in computational science. Consider the theory of fluid dynamics, radiations transport, and weather prediction, where models are large-scale and nonlinear, making computation the “only truly systematic means of making progress.” Likewise, experimentation may not be possible due to pure infeasibility (think astrophysics of supernovae); insufficient instrumentation for measurements (crash testing); or even the more mundane concerns of ethics (drug design), safety (nuclear weapon testing), and/or cost (high-energy physics experiments). But the notion of a third pillar is certainly debatable. An elegant argument against the notion is provided by Moshe Y. Vardi in his article, Science Has Only Two Legs. He contends that one cannot separate it because computational science is deeply embedded in both theory and experiment. “The theory in climate science is a highly complex computational model. The only way to apply the theory is via computation. … The Compact Muon Solenoid experiment at CERN’s Large Hadron Collider generates 40 terabytes of raw data per second, a volume one cannot hope to store and process. Handling such volume requires advanced computation.”
Whatever you may believe about the number of pillars of science, there is no doubt that computational science is key to continued scientific advances. There’s always the important component of getting the computations right, lest we have bridges falling down or worse. Let us consider a diverse range of examples highlighting where computational science plays an important role in scientific breakthroughs:
I’d like to invite anyone wishing to better understand the role of computation in science and engineering to join SIAM’s activity group on Computational Science & Engineering (the most popular activity group by far) or attend the incredibly popular SIAM Conference on Computational Science & Engineering. Students may wish to also investigate SIAM’s list of Programs in Computational Science. There’s even a stack exchange on computational science!
Let me know how computational science has impacted your scientific discoveries!
Acknowledgments: Thanks to the following persons who offered advice and encouragement in preparing this posting: Paul Constantine (Colorado School of Mines), Jim Crowley (SIAM), David Gleich (Purdue Univ.), Matthew Grace (Sandia National Labs), Mike Heroux (Sandia National Labs & St. John’s University), Des Higham (Univ. Strathclyde, Scotland), Nick Higham (Univ. Manchester, England), Hans Petter Langtangen (Simula, Norway), Karthika Muthukumaraswamy (SIAM), Ali Pinar (Sandia), Karen Willcox (MIT).
Tamara G. Kolda serves on the SIAM Board of Trustees and is a Distinguished Member of the Technical Staff at Sandia National Laboratories in Livermore, CA.