Computational science, also known as scientific computing, technical computing or scientific computation (SC), is a division of science, and more specifically the
Computer Sciences, which uses advanced
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
capabilities to understand and solve complex physical problems. While this typically extends into computational specializations, this field of study includes:
*
Algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s (
numerical and non-numerical):
mathematical models,
computational models, and
computer simulations developed to solve
sciences (e.g,
physical,
biological, and
social),
engineering
Engineering is the practice of using natural science, mathematics, and the engineering design process to Problem solving#Engineering, solve problems within technology, increase efficiency and productivity, and improve Systems engineering, s ...
, and
humanities
Humanities are academic disciplines that study aspects of human society and culture, including Philosophy, certain fundamental questions asked by humans. During the Renaissance, the term "humanities" referred to the study of classical literature a ...
problems
*
Computer hardware that develops and optimizes the advanced system
hardware,
firmware
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
,
networking, and
data management components needed to solve computationally demanding problems
* The computing infrastructure that supports both the science and engineering problem solving and the developmental computer and
information science
In practical use, it is typically the application of
computer simulation and other forms of
computation from
numerical analysis
Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic computation, symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of ...
and
theoretical computer science to solve problems in various scientific disciplines. The field is different from theory and laboratory experiments, which are the traditional forms of science and
engineering
Engineering is the practice of using natural science, mathematics, and the engineering design process to Problem solving#Engineering, solve problems within technology, increase efficiency and productivity, and improve Systems engineering, s ...
. The scientific computing approach is to gain understanding through the analysis of mathematical models implemented on
computer
A computer is a machine that can be Computer programming, programmed to automatically Execution (computing), carry out sequences of arithmetic or logical operations (''computation''). Modern digital electronic computers can perform generic set ...
s. Scientists and engineers develop
computer programs and
application software
Application software is any computer program that is intended for end-user use not operating, administering or programming the computer. An application (app, application program, software application) is any program that can be categorized as ...
that model systems being studied and run these programs with various sets of input parameters. The essence of computational science is the application of numerical algorithms and
computational mathematics. In some cases, these models require massive amounts of calculations (usually
floating-point) and are often executed on
supercomputer
A supercomputer is a type of computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second (FLOPS) instead of million instruc ...
s or
distributed computing platforms.
The computational scientist

