# 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 and computational modeling and simulation to solve science (eg, biological , physical , and social ), engineering , and humanities problems
• 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 experiments 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 , software application, which is being studied with various sets of input parameters. The essence of computational science is the application of numerical algorithms  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.

## The computational scientist

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 is now commonly considered a third mode of science , complementing and adding to experimentation / observation and theory (see image on the right).  Here, we define a system as a potential source of data,  a experiment as a process of extracting data from a system by exerting it through ict inputs  and a model ( M ) for a system ( S ) and an experiment ( E ) as to which can be applied in order to answer questions about S.  A computational scientist should be capable of:

• recognizing complex problems
• adequately conceptualizes 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, maximizing the computational power of the simulation
• Assessment to what level of the output of the simulation is the systems: the model is validated
• adjust the conceptualization of the system accordingly
• repeat cycle until a suitable level of validation is obtained by the computational scientists trusts

In fact, substantial effort in computational sciences has been devoted to the development of algorithms, the efficient implementation in programming languages, and the validation of computational results. A collection of problems and solutions in computer 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 do we gain insight from such computational science approaches. Tolk uses these insights to show the epistemological constraints of computer-based simulation research. They represent the underlying theory in executable form, in essence they apply modeling (theory building) and simulation (implementation and execution). Whereas simulation and computational science are more sophisticated and understandable.

## Applications of computational science

Problem domains for computational science / scientific computing

### Urban complex systems

Now in 2015 over half the world 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 on the urban population, 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 people by humans . Trying to predict, understanding and somehow shaping the development of cities in the future, and computational models and simulations to help mitigate challenges and possible disasters. The focus of research in urban systems is, through modeling and simulation, for the preparation of urbanization .

### Computational finance

Main article: Computational finance

In today’s financial markets, large volumes of interdependent assets are traded in different locations and time zones. Their behavior is of a complex nature and characterization and measurement of the risk inherent to these highly diverse set of instruments is typically based on complex mathematical and computational models . Solving these models exactly in a 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 more urgent and complex, with the introduction of the role of cascading effects of single instruments through the portfolios of single institutions to the interconnected trading network. Understanding this requires a multi-scale and holistic approach where interdependent risk factors like these are marketed, credit and liquidity risk are both simultaneously and at different interconnected scales.

### Computational biology

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 such as Light Sheet Fluorescence Microscopy and Optical Projection , (micro) – Computer Tomography. Given the massive amounts of these data, their meaningful interpretation, and even their storage, form major challenges 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 expression data in a systematic way. A major challenge here is to understand how to regulate and control the biological processes of biomineralization and embryogenesis . The sub-processes like gene regulation , organic moleculesinteracting with the mineral deposition process, cellular processes , physiology and other processes at the tissue and environmental levels are linked. Rather than being white directed by a central control mechanism, biomineralization and embryogenesis can be viewed as an emergent behavior resulting and from a complex system in qui Several sub-processes are 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

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 in engineering

