numpy.poly1d#

classnumpy.poly1d(c_or_r,r=False,variable=None)[source]#

A one-dimensional polynomial class.

Note

This forms part of the old polynomial API. Since version 1.4, thenew polynomial API defined innumpy.polynomial is preferred.A summary of the differences can be found in thetransition guide.

A convenience class, used to encapsulate “natural” operations onpolynomials so that said operations may take on their customaryform in code (see Examples).

Parameters:
c_or_rarray_like

The polynomial’s coefficients, in decreasing powers, or ifthe value of the second parameter is True, the polynomial’sroots (values where the polynomial evaluates to 0). For example,poly1d([1,2,3]) returns an object that represents\(x^2 + 2x + 3\), whereaspoly1d([1,2,3],True) returnsone that represents\((x-1)(x-2)(x-3) = x^3 - 6x^2 + 11x -6\).

rbool, optional

If True,c_or_r specifies the polynomial’s roots; the defaultis False.

variablestr, optional

Changes the variable used when printingp fromx tovariable(see Examples).

Examples

>>>importnumpyasnp

Construct the polynomial\(x^2 + 2x + 3\):

>>>importnumpyasnp
>>>p=np.poly1d([1,2,3])>>>print(np.poly1d(p))   21 x + 2 x + 3

Evaluate the polynomial at\(x = 0.5\):

>>>p(0.5)4.25

Find the roots:

>>>p.rarray([-1.+1.41421356j, -1.-1.41421356j])>>>p(p.r)array([ -4.44089210e-16+0.j,  -4.44089210e-16+0.j]) # may vary

These numbers in the previous line represent (0, 0) to machine precision

Show the coefficients:

>>>p.carray([1, 2, 3])

Display the order (the leading zero-coefficients are removed):

>>>p.order2

Show the coefficient of the k-th power in the polynomial(which is equivalent top.c[-(i+1)]):

>>>p[1]2

Polynomials can be added, subtracted, multiplied, and divided(returns quotient and remainder):

>>>p*ppoly1d([ 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 beused in all functions that accept arrays:

>>>p**2# square of polynomialpoly1d([ 1,  4, 10, 12,  9])
>>>np.square(p)# square of individual coefficientsarray([1, 4, 9])

The variable used in the string representation ofp can be modified,using thevariable parameter:

>>>p=np.poly1d([1,2,3],variable='z')>>>print(p)   21 z + 2 z + 3

Construct 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:
c

The polynomial coefficients

coef

The polynomial coefficients

coefficients

The polynomial coefficients

coeffs

The polynomial coefficients

o

The order or degree of the polynomial

order

The order or degree of the polynomial

r

The roots of the polynomial, where self(x) == 0

roots

The roots of the polynomial, where self(x) == 0

variable

The name of the polynomial variable

Methods

__call__(val)

Call self as a function.

deriv([m])

Return a derivative of this polynomial.

integ([m, k])

Return an antiderivative (indefinite integral) of this polynomial.

On this page