The term
computational scientist is used to describe someone skilled in scientific computing. Such a person is usually a scientist, an engineer, or an applied mathematician who applies
high-performance computing in different ways to advance the state-of-the-art in their respective applied disciplines in physics, chemistry, or engineering.
Computational science is now commonly considered a third mode of
science
Science is a systematic discipline that builds and organises knowledge in the form of testable hypotheses and predictions about the universe. Modern science is typically divided into twoor threemajor branches: the natural sciences, which stu ...
, complementing and adding to
experimentation/
observation
Observation in the natural sciences is an act or instance of noticing or perceiving and the acquisition of information from a primary source. In living beings, observation employs the senses. In science, observation can also involve the percep ...
and
theory (see image). Here, one defines a
system
A system is a group of interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, surrounded and influenced by its open system (systems theory), environment, is described by its boundaries, str ...
as a potential source of data, an
experiment as a process of extracting data from a system by exerting it through its inputs and a
model
A model is an informative representation of an object, person, or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin , .
Models can be divided in ...
(''M'') for a system (''S'') and an experiment (''E'') as anything to which ''E'' can be applied in order to answer questions about ''S''. A computational scientist should be capable of:
* recognizing complex problems
* adequately conceptualizing the system containing these problems
* designing a framework of algorithms suitable for studying this system: the simulation
* choosing a suitable computing infrastructure (
parallel computing
Parallel computing is a type of computing, computation in which many calculations or Process (computing), processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. ...
/
grid computing
Grid computing is the use of widely distributed computer resources to reach a common goal. A computing grid can be thought of as a distributed system with non-interactive workloads that involve many files. Grid computing is distinguished fro ...
/
supercomputer
A supercomputer is a type of computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second (FLOPS) instead of million instruc ...
s)
* hereby, maximizing the computational power of the simulation
* assessing to what level the output of the simulation resembles the systems: the model is validated
* adjusting the conceptualization of the system accordingly
* repeat the cycle until a suitable level of validation is obtained: the computational scientist trusts that the simulation generates adequately realistic results for the system under the studied conditions
Substantial effort in computational sciences has been devoted to developing algorithms, efficient implementation in programming languages, and validating computational results. A collection of problems and solutions in computational science can be found in Steeb, Hardy, Hardy, and Stoop (2004).
Philosophers of science addressed the question to what degree computational science qualifies as science, among them Humphreys and Gelfert. They address the general question of epistemology: how does gain insight from such computational science approaches? Tolk uses these insights to show the epistemological constraints of computer-based simulation research. As computational science uses mathematical models representing the underlying theory in executable form, in essence, they apply modeling (theory building) and simulation (implementation and execution). While simulation and computational science are our most sophisticated way to express our knowledge and understanding, they also come with all constraints and limits already known for computational solutions.
Applications of computational science
Problem domains for computational science/scientific computing include:
Predictive computational science
Predictive computational science is a scientific discipline concerned with the formulation, calibration, numerical solution, and validation of mathematical models designed to predict specific aspects of physical events, given initial and boundary conditions, and a set of characterizing parameters and associated uncertainties. In typical cases, the predictive statement is formulated in terms of probabilities. For example, given a mechanical component and a periodic loading condition, "the probability is (say) 90% that the number of cycles at failure (Nf) will be in the interval N1
Urban complex systems
Cities are massively complex systems created by humans, made up of humans, and governed by humans. Trying to predict, understand and somehow shape the development of cities in the future requires complex thinking and computational models and simulations to help mitigate challenges and possible disasters. The focus of research in urban complex systems is, through modeling and simulation, to build a greater understanding of city dynamics and help prepare for the coming urbanization.
Computational finance
In financial markets, huge volumes of interdependent assets are traded by a large number of interacting market participants in different locations and time zones. Their behavior is of unprecedented complexity and the characterization and measurement of the risk inherent to this highly diverse set of instruments is typically based on complicated mathematical
Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
and computational models. Solving these models exactly in closed form, even at a single instrument level, is typically not possible, and therefore we have to look for efficient numerical algorithms. This has become even more urgent and complex recently, as the credit crisis has clearly demonstrated the role of cascading effects going from single instruments through portfolios of single institutions to even the interconnected trading network. Understanding this requires a multi-scale and holistic approach where interdependent risk factors such as market, credit, and liquidity risk are modeled simultaneously and at different interconnected scales.
Computational biology
Exciting new developments in biotechnology
Biotechnology is a multidisciplinary field that involves the integration of natural sciences and Engineering Science, engineering sciences in order to achieve the application of organisms and parts thereof for products and services. Specialists ...
are now revolutionizing biology and biomedical research. Examples of these techniques are high-throughput sequencing, high-throughput quantitative PCR, intra-cellular imaging, in-situ hybridization of gene expression, three-dimensional imaging techniques like Light Sheet Fluorescence Microscopy, and Optical Projection (micro)-Computer Tomography. Given the massive amounts of complicated data that is generated by these techniques, their meaningful interpretation, and even their storage, form major challenges calling for new approaches. Going beyond current bioinformatics approaches, computational biology needs to develop new methods to discover meaningful patterns in these large data sets. Model-based reconstruction of gene networks can be used to organize the gene expression data in a systematic way and to guide future data collection. A major challenge here is to understand how gene regulation is controlling fundamental biological processes like biomineralization and embryogenesis. The sub-processes like gene regulation, organic molecules interacting with the mineral deposition process, cellular processes, physiology, and other processes at the tissue and environmental levels are linked. Rather than being directed by a central control mechanism, biomineralization and embryogenesis can be viewed as an emergent behavior resulting from a complex system in which several sub-processes on very different temporal and spatial scales (ranging from nanometer and nanoseconds to meters and years) are connected into a multi-scale system. One of the few available options to understand such systems is by developing a multi-scale model of the system.
Complex systems theory
Using information theory, non-equilibrium dynamics, and explicit simulations, computational systems theory tries to uncover the true nature of complex adaptive systems.
Computational science and engineering
Computational science and engineering (CSE) is a relatively new discipline that deals with the development and application of computational models and simulations, often coupled with high-performance computing, to solve complex physical problems arising in engineering analysis and design (computational engineering) as well as natural phenomena (computational science). CSE has become accepted amongst scientists, engineers and academics as the "third mode of discovery" (next to theory and experimentation). In many fields, computer simulation is integral and therefore essential to business and research. Computer simulation provides the capability to enter fields that are either inaccessible to traditional experimentation or where carrying out traditional empirical inquiries is prohibitively expensive. CSE should neither be confused with pure computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
, nor with computer engineering
Computer engineering (CE, CoE, or CpE) is a branch of engineering specialized in developing computer hardware and software.
It integrates several fields of electrical engineering, electronics engineering and computer science.
Computer engi ...
, although a wide domain in the former is used in CSE (e.g., certain algorithms, data structures, parallel programming, high-performance computing), and some problems in the latter can be modeled and solved with CSE methods (as an application area).
Methods and algorithms
Algorithms and mathematical methods used in computational science are varied. Commonly applied methods include:
* Computer algebra, including symbolic computation in fields such as statistics, equation solving, algebra, calculus, geometry, linear algebra, tensor analysis (multilinear algebra), optimization
* Numerical analysis
Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic computation, symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of ...
,[Stoer, J., & Bulirsch, R. (2013). Introduction to numerical analysis. Springer Science & Business Media.][Conte, S. D., & De Boor, C. (2017). Elementary numerical analysis: an algorithmic approach. Society for Industrial and Applied Mathematics.][Greenspan, D. (2018). Numerical Analysis. CRC Press.][Linz, P. (2019). Theoretical numerical analysis. Courier Dover Publications.] including Computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
derivatives by finite difference
A finite difference is a mathematical expression of the form . Finite differences (or the associated difference quotients) are often used as approximations of derivatives, such as in numerical differentiation.
The difference operator, commonly d ...
s
** Application of Taylor series as convergent and asymptotic series
** Computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
derivatives by Automatic differentiation (AD)
** Finite element method for solving PDEs[Brenner, S., & Scott, R. (2007). The mathematical theory of finite element methods (Vol. 15). Springer Science & Business Media.][Oden, J. T., & Reddy, J. N. (2012). An introduction to the mathematical theory of finite elements. Courier Corporation.]
** 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 methods for solving ordinary differential equations
** Newton's method
* Discrete Fourier transform
* Monte Carlo methods
* Numerical linear algebra, including decompositions and eigenvalue algorithms
* Linear programming
Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements and objective are represented by linear function#As a polynomia ...
* Branch and cut
* Branch and bound
* Molecular dynamics, Car–Parrinello molecular dynamics
* Space mapping
* Time stepping methods for dynamical systems
Historically and today, Fortran remains popular for most applications of scientific computing. Other programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s and computer algebra systems commonly used for the more mathematical aspects of scientific computing applications include GNU Octave, Haskell, Julia, Maple, Mathematica, MATLAB,[Gander, W., & Hrebicek, J. (Eds.). (2011). Solving problems in scientific computing using Maple and Matlab®. Springer Science & Business Media.][Barnes, B., & Fulford, G. R. (2011). Mathematical modelling with case studies: a differential equations approach using Maple and MATLAB. Chapman and Hall/CRC.] Python (with third-party SciPy library), Perl (with third-party PDL library), R, Scilab, and TK Solver. The more computationally intensive aspects of scientific computing will often use some variation of C or Fortran and optimized algebra libraries such as BLAS or LAPACK. In addition, parallel computing
Parallel computing is a type of computing, computation in which many calculations or Process (computing), processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. ...
is heavily used in scientific computing to find solutions of large problems in a reasonable amount of time. In this framework, the problem is either divided over many cores on a single CPU node (such as with OpenMP), divided over many CPU nodes networked together (such as with MPI), or is run on one or more GPUs (typically using either CUDA or OpenCL).
Computational science application programs often model real-world changing conditions, such as weather, airflow 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 differential equations that describe how the system operates, and then repeat the process to calculate the next state.
Conferences and journals
In 2001, the ''International Conference on Computational Science (ICCS)'' was first organized. Since then, it has been organized yearly. ICCS is an A-rank conference in the CORE ranking.
The ''Journal of Computational Science'' published its first issue in May 2010. The ''Journal of Open Research Software'' was launched in 2012''.''
The ReScience C initiative, which is dedicated to replicating computational results, was started on GitHub in 2015.
Education
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, master's, and doctoral programs in computational science. The joint degree program master program computational science at the University of Amsterdam
The University of Amsterdam (abbreviated as UvA, ) is a public university, public research university located in Amsterdam, Netherlands. Established in 1632 by municipal authorities, it is the fourth-oldest academic institution in the Netherlan ...
and the in computational science was first offered in 2004. In this program, students:
* learn to build computational models from real-life observations;
* develop skills in turning these models into computational structures and in performing large-scale simulations;
* learn theories that will give a firm basis for the analysis of complex systems;
* learn to analyze the results of simulations in a virtual laboratory using advanced numerical algorithms.
ETH Zurich offers a bachelor's and master's degree in Computational Science and Engineering. The degree equips students with the ability to understand scientific problem and apply numerical methods to solve such problems. The directions of specializations include Physics, Chemistry, Biology and other Scientific and Engineering disciplines.
George Mason University
George Mason University (GMU) is a Public university, public research university in Fairfax County, Virginia, United States. Located in Northern Virginia near Washington, D.C., the university is named in honor of George Mason, a Founding Father ...
has offered a multidisciplinary doctorate Ph.D. program in Computational Sciences and Informatics starting from 1992.
The School of Computational and Integrative Sciences, Jawaharlal Nehru University (erstwhile School of Information Technology) also offers a vibrant master's science program for computational science with two specialties: Computational Biology and Complex Systems.
Subfields
* Bioinformatics
* Car–Parrinello molecular dynamics
* Cheminformatics
Cheminformatics (also known as chemoinformatics) refers to the use of physical chemistry theory with computer and information science techniques—so called "'' in silico''" techniques—in application to a range of descriptive and prescriptive ...
* Chemometrics
* Computational archaeology
* Computational astrophysics
* Computational biology
* Computational chemistry
* Computational materials science
* Computational economics
* Computational electromagnetics
* Computational engineering
* Computational finance
* Computational fluid dynamics
* Computational forensics
* Computational geophysics
* Computational history
* Computational informatics
* Computational intelligence
* Computational law
* Computational linguistics
* Computational mathematics
* Computational mechanics
* Computational neuroscience
* Computational particle physics
* Computational physics
* Computational sociology
* Computational statistics
* Computational sustainability
* Computer algebra
* Computer simulation
* Financial modeling
* Geographic information science
** Geographic information system
A geographic information system (GIS) consists of integrated computer hardware and Geographic information system software, software that store, manage, Spatial analysis, analyze, edit, output, and Cartographic design, visualize Geographic data ...
(GIS)
* High-performance computing
* Machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
* Network analysis
* Neuroinformatics
* Numerical linear algebra
* Numerical weather prediction
* Pattern recognition
Pattern recognition is the task of assigning a class to an observation based on patterns extracted from data. While similar, pattern recognition (PR) is not to be confused with pattern machines (PM) which may possess PR capabilities but their p ...
* Scientific visualization
* Simulation
A simulation is an imitative representation of a process or system that could exist in the real world. In this broad sense, simulation can often be used interchangeably with model. Sometimes a clear distinction between the two terms is made, in ...
See also
* Computational science and engineering
* Modeling and simulation
* Comparison of computer algebra systems
* Differentiable programming
* List of molecular modeling software
* List of numerical analysis software
* List of statistical packages
The following is a list of statistical software.
Open-source
* ADaMSoft – a generalized statistical software with data mining algorithms and methods for data management
* ADMB – a software suite for non-linear statistical modeling based on C+ ...
* Timeline of scientific computing
* Simulated reality
* Extensions for Scientific Computation (XSC)
References
Additional sources
* E. Gallopoulos and A. Sameh, "CSE: Content and Product". IEEE Computational Science and Engineering Magazine, 4(2):39–43 (1997)
* G. Hager and G. Wellein, Introduction to High Performance Computing for Scientists and Engineers, Chapman and Hall (2010)
* A.K. Hartmann
Practical Guide to Computer Simulations
World Scientific (2009)
* Journa
Computational Methods in Science and Technology
(open access), Polish Academy of Sciences
The Polish Academy of Sciences (, PAN) is a Polish state-sponsored institution of higher learning. Headquartered in Warsaw, it is responsible for spearheading the development of science across the country by a society of distinguished scholars a ...
* Journa
Computational Science and Discovery
Institute of Physics
* R.H. Landau, C.C. Bordeianu, and M. Jose Paez
A Survey of Computational Physics: Introductory Computational Science
Princeton University Press (2008)
External links
''Journal of Computational Science''
''The Journal of Open Research Software''
The National Center for Computational Science
at Oak Ridge National Laboratory
Oak Ridge National Laboratory (ORNL) is a federally funded research and development centers, federally funded research and development center in Oak Ridge, Tennessee, United States. Founded in 1943, the laboratory is sponsored by the United Sta ...
{{DEFAULTSORT:Computational Science
Applied mathematics
Computational fields of study