3
���h�� � @ s� d Z ddlZddljZddlmZ ddlm Z
ddlmZ ddd d
ddd
ddddddddddddddddddd d!d"d#d$d%gZ
e
jZd&d� Zd'd� ZejdEdg�Zejdg�Zejdg�Zejddg�Zd(d� Zd)d� Zd*d� Zd+d
� Zd,d� Zd-d� Zd.d� ZdFd0d�ZdGd1d�Zdg dddfd2d�Z dHd4d�Z!d5d� Z"d6d� Z#d7d� Z$d8d � Z%d9d� Z&d:d!� Z'd;d"� Z(dId=d�Z)d>d#� Z*d?d� Z+d@dA� Z,dBd$� Z-dCd%� Z.G dDd� de�Z/dS )Ja.
===================================================================
HermiteE Series, "Probabilists" (:mod:`numpy.polynomial.hermite_e`)
===================================================================
This module provides a number of objects (mostly functions) useful for
dealing with Hermite_e series, including a `HermiteE` 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/
HermiteE
Constants
---------
.. autosummary::
:toctree: generated/
hermedomain
hermezero
hermeone
hermex
Arithmetic
----------
.. autosummary::
:toctree: generated/
hermeadd
hermesub
hermemulx
hermemul
hermediv
hermepow
hermeval
hermeval2d
hermeval3d
hermegrid2d
hermegrid3d
Calculus
--------
.. autosummary::
:toctree: generated/
hermeder
hermeint
Misc Functions
--------------
.. autosummary::
:toctree: generated/
hermefromroots
hermeroots
hermevander
hermevander2d
hermevander3d
hermegauss
hermeweight
hermecompanion
hermefit
hermetrim
hermeline
herme2poly
poly2herme
See also
--------
`numpy.polynomial`
� N)�normalize_axis_index� )� polyutils)�ABCPolyBase� hermezero�hermeone�hermex�hermedomain� hermeline�hermeadd�hermesub� hermemulx�hermemul�hermediv�hermepow�hermeval�hermeder�hermeint�
herme2poly�
poly2herme�hermefromroots�hermevander�hermefit� hermetrim�
hermeroots�HermiteE�
hermeval2d�
hermeval3d�hermegrid2d�hermegrid3d�
hermevander2d�
hermevander3d�hermecompanion�
hermegauss�hermeweightc C sJ t j| g�\} t| �d }d}x&t|dd�D ]}tt|�| | �}q,W |S )a�
poly2herme(pol)
Convert a polynomial to a Hermite 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 Hermite 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 Hermite
series.
See Also
--------
herme2poly
Notes
-----
The easy way to do conversions between polynomial basis sets
is to use the convert method of a class instance.
Examples
--------
>>> from numpy.polynomial.hermite_e import poly2herme
>>> poly2herme(np.arange(4))
array([ 2., 10., 2., 3.])
r r ���r% )�pu� as_series�len�ranger r
)Zpol�deg�res�i� r- �;/tmp/pip-build-5_djhm0z/numpy/numpy/polynomial/hermite_e.pyr a s &c C s� ddl m}m}m} tj| g�\} t| �}|dkr6| S |dkrB| S | d }| d }xDt|d dd�D ]0}|}|| |d ||d �}||||��}qdW ||||��S dS )a
Convert a Hermite series to a polynomial.
Convert an array representing the coefficients of a Hermite 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 Hermite 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
--------
poly2herme
Notes
-----
The easy way to do conversions between polynomial basis sets
is to use the convert method of a class instance.
Examples
--------
>>> from numpy.polynomial.hermite_e import herme2poly
>>> herme2poly([ 2., 10., 2., 3.])
array([0., 1., 2., 3.])
r )�polyadd�polysub�polymulx� N���r% r% )Z
polynomialr/ r0 r1 r& |