Wikipedia / List of numerical analysis topics
Wikipedia / List of numerical analysis topics
This is a list of numerical analysis topics.
General
Rate of convergence — the speed at which a convergent sequence approaches its limit
Order of accuracy — rate at which numerical solution of differential equation converges to exact solution
Series acceleration — methods to accelerate the speed of convergence of a series
Aitken's delta-squared process — most useful for linearly converging sequences
Minimum polynomial extrapolation — for vector sequences
Shanks transformation — similar to Aitken's delta-squared process, but applied to the partial sums
Van Wijngaarden transformation — for accelerating the convergence of an alternating series
Abramowitz and Stegun — book containing formulas and tables of many special functions
Digital Library of Mathematical Functions — successor of book by Abramowitz and Stegun
Local convergence and global convergence — whether you need a good initial guess to get convergence
Complexity:
Smoothed analysis — measuring the expected performance of algorithms under slight random perturbations of worst-case inputs
Symbolic-numeric computation — combination of symbolic and numeric methods
Cultural and historical aspects:
History of numerical solution of differential equations using computers
Hundred-dollar, Hundred-digit Challenge problems — list of ten problems proposed by Nick Trefethen in 2002
General classes of methods:
Collocation method — discretizes a continuous equation by requiring it only to hold at certain points
Level set (data structures) — data structures for representing level sets
Sinc numerical methods — methods based on the sinc function, sinc(x) = sin(x) / x
Error
Floating point number
Guard digit — extra precision introduced during a computation to reduce round-off error
Truncation — rounding a floating-point number by discarding all digits after a certain digit
Interval arithmetic — represent every number by two floating-point numbers guaranteed to have the unknown number between them
Interval contractor — maps interval to subinterval which still contains the unknown exact answer
Interval propagation — contracting interval domains without removing any value consistent with the constraints
Error propagation:
Relative change and difference — the relative difference between x and y is |x − y| / max(|x|, |y|)
Artificial precision — when a numerical value or semantic is expressed with more precision than was initially provided from measurement or user input
False precision — giving more significant figures than appropriate
Truncation error — error committed by doing only a finite numbers of steps
Elementary and special functions
Summation:
Pairwise summation — slightly worse than Kahan summation but cheaper
Multiplication:
Multiplication algorithm — general discussion, simple methods
Karatsuba algorithm — the first algorithm which is faster than straightforward multiplication
Toom–Cook multiplication — generalization of Karatsuba multiplication
Schönhage–Strassen algorithm — based on Fourier transform, asymptotically very fast
Fürer's algorithm — asymptotically slightly faster than Schönhage–Strassen
Division algorithm — for computing quotient and/or remainder of two numbers
Newton–Raphson division: uses Newton's method to find the reciprocal of D, and multiply that reciprocal by N to find the final quotient Q.
Exponentiation:
Multiplicative inverse Algorithms: for computing a number's multiplicative inverse (reciprocal).
Polynomials:
Estrin's scheme — modification of the Horner scheme with more possibilities for parallelization
Square roots and other roots:
hypot — the function (x2 + y2)1/2
Alpha max plus beta min algorithm — approximates hypot(x,y)
Fast inverse square root — calculates 1 / using details of the IEEE floating-point system
Elementary functions (exponential, logarithm, trigonometric functions):
Trigonometric tables — different methods for generating them
CORDIC — shift-and-add algorithm using a table of arc tangents
BKM algorithm — shift-and-add algorithm using a table of logarithms and complex numbers
Gamma function:
Spouge's approximation — modification of Stirling's approximation; easier to apply than Lanczos
AGM method — computes arithmetic–geometric mean; related methods compute special functions
FEE method (Fast E-function Evaluation) — fast summation of series like the power series for ex
Gal's accurate tables — table of function values with unequal spacing to reduce round-off error
Spigot algorithm — algorithms that can compute individual digits of a real number
Liu Hui's π algorithm — first algorithm that can compute π to arbitrary precision
Leibniz formula for π — alternating series with very slow convergence
Wallis product — infinite product converging slowly to π/2
Viète's formula — more complicated infinite product which converges faster
Gauss–Legendre algorithm — iteration which converges quadratically to π, based on arithmetic–geometric mean
Borwein's algorithm — iteration which converges quartically to 1/π, and other algorithms
Chudnovsky algorithm — fast algorithm that calculates a hypergeometric series
Bailey–Borwein–Plouffe formula — can be used to compute individual hexadecimal digits of π
Bellard's formula — faster version of Bailey–Borwein–Plouffe formula
Numerical linear algebra
Numerical linear algebra — study of numerical algorithms for linear algebra problems
Basic concepts
Types of matrices appearing in numerical analysis:
Block matrix — matrix composed of smaller matrices
Stieltjes matrix — symmetric positive definite with non-positive off-diagonal entries
Hilbert matrix — example of a matrix which is extremely ill-conditioned (and thus difficult to handle)
Wilkinson matrix — example of a symmetric tridiagonal matrix with pairs of nearly, but not exactly, equal eigenvalues
Convergent matrix — square matrix whose successive powers approach the zero matrix
Algorithms for matrix multiplication:
Cannon's algorithm — a distributed algorithm, especially suitable for processors laid out in a 2d grid
Freivalds' algorithm — a randomized algorithm for checking the result of a multiplication
LU decomposition — lower triangular times upper triangular
QR decomposition — orthogonal matrix times triangular matrix
RRQR factorization — rank-revealing QR factorization, can be used to compute rank of a matrix
Polar decomposition — unitary matrix times positive-semidefinite Hermitian matrix
Decompositions by similarity:
Eigendecomposition — decomposition in terms of eigenvectors and eigenvalues
Jordan normal form — bidiagonal matrix of a certain form; generalizes the eigendecomposition
Weyr canonical form — permutation of Jordan normal form
Jordan–Chevalley decomposition — sum of commuting nilpotent matrix and diagonalizable matrix
Schur decomposition — similarity transform bringing the matrix to a triangular matrix
Singular value decomposition — unitary matrix times diagonal matrix times unitary matrix
Matrix splitting — expressing a given matrix as a sum or difference of matrices
Solving systems of linear equations
Row echelon form — matrix in which all entries below a nonzero entry are zero
Bareiss algorithm — variant which ensures that all entries remain integers if the initial matrix has integer entries
Tridiagonal matrix algorithm — simplified form of Gaussian elimination for tridiagonal matrices
LU decomposition — write a matrix as a product of an upper- and a lower-triangular matrix
LU reduction — a special parallelized version of a LU decomposition algorithm
Cholesky decomposition — for solving a system with a positive definite matrix
Iterative refinement — procedure to turn an inaccurate solution in a more accurate one
Direct methods for sparse matrices:
Frontal solver — used in finite element methods
Nested dissection — for symmetric matrices, based on graph partitioning
Levinson recursion — for Toeplitz matrices
SPIKE algorithm — hybrid parallel solver for narrow-banded matrices
Cyclic reduction — eliminate even or odd rows or columns, repeat
Iterative methods:
Successive over-relaxation (SOR) — a technique to accelerate the Gauss–Seidel method
Symmetric successive over-relaxation (SSOR) — variant of SOR for symmetric matrices
Backfitting algorithm — iterative procedure used to fit a generalized additive model, often equivalent to Gauss–Seidel
Conjugate gradient method (CG) — assumes that the matrix is positive definite
Nonlinear conjugate gradient method — generalization for nonlinear optimization problems
Biconjugate gradient method (BiCG)
Biconjugate gradient stabilized method (BiCGSTAB) — variant of BiCG with better convergence
Conjugate residual method — similar to CG but only assumed that the matrix is symmetric
Generalized minimal residual method (GMRES) — based on the Arnoldi iteration
Chebyshev iteration — avoids inner products but needs bounds on the spectrum
Stone's method (SIP — Strongly Implicit Procedure) — uses an incomplete LU decomposition
Incomplete Cholesky factorization — sparse approximation to the Cholesky factorization
Incomplete LU factorization — sparse approximation to the LU factorization
Uzawa iteration — for saddle node problems
Underdetermined and overdetermined systems (systems that have no or more than one solution):
Numerical computation of null space — find all solutions of an underdetermined system
Moore–Penrose pseudoinverse — for finding solution with smallest 2-norm (for underdetermined systems) or smallest residual
Sparse approximation — for finding the sparsest solution (i.e., the solution with as many zeros as possible)
Eigenvalue algorithms
Eigenvalue algorithm — a numerical algorithm for locating the eigenvalues of a matrix
Arnoldi iteration — based on Krylov subspaces
Lanczos algorithm — Arnoldi, specialized for positive-definite matrices
Block Lanczos algorithm — for when matrix is over a finite field
Jacobi eigenvalue algorithm — select a small submatrix which can be diagonalized exactly, and repeat
Jacobi rotation — the building block, almost a Givens rotation
LOBPCG — Locally Optimal Block Preconditioned Conjugate Gradient Method
Eigenvalue perturbation — stability of eigenvalues under perturbations of the matrix
Other concepts and algorithms
Orthogonalization algorithms:
Householder operator — analogue of Householder transformation for general inner product spaces
Cuthill–McKee algorithm — permutes rows/columns in sparse matrix to yield a narrow band matrix
In-place matrix transposition — computing the transpose of a matrix without using much additional storage
Pivot element — entry in a matrix on which the algorithm concentrates
Matrix-free methods — methods that only access the matrix by evaluating matrix-vector products
Interpolation and approximation
Interpolation — construct a function going through some given data points
Nearest-neighbor interpolation — takes the value of the nearest neighbor
Polynomial interpolation
Polynomial interpolation — interpolation by polynomials
Different forms for the interpolant:
Neville's algorithm — for evaluating the interpolant; based on the Newton form
Bernstein polynomial — especially useful for approximation
Brahmagupta's interpolation formula — seventh-century formula for quadratic interpolation
Extensions to multiple dimensions:
Padua points — set of points in R2 with unique polynomial interpolant and minimal growth of Lebesgue constant
Spline interpolation
Spline interpolation — interpolation by piecewise polynomials
Spline (mathematics) — the piecewise polynomials used as interpolants
Perfect spline — polynomial spline of degree m whose mth derivate is ±1
Centripetal Catmull–Rom spline — special case of cubic Hermite splines without self-intersections or cusps
Generalizations to more dimensions:
Bézier triangle — maps a triangle to R3
Bézier surface — maps a square to R3
Box spline — multivariate generalization of B-splines
De Boor's algorithm — generalizes De Casteljau's algorithm
Non-uniform rational B-spline (NURBS)
T-spline — can be thought of as a NURBS surface for which a row of control points is allowed to terminate
Coons patch — type of manifold parametrization used to smoothly join other surfaces together
M-spline — a non-negative spline
I-spline — a monotone spline, defined in terms of M-splines
Smoothing spline — a spline fitted smoothly to noisy data
Blossom (functional) — a unique, affine, symmetric map associated to a polynomial or spline
Trigonometric interpolation
Trigonometric interpolation — interpolation by trigonometric polynomials
Discrete Fourier transform — can be viewed as trigonometric interpolation at equidistant points
Fast Fourier transform (FFT) — a fast method for computing the discrete Fourier transform
Split-radix FFT algorithm — variant of Cooley–Tukey that uses a blend of radices 2 and 4
Bit-reversal permutation — particular permutation of vectors with 2m entries used in many FFTs.
Twiddle factor — the trigonometric constant coefficients that are multiplied by the data
Cyclotomic fast Fourier transform — for FFT over finite fields
Methods for computing discrete convolutions with finite impulse response filters using the FFT:
Dirichlet kernel — convolving any function with the Dirichlet kernel yields its trigonometric interpolant
Other interpolants
Polynomial and rational function modeling — comparison of polynomial and rational interpolation
Radial basis function (RBF) — a function of the form ƒ(x) = φ(|x−x0|)
Polyharmonic spline — a commonly used radial basis function
Thin plate spline — a specific polyharmonic spline: r2 log r
Subdivision surface — constructed by recursively subdividing a piecewise linear interpolant
Slerp (spherical linear interpolation) — interpolation between two points on a sphere
Generalized quaternion interpolation — generalizes slerp for interpolation between more than two quaternions
Nevanlinna–Pick interpolation — interpolation by analytic functions in the unit disc subject to a bound
Pick matrix — the Nevanlinna–Pick interpolation has a solution if this matrix is positive semi-definite
Multivariate interpolation — the function being interpolated depends on more than one variable
Barnes interpolation — method for two-dimensional functions using Gaussians common in meteorology
Coons surface — combination of linear interpolation and bilinear interpolation
Lanczos resampling — based on convolution with a sinc function
Transfinite interpolation — constructs function on planar domain given its values on the boundary
Trend surface analysis — based on low-order polynomials of spatial coordinates; uses scattered observations
Method based on polynomials are listed under Polynomial interpolation
Approximation theory
Modulus of continuity — measures smoothness of a function
Least squares (function approximation) — minimizes the error in the L2-norm
Minimax approximation algorithm — minimizes the maximum error over an interval (the L∞-norm)
Equioscillation theorem — characterizes the best approximation in the L∞-norm
Unisolvent point set — function from given function space is determined uniquely by values on such a set of points
Stone–Weierstrass theorem — continuous functions can be approximated uniformly by polynomials, or certain other function spaces
Approximation by polynomials:
Bernstein polynomial — basis of polynomials useful for approximating a function
Bernstein's constant — error when approximating |x| by a polynomial
Remez algorithm — for constructing the best polynomial approximation in the L∞-norm
Bernstein's inequality (mathematical analysis) — bound on maximum of derivative of polynomial in unit disk
Mergelyan's theorem — generalization of Stone–Weierstrass theorem for polynomials
Müntz–Szász theorem — variant of Stone–Weierstrass theorem for polynomials if some coefficients have to be zero
Bramble–Hilbert lemma — upper bound on Lp error of polynomial approximation in multiple dimensions
Discrete Chebyshev polynomials — polynomials orthogonal with respect to a discrete measure
Favard's theorem — polynomials satisfying suitable 3-term recurrence relations are orthogonal polynomials
Approximation by Fourier series / trigonometric polynomials:
Jackson's inequality — upper bound for best approximation by a trigonometric polynomial
Bernstein's theorem (approximation theory) — a converse to Jackson's inequality
Fejér's theorem — Cesàro means of partial sums of Fourier series converge uniformly for continuous periodic functions
Erdős–Turán inequality — bounds distance between probability and Lebesgue measure in terms of Fourier coefficients
Different approximations:
Padé table — table of Padé approximants
Hartogs–Rosenthal theorem — continuous functions can be approximated uniformly by rational functions on a set of Lebesgue measure zero
Szász–Mirakyan operator — approximation by en xk on a semi-infinite interval
Baskakov operator — generalize Bernstein polynomials, Szász–Mirakyan operators, and Lupas operators
Favard operator — approximation by sums of Gaussians
Surrogate model — application: replacing a function that is hard to evaluate by a simpler function
Constructive function theory — field that studies connection between degree of approximation and smoothness
Universal differential equation — differential–algebraic equation whose solutions can approximate any continuous function
Fekete problem — find N points on a sphere that minimize some kind of energy
Carleman's condition — condition guaranteeing that a measure is uniquely determined by its moments
Krein's condition — condition that exponential sums are dense in weighted L2 space
Lethargy theorem — about distance of points in a metric space from members of a sequence of subspaces
Journals:
Miscellaneous
Linear predictive analysis — linear extrapolation
Unisolvent functions — functions for which the interpolation problem has a unique solution
Finding roots of nonlinear equations
See #Numerical linear algebra for linear equations
Root-finding algorithm — algorithms for solving the equation f(x) = 0
General methods:
Bisection method — simple and robust; linear convergence
Lehmer–Schur algorithm — variant for complex functions
Newton's method — based on linear approximation around the current iterate; quadratic convergence
Kantorovich theorem — gives a region around solution such that Newton's method converges
Newton fractal — indicates which initial condition converges to which root under Newton iteration
Quasi-Newton method — uses an approximation of the Jacobian:
Broyden's method — uses a rank-one update for the Jacobian
Symmetric rank-one — a symmetric (but not necessarily positive definite) rank-one update of the Jacobian
Davidon–Fletcher–Powell formula — update of the Jacobian in which the matrix remains positive definite
Broyden–Fletcher–Goldfarb–Shanno algorithm — rank-two update of the Jacobian in which the matrix remains positive definite
Limited-memory BFGS method — truncated, matrix-free variant of BFGS method suitable for large problems
Steffensen's method — uses divided differences instead of the derivative
Secant method — based on linear interpolation at last two iterates
False position method — secant method with ideas from the bisection method
Muller's method — based on quadratic interpolation at last three iterates
Sidi's generalized secant method — higher-order variants of secant method
Inverse quadratic interpolation — similar to Muller's method, but interpolates the inverse
Brent's method — combines bisection method, secant method and inverse quadratic interpolation
Ridders' method — fits a linear function times an exponential to last two iterates and their midpoint
Halley's method — uses f, f and f; achieves the cubic convergence
Householder's method — uses first d derivatives to achieve order d + 1; generalizes Newton's and Halley's method
Methods for polynomials:
Jenkins–Traub algorithm — fast, reliable, and widely used
Analysis:
Numerical continuation — tracking a root as one parameter in the equation changes
Optimization
Mathematical optimization — algorithm for finding maxima or minima of a given function
Basic concepts
Constrained optimization — studies optimization problems with constraints
Binary constraint — a constraint that involves exactly two variables
Feasible region — contains all solutions that satisfy the constraints but may not be optimal
Linear programming
Linear programming (also treats integer programming) — objective function and constraints are linear
Algorithms for linear programming:
Bland's rule — rule to avoid cycling in the simplex method
Klee–Minty cube — perturbed (hyper)cube; simplex method has exponential complexity on such a domain
Criss-cross algorithm — similar to the simplex algorithm
Big M method — variation of simplex algorithm for problems with both "less than" and "greater than" constraints
k-approximation of k-hitting set — algorithm for specific LP problems (to find a weighted hitting set)
Decompositions:
Basic solution (linear programming) — solution at vertex of feasible region
Hilbert basis (linear programming) — set of integer vectors in a convex cone which generate all integer vectors in the cone
Vertex enumeration problem — list all vertices of the feasible set
Convex optimization
Sequential minimal optimization — breaks up large QP problems into a series of smallest possible QP problems
Basis pursuit — minimize L1-norm of vector subject to linear constraints
Basis pursuit denoising (BPDN) — regularized version of basis pursuit
In-crowd algorithm — algorithm for solving basis pursuit denoising
Quadratic programming (see above)
Bregman method — row-action method for strictly convex optimization problems
Proximal gradient method — use splitting of objective function in sum of possible non-differentiable pieces
Subgradient method — extension of steepest descent for problems with a non-differentiable objective function
Biconvex optimization — generalization where objective function and constraint set can be biconvex
Nonlinear programming
Nonlinear programming — the most general optimization problem in the usual framework
Special cases of nonlinear programming:
See Linear programming and Convex optimization above
Geometric programming — problems involving signomials or posynomials
Signomial — similar to polynomials, but exponents need not be integers
Posynomial — a signomial with positive coefficients
Linear-fractional programming — objective is ratio of linear functions, constraints are linear
Fractional programming — objective is ratio of nonlinear functions, constraints are linear
Nonlinear complementarity problem (NCP) — find x such that x ≥ 0, f(x) ≥ 0 and xT f(x) = 0
Least squares — the objective function is a sum of squares
BHHH algorithm — variant of Gauss–Newton in econometrics
Generalized Gauss–Newton method — for constrained nonlinear least-squares problems
Iteratively reweighted least squares (IRLS) — solves a weighted least-squares problem at every iteration
Partial least squares — statistical techniques similar to principal components analysis
Mathematical programming with equilibrium constraints — constraints include variational inequalities or complementarities
Univariate optimization:
Successive parabolic interpolation — based on quadratic interpolation through the last three iterates
General algorithms:
Concepts:
Guess value — the initial guess for a solution with which an algorithm starts
Gradient method — method that uses the gradient as the search direction
Landweber iteration — mainly used for ill-posed problems
Successive linear programming (SLP) — replace problem by a linear programming problem, solve that, and repeat
Sequential quadratic programming (SQP) — replace problem by a quadratic programming problem, solve that, and repeat
Newton's method in optimization
See also under Newton algorithm in the section Finding roots of nonlinear equations
Derivative-free methods
Coordinate descent — move in one of the coordinate directions
Adaptive coordinate descent — adapt coordinate directions to objective function
Random coordinate descent — randomized version
Powell's method — based on conjugate gradient descent
Rosenbrock methods — derivative-free method, similar to Nelder–Mead but with guaranteed convergence
Augmented Lagrangian method — replaces constrained problems by unconstrained problems with a term added to the objective function
Guided Local Search — modification of search algorithms which builds up penalties during a search
Reactive search optimization (RSO) — the algorithm adapts its parameters automatically
MM algorithm — majorize-minimization, a wide framework of methods
Expectation–maximization algorithm
Space mapping — uses "coarse" (ideal or low-fidelity) and "fine" (practical or high-fidelity) models
Optimal control and infinite-dimensional optimization
Pontryagin's minimum principle — infinite-dimensional version of Lagrange multipliers
Costate equations — equation for the "Lagrange multipliers" in Pontryagin's minimum principle
Hamiltonian (control theory) — minimum principle says that this function should be minimized
Types of problems:
Linear-quadratic regulator — system dynamics is a linear differential equation, objective is quadratic
Linear-quadratic-Gaussian control (LQG) — system dynamics is a linear SDE with additive noise, objective is quadratic
Optimal projection equations — method for reducing dimension of LQG control problem
Algebraic Riccati equation — matrix equation occurring in many optimal control problems
Bang–bang control — control that switches abruptly between two states
Differential dynamic programming — uses locally-quadratic models of the dynamics and cost functions
DNSS point — initial state for certain optimal control problems with multiple optimal solutions
Legendre–Clebsch condition — second-order condition for solution of optimal control problem
Pseudospectral optimal control
Bellman pseudospectral method — based on Bellman's principle of optimality
Chebyshev pseudospectral method — uses Chebyshev polynomials (of the first kind)
Flat pseudospectral method — combines Ross–Fahroo pseudospectral method with differential flatness
Gauss pseudospectral method — uses collocation at the Legendre–Gauss points
Legendre pseudospectral method — uses Legendre polynomials
Pseudospectral knotting method — generalization of pseudospectral methods in optimal control
Ross–Fahroo pseudospectral method — class of pseudospectral method including Chebyshev, Legendre and knotting
Ross–Fahroo lemma — condition to make discretization and duality operations commute
Ross' π lemma — there is fundamental time constant within which a control solution must be computed for controllability and stability
Sethi model — optimal control problem modelling advertising
Infinite-dimensional optimization
Semi-infinite programming — infinite number of variables and finite number of constraints, or other way around
Shape optimization, Topology optimization — optimization over a set of regions
Topological derivative — derivative with respect to changing in the shape
Generalized semi-infinite programming — finite number of variables, infinite number of constraints
Uncertainty and randomness
Approaches to deal with uncertainty:
Scenario optimization — constraints are uncertain
Random optimization algorithms:
Random search — choose a point randomly in ball around current iterate
Adaptive simulated annealing — variant in which the algorithm parameters are adjusted during the computation.
Mean field annealing — deterministic variant of simulated annealing
Bayesian optimization — treats objective function as a random function and places a prior over it
Genetic algorithm, Genetic programming
MCACEA (Multiple Coordinated Agents Coevolution Evolutionary Algorithm) — uses an evolutionary algorithm for every agent
Harmony search — mimicks the improvisation process of musicians
see also the section Monte Carlo method
Theoretical aspects
Convex analysis — function f such that f(tx + (1 − t)y) ≥ tf(x) + (1 − t)f(y) for t ∈ [0,1]
Pseudoconvex function — function f such that ∇f · (y − x) ≥ 0 implies f(y) ≥ f(x)
Quasiconvex function — function f such that f(tx + (1 − t)y) ≤ max(f(x), f(y)) for t ∈ [0,1]
Geodesic convexity — convexity for functions defined on a Riemannian manifold
Weak duality — dual solution gives a bound on the primal solution
Strong duality — primal and dual solutions are equivalent
Duality gap — difference between primal and dual solution
Fenchel's duality theorem — relates minimization problems with maximization problems of convex conjugates
Perturbation function — any function which relates to primal and dual problems
Slater's condition — sufficient condition for strong duality to hold in a convex optimization problem
Total dual integrality — concept of duality for integer linear programming
Wolfe duality — for when objective function and constraints are differentiable
Karush–Kuhn–Tucker conditions (KKT) — sufficient conditions for a solution to be optimal
Fritz John conditions — variant of KKT conditions
Complementarity theory — study of problems with constraints of the form u, v = 0
Lemke's algorithm — method for solving (mixed) linear complementarity problems
Danskin's theorem — used in the analysis of minimax problems
Maximum theorem — the maximum and maximizer are continuous as function of parameters, under some conditions
Relaxation (approximation) — approximating a given problem by an easier problem by relaxing some constraints
Linear programming relaxation — ignoring the integrality constraints in a linear programming problem
Reduced cost — cost for increasing a variable by a small amount
Hardness of approximation — computational complexity of getting an approximate solution
Applications
In geometry:
Geometric median — the point minimizing the sum of distances to a given set of points
Chebyshev center — the centre of the smallest ball containing a given set of points
In statistics:
Iterated conditional modes — maximizing joint probability of Markov random field
Response surface methodology — used in the design of experiments
Compressed sensing — reconstruct a signal from knowledge that it is sparse or compressible
Destination dispatch — an optimization technique for dispatching elevators
Linear search problem — find a point on a line by moving along the line
Low-rank approximation — find best approximation, constraint is that rank of some matrix is smaller than a given number
Meta-optimization — optimization of the parameters in an optimization method
Optimal computing budget allocation — maximize the overall simulation efficiency for finding an optimal decision
Recursive economics — individuals make a series of two-period optimization decisions over time.
Miscellaneous
Hamilton–Jacobi–Bellman equation — continuous-time analogue of Bellman equation
Backward induction — solving dynamic programming problems by reasoning backwards in time
Optimal stopping — choosing the optimal time to take a particular action
Multi-objective optimization — there are multiple conflicting objectives
Benson's algorithm — for linear vector optimization problems
Bilevel optimization — studies problems in which one problem is embedded in another
Dykstra's projection algorithm — finds a point in intersection of two convex sets
Algorithmic concepts:
Test functions for optimization:
Rosenbrock function — two-dimensional function with a banana-shaped valley
Rastrigin function — two-dimensional function with many local minima
Shekel function — multimodal and multidimensional
Numerical quadrature (integration)
Numerical integration — the numerical evaluation of an integral
Rectangle method — first-order method, based on (piecewise) constant approximation
Trapezoidal rule — second-order method, based on (piecewise) linear approximation
Simpson's rule — fourth-order method, based on (piecewise) quadratic approximation
Boole's rule — sixth-order method, based on the values at five equidistant points
Newton–Cotes formulas — generalizes the above methods
Romberg's method — Richardson extrapolation applied to trapezium rule
Gaussian quadrature — highest possible degree with given number of points
Chebyshev–Gauss quadrature — extension of Gaussian quadrature for integrals with weight on [−1, 1]
Gauss–Hermite quadrature — extension of Gaussian quadrature for integrals with weight exp(−x2) on [−∞, ∞]
Gauss–Jacobi quadrature — extension of Gaussian quadrature for integrals with weight (1 − x)α (1 + x)β on [−1, 1]
Gauss–Laguerre quadrature — extension of Gaussian quadrature for integrals with weight exp(−x) on [0, ∞]
Gauss–Kronrod quadrature formula — nested rule based on Gaussian quadrature
Tanh-sinh quadrature — variant of Gaussian quadrature which works well with singularities at the end points
Clenshaw–Curtis quadrature — based on expanding the integrand in terms of Chebyshev polynomials
Adaptive quadrature — adapting the subintervals in which the integration interval is divided depending on the integrand
Monte Carlo integration — takes random samples of the integrand
See also #Monte Carlo method
Quantized state systems method (QSS) — based on the idea of state quantization
Lebedev quadrature — uses a grid on a sphere with octahedral symmetry
Coopmans approximation
Numerical differentiation — for fractional-order integrals
Adjoint state method — approximates gradient of a function in an optimization problem
Numerical methods for ordinary differential equations
Numerical methods for ordinary differential equations — the numerical solution of ordinary differential equations (ODEs)
Euler method — the most basic method for solving an ODE
Explicit and implicit methods — implicit methods need to solve an equation at every step
Backward Euler method — implicit variant of the Euler method
Trapezoidal rule — second-order implicit method
Runge–Kutta methods — one of the two main classes of methods for initial-value problems
Midpoint method — a second-order method with two stages
Heun's method — either a second-order method with two stages, or a third-order method with three stages
Bogacki–Shampine method — a third-order method with four stages (FSAL) and an embedded fourth-order method
Cash–Karp method — a fifth-order method with six stages and an embedded fourth-order method
Dormand–Prince method — a fifth-order method with seven stages (FSAL) and an embedded fourth-order method
Runge–Kutta–Fehlberg method — a fifth-order method with six stages and an embedded fourth-order method
Gauss–Legendre method — family of A-stable method with optimal order based on Gaussian quadrature
Butcher group — algebraic formalism involving rooted trees for analysing Runge–Kutta methods
Linear multistep method — the other main class of methods for initial-value problems
Backward differentiation formula — implicit methods of order 2 to 6; especially suitable for stiff equations
Predictor–corrector method — uses one method to approximate solution and another one to increase accuracy
General linear methods — a class of methods encapsulating linear multistep and Runge-Kutta methods
Bulirsch–Stoer algorithm — combines the midpoint method with Richardson extrapolation to attain arbitrary order
Exponential integrator — based on splitting ODE in a linear part, which is solved exactly, and a nonlinear part
Methods designed for the solution of ODEs from classical physics:
Newmark-beta method — based on the extended mean-value theorem
Verlet integration — a popular second-order method
Leapfrog integration — another name for Verlet integration
Beeman's algorithm — a two-step method extending the Verlet method
Geometric integrator — a method that preserves some geometric structure of the equation
Symplectic integrator — a method for the solution of Hamilton's equations that preserves the symplectic structure
Variational integrator — symplectic integrators derived using the underlying variational principle
Semi-implicit Euler method — variant of Euler method which is symplectic when applied to separable Hamiltonians
Energy drift — phenomenon that energy, which should be conserved, drifts away due to numerical errors
Other methods for initial value problems (IVPs):
Methods for solving two-point boundary value problems (BVPs):
Direct multiple shooting method — divides interval in several subintervals and applies the shooting method on each subinterval
Methods for solving differential-algebraic equations (DAEs), i.e., ODEs with constraints:
Constraint algorithm — for solving Newton's equations with constraints
Pantelides algorithm — for reducing the index of a DEA
Methods for solving stochastic differential equations (SDEs):
Euler–Maruyama method — generalization of the Euler method for SDEs
Milstein method — a method with strong order one
Runge–Kutta method (SDE) — generalization of the family of Runge–Kutta methods for SDEs
Methods for solving integral equations:
Nyström method — replaces the integral with a quadrature rule
Analysis:
Truncation error (numerical integration) — local and global truncation errors, and their relationships
Lady Windermere's Fan (mathematics) — telescopic identity relating local and global truncation errors
Stiff equation — roughly, an ODE for which unstable methods need a very short step size, but stable methods do not
L-stability — method is A-stable and stability function vanishes at infinity
Adaptive stepsize — automatically changing the step size when that seems advantageous
Parareal -- a parallel-in-time integration algorithm
Numerical methods for partial differential equations
Numerical partial differential equations — the numerical solution of partial differential equations (PDEs)
Finite difference methods
Finite difference method — based on approximating differential operators with difference operators
Finite difference — the discrete analogue of a differential operator
Finite difference coefficient — table of coefficients of finite-difference approximations to derivatives
Discrete Laplace operator — finite-difference approximation of the Laplace operator
Eigenvalues and eigenvectors of the second derivative — includes eigenvalues of discrete Laplace operator
Kronecker sum of discrete Laplacians — used for Laplace operator in multiple dimensions
Discrete Poisson equation — discrete analogue of the Poisson equation using the discrete Laplace operator
Stencil (numerical analysis) — the geometric arrangements of grid points affected by a basic step of the algorithm
Compact stencil — stencil which only uses a few grid points, usually only the immediate and diagonal neighbours
Non-compact stencil — any stencil that is not compact
Five-point stencil — two-dimensional stencil consisting of a point and its four immediate neighbours on a rectangular grid
Finite difference methods for heat equation and related PDEs:
FTCS scheme (forward-time central-space) — first-order explicit
Crank–Nicolson method — second-order implicit
Finite difference methods for hyperbolic PDEs like the wave equation:
Lax–Friedrichs method — first-order explicit
Lax–Wendroff method — second-order explicit
MacCormack method — second-order explicit
Upwind differencing scheme for convection — first-order scheme for convection–diffusion problems
Lax–Wendroff theorem — conservative scheme for hyperbolic system of conservation laws converges to the weak solution
Alternating direction implicit method (ADI) — update using the flow in x-direction and then using flow in y-direction
Specific applications:
Finite-difference time-domain method — a finite-difference method for electrodynamics
Finite element methods, gradient discretisation methods
Finite element method — based on a discretization of the space of solutions gradient discretisation method — based on both the discretization of the solution and of its gradient
Finite element method in structural mechanics — a physical approach to finite element methods
Galerkin method — a finite element method in which the residual is orthogonal to the finite element space
Discontinuous Galerkin method — a Galerkin method in which the approximate solution is not continuous
Rayleigh–Ritz method — a finite element method based on variational principles
Spectral element method — high-order finite element methods
hp-FEM — variant in which both the size and the order of the elements are automatically adapted
Examples of finite elements:
Bilinear quadrilateral element — also known as the Q4 element
Constant strain triangle element (CST) — also known as the T3 element
Quadratic quadrilateral element — also known as the Q8 element
Direct stiffness method — a particular implementation of the finite element method, often used in structural analysis
Extended finite element method — puts functions tailored to the problem in the approximation space
Functionally graded elements — elements for describing functionally graded materials
Superelement — particular grouping of finite elements, employed as a single element
Interval finite element method — combination of finite elements with interval arithmetic
Discrete exterior calculus — discrete form of the exterior calculus of differential geometry
Modal analysis using FEM — solution of eigenvalue problems to find natural vibrations
Céa's lemma — solution in the finite-element space is an almost best approximation in that space of the true solution
Patch test (finite elements) — simple test for the quality of a finite element
MAFELAP (MAthematics of Finite ELements and APplications) — international conference held at Brunel University
NAFEMS — not-for-profit organisation that sets and maintains standards in computer-aided engineering analysis
Multiphase topology optimisation — technique based on finite elements for determining optimal composition of a mixture
Applied element method — for simulation of cracks and structural collapse
Wood–Armer method — structural analysis method based on finite elements used to design reinforcement for concrete slabs
Isogeometric analysis — integrates finite elements into conventional NURBS-based CAD design tools
Stiffness matrix — finite-dimensional analogue of differential operator
Combination with meshfree methods:
Weakened weak form — form of a PDE that is weaker than the standard weak form
G space — functional space used in formulating the weakened weak form
Other methods
Spectral method — based on the Fourier transformation
Method of lines — reduces the PDE to a large system of ordinary differential equations
Boundary element method (BEM) — based on transforming the PDE to an integral equation on the boundary of the domain
Interval boundary element method — a version using interval arithmetics
Analytic element method — similar to the boundary element method, but the integral equation is evaluated analytically
Finite volume method — based on dividing the domain in many small domains; popular in computational fluid dynamics
Godunov's scheme — first-order conservative scheme for fluid flow, based on piecewise constant approximation
MUSCL scheme — second-order variant of Godunov's scheme
AUSM — advection upstream splitting method
Flux limiter — limits spatial derivatives (fluxes) in order to avoid spurious oscillations
Riemann solver — a solver for Riemann problems (a conservation law with piecewise constant data)
Properties of discretization schemes — finite volume methods can be conservative, bounded, etc.
Discrete element method — a method in which the elements can move freely relative to each other
Extended discrete element method — adds properties such as strain to each particle
Movable cellular automaton — combination of cellular automata with discrete elements
Meshfree methods — does not use a mesh, but uses a particle view of the field
Discrete least squares meshless method — based on minimization of weighted summation of the squared residual
Finite pointset method — represent continuum by a point cloud
Method of fundamental solutions (MFS) — represents solution as linear combination of fundamental solutions
Variants of MFS with source points on the physical boundary:
Boundary knot method (BKM)
Boundary particle method (BPM)
Singular boundary method (SBM)
Methods designed for problems from electromagnetics:
Finite-difference time-domain method — a finite-difference method
Rigorous coupled-wave analysis — semi-analytical Fourier-space method based on Floquet's theorem
Transmission-line matrix method (TLM) — based on analogy between electromagnetic field and mesh of transmission lines
Uniform theory of diffraction — specifically designed for scattering problems
Particle-in-cell — used especially in fluid dynamics
Multiphase particle-in-cell method — considers solid particles as both numerical particles and fluid
Vorticity confinement — for vortex-dominated flows in fluid dynamics, similar to shock capturing
Lattice Boltzmann methods — for the solution of the Navier-Stokes equations
Roe solver — for the solution of the Euler equation
Relaxation (iterative method) — a method for solving elliptic PDEs by converting them to evolution equations
Broad classes of methods:
Mimetic methods — methods that respect in some sense the structure of the original problem
Multiphysics — models consisting of various submodels with different physics
Immersed boundary method — for simulating elastic structures immersed within fluids
Multisymplectic integrator — extension of symplectic integrators, which are for ODEs
Stretched grid method — for problems solution that can be related to an elastic grid behavior.
Techniques for improving these methods
Multigrid method — uses a hierarchy of nested meshes to speed up the methods
Domain decomposition methods — divides the domain in a few subdomains and solves the PDE on these subdomains
Abstract additive Schwarz method — abstract version of additive Schwarz without reference to geometric information
Balancing domain decomposition method (BDD) — preconditioner for symmetric positive definite matrices
Balancing domain decomposition by constraints (BDDC) — further development of BDD
FETI-DP — further development of FETI
Fictitious domain method — preconditioner constructed with a structured mesh on a fictitious domain of simple shape
Mortar methods — meshes on subdomain do not mesh
Neumann–Dirichlet method — combines Neumann problem on one subdomain with Dirichlet problem on other subdomain
Neumann–Neumann methods — domain decomposition methods that use Neumann problems on the subdomains
Poincaré–Steklov operator — maps tangential electric field onto the equivalent electric current
Schur complement method — early and basic method on subdomains that do not overlap
Schwarz alternating method — early and basic method on subdomains that overlap
Coarse space — variant of the problem which uses a discretization with fewer degrees of freedom
Adaptive mesh refinement — uses the computed solution to refine the mesh only where necessary
Fast multipole method — hierarchical method for evaluating particle-particle interactions
Perfectly matched layer — artificial absorbing layer for wave equations, used to implement absorbing boundary conditions
Grids and meshes
Grid classification / Types of mesh:
Polygon mesh — consists of polygons in 2D or 3D
Triangle mesh — consists of triangles in 2D or 3D
Triangulation (geometry) — subdivision of given region in triangles, or higher-dimensional analogue
Nonobtuse mesh — mesh in which all angles are less than or equal to 90°
Point-set triangulation — triangle mesh such that given set of point are all a vertex of a triangle
Polygon triangulation — triangle mesh inside a polygon
Delaunay triangulation — triangulation such that no vertex is inside the circumcentre of a triangle
Constrained Delaunay triangulation — generalization of the Delaunay triangulation that forces certain required segments into the triangulation
Pitteway triangulation — for any point, triangle containing it has nearest neighbour of the point as a vertex
Minimum-weight triangulation — triangulation of minimum total edge length
Kinetic triangulation — a triangulation that moves over time
Quasi-triangulation — subdivision into simplices, where vertices are not points but arbitrary sloped line segments
Volume mesh — consists of three-dimensional shapes
Regular grid — consists of congruent parallelograms, or higher-dimensional analogue
Geodesic grid — isotropic grid on a sphere
Image-based meshing — automatic procedure of generating meshes from 3D image data
Marching cubes — extracts a polygon mesh from a scalar field
Ruppert's algorithm — creates quality Delauney triangularization from piecewise linear data
Subdivisions:
Apollonian network — undirected graph formed by recursively subdividing a triangle
Barycentric subdivision — standard way of dividing arbitrary convex polygons into triangles, or the higher-dimensional analogue
Improving an existing mesh:
Chew's second algorithm — improves Delauney triangularization by refining poor-quality triangles
Laplacian smoothing — improves polynomial meshes by moving the vertices
Jump-and-Walk algorithm — for finding triangle in a mesh containing a given point
Spatial twist continuum — dual representation of a mesh consisting of hexahedra
Pseudotriangle — simply connected region between any three mutually tangent convex sets
Simplicial complex — all vertices, line segments, triangles, tetrahedra, ..., making up a mesh
Analysis
Lax equivalence theorem — a consistent method is convergent if and only if it is stable
Courant–Friedrichs–Lewy condition — stability condition for hyperbolic PDEs
Von Neumann stability analysis — all Fourier components of the error should be stable
Numerical diffusion — diffusion introduced by the numerical method, above to that which is naturally present
Numerical resistivity — the same, with resistivity instead of diffusion
Weak formulation — a functional-analytic reformulation of the PDE necessary for some methods
Total variation diminishing — property of schemes that do not introduce spurious oscillations
Godunov's theorem — linear monotone schemes can only be of first order
Motz's problem — benchmark problem for singularity problems
Monte Carlo methodMonte Carlo method
Variants of the Monte Carlo method:
Multiple-try Metropolis — modification which allows larger step sizes
Wang and Landau algorithm — extension of Metropolis Monte Carlo
Equation of State Calculations by Fast Computing Machines — 1953 article proposing the Metropolis Monte Carlo algorithm
Multicanonical ensemble — sampling technique that uses Metropolis–Hastings to compute integrals
Inverse transform sampling — general and straightforward method but computationally expensive
Rejection sampling — sample from a simpler distribution but reject some of the samples
Ziggurat algorithm — uses a pre-computed table covering the probability distribution with rectangular segments
For sampling from a normal distribution:
Convolution random number generator — generates a random variable as a sum of other random variables
Variance reduction techniques:
Umbrella sampling — improves sampling in physical systems with significant energy barriers
Ensemble Kalman filter — recursive filter suitable for problems with a large number of variables
Walk-on-spheres method — to generate exit-points of Brownian motion from bounded domains
Applications:
Ensemble forecasting — produce multiple numerical predictions from slightly initial conditions or parameters
Bond fluctuation model — for simulating the conformation and dynamics of polymer systems
Monte Carlo localization — estimates the position and orientation of a robot
Monte Carlo methods in finance
Monte Carlo molecular modeling
Path integral molecular dynamics — incorporates Feynman path integrals
Diffusion Monte Carlo — uses a Green function to solve the Schrödinger equation
Methods for simulating the Ising model:
Swendsen–Wang algorithm — entire sample is divided into equal-spin clusters
Wolff algorithm — improvement of the Swendsen–Wang algorithm
Auxiliary field Monte Carlo — computes averages of operators in many-body quantum mechanical problems
Cross-entropy method — for multi-extremal optimization and importance sampling
Also see the list of statistics topics
Applications
Computational fluid dynamics (CFD)
Aeroacoustic analogy — used in numerical aeroacoustics to reduce sound sources to simple emitter types
Stochastic Eulerian Lagrangian method — uses Eulerian description for fluids and Lagrangian for structures
Computational magnetohydrodynamics (CMHD) — studies electrically conducting fluids
Quantum jump method — used for simulating open quantum systems, operates on wave function
Dynamic design analysis method (DDAM) — for evaluating effect of underwater explosions on equipment
DIIS — direct inversion in (or of) the iterative subspace
Software
For a large list of software, see the list of numerical-analysis software.
Journals
Mathematics of Computation (published by the American Mathematical Society)
Journals from the Society for Industrial and Applied Mathematics
Researchers
References