class_docstr: Smooth bivariate spline approximation.
  
  Parameters
  ----------
  x, y, z : array_like
      1-D sequences of data points (order is not important).
  w : array_like, optional
      Positive 1-D sequence of weights, of same length as `x`, `y` and `z`.
  bbox : array_like, optional
      Sequence of length 4 specifying the boundary of the rectangular
      approximation domain.  By default,
      ``bbox=[min(x,tx),max(x,tx), min(y,ty),max(y,ty)]``.
  kx, ky : ints, optional
      Degrees of the bivariate spline. Default is 3.
  s : float, optional
      Positive smoothing factor defined for estimation condition:
      ``sum((w[i]*(z[i]-s(x[i], y[i])))**2, axis=0) <= s``
      Default ``s=len(w)`` which should be a good value if ``1/w[i]`` is an
      estimate of the standard deviation of ``z[i]``.
  eps : float, optional
      A threshold for determining the effective rank of an over-determined
      linear system of equations. `eps` should have a value between 0 and 1,
      the default is 1e-16.
  
  See Also
  --------
  bisplrep : an older wrapping of FITPACK
  bisplev : an older wrapping of FITPACK
  UnivariateSpline : a similar class for univariate spline interpolation
  LSQUnivariateSpline : to create a BivariateSpline using weighted
  
  Notes
  -----
  The length of `x`, `y` and `z` should be at least ``(kx+1) * (ky+1)``.
class_docstr_tok: ["Smooth","bivariate","spline","approximation",".","Parameters","--","--","--","--","--","x",",","y",",","z",":","array_like","1-D","sequences","of","data","points","(","order","is","not","important",")",".","w",":","array_like",",","optional","Positive","1-D","sequence","of","weights",",","of","same","length","as","`","x","`",",","`","y","`","and","`","z","`",".","bbox",":","array_like",",","optional","Sequence","of","length","4","specifying","the","boundary","of","the","rectangular","approximation","domain",".","By","default",",","``","bbox=","[","min","(","x",",","tx",")",",","max","(","x",",","tx",")",",","min","(","y",",","ty",")",",","max","(","y",",","ty",")","]","``",".","kx",",","ky",":","ints",",","optional","Degrees","of","the","bivariate","spline",".","Default","is","3.","s",":","float",",","optional","Positive","smoothing","factor","defined","for","estimation","condition",":","``","sum","(","(","w","[","i","]","*","(","z","[","i","]","-s","(","x","[","i","]",",","y","[","i","]",")",")",")","*","*","2",",","axis=0",")","<","=","s","``","Default","``","s=len","(","w",")","``","which","should","be","a","good","value","if","``","1\/w","[","i","]","``","is","an","estimate","of","the","standard","deviation","of","``","z","[","i","]","``",".","eps",":","float",",","optional","A","threshold","for","determining","the","effective","rank","of","an","over-determined","linear","system","of","equations",".","`","eps","`","should","have","a","value","between","0","and","1",",","the","default","is","1e-16",".","See","Also","--","--","--","--","bisplrep",":","an","older","wrapping","of","FITPACK","bisplev",":","an","older","wrapping","of","FITPACK","UnivariateSpline",":","a","similar","class","for","univariate","spline","interpolation","LSQUnivariateSpline",":","to","create","a","BivariateSpline","using","weighted","Notes","--","--","-","The","length","of","`","x","`",",","`","y","`","and","`","z","`","should","be","at","least","``","(","kx+1",")","*","(","ky+1",")","``","."]
code: def __init__(
      self,
      x,
      y,
      z,
      w=None,
      bbox=[None] * 4,
      kx=3,
      ky=3,
      s=None,
      eps=None,
  ):
      xb, xe, yb, ye = bbox
      nx, tx, ny, ty, c, fp, wrk1, ier = dfitpack.surfit_smth(
          x, y, z, w, xb, xe, yb, ye, kx, ky, s=s, eps=eps, lwrk2=1
      )
      if ier > 10:  # lwrk2 was to small, re-run
          nx, tx, ny, ty, c, fp, wrk1, ier = dfitpack.surfit_smth(
              x,
              y,
              z,
              w,
              xb,
              xe,
              yb,
              ye,
              kx,
              ky,
              s=s,
              eps=eps,
              lwrk2=ier,
          )
      if ier in [0, -1, -2]:  # normal return
          pass
      else:
          message = _surfit_messages.get(ier, "ier=%s" % (ier))
          warnings.warn(message)
  
      self.fp = fp
      self.tck = tx[:nx], ty[:ny], c[: (nx - kx - 1) * (ny - ky - 1)]
      self.degrees = kx, ky
  
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 SmoothBivariateSpline object from inherited base classes: BivariateSpline with example: obj = SmoothBivariateSpline(x, y, z, w, bbox, kx, ky, s, eps)