The idea of Computational Science--as a discipline in its own right--has recently emerged, encouraged by some of the National Laboratories (Oak Ridge,Los Alamos, Sandia). The idea has also caught on in some academic circles.
The idea is that computational science has actually been practiced for a long time (perhaps hundreds of years), but that previously practitioners were not identified as "Computational Scientists".
The idea is that computational science is a mode of doing science based on computing and thus a computational scientist is a scientist who uses computing in her/his work in a fundamental way.
"In broad terms [Computational Science] is about using computers to analyze scientific problems."----CSEPElectronic Book, Oak Ridge National Laboratory
computational scientists.
Here is an example that illustrates this concept:
J. Zachary (Introduction to Scientific Programming) considers the following:
Johannes Kepler (1571-1630) used Brahe's data to find his 3 laws of planetary motion.
Kepler's laws:
- planetary orbits are ellipses with sun at one focus.
- The line between a planet and the sun sweeps equal areas in equal time.
- The square of the orbital period is proportional to the cube of the average distance to the sun
Newton needed to invent calculus to describe his laws (in "Calculus III" classes we sometimes show how to derive Kepler's laws from Newton's laws).
Newton's laws are a very general mathematical model that can make many predictions beyond planetary motion (classical mechanics).
In general, the equations that arise from Newton's laws are extremely difficult to solve (even the case of a sun and two plannets--the 3 body problem--is intractible)
Zachary's point is that in this story:
Newton is a theoretical scientist, and
Kepler is a computational scientist.
Kepler was able to take Brahe's data and by computing
(the old fashioned way, with pencil and paper) find relationships within
it. His laws essentially explained how to generate the data computationally,
without trying to explain why. In a sence it reduced Brahe's
data to the smaller amount of "data" needed to express (and implement)
Kepler's laws. Without Kepler's laws it is doubtful we would have Newton's
laws.
The notion of experimental, computational, and theoretical science does not fit all sciences equally well. In particular, if Mathematics has an experimental branch, it is probably part of it's computational branch.
We don't want to take the term "science" so literally
as to be exclusive.
Biological science:
genetics, neuroscience, molecular biology
Engineering science:
electrical, mechanical, computer, environmental
Mathematical science:
mathematics, statistics, operations research
Social science:
economics, finance, demography, political
Here are some closely related areas that computational
mathematics is composed of:
Computer Science
Broad definition: The practice (science) of using a computer solve problems.Important Skill: Knowing how to program well.
In practice (as a field): Concerned with: computer architecture, operating systems, programming languages, networking, data structures, algorithms, computational complexity, databases, user interfaces, graphics, computer vision, artificial intelligence, scientific programming, etc.
Related field: Computer engineering.
This is a modern term for the part of computer science that deals with implementing mathematical models and/or numerical algorithms on the computer. An older name for the same area is "scientific programming". In current usage, it is nearly synonomous with the kind of computing computational scientists do.
Cliche:
The favorite language for scientific computing is FORTRAN (rather than C).
The practice of taking advantage of high performance computing hardware, including RISC proessors, memory caching schemes, parallel architectures, etc.This includes specific programming techniques (eg, loop unrolling) and types of software (eg, optimizing compilers) to take advantages of the improved hardware.
High performance computing implicitly often refers to scientific applications, where execution speed is the limiting factor in what problems can be solved.
- The branch of applied mathematics that deals with how to solve (or approximately solve) mathematical problems numerically.
- Closely connected with Scientific Computing.
- Includes the theory of errors in calculations and computer arithmetic (the latter is also part of computer science and computer engineering).
Broad definition: Mathematics applied to "real world" problems.As opposed to "pure mathematics" which is mathematics for its own sake (or perhaps mathematics that has not yet found an application).In practice: Certain fields in mathematics are considered "applied": mostly differential equations (PDE's and ODE's) & numerical analysis.
Constructing mathematical models of "real-world" phenomena.Models can sometimes be solved "analytically" but more often numerical solutions are necessary (e.g. Newton's laws). Numerical solutions are often implemented computationally.
Related term: simulation.
then
Mathematical modeling lies somewhere between Applied Mathematics and the scientific discipline being modeled.
Skills needed to sucessfully apply computational mathematics to your field:
Recent advances in computer technology have made a more
viable tool than ever before.
Advance: Effect:
| Higher CPU speed/RISC architecture/parallel
processing.
Cheaper memory/faster cache. (Moore's Law) |
Larger computations possible. Rougher programming may still work. |
| More economical faster mass data storage. | Computer data gathering, massive databases.
(Human Genome, U.S. economy, National weather service) |
| Networking (local and Global). | Data and software sharing, scientific collaboration, e-publication, virtual parallel architecture |
| Improvements in graphics hardware and software. | Desktop publishing, visualization as a scientific tool. |
| Software/Language improvements. | New models for scientific computing (CAS).
New approaches to programming, e.g. FORTRAN 90, Java, C++. Numerical analysis using spreadsheet |
| Availability of laptop computers | Portable, ever present computing. |