Computational science
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, technical computing or scientific computation (SC), is a division of science that uses advanced computing capabilities to understand and solve complex physical problems. This includes
- 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
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
- 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 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.[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
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
Computational biology
Exciting new developments in
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.[citation needed]
Computational science and engineering
Computational science and engineering (CSE) is a relatively new[
Methods and algorithms
Algorithms and mathematical methods used in computational science are varied. Commonly applied methods include:
- Computer algebra,[13][14][15][16] including symbolic computation in fields such as statistics, equation solving, algebra, calculus, geometry, linear algebra, tensor analysis (multilinear algebra), optimization
- Numerical analysis,[17][18][19][20] 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[21][22]
- High order difference approximations via Taylor series and Richardson extrapolation
- trapezoid rule, Simpson's rule
- Runge–Kutta methods for solving ordinary differential equations
- Newton's method[24]
- Discrete Fourier transform
- Monte Carlo methods[25][26]
- Numerical linear algebra,[27][28][29] including decompositions and eigenvalue algorithms
- Linear programming[30][31]
- Branch and cut
- Branch and bound
- Molecular dynamics, Car–Parrinello molecular dynamics
- Space mapping
- Time steppingmethods for dynamical systems
Historically and today, Fortran remains popular for most applications of scientific computing.
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.[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 A-rank conference in the
The Journal of Computational Science published its first issue in May 2010.[49][50][51] The Journal of Open Research Software was launched in 2012.[52] The ReScience C initiative, which is dedicated to replicating computational results, was started on GitHub in 2015.[53]
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
- 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[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'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 has offered a multidisciplinary doctorate Ph.D. program in Computational Sciences and Informatics starting from 1992.[54]
The School of Computational and Integrative Sciences,
Subfields
- 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 science
- High-performance 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.
- 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.
- ^ 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. 1-26.
- ^ Szabó B, Actis R and Rusk D. Validation of notch sensitivity factors. Journal of Verification, Validation and Uncertainty Quantification. 4 011004, 2019
- ^ "Computational Science and Engineering Program: Graduate Student Handbook" (PDF). cseprograms.gatech.edu. September 2009. Archived from the original (PDF) on 2014-10-14. Retrieved 2017-08-26.
- ^ 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 (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 6 Archived 2011-01-13 at the Wayback Machine Scientific Computing World, May 2007
- ^ Maeder, R. E. (1991). Programming in mathematica. Addison-Wesley 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. Addison-Wesley Longman Publishing Co., Inc.
- Springer Science & Business Media.
- ^ Quarteroni, A., Saleri, F., & Gervasio, P. (2006). Scientific computing with MATLAB and Octave. Berlin: Springer.
- 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.".
- ^ Blanco-Silva, 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), 299-314.
- 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 2022-01-21.
- .
- S2CID 211478325.
- .
- ^ "Announcing the Journal of Open Research Software - a software metajournal". software.ac.uk. Retrieved 2021-12-31.
- S2CID 7392801.
- ^ "Computational Sciences and Informatics, PhD | GMU College of Science". science.gmu.edu. Retrieved 2024-04-24.
- ^ "SCIS | Welcome to Jawaharlal Nehru University". www.jnu.ac.in. Archived from the original on 2013-03-10.
- ^ "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)