A sub-package for efficiently dealing with polynomials.
Within the documentation for this sub-package, a “finite power series,” i.e., a polynomial (also referred to simply as a “series”) is represented by a 1-D numpy array of the polynomial’s coefficients, ordered from lowest order term to highest. For example, array([1,2,3]) represents P_0 + 2*P_1 + 3*P_2, where P_n is the n-th order basis polynomial applicable to the specific module in question, e.g., polynomial (which “wraps” the “standard” basis) or chebyshev. For optimal performance, all operations on polynomials, including evaluation at an argument, are implemented as operations on the coefficients. Additional (module-specific) information can be found in the docstring for the module of interest.
P_0 + 2*P_1 + 3*P_2
polynomial
chebyshev
This package provides convenience classes for each of six different kinds of polynomials:
Name Provides Polynomial Power series Chebyshev Chebyshev series Legendre Legendre series Laguerre Laguerre series Hermite Hermite series HermiteE HermiteE series
Name
Provides
Polynomial
Power series
Chebyshev
Chebyshev series
Legendre
Legendre series
Laguerre
Laguerre series
Hermite
Hermite series
HermiteE
HermiteE series
These convenience classes provide a consistent interface for creating, manipulating, and fitting data with polynomials of different bases. The convenience classes are the preferred interface for the polynomial package, and are available from the numpy.polynomial namespace. This eliminates the need to navigate to the corresponding submodules, e.g. np.polynomial.Polynomial or np.polynomial.Chebyshev instead of np.polynomial.polynomial.Polynomial or np.polynomial.chebyshev.Chebyshev, respectively. The classes provide a more consistent and concise interface than the type-specific functions defined in the submodules for each type of polynomial. For example, to fit a Chebyshev polynomial with degree 1 to data given by arrays xdata and ydata, the fit class method:
numpy.polynomial
np.polynomial.Polynomial
np.polynomial.Chebyshev
np.polynomial.polynomial.Polynomial
np.polynomial.chebyshev.Chebyshev
1
xdata
ydata
fit
>>> from numpy.polynomial import Chebyshev >>> c = Chebyshev.fit(xdata, ydata, deg=1)
is preferred over the chebyshev.chebfit function from the numpy.polynomial.chebyshev module:
chebyshev.chebfit
numpy.polynomial.chebyshev
>>> from numpy.polynomial.chebyshev import chebfit >>> c = chebfit(xdata, ydata, deg=1)
See Using the Convenience Classes for more details.
The following lists the various constants and methods common to all of the classes representing the various kinds of polynomials. In the following, the term Poly represents any one of the convenience classes (e.g. Polynomial, Chebyshev, Hermite, etc.) while the lowercase p represents an instance of a polynomial class.
Poly
p
Poly.domain – Default domain
Poly.domain
Poly.window – Default window
Poly.window
Poly.basis_name – String used to represent the basis
Poly.basis_name
Poly.maxpower – Maximum value n such that p**n is allowed
Poly.maxpower
n
p**n
Poly.nickname – String used in printing
Poly.nickname
Methods for creating polynomial instances.
Poly.basis(degree) – Basis polynomial of given degree
Poly.basis(degree)
Poly.identity() – p where p(x) = x for all x
Poly.identity()
p(x) = x
x
Poly.fit(x, y, deg) – p of degree deg with coefficients determined by the least-squares fit to the data x, y
Poly.fit(x, y, deg)
deg
y
Poly.fromroots(roots) – p with specified roots
Poly.fromroots(roots)
p.copy() – Create a copy of p
p.copy()
Methods for converting a polynomial instance of one kind to another.
p.cast(Poly) – Convert p to instance of kind Poly
p.cast(Poly)
p.convert(Poly) – Convert p to instance of kind Poly or map between domain and window
p.convert(Poly)
domain
window
p.deriv() – Take the derivative of p
p.deriv()
p.integ() – Integrate p
p.integ()
Poly.has_samecoef(p1, p2) – Check if coefficients match
Poly.has_samecoef(p1, p2)
Poly.has_samedomain(p1, p2) – Check if domains match
Poly.has_samedomain(p1, p2)
Poly.has_sametype(p1, p2) – Check if types match
Poly.has_sametype(p1, p2)
Poly.has_samewindow(p1, p2) – Check if windows match
Poly.has_samewindow(p1, p2)
p.linspace() – Return x, p(x) at equally-spaced points in domain
p.linspace()
x, p(x)
p.mapparms() – Return the parameters for the linear mapping between domain and window.
p.mapparms()
p.roots() – Return the roots of p.
p.roots()
p.trim() – Remove trailing coefficients.
p.trim()
p.cutdeg(degree) – Truncate p to given degree
p.cutdeg(degree)
p.truncate(size) – Truncate p to given size
p.truncate(size)
numpy.polynomial.set_default_printstyle(style)
numpy.polynomial.set_default_printstyle
Set the default format for the string representation of polynomials.