class_docstr: One-dimensional interpolating spline for a given set of data points.
  
  Fits a spline y = spl(x) of degree `k` to the provided `x`, `y` data.
  Spline function passes through all provided points. Equivalent to
  `UnivariateSpline` with  s=0.
  
  Parameters
  ----------
  x : (N,) array_like
      Input dimension of data points -- must be increasing
  y : (N,) array_like
      input dimension of data points
  w : (N,) array_like, optional
      Weights for spline fitting.  Must be positive.  If None (default),
      weights are all equal.
  bbox : (2,) array_like, optional
      2-sequence specifying the boundary of the approximation interval. If
      None (default), ``bbox=[x[0], x[-1]]``.
  k : int, optional
      Degree of the smoothing spline.  Must be 1 <= `k` <= 5.
  ext : int or str, optional
      Controls the extrapolation mode for elements
      not in the interval defined by the knot sequence.
  
      * if ext=0 or 'extrapolate', return the extrapolated value.
      * if ext=1 or 'zeros', return 0
      * if ext=2 or 'raise', raise a ValueError
      * if ext=3 of 'const', return the boundary value.
  
      The default value is 0.
  
  check_finite : bool, optional
      Whether to check that the input arrays contain only finite numbers.
      Disabling may give a performance gain, but may result in problems
      (crashes, non-termination or non-sensical results) if the inputs
      do contain infinities or NaNs.
      Default is False.
  
  See Also
  --------
  UnivariateSpline : Superclass -- allows knots to be selected by a
      smoothing condition
  LSQUnivariateSpline : spline for which knots are user-selected
  splrep : An older, non object-oriented wrapping of FITPACK
  splev, sproot, splint, spalde
  BivariateSpline : A similar class for two-dimensional spline interpolation
  
  Notes
  -----
  The number of data points must be larger than the spline degree `k`.
  
  Examples
  --------
  >>> import matplotlib.pyplot as plt
  >>> from scipy.interpolate import InterpolatedUnivariateSpline
  >>> x = np.linspace(-3, 3, 50)
  >>> y = np.exp(-x**2) + 0.1 * np.random.randn(50)
  >>> spl = InterpolatedUnivariateSpline(x, y)
  >>> plt.plot(x, y, 'ro', ms=5)
  >>> xs = np.linspace(-3, 3, 1000)
  >>> plt.plot(xs, spl(xs), 'g', lw=3, alpha=0.7)
  >>> plt.show()
  
  Notice that the ``spl(x)`` interpolates `y`:
  
  >>> spl.get_residual()
  0.0
class_docstr_tok: ["One-dimensional","interpolating","spline","for","a","given","set","of","data","points",".","Fits","a","spline","y","=","spl","(","x",")","of","degree","`","k","`","to","the","provided","`","x","`",",","`","y","`","data",".","Spline","function","passes","through","all","provided","points",".","Equivalent","to","`","UnivariateSpline","`","with","s=0",".","Parameters","--","--","--","--","--","x",":","(","N",",",")","array_like","Input","dimension","of","data","points","--","must","be","increasing","y",":","(","N",",",")","array_like","input","dimension","of","data","points","w",":","(","N",",",")","array_like",",","optional","Weights","for","spline","fitting",".","Must","be","positive",".","If","None","(","default",")",",","weights","are","all","equal",".","bbox",":","(","2",",",")","array_like",",","optional","2-sequence","specifying","the","boundary","of","the","approximation","interval",".","If","None","(","default",")",",","``","bbox=","[","x","[","0","]",",","x","[","-1","]","]","``",".","k",":","int",",","optional","Degree","of","the","smoothing","spline",".","Must","be","1","<","=","`","k","`","<","=","5.","ext",":","int","or","str",",","optional","Controls","the","extrapolation","mode","for","elements","not","in","the","interval","defined","by","the","knot","sequence",".","*","if","ext=0","or","'extrapolate","'",",","return","the","extrapolated","value",".","*","if","ext=1","or","'zeros","'",",","return","0","*","if","ext=2","or","'raise","'",",","raise","a","ValueError","*","if","ext=3","of","'const","'",",","return","the","boundary","value",".","The","default","value","is","0.","check_finite",":","bool",",","optional","Whether","to","check","that","the","input","arrays","contain","only","finite","numbers",".","Disabling","may","give","a","performance","gain",",","but","may","result","in","problems","(","crashes",",","non-termination","or","non-sensical","results",")","if","the","inputs","do","contain","infinities","or","NaNs",".","Default","is","False",".","See","Also","--","--","--","--","UnivariateSpline",":","Superclass","--","allows","knots","to","be","selected","by","a","smoothing","condition","LSQUnivariateSpline",":","spline","for","which","knots","are","user-selected","splrep",":","An","older",",","non","object-oriented","wrapping","of","FITPACK","splev",",","sproot",",","splint",",","spalde","BivariateSpline",":","A","similar","class","for","two-dimensional","spline","interpolation","Notes","--","--","-","The","number","of","data","points","must","be","larger","than","the","spline","degree","`","k","`",".","Examples","--","--","--","--",">",">",">","import","matplotlib.pyplot","as","plt",">",">",">","from","scipy.interpolate","import","InterpolatedUnivariateSpline",">",">",">","x","=","np.linspace","(","-3",",","3",",","50",")",">",">",">","y","=","np.exp","(","-x","*","*","2",")","+","0.1","*","np.random.randn","(","50",")",">",">",">","spl","=","InterpolatedUnivariateSpline","(","x",",","y",")",">",">",">","plt.plot","(","x",",","y",",","'ro","'",",","ms=5",")",">",">",">","xs","=","np.linspace","(","-3",",","3",",","1000",")",">",">",">","plt.plot","(","xs",",","spl","(","xs",")",",","'","g","'",",","lw=3",",","alpha=0.7",")",">",">",">","plt.show","(",")","Notice","that","the","``","spl","(","x",")","``","interpolates","`","y","`",":",">",">",">","spl.get_residual","(",")","0.0"]
code: def __init__(
      self,
      x,
      y,
      w=None,
      bbox=[None] * 2,
      k=3,
      ext=0,
      check_finite=False,
  ):
      if check_finite:
          w_finite = np.isfinite(w).all() if w is not None else True
          if (
              not np.isfinite(x).all()
              or not np.isfinite(y).all()
              or not w_finite
          ):
              raise ValueError("Input must not contain NaNs or infs.")
      if not all(diff(x) > 0.0):
          raise ValueError("x must be strictly increasing")
  
      # _data == x,y,w,xb,xe,k,s,n,t,c,fp,fpint,nrdata,ier
      self._data = dfitpack.fpcurf0(
          x, y, k, w=w, xb=bbox[0], xe=bbox[1], s=0
      )
      self._reset_class()
  
      try:
          self.ext = _extrap_modes[ext]
      except KeyError:
          raise ValueError("Unknown extrapolation mode %s." % ext)
  
imports: from __future__ import division, print_function, absolute_import
  import warnings
  from numpy import zeros, concatenate, alltrue, ravel, all, diff, array, ones
  import numpy
  from .None import fitpack
  from .None import dfitpack
label_desc: Use image node_id 1 to create a new InterpolatedUnivariateSpline object from inherited base classes: UnivariateSpline with example: obj = InterpolatedUnivariateSpline(x, y, w, bbox, k, ext, check_finite)