On this page
numpy.poly1d
class numpy.poly1d(c_or_r, r=False, variable=None)[source]-
A one-dimensional polynomial class.
A convenience class, used to encapsulate “natural” operations on polynomials so that said operations may take on their customary form in code (see Examples).
Parameters: c_or_r : array_like
The polynomial’s coefficients, in decreasing powers, or if the value of the second parameter is True, the polynomial’s roots (values where the polynomial evaluates to 0). For example,
poly1d([1, 2, 3])returns an object that represents
, whereas poly1d([1, 2, 3], True)returns one that represents
.r : bool, optional
If True,
c_or_rspecifies the polynomial’s roots; the default is False.variable : str, optional
Changes the variable used when printing
pfromxtovariable(see Examples).Examples
Construct the polynomial
:>>> p = np.poly1d([1, 2, 3]) >>> print(np.poly1d(p)) 2 1 x + 2 x + 3Evaluate the polynomial at
:>>> p(0.5) 4.25Find the roots:
>>> p.r array([-1.+1.41421356j, -1.-1.41421356j]) >>> p(p.r) array([ -4.44089210e-16+0.j, -4.44089210e-16+0.j])These numbers in the previous line represent (0, 0) to machine precision
Show the coefficients:
>>> p.c array([1, 2, 3])Display the order (the leading zero-coefficients are removed):
>>> p.order 2Show the coefficient of the k-th power in the polynomial (which is equivalent to
p.c[-(i+1)]):>>> p[1] 2Polynomials can be added, subtracted, multiplied, and divided (returns quotient and remainder):
>>> p * p poly1d([ 1, 4, 10, 12, 9])>>> (p**3 + 4) / p (poly1d([ 1., 4., 10., 12., 9.]), poly1d([ 4.]))asarray(p)gives the coefficient array, so polynomials can be used in all functions that accept arrays:>>> p**2 # square of polynomial poly1d([ 1, 4, 10, 12, 9])>>> np.square(p) # square of individual coefficients array([1, 4, 9])The variable used in the string representation of
pcan be modified, using thevariableparameter:>>> p = np.poly1d([1,2,3], variable='z') >>> print(p) 2 1 z + 2 z + 3Construct a polynomial from its roots:
>>> np.poly1d([1, 2], True) poly1d([ 1, -3, 2])This is the same polynomial as obtained by:
>>> np.poly1d([1, -1]) * np.poly1d([1, -2]) poly1d([ 1, -3, 2])Attributes
cA copy of the polynomial coefficients coefA copy of the polynomial coefficients coefficientsA copy of the polynomial coefficients coeffsA copy of the polynomial coefficients oThe order or degree of the polynomial orderThe order or degree of the polynomial rThe roots of the polynomial, where self(x) == 0 rootsThe roots of the polynomial, where self(x) == 0 variableThe name of the polynomial variable Methods
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.poly1d.html