Computational science
Computational science (also scientific computing or scientific
computation (SC)) is a rapidly growing multidisciplinary field that
uses advanced computing capabilities to understand and solve complex
problems. It is an area of science which spans many disciplines, but
at its core it involves the development of models and simulations to
understand natural systems.
Algorithms (numerical and non-numerical): mathematical models,
computational models, and computer simulations developed to solve
science (e.g., biological, physical, and social), engineering, and
humanities problems
Computer and information science
Computer and information science that develops and optimizes the
advanced system hardware, software, 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 and
theoretical computer science to solve problems in various scientific
disciplines. The field is different from theory and laboratory
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. The essence of computational science
is the application of numerical algorithms[1] and/or computational
mathematics. In some cases, these models require massive amounts of
calculations (usually floating-point) and are often executed on
supercomputers or distributed computing platforms.
Contents
1 The computational scientist
2 Applications of computational science
2.1 Urban complex systems
2.2 Computational finance
2.3 Computational biology
2.4
Complex systems
Complex systems theory
2.5
Computational science
Computational science in engineering
3 Methods and algorithms
4 Conferences and journals
5 Education
6 Related fields
7 See also
8 References
9 Additional sources
10 External links
The computational scientist[edit]
Ways to study a system
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 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
Computational science is now commonly considered a third mode of
science, complementing and adding to experimentation/observation and
theory (see image on the right).[2] Here, we define a system as a
potential source of data,[3] a experiment as a process of extracting
data from a system by exerting it through its inputs[4] and a model
(M) for a system (S) and an experiment (E) as anything to which E can
be applied in order to answer questions about S.[5] A computational
scientist should be capable of:
recognizing complex problems
adequately conceptualise the system containing these problems
design a framework of algorithms suitable for studying this system:
the simulation
choose a suitable computing infrastructure (parallel computing/grid
computing/supercomputers)
hereby, maximising the computational power of the simulation
assessing to what level the output of the simulation resembles the
systems: the model is validated
adjust the conceptualisation of the system accordingly
repeat cycle until a suitable level of validation is obtained: the
computational scientists trusts that the simulation generates
adequately realistic results for the system, under the studied
conditions
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]
Philosophers of science addressed the question to what degree
computational science qualifies as science, among them Humphreys[7]
and Gelfert[8] They address the general question of epistemology: how
do we gain insight from such computational science approaches. Tolk[9]
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[edit]
Problem domains for computational science/scientific computing
include:
Urban complex systems[edit]
Now in 2015 over half the worlds population live in cities. By the
middle of the 21st century, it is estimated that 75% of the world’s
population will be urban. This urban growth is focused in the urban
populations of developing counties where cities dwellers will more
than double, increasing from 2.5 billion in 2009 to almost 5.2 billion
in 2050. Cities are massive 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
complexity thinking, and requires computational models and simulations
to help mitigate challenges and possible disasters. The focus of
research in urban complex systems is, through modelling and
simulation, build greater understanding of city dynamics and help
prepare for the coming urbanisation.
Computational finance[edit]
Main article: Computational finance
In today’s 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 these highly diverse set of instruments is typically based
on complicated mathematical 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 modelled simultaneously and at different interconnected scales.
Computational biology[edit]
Main article: Computational biology
Exciting new developments in biotechnology 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
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 systematic way and to guide future data
collection. A major challenge here is to understand how gene
regulation is controlling fundamental biological processes like
biomineralisation 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, biomineralisation 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
Complex systems theory[edit]
Main article: Complex systems
Using information theory, non-equilibrium dynamics and explicit
simulations computational systems theory tries to uncover the true
nature of complex adaptive systems.
Computational science
Computational science in engineering[edit]
Main article: Computational engineering
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 been described
as the "third mode of discovery" (next to theory and
experimentation).[10] In many fields, computer simulation is integral
and therefore essential to business and research.
Computer
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, nor with computer engineering,
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[edit]
Algorithms and mathematical methods used in computational science are
varied. Commonly applied methods include:
Numerical analysis
Application of
Taylor series
Taylor series as convergent and asymptotic series
Computing
Computing derivatives by
Automatic differentiation
Automatic differentiation (AD)
Computing
Computing derivatives by finite differences
Finite element method
Graph theoretic suites
High order difference approximations via
Taylor series
Taylor series and Richardson
extrapolation
Methods of integration
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
Linear programming
Branch and cut
Branch and Bound
Numerical linear algebra
Computing
Computing the LU factors by Gaussian elimination
Cholesky factorizations
Discrete Fourier transform
Discrete Fourier transform and applications.
Newton's method
Space mapping
Time stepping
Time stepping methods for dynamical systems
Both historically and today,
Fortran
Fortran remains popular for most
applications of scientific computing.[11][12] Other programming
languages and computer algebra systems commonly used for the more
mathematical aspects of scientific computing applications include GNU
Octave, Haskell,[11] Julia,[11] Maple,[12] Mathematica,[13] MATLAB,
Python (with third-party
SciPy
SciPy library),
Perl
Perl (with third-party PDL
library),[citation needed] R, SciLab, and TK Solver. The more
computationally intensive aspects of scientific computing will often
use some variation of C or
Fortran
Fortran and optimized algebra libraries
such as
BLAS
BLAS or LAPACK.
Computational science
Computational science application programs often model real-world
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.
Conferences and journals[edit]
In the year 2001, the International Conference on Computational
Science
Science (ICCS) was first organised. Since then it has been organised
yearly. ICCS is an A-rank conference in CORE classification.
The international Journal of Computational
Science
Science published its first
issue in May 2010.[14][15][16] A new initiative was launched in 2012,
the Journal of Open Research Software.[17] In 2015,
ReScience[18]dedicated to the replication of computational results has
been started on GitHub.
Education[edit]
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 programme
master program computational science at the University of Amsterdam
and the Vrije Universiteit was the first full academic degree offered
in computational science, and started in 2004. In this programme,
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 theory that will give a firm basis for the analysis of complex
systems;
learn to analyse the results of simulations in a virtual laboratory
using advanced numerical algorithms.
Related fields[edit]
Bioinformatics
Cheminformatics
Chemometrics
Computational archaeology
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
Computer algebra
Computer
Computer simulation
Financial modeling
Geographic information system
Geographic information system (GIS)
High-performance computing
Machine learning
Network analysis
Neuroinformatics
Numerical linear algebra
Numerical weather prediction
Pattern recognition
Scientific visualization
Simulation
See also[edit]
Science
Science portal
Computing
Computing portal
Mathematics portal
Computer
Computer simulations in science
Computational science
Computational science and engineering
Comparison of computer algebra systems
List of molecular modeling software
List of numerical analysis software
List of statistical packages
Timeline of scientific computing
Simulated reality
Extensions for Scientific
Computation (XSC)
References[edit]
^ Nonweiler T. R., 1986. Computational Mathematics: An Introduction to
Numerical Approximation, John Wiley and Sons
^ Graduate Education for Computational
Science
Science and
Engineering.Siam.org, Society for Industrial and Applied Mathematics
(SIAM) website; accessed Feb 2013.
^ Siegler, Bernard (1976).
Theory
Theory of Modeling and Simulation.
^ Cellier, François (1990). Continuous
System
System Modelling.
^ Minski, Marvin (1965). Models,Minds, Machines.
^ Steeb W.-H., Hardy Y., Hardy A. and Stoop R., 2004. Problems and
Solutions in Scientific
Computing
Computing with C++ and Java Simulations, World
Scientific Publishing. ISBN 981-256-112-9
^ Humphreys, Paul. Extending ourselves: Computational science,
empiricism, and scientific method. Oxford University Press, 2004.
^ Gelfert, Axel. 2016. How to do science with models: A philosophical
primer. Cham: Springer.
^ Tolk, Andreas. "Learning Something Right from Models That Are Wrong:
Epistemology of Simulation." In Concepts and Methodologies for
Modeling and Simulation, edited by L. Yilmaz, pp. 87-106, Cham:
Springer International Publishing, 2015.
^ "Computational
Science
Science and
Engineering
Engineering Program: Graduate Student
Handbook" (PDF). cseprograms.gatech.edu. September 2009.
^ a b c Phillips, Lee (2014-05-07). "Scientific computing's future:
Can any coding language top a 1950s behemoth?". Ars Technica.
Retrieved 2016-03-08.
^ a b Landau, Rubin (2014-05-07). "A First Course in Scientific
Computing" (PDF). Princeton University. Retrieved 2016-03-08.
^
Mathematica
Mathematica 6 Scientific
Computing
Computing World, May 2007
^ Sloot, Peter; Coveney, Peter; Dongarra, Jack. "Redirecting". Journal
of Computational Science. 1 (1): 3–4.
doi:10.1016/j.jocs.2010.04.003.
^ Seidel, Edward; Wing, Jeannette M. "Redirecting". Journal of
Computational Science. 1 (1): 1–2.
doi:10.1016/j.jocs.2010.04.004.
^ Sloot, Peter M.A. "Computational science: A kaleidoscopic view into
science". Journal of Computational Science. 1 (4).
doi:10.1016/j.jocs.2010.11.001.
^ The Journal of Open Research Software ; announced at
software.ac.uk/blog/2012-03-23-announcing-journal-open-research-software-software-metajournal
^ Rougier, Nicolas P.; Hinsen, Konrad; Alexandre, Frédéric;
Arildsen, Thomas; Barba, Lorena A.; Benureau, Fabien C.Y.; Brown, C.
Titus; Buyl, Pierre de; Caglayan, Ozan; Davison, Andrew P.; Delsuc,
Marc-André; Detorakis, Georgios; Diem, Alexandra K.; Drix, Damien;
Enel, Pierre; Girard, Benoît; Guest, Olivia; Hall, Matt G.;
Henriques, Rafael N.; Hinaut, Xavier; Jaron, Kamil S.; Khamassi,
Mehdi; Klein, Almar; Manninen, Tiina; Marchesi, Pietro; McGlinn,
Daniel; Metzner, Christoph; Petchey, Owen; Plesser, Hans Ekkehard;
Poisot, Timothée; Ram, Karthik; Ram, Yoav; Roesch, Etienne; Rossant,
Cyrille; Rostami, Vahid; Shifman, Aaron; Stachelek, Joseph; Stimberg,
Marcel; Stollmeier, Frank; Vaggi, Federico; Viejo, Guillaume; Vitay,
Julien; Vostinar, Anya E.; Yurchak, Roman; Zito, Tiziano (December
2017). "Sustainable computational science: the Re
Science
Science initiative".
PeerJ Comp Sci. 3. e142. doi:10.7717/peerj-cs.142.
Additional sources[edit]
E. Gallopoulos and A. Sameh, "CSE: Content and Product". IEEE
Computational
Science
Science and
Engineering
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
Computer Simulations, World
Scientific (2009)
Journal Computational Methods in
Science
Science and Technology (open access),
Polish Academy of Sciences
Journal Computational
Science
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[edit]
Wikiversity has learning resources about Scientific computing
John von Neumann-Institut for
Computing
Computing (NIC) at Juelich (Germany)
The National Center for Computational
Science
Science at Oak Ridge National
Laboratory
Educational Materials for Undergraduate Computational Studies
Computational
Science
Science at the National Laboratories
Bachelor in Computational Science, University of Medellin, Colombia,
South America
Simulation
Simulation Optimization Systems (SOS) Research Laboratory, McMaster
Univer