class_docstr: 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".
class_docstr_tok: ["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","''","."]
docstr: Evaluate the interpolating polynomial at the points x
  
  Parameters
  ----------
  x : array_like
      Points to evaluate the interpolant at.
  
  Returns
  -------
  y : array_like
      Interpolated values. Shape is determined by replacing
      the interpolation axis in the original array with the shape of x.
  
  Notes
  -----
  Currently the code computes an outer product between x and the
  weights, that is, it constructs an intermediate array of size
  N by len(x), where N is the degree of the polynomial.
docstr_tok: ["Evaluate","the","interpolating","polynomial","at","the","points","x","Parameters","--","--","--","--","--","x",":","array_like","Points","to","evaluate","the","interpolant","at",".","Returns","--","--","--","-","y",":","array_like","Interpolated","values",".","Shape","is","determined","by","replacing","the","interpolation","axis","in","the","original","array","with","the","shape","of","x",".","Notes","--","--","-","Currently","the","code","computes","an","outer","product","between","x","and","the","weights",",","that","is",",","it","constructs","an","intermediate","array","of","size","N","by","len","(","x",")",",","where","N","is","the","degree","of","the","polynomial","."]
code: def __call__(self, x):
      """Evaluate the interpolating polynomial at the points x
  
      Parameters
      ----------
      x : array_like
          Points to evaluate the interpolant at.
  
      Returns
      -------
      y : array_like
          Interpolated values. Shape is determined by replacing
          the interpolation axis in the original array with the shape of x.
  
      Notes
      -----
      Currently the code computes an outer product between x and the
      weights, that is, it constructs an intermediate array of size
      N by len(x), where N is the degree of the polynomial.
      """
      return _Interpolator1D.__call__(self, x)
  
imports: from __future__ import division, print_function, absolute_import
  import warnings
  import numpy
  from scipy.special import factorial
  from scipy._lib.six import xrange
  from scipy._lib._util import _asarray_validated
label_desc: Use image node_id 4 for calling the BarycentricInterpolator obj's underlying member method code with example usage: obj.__call__(x) and returns: _Interpolator1D