Computational science Information
This article has multiple issues. Please help
improve it or discuss these issues on the
talk page. (
Learn how and when to remove these template messages)

Computational science, also known as scientific computing or scientific computation (SC), is a field in mathematics that uses advanced computing capabilities to understand and solve complex problems. It is an area of science that spans many disciplines^{[ which?]}, but at its core, it involves the development of models and simulations to understand natural systems.
 Algorithms ( numerical and nonnumerical): mathematical models, computational models, and computer simulations developed to solve science (e.g., biological, physical, and social), engineering, and humanities problems
 Computer hardware that develops and optimizes the advanced system hardware, firmware, 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 through the analysis of mathematical models implemented on computers. Scientists and engineers develop computer programs and 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 computational mathematics. In some cases, these models require massive amounts of calculations (usually floatingpoint) and are often executed on supercomputers or distributed computing platforms.^{[ verification needed]}
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 highperformance computing in different ways to advance the stateoftheart in their respective applied disciplines in physics, chemistry, or engineering.
Computational science is now commonly considered a third mode of science^{[ citation needed]}, complementing and adding to experimentation/ observation and theory (see image).^{ [2]} Here, one defines a system as a potential source of data,^{ [3]} an 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 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/ grid computing/ supercomputers)
 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).^{ [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 does gain insight from such computational science approaches? Tolk^{ [9]} uses these insights to show the epistemological constraints of computerbased 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.^{[ citation needed]}
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.^{ [10]} 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<Nf<N2”.^{ [11]}
Urban complex systems
In 2018^{[ needs update]}, over half the world's population lives in cities.^{ [12]} By 2050, the United Nations estimates, 68% of the world's population will be urban.^{ [12]}^{[ relevant?]} This urban growth is focused in the urban populations of developing countries where city dwellers will more than double, increasing from 2.5 billion in 2009 to almost 5.2 billion in 2050.^{[ citation needed]}^{[ relevant?]} 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.^{[ citation needed]}
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 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^{[ which?]} has clearly^{[ according to whom?]} demonstrated the role of cascading effects^{[ which?]} going from single instruments through portfolios of single institutions to even the interconnected trading network. Understanding this requires a multiscale and holistic approach where interdependent risk factors such as market, credit, and liquidity risk are modeled simultaneously and at different interconnected scales.^{[ citation needed]}
Computational biology
Exciting new developments in biotechnology are now revolutionizing biology and biomedical research. Examples of these techniques are highthroughput sequencing, highthroughput quantitative PCR, intracellular imaging, insitu hybridization of gene expression, threedimensional 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. Modelbased 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 subprocesses 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 subprocesses on very different temporal and spatial scales (ranging from nanometer and nanoseconds to meters and years) are connected into a multiscale system. One of the few available options^{[ which?]} to understand such systems is by developing a multiscale model of the system.^{[ citation needed]}
Complex systems theory
Using information theory, nonequilibrium dynamics, and explicit simulations, computational systems theory tries to uncover the true nature of complex adaptive systems.^{[ citation needed]}
Computational science in engineering
Computational science and engineering (CSE) is a relatively new^{[ quantify]} discipline that deals with the development and application of computational models and simulations, often coupled with highperformance 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^{[ by whom?]} as the "third mode of discovery" (next to theory and experimentation).^{ [13]} In many fields^{[ which?]}, computer simulation is integral and therefore essential to business and research. Computer simulation provides the capability to enter fields^{[ which?]} 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, highperformance computing), and some problems in the latter can be modeled and solved with CSE methods (as an application area).^{[ citation needed]}
Methods and algorithms
Algorithms and mathematical methods used in computational science are varied. Commonly applied methods include:
 Computer algebra,^{ [14]}^{ [15]}^{ [16]}^{ [17]} including symbolic computation in fields such as statistics, equation solving, algebra, calculus, geometry, linear algebra, tensor analysis (multilinear algebra), optimization

Numerical analysis,^{
[18]}^{
[19]}^{
[20]}^{
[21]} including
Computing derivatives by
finite differences
 Application of Taylor series as convergent and asymptotic series
 Computing derivatives by Automatic differentiation (AD)
 Finite element method for solving PDEs^{ [22]}^{ [23]}
 High order difference approximations via Taylor series and Richardson extrapolation
 Methods of integration^{ [24]} 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^{ [25]}
 Discrete Fourier transform
 Monte Carlo methods^{ [26]}^{ [27]}
 Numerical linear algebra,^{ [28]}^{ [29]}^{ [30]} including decompositions and eigenvalue algorithms
 Linear programming^{ [31]}^{ [32]}
 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.^{ [33]}^{ [34]} Other programming languages and computer algebra systems commonly used for the more mathematical aspects of scientific computing applications include GNU Octave, Haskell,^{ [33]} Julia,^{ [33]} Maple,^{ [34]} Mathematica,^{ [35]}^{ [36]}^{ [37]}^{ [38]}^{ [39]} MATLAB,^{ [40]}^{ [41]}^{ [42]} Python (with thirdparty SciPy library^{ [43]}^{ [44]}^{ [45]}), Perl (with thirdparty PDL library),^{[ citation needed]} R,^{ [46]} Scilab,^{ [47]}^{ [48]} 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 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 realworld 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.^{[ citation needed]}
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 Arank conference in CORE classification.^{ [49]}
The Journal of Computational Science published its first issue in May 2010.^{ [50]}^{ [51]}^{ [52]} The Journal of Open Research Software was launched in 2012.^{ [53]} The ReScience C initiative, which is dedicated to replicating computational results, was started on GitHub in 2015.^{ [54]}
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 and the Vrije Universiteit in computational science was first offered in 2004. In this program, students:
 learn to build computational models from reallife observations;
 develop skills in turning these models into computational structures and in performing largescale simulations;
 learn theories^{[ which?]} 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.^{[ relevant?]}
ETH Zurich offers a bachelor's and master 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 was one of the early pioneers first offering a multidisciplinary doctorate Ph.D. program in Computational Sciences and Informatics in 1992 that focused on a number of specialty areas, including bioinformatics, computational chemistry, earth systems, and global changes, computational mathematics, computational physics, space sciences, and computational statistics.^{[ citation needed]}
The School of Computational and Integrative Sciences, Jawaharlal Nehru University (erstwhile School of Information Technology^{ [55]}^{[ verification needed]}) also offers^{[ verification needed]} a vibrant master's science program for computational science with two specialties: Computational Biology and Complex Systems.^{ [56]}
Related fields
 Bioinformatics
 Car–Parrinello molecular dynamics
 Cheminformatics
 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 system (GIS)
 Highperformance computing
 Machine learning
 Network analysis
 Neuroinformatics
 Numerical linear algebra
 Numerical weather prediction
 Pattern recognition
 Scientific visualization
 Simulation
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
 Timeline of scientific computing
 Simulated reality
 Extensions for Scientific Computation (XSC)
References
 ^ Nonweiler T. R., 1986. Computational Mathematics: An Introduction to Numerical Approximation, John Wiley and Sons
 ^ Graduate Education for Computational Science and Engineering.Siam.org, Society for Industrial and Applied Mathematics (SIAM) website; accessed Feb 2013.
 ^ Siegler, Bernard (1976). Theory of Modeling and Simulation.
 ^ Cellier, François (1990). Continuous 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 with C++ and Java Simulations, World Scientific Publishing. ISBN 9812561129
 ^ 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. 87106, Cham: Springer International Publishing, 2015.
 ^ Oden, J.T., Babuška, I. and Faghihi, D., 2017. Predictive computational science: Computer predictions in the presence of uncertainty. Encyclopedia of Computational Mechanics. Second Edition, pp. 126.
 ^ Szabó B, Actis R and Rusk D. Validation of notch sensitivity factors. Journal of Verification, Validation and Uncertainty Quantification. 4 011004, 2019
 ^ ^{a} ^{b} "68% of the world population projected to live in urban areas by 2050, says UN  UN DESA  United Nations Department of Economic and Social Affairs". www.un.org. Retrieved 20211231.
 ^ "Computational Science and Engineering Program: Graduate Student Handbook" (PDF). cseprograms.gatech.edu. September 2009. Archived from the original (PDF) on 20141014. Retrieved 20170826.
 ^ Von Zur Gathen, J., & Gerhard, J. (2013). Modern computer algebra. Cambridge University Press.
 ^ Geddes, K. O., Czapor, S. R., & Labahn, G. (1992). Algorithms for computer algebra. Springer Science & Business Media.
 ^ Albrecht, R. (2012). Computer algebra: symbolic and algebraic computation (Vol. 4). Springer Science & Business Media.
 ^ Mignotte, M. (2012). Mathematics for computer algebra. Springer Science & Business Media.
 ^ 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.
 ^ 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.
 ^ Davis, P. J., & Rabinowitz, P. (2007). Methods of numerical integration. Courier Corporation.
 ^ Peter Deuflhard, Newton Methods for Nonlinear Problems. Affine Invariance and Adaptive Algorithms, Second printed edition. Series Computational Mathematics 35, Springer (2006)
 ^ Hammersley, J. (2013). Monte carlo methods. Springer Science & Business Media.
 ^ Kalos, M. H., & Whitlock, P. A. (2009). Monte carlo methods. John Wiley & Sons.
 ^ Demmel, J. W. (1997). Applied numerical linear algebra. SIAM.
 ^ Ciarlet, P. G., Miara, B., & Thomas, J. M. (1989). Introduction to numerical linear algebra and optimization. Cambridge University Press.
 ^ Trefethen, Lloyd; Bau III, David (1997). Numerical Linear Algebra (1st ed.). Philadelphia: SIAM.
 ^ Vanderbei, R. J. (2015). Linear programming. Heidelberg: Springer.
 ^ Gass, S. I. (2003). Linear programming: methods and applications. Courier Corporation.
 ^ ^{a} ^{b} ^{c} Phillips, Lee (20140507). "Scientific computing's future: Can any coding language top a 1950s behemoth?". Ars Technica. Retrieved 20160308.
 ^ ^{a} ^{b} Landau, Rubin (20140507). "A First Course in Scientific Computing" (PDF). Princeton University. Retrieved 20160308.
 ^ Mathematica 6 Scientific Computing World, May 2007
 ^ Maeder, R. E. (1991). Programming in mathematica. AddisonWesley Longman Publishing Co., Inc..
 ^ Stephen Wolfram. (1999). The MATHEMATICA® book, version 4. Cambridge University Press.
 ^ Shaw, W. T., & Tigg, J. (1993). Applied Mathematica: getting started, getting it done. AddisonWesley Longman Publishing Co., Inc..
 ^ Marasco, A., & Romano, A. (2001). Scientific Computing with Mathematica: Mathematical Problems for Ordinary Differential Equations; with a CDROM. Springer Science & Business Media.
 ^ Quarteroni, A., Saleri, F., & Gervasio, P. (2006). Scientific computing with MATLAB and Octave. Berlin: Springer.
 ^ 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.
 ^ Jones, E., Oliphant, T., & Peterson, P. (2001). SciPy: Open source scientific tools for Python.
 ^ Bressert, E. (2012). SciPy and NumPy: an overview for developers. " O'Reilly Media, Inc.".
 ^ BlancoSilva, F. J. (2013). Learning SciPy for numerical and scientific computing. Packt Publishing Ltd.
 ^ Ihaka, R., & Gentleman, R. (1996). R: a language for data analysis and graphics. Journal of computational and graphical statistics, 5(3), 299314.
 ^ Bunks, C., Chancelier, J. P., Delebecque, F., Goursat, M., Nikoukhah, R., & Steer, S. (2012). Engineering and scientific computing with Scilab. Springer Science & Business Media.
 ^ Thanki, R. M., & Kothari, A. M. (2019). Digital image processing using SCILAB. Springer International Publishing.
 ^ "ICCS  International Conference on Computational Science". Retrieved 20220121.
 ^ Sloot, Peter; Coveney, Peter; Dongarra, Jack (2010). "Redirecting". Journal of Computational Science. 1 (1): 3–4. doi: 10.1016/j.jocs.2010.04.003.
 ^ Seidel, Edward; Wing, Jeannette M. (2010). "Redirecting". Journal of Computational Science. 1 (1): 1–2. doi: 10.1016/j.jocs.2010.04.004. S2CID 211478325.
 ^ Sloot, Peter M.A. (2010). "Computational science: A kaleidoscopic view into science". Journal of Computational Science. 1 (4): 189. doi: 10.1016/j.jocs.2010.11.001.
 ^ "Announcing the Journal of Open Research Software  a software metajournal". software.ac.uk. Retrieved 20211231.
 ^ 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, MarcAndré; 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 ReScience initiative". PeerJ Comput Sci. 3. e142. arXiv: 1707.04393. Bibcode: 2017arXiv170704393R. doi: 10.7717/peerjcs.142. PMC 8530091. PMID 34722870. S2CID 7392801.
 ^ "SCIS  Welcome to Jawaharlal Nehru University". www.jnu.ac.in. Archived from the original on 20130310.
 ^ "SCIS: Program of Study  Welcome to Jawaharlal Nehru University". www.jnu.ac.in. Archived from the original on 7 February 2020. Retrieved 31 December 2021.
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)
 Journal Computational Methods in Science and Technology (open access), Polish Academy of Sciences
 Journal 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