Interpolation (numerical analysis)¶
Definition¶
Interpolation means fitting some function to given data such that the function passes through that data. Such a function is called an interpolant.
For example, given the data
We want to represent this discrete data in terms of a relatively simple function (the interpolant) that are then easily manipulated. But we insist that this function not only capture the trend of the data, but also pass through the data points.
Look at Existence and Uniquness of Interpolants for how interpolants are mathematically expressed.
General and Systematic Study of Interpolation¶
The simplest interpolation problem in one dimension is of the following form: for given data
with \(t_{1} < t_{2} < \dots < t_{m}\), we see a function \(f: \mathbb{R} \to \mathbb{R}\) such that
We call \(f\) an interpolating function or an interpolant for the given data. It is desirable to have \(f(t)\) to have "reasonable" values between the given data, but this requirement is difficult to quantify.
In more complicated interpolation problems, additional data may be given, such as the slope of the interpolant at given points, or monoticity, or convexity, etc...
Some families of functions commonly used for interpolation include:
- Polynomials
- Piecewise polynomials
- Trigonometric functions
- Exponential functions
- Rational functions
Purposes of Interpolation¶
- Plotting a smooth curve through discrete data points
- Reading between the lines of a table
- Differentiating or integrating tabular data
- Evaluating a mathematical function quickly and easily
- Replacing a complicated function by a simple one
Traditionally, interpolation was used to approximate values of functions like square root or trigonometric functions. However, this is obviously not needed anymore in modern society.
The biggest upside of interpolation is that it can represent tabular data as continuous data (and vice versa), bridging the gap between finite- and infinite-dimensional problems.
Interpolation works on solving one of the main issues in numerical computation: accurately approximating infinite-dimensional problems by finite-dimensional problems.