Computational Science - Methods and Algorithms

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
  • 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
  • Time stepping methods for dynamical systems

Programming languages and computer algebra systems commonly used for the more mathematical aspects of scientific computing applications include R (programming language), MATLAB, Mathematica, SciLab, GNU Octave, Python (programming language) with SciPy, and PDL. The more computationally intensive aspects of scientific computing will often utilize some variation of C or Fortran and optimized algebra libraries such as BLAS or LAPACK.

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.

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 computers in different ways to advance the state-of-the-art in their respective applied disciplines in physics, chemistry or engineering. Scientific computing has increasingly also impacted on other areas including economics, biology and medicine.

Computational science is now commonly considered a third mode of science, complementing and adding to experimentation/observation and theory. The essence of computational science is numerical algorithm and/or computational mathematics. 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.

Read more about this topic:  Computational Science

Famous quotes containing the word methods:

    All men are equally proud. The only difference is that not all take the same methods of showing it.
    François, Duc De La Rochefoucauld (1613–1680)