관리-도구
편집 파일: legendre.cpython-311.pyc
� �܋f^� � � � d Z ddlZddlmZ ddlmZ ddlm Z ddlmZ g d�Z e j Zd� Zd � Z ej d dg� � Z ej dg� � Z ej dg� � Z ej ddg� � Zd� Zd� Zd � Zd� Zd� Zd� Zd� Zd'd�Zd(d�Zdg dddfd�Z d)d�Z!d� Z"d� Z#d� Z$d� Z%d� Z&d� Z'd� Z(d*d �Z)d!� Z*d"� Z+d#� Z,d$� Z- G d%� d&e� � Z.dS )+a� ================================================== Legendre Series (:mod:`numpy.polynomial.legendre`) ================================================== This module provides a number of objects (mostly functions) useful for dealing with Legendre series, including a `Legendre` class that encapsulates the usual arithmetic operations. (General information on how this module represents and works with such polynomials is in the docstring for its "parent" sub-package, `numpy.polynomial`). Classes ------- .. autosummary:: :toctree: generated/ Legendre Constants --------- .. autosummary:: :toctree: generated/ legdomain legzero legone legx Arithmetic ---------- .. autosummary:: :toctree: generated/ legadd legsub legmulx legmul legdiv legpow legval legval2d legval3d leggrid2d leggrid3d Calculus -------- .. autosummary:: :toctree: generated/ legder legint Misc Functions -------------- .. autosummary:: :toctree: generated/ legfromroots legroots legvander legvander2d legvander3d leggauss legweight legcompanion legfit legtrim legline leg2poly poly2leg See also -------- numpy.polynomial � N)�normalize_axis_index� )� polyutils)�ABCPolyBase)�legzero�legone�legx� legdomain�legline�legadd�legsub�legmulx�legmul�legdiv�legpow�legval�legder�legint�leg2poly�poly2leg�legfromroots� legvander�legfit�legtrim�legroots�Legendre�legval2d�legval3d� leggrid2d� leggrid3d�legvander2d�legvander3d�legcompanion�leggauss� legweightc �� � t j | g� � \ } t | � � dz }d}t |dd� � D ]%}t t |� � | | � � }�&|S )a. Convert a polynomial to a Legendre series. Convert an array representing the coefficients of a polynomial (relative to the "standard" basis) ordered from lowest degree to highest, to an array of the coefficients of the equivalent Legendre series, ordered from lowest to highest degree. Parameters ---------- pol : array_like 1-D array containing the polynomial coefficients Returns ------- c : ndarray 1-D array containing the coefficients of the equivalent Legendre series. See Also -------- leg2poly Notes ----- The easy way to do conversions between polynomial basis sets is to use the convert method of a class instance. Examples -------- >>> from numpy import polynomial as P >>> p = P.Polynomial(np.arange(4)) >>> p Polynomial([0., 1., 2., 3.], domain=[-1, 1], window=[-1, 1]) >>> c = P.Legendre(P.legendre.poly2leg(p.coef)) >>> c Legendre([ 1. , 3.25, 1. , 0.75], domain=[-1, 1], window=[-1, 1]) # may vary r r ���)�pu� as_series�len�ranger r )�pol�deg�res�is �P/opt/cloudlinux/venv/lib64/python3.11/site-packages/numpy/polynomial/legendre.pyr r d sg � �P �L�#����E�S� �c�(�(�Q�,�C� �C� �3��B� � � +� +���W�S�\�\�3�q�6�*�*����J� c �l � ddl m}m}m} t j | g� � \ } t | � � }|dk r| S | d }| d }t |dz dd� � D ]C}|} || |dz ||dz z |z � � } || ||� � d|z dz z |z � � }�D || ||� � � � S )a� Convert a Legendre series to a polynomial. Convert an array representing the coefficients of a Legendre series, ordered from lowest degree to highest, to an array of the coefficients of the equivalent polynomial (relative to the "standard" basis) ordered from lowest to highest degree. Parameters ---------- c : array_like 1-D array containing the Legendre series coefficients, ordered from lowest order term to highest. Returns ------- pol : ndarray 1-D array containing the coefficients of the equivalent polynomial (relative to the "standard" basis) ordered from lowest order term to highest. See Also -------- poly2leg Notes ----- The easy way to do conversions between polynomial basis sets is to use the convert method of a class instance. Examples -------- >>> from numpy import polynomial as P >>> c = P.Legendre(range(4)) >>> c Legendre([0., 1., 2., 3.], domain=[-1, 1], window=[-1, 1]) >>> p = c.convert(kind=P.Polynomial) >>> p Polynomial([-1. , -3.5, 3. , 7.5], domain=[-1., 1.], window=[-1., 1.]) >>> P.legendre.leg2poly(range(4)) array([-1. , -3.5, 3. , 7.5]) r )�polyadd�polysub�polymulx� ���r'