2020-10-21, update: 2024-08-25 · 4 min read · Mathematics
We present the abstract interpolation problem and show how it is related to common interpolation and approximation tasks.
Let be a vector space of functions from to (e.g. smooth functions, polynomials, ...) and let be functionals defined on this space that map to . We assume further that is an dimensional subspace of with a basis . That implies can be written in the following way.
Nearly all interpolation and approximation problems can be reduced to the following setting: we are given the quantities for an unknown function and seek a such that holds for every .
You may think of as a physical process or a huge data set. The functionals can then be interpreted as measurements on your process (e.g. temperature, speed, ...) or sample extractions from your data set. In any case, is data that we are given.
Since the interpolation requirement can be rewritten as follows.
The previous problem is sometimes referred to as the nonlinear interpolation and without further assumptions on or the it will be difficult to solve. A common restriction is to assume that all the are linear functionals. This leads us then to the following formulation.
Let us remark that the are known for all and and that the are given and known as well. In view of our examples above, the can be understood as reference measurements or reference samples.
The interpolation problem has now been reduced to a linear system of equations with unknowns . It can also be written in matrix vector form as follows.
Thus, the interpolation problem with linear functionals is solvable, whenever the linear system above has a solution. If the system does not have a solution, we may still consider solving it in a least squares sense. In the latter case we would have an approximation task.
Let us shortly remind the difference between an interpolation and approximation problem. In an interpolation problem we can reach the given data, e.g. we have for all . In an approximation task we won't necessarily have equality but minimize the distance between all the and .
It goes without saying, that a good choice for the and has a tremendous impact on the existence and properties of the solutions. Ideally, we want to chose the such that the system matrix is either diagonal or at least sparse and banded. The should reflect the underlying process/data as good as possible. It doesn't make sense to use smooth functions if your underlying data has known discontinuities!
We assume that for some known and given numbers . This means that is the point evaluation functional at . Note that evaluating functions at a fixed point is a linear operation. For well-posedness reasons we assume that all the are pairwise different. Also, for we select the space of all polynomials and shall be the space of all polynomials up to degree . In addition, we set (i.e. our basis functions are the monomials). The abstract interpolation problem can then be formulated as the following linear system.
The linear system above does polynomial interpolation and the system matrix is the famous Vandermonde matrix. The Vandermonde matrix is invertible when all are pairwise different (hence our assumption above!).
Small remark: if you use not just the function evaluation but also the evaluation of their derivatives you obtain Hermite interpolation.
If the presentation in this article reminded you of neural networks and deep learning models, there's a reason for this. The underlying idea is the same. Neural networks are approximation problems with fancy functionals and spaces .
Tariq Rashid, Neuronale Netze selbst programmieren - Ein verständlicher Einstieg mit Python, 1st. edition, 2017, O'Reilly, 978-3-960-09043-4
Philippe Ciarlet, Jacques-Louis Lions (eds.), Handbook of numerical analysis - Techniques of scientific computing (Pt. 1). Numerical methods for solids (Pt. 1). Solution of equations in Rn (Pt. 2), Vol. III, 1994, North-Holland, 978-0-444-89928-6
@online{abstract-interpolation,
author = {Hoeltgen, Laurent},
title = {The Abstract Interpolation Problem},
date = {2024-08-25},
language = english
url = {https://www.laurenthoeltgen.name/content/blog/
abstract-interpolation}
}