Scientific Computing

What is Scientific Computing ?

Scientific Computing is nowadays the “third pillar of science”, standing right next to theoretical analysis and experiments for scientific discovery.

Computation becomes crucially important in situations such as:

  • The problem at hand cannot be solved by traditional experimental or theoretical means, such as attempting to predict climate change
  • Experimentation may be dangerous, e.g., characterization of toxic materials
  • The problem would be too expensive or time-consuming to try to solve by other avenues, e.g. determination of the structure of proteins

Furthermore, computer simulations can be embedded in optimization algorithms for optimal designs, e.g. the optimal design of aircrafts in the computer instead of experience driven trial and error designs with the support of expensive wind tunnel experiments.

Another characteristic of Scientific Computing is that it is a multidisciplinary activity. Generally, it involves experts in the application at hand, and also applied mathematicians and computer scientists that help to implement computational solution.

But what is Scientific Computing ?

The question is answered in [Golub&Ortega]* as follows:

Scientific Computing is the collection of tools, techniques, and theories required to solve on a computer mathematical models of problems in Science and Engineering.
A majority of these tools, techniques, and theories originally developed in Mathematics, many of them having their genesis long before the advent of electronic computers. This set of mathematical theories and techniques is called Numerical Analysis (or Numerical Mathematics) and constitutes a major part of scientific computing. The development of the electronic computer, however, signaled a new era in the approach to the solution of scientific problems. Many of the numerical methods that had been developed for the purpose of hand calculation (including the use of desk calculators for the actual arithmetic) had to be revised and sometimes abandoned. Considerations that where irrelevant or unimportant for hand calculation now became of utmost importance for the efficient and correct use of a large Computer System. Many of these considerations – programming languages, operating systems, management of large quantities of data, correctness of programs – were subsumed under the new discipline of Computer Science, on which scientific computing now depends heavily. But mathematics itself continues to play a major role in scientific computing: it provides the language of the mathematical models that are to be solved and information about the suitability of a model (Does it have a solution? Is the solution unique?) and it provides the theoretical foundation for the numerical methos and, increasingly, many of the tools from computer science.
In summary, then, scientific computing draws on mathematics and computer science to develop the best way to use computer systems to solve problems from science and engineering.

*Gene H. Golub and James M. Ortega. Scientific Computing and Differential Equations – An Introduction to Numerical Methods. Academic Press, 1992.