scipy.interpolate.BarycentricInterpolator¶

class
scipy.interpolate.
BarycentricInterpolator
(xi, yi=None, axis=0)[source]¶ The interpolating polynomial for a set of points
Constructs a polynomial that passes through a given set of points. Allows evaluation of the polynomial, efficient changing of the y values to be interpolated, and updating by adding more x values. For reasons of numerical stability, this function does not compute the coefficients of the polynomial.
The values yi need to be provided before the function is evaluated, but none of the preprocessing depends on them, so rapid updates are possible.
Parameters: xi : array_like
1d array of x coordinates of the points the polynomial should pass through
yi : array_like, optional
The y coordinates of the points the polynomial should pass through. If None, the y values will be supplied later via the set_y method.
axis : int, optional
Axis in the yi array corresponding to the xcoordinate values.
Notes
This class uses a “barycentric interpolation” method that treats the problem as a special case of rational function interpolation. This algorithm is quite stable, numerically, but even in a world of exact computation, unless the x coordinates are chosen very carefully  Chebyshev zeros (e.g. cos(i*pi/n)) are a good choice  polynomial interpolation itself is a very illconditioned process due to the Runge phenomenon.
Based on Berrut and Trefethen 2004, “Barycentric Lagrange Interpolation”.
Methods
__call__
(x)Evaluate the interpolating polynomial at the points x add_xi
(xi[, yi])Add more x values to the set to be interpolated set_yi
(yi[, axis])Update the y values to be interpolated