Skip to main content
`Ctrl`+`K`

# numpy.polynomial.polyutils.trimcoef

polynomial.polyutils.trimcoef(c, tol=0)

  Remove “small” “trailing” coefficients from a polynomial.

  “Small” means “small in absolute value” and is controlled by the parameter tol; “trailing” means highest order coefficient(s), e.g., in `[0, 1, 1, 0, 0]` (which represents `0 + x + x**2 + 0*x**3 + 0*x**4`) both the 3-rd and 4-th order coefficients would be “trimmed.”

  Parameters:
    c array_like

      1-d array of coefficients, ordered from lowest order to highest.

    tol number, optional

      Trailing (i.e., highest order) elements with absolute value less than or equal to tol (default value is zero) are removed.

  Returns:
    trimmed ndarray

      1-d array with trailing zeros removed. If the resulting series would be empty, a series containing a single zero is returned.

  Raises:
    ValueError

      If tol < 0

  Examples

      >>> from numpy.polynomial import polyutils as pu
      >>> pu.trimcoef((0,0,3,0,5,0,0))
      array([0.,  0.,  3.,  0.,  5.])
      >>> pu.trimcoef((0,0,1e-3,0,1e-5,0,0),1e-3) # item == tol is trimmed
      array([0.])
      >>> i = complex(0,1) # works for complex
      >>> pu.trimcoef((3e-4,1e-3*(1-i),5e-4,2e-5*(1+i)), 1e-3)
      array([0.0003+0.j   , 0.001 -0.001j])