What specific method does Interpolation
use for unstructured multi-dimensional data when we set InterpolationOrder -> All
? Documentation links are welcome.
Example 2D data:
data = RandomReal[1, {20, 3}];
When the data points are not on a grid, the only allowed settings for InterpolationOrder
are 1
and All
, according to the error message issued when trying something else.
With 1
, it is clear how it works: a Delaunay triangulation is computed and linear interpolation is done over each triangle.
But how does All
work, and what determines the actual order that is chosen?
if = Interpolation[data, InterpolationOrder -> All];
if["InterpolationOrder"]
(* 5 *)
Show[
Plot3D[if[x, y], {x, 0, 1}, {y, 0, 1}],
Graphics3D[{PointSize[Large], Point[data]}]
]
if["InterpolationOrder"]
that I get is{9223372036854775806, 9223372036854775806}
. Oo $\endgroup$n
. Then you haveBinomial[n, 2]
basis functions. In that case, this should become nasty for higher point counts due to Runge's phenomenon and ill-conditioned linear systems (for solving for the coefficients). So I presume, that they will switch to another method when the point count becomes larger... $\endgroup$