parameters: (cls, roots, domain=[], window=None)
return_statement: return cls(coef, domain=domain, window=window)
docstring: Return series instance that has the specified roots.
  
          Returns a series representing the product
          ``(x - r[0])*(x - r[1])*...*(x - r[n-1])``, where ``r`` is a
          list of roots.
  
          Parameters
          ----------
          roots : array_like
              List of roots.
          domain : {[], None, array_like}, optional
              Domain for the resulting series. If None the domain is the
              interval from the smallest root to the largest. If [] the
              domain is the class domain. The default is [].
          window : {None, array_like}, optional
              Window for the returned series. If None the class window is
              used. The default is None.
  
          Returns
          -------
          new_series : series
              Series with the specified roots.
docstring_summary: Return series instance that has the specified roots.
docstring_tokens: Return series instance that has the specified roots .
function: def fromroots(cls, roots, domain=[], window=None):
          """Return series instance that has the specified roots.
  
          Returns a series representing the product
          ``(x - r[0])*(x - r[1])*...*(x - r[n-1])``, where ``r`` is a
          list of roots.
  
          Parameters
          ----------
          roots : array_like
              List of roots.
          domain : {[], None, array_like}, optional
              Domain for the resulting series. If None the domain is the
              interval from the smallest root to the largest. If [] the
              domain is the class domain. The default is [].
          window : {None, array_like}, optional
              Window for the returned series. If None the class window is
              used. The default is None.
  
          Returns
          -------
          new_series : series
              Series with the specified roots.
  
          """
          [roots] = pu.as_series([roots], trim=False)
          if domain is None:
              domain = pu.getdomain(roots)
          elif type(domain) is list and len(domain) == 0:
              domain = cls.domain
  
          if window is None:
              window = cls.window
  
          deg = len(roots)
          off, scl = pu.mapparms(domain, window)
          rnew = off + scl*roots
          coef = cls._fromroots(rnew) / scl**deg
          return cls(coef, domain=domain, window=window)
function_tokens: def fromroots ( cls , roots , domain = [ ] , window = None ) : [ roots ] = pu . as_series ( [ roots ] , trim = False ) if domain is None : domain = pu . getdomain ( roots ) elif type ( domain ) is list and len ( domain ) == 0 : domain = cls . domain if window is None : window = cls . window deg = len ( roots ) off , scl = pu . mapparms ( domain , window ) rnew = off + scl * roots coef = cls . _fromroots ( rnew ) / scl ** deg return cls ( coef , domain = domain , window = window )