XG:vL̇ d Z g dZddlZddlmZ ddlmZ ddl m Z ddlm Z ej Z ej ddg Z ej dg Z ej dg Z ej ddg Zd Zd Zd Zd Zd Zd Zd Zd#dZd$dZdg dddfdZd%dZd%dZ d Z!d Z"d Z#d Z$d Z%d Z&d Z'd&dZ(d Z)d Z* G d! d"e Z+dS )'a ================================================= Power Series (:mod:`numpy.polynomial.polynomial`) ================================================= This module provides a number of objects (mostly functions) useful for dealing with polynomials, including a `Polynomial` class that encapsulates the usual arithmetic operations. (General information on how this module represents and works with polynomial objects is in the docstring for its "parent" sub-package, `numpy.polynomial`). Classes ------- .. autosummary:: :toctree: generated/ Polynomial Constants --------- .. autosummary:: :toctree: generated/ polydomain polyzero polyone polyx Arithmetic ---------- .. autosummary:: :toctree: generated/ polyadd polysub polymulx polymul polydiv polypow polyval polyval2d polyval3d polygrid2d polygrid3d Calculus -------- .. autosummary:: :toctree: generated/ polyder polyint Misc Functions -------------- .. autosummary:: :toctree: generated/ polyfromroots polyroots polyvalfromroots polyvander polyvander2d polyvander3d polycompanion polyfit polytrim polyline See Also -------- `numpy.polynomial` )polyzeropolyonepolyx polydomainpolylinepolyaddpolysubpolymulxpolymulpolydivpolypowpolyvalpolyvalfromrootspolyderpolyint polyfromroots polyvanderpolyfitpolytrim polyroots Polynomial polyval2d polyval3d polygrid2d polygrid3dpolyvander2dpolyvander3d N)normalize_axis_index ) polyutils)ABCPolyBasec d |dk rt j | |g S t j | g S )a Returns an array representing a linear polynomial. Parameters ---------- off, scl : scalars The "y-intercept" and "slope" of the line, respectively. Returns ------- y : ndarray This module's representation of the linear polynomial ``off + scl*x``. See Also -------- numpy.polynomial.chebyshev.chebline numpy.polynomial.legendre.legline numpy.polynomial.laguerre.lagline numpy.polynomial.hermite.hermline numpy.polynomial.hermite_e.hermeline Examples -------- >>> from numpy.polynomial import polynomial as P >>> P.polyline(1,-1) array([ 1, -1]) >>> P.polyval(1, P.polyline(1,-1)) # should be 0 0.0 r )nparray)offscls o/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/numpy/polynomial/polynomial.pyr r q s2 @ axxxc ###x c B t j t t | S )a Generate a monic polynomial with given roots. Return the coefficients of the polynomial .. math:: p(x) = (x - r_0) * (x - r_1) * ... * (x - r_n), where the ``r_n`` are the roots specified in `roots`. If a zero has multiplicity n, then it must appear in `roots` n times. For instance, if 2 is a root of multiplicity three and 3 is a root of multiplicity 2, then `roots` looks something like [2, 2, 2, 3, 3]. The roots can appear in any order. If the returned coefficients are `c`, then .. math:: p(x) = c_0 + c_1 * x + ... + x^n The coefficient of the last term is 1 for monic polynomials in this form. Parameters ---------- roots : array_like Sequence containing the roots. Returns ------- out : ndarray 1-D array of the polynomial's coefficients If all the roots are real, then `out` is also real, otherwise it is complex. (see Examples below). See Also -------- numpy.polynomial.chebyshev.chebfromroots numpy.polynomial.legendre.legfromroots numpy.polynomial.laguerre.lagfromroots numpy.polynomial.hermite.hermfromroots numpy.polynomial.hermite_e.hermefromroots Notes ----- The coefficients are determined by multiplying together linear factors of the form ``(x - r_i)``, i.e. .. math:: p(x) = (x - r_0) (x - r_1) ... (x - r_n) where ``n == len(roots) - 1``; note that this implies that ``1`` is always returned for :math:`a_n`. Examples -------- >>> from numpy.polynomial import polynomial as P >>> P.polyfromroots((-1,0,1)) # x(x - 1)(x + 1) = x^3 - x array([ 0., -1., 0., 1.]) >>> j = complex(0,1) >>> P.polyfromroots((-j,j)) # complex returned, though values are real array([1.+0.j, 0.+0.j, 1.+0.j]) )pu _fromrootsr r )rootss r( r r s z =7E222r) c , t j | | S )a Add one polynomial to another. Returns the sum of two polynomials `c1` + `c2`. The arguments are sequences of coefficients from lowest order term to highest, i.e., [1,2,3] represents the polynomial ``1 + 2*x + 3*x**2``. Parameters ---------- c1, c2 : array_like 1-D arrays of polynomial coefficients ordered from low to high. Returns ------- out : ndarray The coefficient array representing their sum. See Also -------- polysub, polymulx, polymul, polydiv, polypow Examples -------- >>> from numpy.polynomial import polynomial as P >>> c1 = (1,2,3) >>> c2 = (3,2,1) >>> sum = P.polyadd(c1,c2); sum array([4., 4., 4.]) >>> P.polyval(2, sum) # 4 + 4(2) + 4(2**2) 28.0 )r+ _addc1c2s r( r r s B 72r??r) c , t j | | S )a- Subtract one polynomial from another. Returns the difference of two polynomials `c1` - `c2`. The arguments are sequences of coefficients from lowest order term to highest, i.e., [1,2,3] represents the polynomial ``1 + 2*x + 3*x**2``. Parameters ---------- c1, c2 : array_like 1-D arrays of polynomial coefficients ordered from low to high. Returns ------- out : ndarray Of coefficients representing their difference. See Also -------- polyadd, polymulx, polymul, polydiv, polypow Examples -------- >>> from numpy.polynomial import polynomial as P >>> c1 = (1,2,3) >>> c2 = (3,2,1) >>> P.polysub(c1,c2) array([-2., 0., 2.]) >>> P.polysub(c2,c1) # -P.polysub(c1,c2) array([ 2., 0., -2.]) )r+ _subr0 s r( r r s D 72r??r) c t j | g \ } t | dk r| d dk r| S t j t | dz | j }| d dz |d<