Computational science

Last updated

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

Contents

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 floating-point) and are often executed on supercomputers or distributed computing platforms.[ verification needed ]

The computational scientist

Ways to study a system Ways to study a system.png
Ways to study a system

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 [ 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:

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 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 multi-scale 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 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[ which? ] to understand such systems is by developing a multi-scale model of the system.[ citation needed ]

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[ quantify ] 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). [12] 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, high-performance 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:

Historically and today, Fortran remains popular for most applications of scientific computing. [32] [33] Other programming languages and computer algebra systems commonly used for the more mathematical aspects of scientific computing applications include GNU Octave, Haskell, [32] Julia, [32] Maple, [33] Mathematica, [34] [35] [36] [37] [38] MATLAB, [39] [40] [41] Python (with third-party SciPy library [42] [43] [44] ), Perl (with third-party PDL library),[ citation needed ] R, [45] Scilab, [46] [47] 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 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 CORE ranking. [48]

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 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:

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, 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]

Subfields

See also

Related Research Articles

<span class="mw-page-title-main">Numerical analysis</span> Study of algorithms using numerical approximation

Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis. It is the study of numerical methods that attempt to find approximate solutions of problems rather than the exact ones. Numerical analysis finds application in all fields of engineering and the physical sciences, and in the 21st century also the life and social sciences, medicine, business and even the arts. Current growth in computing power has enabled the use of more complex numerical analysis, providing detailed and realistic mathematical models in science and engineering. Examples of numerical analysis include: ordinary differential equations as found in celestial mechanics, numerical linear algebra in data analysis, and stochastic differential equations and Markov chains for simulating living cells in medicine and biology.

A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The development of the computer algebra systems in the second half of the 20th century is part of the discipline of "computer algebra" or "symbolic computation", which has spurred work in algorithms over mathematical objects such as polynomials.

<span class="mw-page-title-main">Computational physics</span> Numerical simulations of physical problems via computers

Computational physics is the study and implementation of numerical analysis to solve problems in physics. Historically, computational physics was the first application of modern computers in science, and is now a subset of computational science. It is sometimes regarded as a subdiscipline of theoretical physics, but others consider it an intermediate branch between theoretical and experimental physics — an area of study which supplements both theory and experiment.

Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. One well known subject classification system for computer science is the ACM Computing Classification System devised by the Association for Computing Machinery.

Theoretical computer science (TCS) is a subset of general computer science and mathematics that focuses on mathematical aspects of computer science such as the theory of computation (TOC), formal language theory, the lambda calculus and type theory.

<span class="mw-page-title-main">Computer science and engineering</span> University academic program

Computer science and engineering (CSE) is an academic program at many universities which comprises approaches of computer science and computer engineering. There is no clear division in computing between science and engineering, just like in the field of materials science and engineering. However, some classes are historically more related to computer science, and other to computer engineering. CSE is also a term often used in Europe to translate the name of technical or engineering informatics academic programs. It is offered in both undergraduate as well postgraduate with specializations.

<span class="mw-page-title-main">Jack Dongarra</span> American computer scientist (born 1950)

Jack Joseph Dongarra is an American computer scientist and mathematician. He is the American University Distinguished Professor of Computer Science in the Electrical Engineering and Computer Science Department at the University of Tennessee. He holds the position of a Distinguished Research Staff member in the Computer Science and Mathematics Division at Oak Ridge National Laboratory, Turing Fellowship in the School of Mathematics at the University of Manchester, and is an adjunct professor and teacher in the Computer Science Department at Rice University. He served as a faculty fellow at the Texas A&M University Institute for Advanced Study (2014–2018). Dongarra is the founding director of the Innovative Computing Laboratory at the University of Tennessee. He was the recipient of the Turing Award in 2021.

Computational mechanics is the discipline concerned with the use of computational methods to study phenomena governed by the principles of mechanics. Before the emergence of computational science as a "third way" besides theoretical and experimental sciences, computational mechanics was widely considered to be a sub-discipline of applied mechanics. It is now considered to be a sub-discipline within computational science.

Numerical linear algebra, sometimes called applied linear algebra, is the study of how matrix operations can be used to create computer algorithms which efficiently and accurately provide approximate answers to questions in continuous mathematics. It is a subfield of numerical analysis, and a type of linear algebra. Computers use floating-point arithmetic and cannot exactly represent irrational data, so when a computer algorithm is applied to a matrix of data, it can sometimes increase the difference between a number stored in the computer and the true number that it is an approximation of. Numerical linear algebra uses properties of vectors and matrices to develop computer algorithms that minimize the error introduced by the computer, and is also concerned with ensuring that the algorithm is as efficient as possible.

<span class="mw-page-title-main">Computational engineering</span>