Main article: Computational 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). In many fields, computer simulation is integral and therefore essential to business and research. Computer simulation provides the capability to enter fields that are inaccessible to traditional experimentation or where traditional empirical inquiries are prohibitively expensive. CSE should not be confused with pure computer science , nor with computer engineering , but with a wide domain in the training is used in CSE (eg, 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:

• Numerical analysis
• Application of Taylor series as convergent and asymptotic series
• Computing derivatives by Automatic differentiation (AD)
• Computing derivatives by finite differences
• Finite element method
• 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
• Linear programming
• Branch and cut
• Branch and Bound
• Numerical linear algebra
• Computing the LU factors by Gaussian elimination
• Cholesky factorizations
• Discrete Fourier transform and applications.
• Newton’s method
• Space mapping
• Time stepping methods for dynamical systems

Both historically and today, Fortran remains popular for most applications of scientific computing.   Other programming languages and computer algebra systems Commonly used for the more mathematical aspects of scientific computing applications include GNU Octave , Haskell ,  Julia ,  Maple ,  Mathematica ,  MATLAB , Python (with third-party SciPy library), Perl (with third-party PDL library), [quote needed ] R,SciLab, andTK Solver. The more computationally intensive aspects of scientific computing will be used for some variation ofCorFortranand optimized algebra libraries such asBLASorLAPACK.

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 which space is relevant. For example, in weather models, each item might be a square kilometer; with elevation, current wind direction, humidity, temperature, pressure, etc. The program would calculate the future of the current state, in simulated time steps, and then repeat the process to calculate the next state.

## Conferences and journals

In the year 2001, the International Conference on Computational Science (ICCS) was first organized. Since then it has been organized annually. ICCS is an A-rank conference in CORE classification.

The International Journal of Computational Science published its first issue in May 2010.    A new initiative was launched in 2012, the Journal of Open Research Software.  In 2015, ReScience  dedicated to the replication of computational results has been started on GitHub .

## Education

At some institutions a specialization in scientific computation can be earned as a “minor” within another program (which may be at different levels). However, there are many bachelor’s , master’s and doctoral programs in computational science. The program is part of the Computational Science Program 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 program, students:

• learn to build computational models from real-life observations;
• Developing skills in the field of computational structures and in performing large-scale simulations;
• learn theory 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.

## Related fields

• Bioinformatics
• Cheminformatics
• Chemometrics
• Computational archeology
• 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
• Computer algebra
• Computer simulation
• Financial modeling
• Geographic information system(GIS)
• High-performance computing
• Machine learning
• Network analysis
• Neuroinformatics
• Numerical linear algebra
• Numerical weather prediction
• Pattern recognition
• Scientific visualization
• Simulation

• Computer simulations in 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

1. Jump up^ Nonweiler TR, 1986. Computational Mathematics: An Introduction to Numerical Approximation, John Wiley and Sons
2. Jump up^ Graduate Education for Computational Science and Engineering.Siam.org,Society for Industrial and Applied Mathematics(SIAM) website; accessed Feb 2013.
3. Jump up^ Siegler, Bernard (1976). Theory of Modeling and Simulation .
4. Jump up^ Cellier, François (1990). Continuous System Modeling .
5. Jump up^ Minski, Marvin (1965). Models, Minds, Machines .
6. Jump up^ 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 981-256-112-9
7. Jump up^ Humphreys, Paul. Extending ourselves: Computational science, empiricism, and scientific method. Oxford University Press, 2004.
8. Jump up^ Gelfert, Axel. 2016.How to do science with models: A philosophical primer. Cham: Springer.
9. Jump up^ Tolk, Andreas. “Learning Something Right from Models That Are Wrong: Epistemology of Simulation.” InConcepts and Methodologies for Modeling and Simulation,edited by L. Yilmaz, pp. 87-106, Cham: Springer International Publishing, 2015.
10. Jump up^ “Computational Science and Engineering Program: Graduate Student Handbook” (PDF) . cseprograms.gatech.edu . September 2009.
11. ^ Jump up to:c Phillips, Lee (2014-05-07). “Scientific computing’s future: Can any coding language top a 1950s behemoth?” . Ars Technica . Retrieved 2016-03-08 .
12. ^ Jump up to:b Landau Rubin (2014-05-07). “A First Course in Scientific Computing”(PDF) . Princeton University . Retrieved 2016-03-08 .
13. Jump up^ Mathematica 6Scientific Computing World, May 2007
14. Jump up^ Sloot, Peter; Coveney, Peter; Dongarra, Jack. “Redirecting” . Journal of Computational Science . 1 (1): 3-4. doi : 10.1016 / j.jocs.2010.04.003.
15. Jump up^ Seidel, Edward; Wing, Jeannette M. “Redirecting” . Journal of Computational Science . 1 (1): 1-2. doi : 10.1016 / j.jocs.2010.04.004 .
16. Jump up^ Sloot, Peter MA “Computational science: A kaleidoscopic view into science” . Journal of Computational Science . 1 (4). doi : 10.1016 / j.jocs.2010.11.001 .
17. Jump up^ The Journal of Open Research Software ; announced at software.ac.uk/blog/2012-03-23-announcing-journal-open-research-software-software-metajournal
18. Jump up^ Rougier, Nicolas P .; Hinsen, Konrad; Alexander, Frederick; Arildsen, Thomas; Barba, Lorena A .; Benureau, Fabien CY; Brown, C. Titus; Buyl, Pierre de; Caglayan, Ozan; Davison, Andrew P .; Delsuc, Marc-Andre; Detorakis, Georgios; Diem, Alexandra K .; Drix, Damien; Enel, Pierre; Girard, Benoit; 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, Timothy; 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 ReScience initiative” . PeerJ Comp Sci . 3 . E142. doi : 10.7717 / peerj-cs.142 .