bundles / numpy 2.4.4 / numpy / polynomial
module
numpy.polynomial
source: /numpy/polynomial/__init__.py :0
Submodules
Members
Summary
No Docstrings
Additional content
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.
This package provides convenience classes for each of six different kinds of polynomials:
======================== ================ **Name** **Provides** ======================== ================ `~polynomial.Polynomial` Power series `~chebyshev.Chebyshev` Chebyshev series `~legendre.Legendre` Legendre series `~laguerre.Laguerre` Laguerre series `~hermite.Hermite` Hermite series `~hermite_e.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 ~chebyshev.Chebyshev.fit class method
>>> from numpy.polynomial import Chebyshev >>> xdata = [1, 2, 3, 4] >>> ydata = [1, 4, 9, 16] >>> c = Chebyshev.fit(xdata, ydata, deg=1)
is preferred over the chebyshev.chebfit function from the np.polynomial.chebyshev module
>>> from numpy.polynomial.chebyshev import chebfit >>> c = chebfit(xdata, ydata, deg=1)
See routines.polynomials.classes for more details.
Convenience Classes
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.Polynomial, ~chebyshev.Chebyshev, Hermite, etc.) while the lowercase p represents an instance of a polynomial class.
Constants
Poly.domain-- Default domainPoly.window-- Default windowPoly.basis_name-- String used to represent the basisPoly.maxpower-- Maximum valuensuch thatp**nis allowed
Creation
Methods for creating polynomial instances.
Poly.basis(degree)-- Basis polynomial of given degreePoly.identity()--pwherep(x) = xfor allxPoly.fit(x, y, deg)--pof degreedegwith coefficients determined by the least-squares fit to the datax,yPoly.fromroots(roots)--pwith specified rootsp.copy()-- Create a copy ofp
Conversion
Methods for converting a polynomial instance of one kind to another.
p.cast(Poly)-- Convertpto instance of kindPolyp.convert(Poly)-- Convertpto instance of kindPolyor map betweendomainandwindow
Calculus
p.deriv()-- Take the derivative ofpp.integ()-- Integratep
Validation
Poly.has_samecoef(p1, p2)-- Check if coefficients matchPoly.has_samedomain(p1, p2)-- Check if domains matchPoly.has_sametype(p1, p2)-- Check if types matchPoly.has_samewindow(p1, p2)-- Check if windows match
Misc
p.linspace()-- Returnx, p(x)at equally-spaced points indomainp.mapparms()-- Return the parameters for the linear mapping betweendomainandwindow.p.roots()-- Return the roots ofp.p.trim()-- Remove trailing coefficients.p.cutdeg(degree)-- Truncatepto given degreep.truncate(size)-- Truncatepto given size
Aliases
-
numpy.polynomial