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 - 1-d 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 x-coordinate 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 ill-conditioned 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 :Parameters: x : array_like Points to evaluate the interpolant at. - add_xi(xi[, yi]) - Add more x values to the set to be interpolated The barycentric interpolation algorithm allows easy updating by adding more points for the polynomial to pass through. - set_yi(yi[, axis]) - Update the y values to be interpolated The barycentric interpolation algorithm requires the calculation of weights, but these depend only on the xi. 
