Discussion from UCHiPACC on Vimeo. Also See: Bolshoi Simulation: WMAP Explorer
As Richard Feynman put it:^{[13]}
“It always bothers me that, according to the laws as we understand them today, it takes a computing machine an infinite number of logical operations to figure out what goes on in no matter how tiny a region of space, and no matter how tiny a region of time. How can all that be going on in that tiny space? Why should it take an infinite amount of logic to figure out what one tiny piece of space/time is going to do? So I have often made the hypotheses that ultimately physics will not require a mathematical statement, that in the end the machinery will be revealed, and the laws will turn out to be simple, like the chequer board with all its apparent complexities”.
Computational science (or scientific computing) is the field of study concerned with constructing mathematical models and quantitative analysis techniques and using computers to analyze and solve scientific problems.^{[1]} In practical use, it is typically the application of computer simulation and other forms of computation to problems in various scientific disciplines.
The field is distinct from computer science (the study of computation, computers and information processing). It is also different from theory and experiment which are the traditional forms of science and engineering. The scientific computing approach is to gain understanding, mainly through the analysis of mathematical models implemented on computers.
Scientists and engineers develop computer programs, application software, that model systems being studied and run these programs with various sets of input parameters. Typically, these models require massive amounts of calculations (usually floatingpoint) and are often executed on supercomputers or distributed computing platforms.
Numerical analysis is an important underpinning for techniques used in computational science.
Contents

Applications of computational science
Problem domains for computational science/scientific computing include:
Numerical simulations
Numerical simulations have different objectives depending on the nature of the task being simulated:
 Reconstruct and understand known events (e.g., earthquake, tsunamis and other natural disasters).
 Predict future or unobserved situations (e.g., weather, subatomic particle behaviour).
Model fitting and data analysis
 Appropriately tune models or solve equations to reflect observations, subject to model constraints (e.g. oil exploration geophysics, computational linguistics).
 Use graph theory to model networks, especially those connecting individuals, organizations, and websites.
Computational optimization
 Optimize known scenarios (e.g., technical and manufacturing processes, frontend engineering).
Methods and algorithms
Algorithms and mathematical methods used in computational science are varied. Commonly applied methods include:
 Numerical analysis
 Application of Taylor series as convergent and asymptotic series
 Computing derivatives by Automatic differentiation (AD)
 Computing derivatives by finite differences
 Graph theoretic suites
 High order difference approximations via Taylor series and Richardson extrapolation
 Methods of integration on a uniform mesh: rectangle rule (also called midpoint rule), trapezoid rule, Simpson’s rule
 Runge Kutta method for solving ordinary differential equations
 Monte Carlo methods
 Molecular dynamics
 Numerical linear algebra
 Computing the LU factors by Gaussian elimination
 Cholesky factorizations
 Discrete Fourier transform and applications.
 Newton’s method
 Time stepping methods for dynamical systems
Programming languages commonly used for the more mathematical aspects of scientific computing applications include R (programming language), MATLAB, Mathematica,^{[2]} SciLab, GNU Octave, COMSOL Multiphysics, Python (programming language) with SciPy, and PDL.^{[citation needed]} The more computationally intensive aspects of scientific computing will often utilize some variation of C or Fortran and optimized algebra libraries such as BLAS or LAPACK.
Computational science application programs often model realworld changing conditions, such as weather, air flow around a plane, automobile body distortions in a crash, the motion of stars in a galaxy, an explosive device, etc. Such programs might create a ‘logical mesh’ in computer memory where each item corresponds to an area in space and contains information about that space relevant to the model. For example in weather models, each item might be a square kilometer; with land elevation, current wind direction, humidity, temperature, pressure, etc. The program would calculate the likely next state based on the current state, in simulated time steps, solving equations that describe how the system operates; and then repeat the process to calculate the next state.
The term computational scientist is used to describe someone skilled in scientific computing. This person is usually a scientist, an engineer or an applied mathematician who applies highperformance computers in different ways to advance the stateoftheart in their respective applied disciplines in physics, chemistry or engineering. Scientific computing has increasingly also impacted on other areas including economics, biology and medicine.
Computational science is now commonly considered a third mode of science, complementing and adding to experimentation/observation and theory.^{[3]} The essence of computational science is numerical algorithm^{[4]} and/or computational mathematics.^{[5]} In fact, substantial effort in computational sciences has been devoted to the development of algorithms, the efficient implementation in programming languages, and validation of computational results. A collection of problems and solutions in computational science can be found in Steeb, Hardy, Hardy and Stoop, 2004.^{[6]}
Education
Scientific computation is most often studied through an applied mathematics or computer science program, or within a standard mathematics, sciences, or engineering program. At some institutions a specialization in scientific computation can be earned as a “minor” within another program (which may be at varying levels). However, there are increasingly many bachelor’s and master’s programs in computational science. Some schools also offer the Ph.D. in computational science, computational engineering, computational science and engineering, or scientific computation.
There are also programs in areas such as computational physics, computational chemistry, etc.
Related fields
 Bioinformatics
 Cheminformatics
 Chemometrics
 Computational biology
 Computational chemistry
 Computational economics
 Computational electromagnetics
 Computational engineering
 Computational finance
 Computational fluid dynamics
 Computational forensics
 Computational geophysics
 Computational linguistics
 Computational mathematics
 Computational mechanics
 Computational neuroscience
 Computational particle physics
 Computational physics
 Computational statistics
 Computer algebra
 Environmental simulation
 Financial modeling
 Geographic information system (GIS)
 High performance computing
 Machine learning
 Network analysis
 Neuroinformatics
 Numerical linear algebra
 Numerical weather prediction
 Pattern recognition
See also
 Comparison of computer algebra systems
 List of molecular modeling software
 List of numerical analysis software
 List of statistical packages
 Simulated reality
References
 ^ National Center for Computational Science
 ^ Mathematica 6 Scientific Computing World, May 2007
 ^ Siam.org
 ^ Nonweiler T. R., 1986. Computational Mathematics: An Introduction to Numerical Approximation, John Wiley and Sons
 ^ Yang X. S., 2008. Introduction to Computational Mathematics, World Scientific Publishing
 ^ Steeb W.H., Hardy Y., Hardy A. and Stoop R., 2004. Problems and Solutions in Scientific Computing with C++ and Java Simulations, World Scientific Publishing. ISBN 9812561129