scipy.interpolate.BarycentricInterpolator

class scipy.interpolate.BarycentricInterpolator(xi, yi=None)

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.

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
add_xi(xi[, yi]) Add more x values to the set to be interpolated
set_yi(yi) Update the y values to be interpolated

Previous topic

scipy.interpolate.interp1d.__call__

Next topic

scipy.interpolate.BarycentricInterpolator.__call__

This Page