Computational Engineering is an emerging discipline that deals with the development and application of computational models for engineering, known as Computational Engineering Models or CEM. Computational engineering uses computers to solve engineering design problems important to a variety of industries. At this time, various different approaches are summarized under the term Computational Engineering, including using computational geometry and virtual design for engineering tasks, often coupled with a simulation-driven approach In Computational Engineering, algorithms solve mathematical and logical models that describe engineering challenges, sometimes coupled with some aspect of AI, specifically Reinforcement Learning.

<span class="mw-page-title-main">Computational mathematics</span> Area of mathematics

Computational mathematics is the study of the interaction between mathematics and calculations done by a computer.

David M. Young Jr. was an American mathematician and computer scientist who was one of the pioneers in the field of modern numerical analysis/scientific computing.

<span class="mw-page-title-main">Applied mathematics</span> Application of mathematical methods to other fields

Applied mathematics is the application of mathematical methods by different fields such as physics, engineering, medicine, biology, finance, business, computer science, and industry. Thus, applied mathematics is a combination of mathematical science and specialized knowledge. The term "applied mathematics" also describes the professional specialty in which mathematicians work on practical problems by formulating and studying mathematical models.

The Sidney Fernbach Award established in 1992 by the IEEE Computer Society, in memory of Sidney Fernbach, one of the pioneers in the development and application of high performance computers for the solution of large computational problems as the Division Chief for the Computation Division at Lawrence Livermore Laboratory from the late 1950s through the 1970s. A certificate and $2,000 are awarded for outstanding contributions in the application of high performance computers using innovative approaches. The nomination deadline is 1 July each year.

Yousef Saad in Algiers, Algeria from Boghni, Tizi Ouzou, Kabylia is an I.T. Distinguished Professor of Computer Science in the Department of Computer Science and Engineering at the University of Minnesota. He holds the William Norris Chair for Large-Scale Computing since January 2006. He is known for his contributions to the matrix computations, including the iterative methods for solving large sparse linear algebraic systems, eigenvalue problems, and parallel computing. He is listed as an ISI highly cited researcher in mathematics, is the most cited author in the journal Numerical Linear Algebra with Applications, and is the author of the highly cited book Iterative Methods for Sparse Linear Systems. He is a SIAM fellow and a fellow of the AAAS (2011).

The following is a timeline of scientific computing, also known as computational science.

The following is a timeline of numerical analysis after 1945, and deals with developments after the invention of the modern electronic computer, which began during Second World War. For a fuller history of the subject before this period, see timeline and history of mathematics.

Validated numerics, or rigorous computation, verified computation, reliable computation, numerical verification is numerics including mathematically strict error evaluation, and it is one field of numerical analysis. For computation, interval arithmetic is used, and all results are represented by intervals. Validated numerics were used by Warwick Tucker in order to solve the 14th of Smale's problems, and today it is recognized as a powerful tool for the study of dynamical systems.

