Other Definitions
interpolation (dict)

Interpolation

This article is about 'interpolation in mathematics. See also interpolation (music)'. In the mathematical subfield of numerical analysis interpolation is a method of constructing new data points from a discrete set of known data points. According to the Oxford English Dictionary, to interpolate is:
To alter or enlarge (a book or writing) by insertion of new matter; esp. to tamper with by making insertions which create false impressions as to the date or character of the work in question.
In engineering and science one often has a number of data points, as obtained by sampling or some experiment, and tries to construct a function which closely fits those data points - see curve fitting. A different problem which is closely related to interpolation is the approximation of a complicated function by a simple function. Suppose we know the function but it is too complex to evaluate efficiently. Then we could pick a few known data points from the complicated function and try to interpolate those data points to construct a simpler function. Of course when using the simple function to calculate new data points we usually do not receive the same result as when using the original function, but depending on the problem domain and the interpolation method used the gain in simplicity might offset the error.

Definition

Given a sequence of n distinct numbers xk called nodes and for each xk a second number yk, we are looking for a function f so that
f(x_k) = y_k \mbox{ , } k=1,\ldots,n
A pair xk,yk is called a data point and f is called the interpolant for the data points. When the yk are given by a known function we sometimes write fk.

Example

For example, suppose we have a table like this, which gives some values of an unknown function f.
x width="10px"| colspan=3 align=center| f(x)
|| 0 || ||align=right| 0
|| 1 || ||align=right| 0 || . || 8415
|| 2 || ||align=right| 0 || . || 9093
|| 3 || ||align=right| 0 || . ||1411
|| 4 || ||align=right| −0 || . || 7568
|| 5 || ||align=right| −0 || . || 9589
|| 6 || ||align=right| −0 || . || 2794
What value does the function have at, say, x = 2.5? Interpolation answers questions like this. There are many different interpolation methods, some of which are described below. Some of the things to take into account when choosing an appropriate algorithm are: How accurate is the method? How expensive is it? How smooth is the interpolant? How many data points are needed?

Linear interpolation

Main article: Linear interpolation right One of the simplest methods is linear interpolation (sometimes known as lerp). Consider the above example of determining f(2.5). Since 2.5 is midway between 2 and 3, it is reasonable to take f(2.5) midway between f(2) = 0.9093 and f(3) = 0.1411, which yields 0.5252. Generally, linear interpolation takes two data points, say (xa,ya) and (xb,yb), and the interpolant is given by
f(x) = \frac{x-x_b}{x_a-x_b} y_a - \frac{x-x_a}{x_a-x_b} y_b
This formula can be interpreted as a weighted average. Linear interpolation is quick and easy, but it is not very precise. Another disadvantage is that the interpolant is not differentiable at the point xk. The following error estimate shows that linear interpolation is not very precise. Denote the function which we want to interpolate by g, and suppose that x lies between xa and xb and that g is twice continuously differentiable. Then the linear interpolation error is
|f(x)-g(x)| \le C(x_b-x_a)^2 \quad\mbox{where}\quad C = \frac18 \max_{y\inx_a,x_b} g''(y).
In words, the error is proportional to the square of the distance between the data points. The error of some other methods, including polynomial interpolation and spline interpolation (described below), is proportional to higher powers of the distance between the data points. These methods also produce smoother interpolants.

Polynomial interpolation