References

  1. Nonweiler T. R., 1986. Computational Mathematics: An Introduction to Numerical Approximation, John Wiley and Sons
  2. Graduate Education for Computational Science and Engineering.Siam.org, Society for Industrial and Applied Mathematics (SIAM) website; accessed Feb 2013.
  3. Siegler, Bernard (1976). Theory of Modeling and Simulation.
  4. Cellier, François (1990). Continuous System Modelling.
  5. Minski, Marvin (1965). Models, Minds, Machines.
  6. 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. Humphreys, Paul. Extending ourselves: Computational science, empiricism, and scientific method. Oxford University Press, 2004.
  8. Gelfert, Axel. 2016. How to do science with models: A philosophical primer. Cham: Springer.
  9. 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.
  10. 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.
  11. Szabó B, Actis R and Rusk D. Validation of notch sensitivity factors. Journal of Verification, Validation and Uncertainty Quantification. 4 011004, 2019
  12. "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.
  13. Von Zur Gathen, J., & Gerhard, J. (2013). Modern computer algebra. Cambridge University Press.
  14. Geddes, K. O., Czapor, S. R., & Labahn, G. (1992). Algorithms for computer algebra. Springer Science & Business Media.
  15. Albrecht, R. (2012). Computer algebra: symbolic and algebraic computation (Vol. 4). Springer Science & Business Media.
  16. Mignotte, M. (2012). Mathematics for computer algebra. Springer Science & Business Media.
  17. Stoer, J., & Bulirsch, R. (2013). Introduction to numerical analysis. Springer Science & Business Media.
  18. Conte, S. D., & De Boor, C. (2017). Elementary numerical analysis: an algorithmic approach. Society for Industrial and Applied Mathematics.
  19. Greenspan, D. (2018). Numerical Analysis. CRC Press.
  20. Linz, P. (2019). Theoretical numerical analysis. Courier Dover Publications.
  21. Brenner, S., & Scott, R. (2007). The mathematical theory of finite element methods (Vol. 15). Springer Science & Business Media.
  22. Oden, J. T., & Reddy, J. N. (2012). An introduction to the mathematical theory of finite elements. Courier Corporation.
  23. Davis, P. J., & Rabinowitz, P. (2007). Methods of numerical integration. Courier Corporation.
  24. Peter Deuflhard, Newton Methods for Nonlinear Problems. Affine Invariance and Adaptive Algorithms, Second printed edition. Series Computational Mathematics 35, Springer (2006)
  25. Hammersley, J. (2013). Monte carlo methods. Springer Science & Business Media.
  26. Kalos, M. H., & Whitlock, P. A. (2009). Monte carlo methods. John Wiley & Sons.
  27. Demmel, J. W. (1997). Applied numerical linear algebra. SIAM.
  28. Ciarlet, P. G., Miara, B., & Thomas, J. M. (1989). Introduction to numerical linear algebra and optimization. Cambridge University Press.
  29. Trefethen, Lloyd; Bau III, David (1997). Numerical Linear Algebra (1st ed.). Philadelphia: SIAM.
  30. Vanderbei, R. J. (2015). Linear programming. Heidelberg: Springer.
  31. Gass, S. I. (2003). Linear programming: methods and applications. Courier Corporation.
  32. 1 2 3 Phillips, Lee (2014-05-07). "Scientific computing's future: Can any coding language top a 1950s behemoth?". Ars Technica . Retrieved 2016-03-08.
  33. 1 2 Landau, Rubin (2014-05-07). "A First Course in Scientific Computing" (PDF). Princeton University. Retrieved 2016-03-08.
  34. Mathematica 6 Archived 2011-01-13 at the Wayback Machine Scientific Computing World, May 2007
  35. Maeder, R. E. (1991). Programming in mathematica. Addison-Wesley Longman Publishing Co., Inc.
  36. Stephen Wolfram. (1999). The MATHEMATICA® book, version 4. Cambridge University Press.
  37. Shaw, W. T., & Tigg, J. (1993). Applied Mathematica: getting started, getting it done. Addison-Wesley Longman Publishing Co., Inc.
  38. Marasco, A., & Romano, A. (2001). Scientific Computing with Mathematica: Mathematical Problems for Ordinary Differential Equations; with a CD-ROM. Springer Science & Business Media.
  39. Quarteroni, A., Saleri, F., & Gervasio, P. (2006). Scientific computing with MATLAB and Octave. Berlin: Springer.
  40. Gander, W., & Hrebicek, J. (Eds.). (2011). Solving problems in scientific computing using Maple and Matlab®. Springer Science & Business Media.
  41. Barnes, B., & Fulford, G. R. (2011). Mathematical modelling with case studies: a differential equations approach using Maple and MATLAB. Chapman and Hall/CRC.
  42. Jones, E., Oliphant, T., & Peterson, P. (2001). SciPy: Open source scientific tools for Python.
  43. Bressert, E. (2012). SciPy and NumPy: an overview for developers. " O'Reilly Media, Inc.".
  44. Blanco-Silva, F. J. (2013). Learning SciPy for numerical and scientific computing. Packt Publishing Ltd.
  45. Ihaka, R., & Gentleman, R. (1996). R: a language for data analysis and graphics. Journal of computational and graphical statistics, 5(3), 299-314.
  46. Bunks, C., Chancelier, J. P., Delebecque, F., Goursat, M., Nikoukhah, R., & Steer, S. (2012). Engineering and scientific computing with Scilab. Springer Science & Business Media.
  47. Thanki, R. M., & Kothari, A. M. (2019). Digital image processing using SCILAB. Springer International Publishing.
  48. "ICCS - International Conference on Computational Science" . Retrieved 2022-01-21.
  49. Sloot, Peter; Coveney, Peter; Dongarra, Jack (2010). "Redirecting". Journal of Computational Science. 1 (1): 3–4. doi:10.1016/j.jocs.2010.04.003.
  50. 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.
  51. 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.
  52. "Announcing the Journal of Open Research Software - a software metajournal". software.ac.uk. Retrieved 2021-12-31.
  53. 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 ReScience initiative". PeerJ Comput Sci. 3. e142. arXiv: 1707.04393 . Bibcode:2017arXiv170704393R. doi: 10.7717/peerj-cs.142 . PMC   8530091 . PMID   34722870. S2CID   7392801.
  54. "Computational Sciences and Informatics, PhD | GMU College of Science". science.gmu.edu. Retrieved 2024-04-24.
  55. "SCIS | Welcome to Jawaharlal Nehru University". www.jnu.ac.in. Archived from the original on 2013-03-10.
  56. "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