Main article: Polynomial interpolation right Polynomial interpolation is a generalization of linear interpolation. Note that the linear interpolant is a linear function. We now replace this interpolant by a polynomial of higher degree. Consider again the problem given above. The following sixth degree polynomial goes through all the seven points:
f(x) = -0.0001521 x^6 - 0.003130 x^5 + 0.07321 x^4 - 0.3577 x^3 + 0.2255 x^2 + 0.9038 x.
Substituting x = 2.5, we find that f(2.5) = 0.5965. Generally, if we have n data points, there is exactly one polynomial of degree n−1 going through all the data points. The interpolation error is proportional to the distance between the data points to the power n. Furthermore, the interpolant is a polynomial and thus infinitely differentiable. So, we see that polynomial interpolation solves all the problems of linear interpolation. However, polynomial interpolation also has some disadvantages. Calculating the interpolating polynomial is very 'expensive' (in relative terms of computer calculation time). Furthermore, polynomial interpolation may not be so exact after all, especially at the end points (see Runge's phenomenon). These disadvantages can be avoided by using spline interpolation.

Spline interpolation

Main article: spline interpolation right Remember that linear interpolation uses a linear function for each of intervals xk,xk+1. Spline interpolation uses low-degree polynomials in each of the intervals, and chooses the polynomial pieces such that they fit smoothly together. The resulting function is called a spline. For instance, the natural cubic spline is piecewise cubic and twice continuously differentiable. Furthermore, its second derivative is zero at the end points. The natural cubic spline interpolating the points in the table above is given by
f(x) = \left\{ \begin{matrix}
-0.1522 x^3 + 0.9937 x, & \mbox{if } x \in 0,1, \\ -0.01258 x^3 - 0.4189 x^2 + 1.4126 x - 0.1396, & \mbox{if } x \in 1,2, \\ 0.1403 x^3 - 1.3359 x^2 + 3.2467 x - 1.3623, & \mbox{if } x \in 2,3, \\ 0.1579 x^3 - 1.4945 x^2 + 3.7225 x - 1.8381, & \mbox{if } x \in 3,4, \\ 0.05375 x^3 -0.2450 x^2 - 1.2756 x + 4.8259, & \mbox{if } x \in 4,5, \\ -0.1871 x^3 + 3.3673 x^2 - 19.3370 x + 34.9282, & \mbox{if } x \in 5,6. \\ \end{matrix} \right. Like polynomial interpolation, spline interpolation incurs a smaller error than linear interpolation and the interpolant is smoother. However, the interpolant is easier to evaluate than the high-degree polynomials used in polynomial interpolation. It also does not suffer from Runge's phenomenon.

Other forms of interpolation

Other forms of interpolation can be constructed by picking a different class of interpolants. For instance, rational interpolation is interpolation by rational functions, and trigonometric interpolation is interpolation by trigonometric polynomials. The discrete Fourier transform is a special case of trigonometric interpolation. Another possibility is to use wavelets. Also see inverse distance weighting. The Nyquist-Shannon interpolation formula can be used if the number of data points is infinite. Multivariate interpolation is the interpolation of functions of more than one variable. Methods include bilinear interpolation and bicubic interpolation in two dimensions, and trilinear interpolation in three dimensions. Sometimes, we know not only the value of the function that we want to interpolate, at some points, but also its derivative. This leads to Hermite interpolation problems.

Related concepts

The term extrapolation is used if we want to find the value of f at a point x which is outside of the points xk at which f is given. In regression or curve fitting problems, the constraint that the interpolant has to go exactly through the data points is relaxed. We only require that it approaches the data points as closely as possible. Approximation theory studies how to find the best approximation to a given function by another function from some predetermined class, and how good this approximation is. This clearly yields a bound on how well the interpolant can approximate the unknown function.

References

  • David Kincaid and Ward Cheney (2002). Numerical Analysis (3rd ed.), Chapter 6. Brooks/Cole. ISBN 0-534-38905-8.
  • Michelle Schatzman (2002). Numerical Analysis: A Mathematical Introduction, Chapters 4 and 6. Clarendon Press, Oxford. ISBN 0-19-850279-6.

 

<< PreviousWord BrowserNext >>
italy
india
music of india
indian musical instruments
irix
islam
internet
indo european
indo iranian languages
imr
industry
indridae
i, robot
invictus
tertiary sector of industry
primary sector of industry
secondary sector of industry
imaginary number
isomer
output
indictment
republic of ireland
irish diaspora
integer
impressionist music
international trade
intension
isaac asimov
izabella scorupco
irrationalism and aestheticism
indonesia
indian ocean
ich bin ein berliner
iqaluit, nunavut
inuit
intuit
island
iowa
inri
iao valley
individual
internet troll
geography of india
demographics of india