B )Ztol)hermhermtrim)xrV/opt/alt/python37/lib64/python3.7/site-packages/numpy/polynomial/tests/test_hermite.pytrimsrc@s,eZdZddZddZddZddZd S) TestConstantscCsttjddgdS)Nr )r rZ hermdomain)selfrrrtest_hermdomain!szTestConstants.test_hermdomaincCsttjdgdS)Nr)r rZhermzero)r rrr test_hermzero$szTestConstants.test_hermzerocCsttjdgdS)Nr )r rZhermone)r rrr test_hermone'szTestConstants.test_hermonecCsttjddgdS)Nrg?)r rZhermx)r rrr test_hermx*szTestConstants.test_hermxN)__name__ __module__ __qualname__r!r"r#r$rrrrrsrc@sBeZdZedddZddZddZdd Zd d Z d d Z dS)TestArithmeticdcCsxtdD]}xtdD]~}d||f}tt||d}||d7<||d7<tdg|dgdg|dg}tt|t||dqWq WdS)Nz At i=%d, j=%dr r)err_msg)rangenpzerosmaxrhermaddr r)r ijmsgtgtresrrr test_hermadd1s $zTestArithmetic.test_hermaddcCsxtdD]}xtdD]~}d||f}tt||d}||d7<||d8<tdg|dgdg|dg}tt|t||dqWq WdS)Nr,z At i=%d, j=%dr r)r-)r.r/r0r1rZhermsubr r)r r3r4r5r6r7rrr test_hermsub;s $zTestArithmetic.test_hermsubcCszttdgdgttdgddgxJtddD]<}dg|dg}dg|d|ddg}tt||q6WdS)Nrr g?r,)r rZhermmulxr.)r r3Zserr6rrr test_hermmulxEs zTestArithmetic.test_hermmulxc CsxtdD]}dg|dg}t|j|}xtdD]t}d||f}dg|dg}t|j|}t||}t|j|} tt|||dk|t| |||dq6Wq WdS)Nr,rr z At i=%d, j=%d)r-)r.rhermvalrhermmulr lenr) r r3Zpol1Zval1r4r5Zpol2Zval2Zpol3Zval3rrr test_hermmulMs  zTestArithmetic.test_hermmulc CsxtdD]}xtdD]v}d||f}dg|dg}dg|dg}t||}t||\}}tt|||} tt| t||dqWq WdS)Nr,z At i=%d, j=%drr )r-)r.rr2Zhermdivr<r r) r r3r4r5ZciZcjr6ZquoZremr7rrr test_hermdiv[s  zTestArithmetic.test_hermdivN) r%r&r'r/linspacerr8r9r:r>r?rrrrr(.s   r(c@seZdZedddgZedeeZedeeeZej dddZ e e dd d gZ d d Z d dZddZddZddZdS)TestEvaluationg@g?g?zi,j->ijz i,j,k->ijk)r*r,r r g@g@csttgdgjdtddfddtD}xFtdD]:}d|}||}tdg|dg}t|||dq>Wxltd D]`}d g|}t |ttdgj |ttddgj |ttdddgj |qWdS) Nr rrcsg|]}t|qSr)r).0c)rrr wsz/TestEvaluation.test_hermval.. zAt i=%d)r-r*r ) r rr;sizer/r@Hlistr.rr0shape)r yr3r5r6r7Zdimsr)rr test_hermvalqs   zTestEvaluation.test_hermvalc Cs|j\}}}|j\}}}tttj||dd|j||}t|||j}t||t d} t| | |j}t |j dkdS)Nr )r r*) rrIr ValueErrorr hermval2dc2drr/onesr rH) r x1x2x3y1y2y3r6r7zrrrtest_hermval2ds    zTestEvaluation.test_hermval2dc Cs|j\}}}|j\}}}tttj|||dd|j|||}t||||j}t||t d} t| | | |j}t |j dkdS)Nr )r r*) rrIrrKr hermval3dc3drr/rNr rH) r rOrPrQrRrSrTr6r7rUrrrtest_hermval3ds     zTestEvaluation.test_hermval3dc Csl|j\}}}|j\}}}td||}t|||j}t||td} t| | |j}t |j dkdS)Nzi,j->ij)r r*)r r*r r*) rrIr/einsumrZ hermgrid2drMrrNr rH) r rOrPrQrRrSrTr6r7rUrrrtest_hermgrid2ds    zTestEvaluation.test_hermgrid2dc Csr|j\}}}|j\}}}td|||}t||||j}t||td} t| | | |j}t |j dkdS)Nz i,j,k->ijk)r r*)r r*r r*r r*) rrIr/rZrZ hermgrid3drXrrNr rH) r rOrPrQrRrSrTr6r7rUrrrtest_hermgrid3ds    zTestEvaluation.test_hermgrid3dN)r%r&r'r/arrayZc1drZrMrXrandomrrrIrJrVrYr[r\rrrrrAgsrAc@seZdZddZddZdS) TestIntegralc Cs2tttjdgdtttjdgdtttjdgdddgxFtddD]8}dg|ddg}tjdg||d}t|ddgqHWxztdD]n}|d}dg|dg}|gdg|d|g}t|}tj|d|gd}t|}tt|t|qWxZtdD]N}|d}dg|dg}t|}tj|d|gdd}tt d||q Wx~tdD]r}|d}dg|dg}|gdg|d|g}t|}tj|d|gdd }t|}tt|t|qfWxtdD]z}xrtddD]d} dg|dg}|dd}x t| D]}tj|dd }q Wtj|| d }tt|t|qWqWxtdD]}xtddD]r} dg|dg}|dd}x$t| D]}tj|d|gd}qWtj|| t t| d}tt|t|q~WqnWxtdD]}xtddD]v} dg|dg}|dd}x&t| D]}tj|d|gdd}q>Wtj|| t t| dd}tt|t|qWqWxtdD]}xtddD]v} dg|dg}|dd}x&t| D]}tj|d|gdd }qWtj|| t t| dd }tt|t|qWqWdS) Nrg?rr r r,)mk)r`raZlbnd)r`rascl)r`) rrKrhermintr.r poly2herm herm2polyrr;list) r r3rar7rbpolr6Zhermpolrcr4rrr test_hermintsz         zTestIntegral.test_hermintcCstjd}tdd|jDj}tj|dd}t||tdd|D}tj|dd}t||tdd|D}tj|d dd }t||dS) N)r*rcSsg|]}t|qSr)rrc)rBrCrrrrDsz2TestIntegral.test_hermint_axis..r)axiscSsg|]}t|qSr)rrc)rBrCrrrrDsr cSsg|]}tj|ddqS)r*)ra)rrc)rBrCrrrrD#sr*)rari)r/r^vstackTrrcr)r rMr6r7rrrtest_hermint_axiss   zTestIntegral.test_hermint_axisN)r%r&r'rhrlrrrrr_sPr_c@seZdZddZddZdS)TestDerivativecCs.tttjdgdtttjdgdx@tdD]4}dg|dg}tj|dd}tt|t|q.Wx^tdD]R}xLtddD]>}dg|dg}tjtj||d|d}tt|t|qWqpWxbtdD]V}xPtddD]B}dg|dg}tjtj||dd|dd}tt|t|qWqWdS) Nrg?rr,r )r`r )r`rb) rrKrhermderr.r rrcr)r r3r6r7r4rrr test_hermder*s zTestDerivative.test_hermdercCsltjd}tdd|jDj}tj|dd}t||tdd|D}tj|dd}t||dS)N)r*rcSsg|]}t|qSr)rrn)rBrCrrrrDGsz4TestDerivative.test_hermder_axis..r)ricSsg|]}t|qSr)rrn)rBrCrrrrDKsr )r/r^rjrkrrnr)r rMr6r7rrrtest_hermder_axisCs  z TestDerivative.test_hermder_axisN)r%r&r'rorprrrrrm(srmc@s8eZdZejdddZddZddZdd Zd S) TestVander)r*r,r r cCstd}t|d}t|jdkx:tdD].}dg|dg}t|d|ft||q.Wt ddgddgdd gg}t|d}t|jd kx:tdD].}dg|dg}t|d|ft||qWdS) Nr*)r*rrrr .r r,)r*r r) r/Zaranger hermvanderr rHr.rr;r])r rvr3coefrrrtest_hermvanderTs   zTestVander.test_hermvandercCsx|j\}}}tjd}t||ddg}t|||}t||j}t||t|g|gddg}t |j dkdS)N)r r*r r )r r,rr) rr/r^rZ hermvander2drLdotflatrr rH)r rOrPrQrCvanr6r7rrrtest_hermvander2des   zTestVander.test_hermvander2dcCs|j\}}}tjd}t|||dddg}t||||}t||j}t||t|g|g|gdddg}t |j dkdS)N)r r*rr r r*)r r,) rr/r^rZ hermvander3drWrwrxrr rH)r rOrPrQrCryr6r7rrrtest_hermvander3drs   zTestVander.test_hermvander3dN) r%r&r'r/r^rrvrzr|rrrrrqPs rqc@seZdZddZdS) TestFittingc Cs&dd}dd}tttjdgdgdtttjdggdgdtttjgdgdtttjdgdgggdtttjddgdgdtttjdgddgdtttjdgdgddggd tttjdgdgdddgd tttjdgdgdgtttjdgdgddd gtttjdgdggtdd}||}t||d }tt|d t t |||t||dddd g}tt|d t t |||t||d }tt|d t t |||t||dddd d g}tt|d t t |||t||dd d ddg}tt|d t t |||t|t ||gj d }t |t ||gj t|t ||gj dddd g}t |t ||gj t |}|} d|ddd<d|ddd<tj|| d |d } t | |tj|| dddd g|d } t | |tj|t | | gj d |d } t | t ||gj tj|t | | gj dddd g|d } t | t ||gj ddddg}t t||dddgt t||ddgddgtdd}||}t||d } t t || |t||ddd g} t t || |t | | dS)NcSs||d|dS)Nr r r)rrrrfsz#TestFitting.test_hermfit..fcSs|d|ddS)Nrr r r)rrrrf2sz$TestFitting.test_hermfit..f2r rrr )wrrr*rr,y?yg?)rrKrZhermfit TypeErrorr/r@r r=rr;r]rkZ zeros_likecopy)r r~rrrIZcoef3Zcoef4Zcoef2drZywZwcoef3Zwcoef2dZcoef1Zcoef2rrr test_hermfitsp "   &  zTestFitting.test_hermfitN)r%r&r'rrrrrr}sr}c@s$eZdZddZddZddZdS) TestCompanioncCs"tttjgtttjdgdS)Nr )rrKr hermcompanion)r rrr test_raisesszTestCompanion.test_raisescCs@x:tddD],}dg|dg}tt|j||fkq WdS)Nr r,r)r.r rrrH)r r3rurrrtest_dimensionsszTestCompanion.test_dimensionscCsttddgddkdS)Nr r )rrgп)r rr)r rrrtest_linear_rootszTestCompanion.test_linear_rootN)r%r&r'rrrrrrrrsrc@seZdZddZdS) TestGausscCstd\}}t|d}t|j||}dt|}|dddf||}t|t dttj }t| |dS)Nr+cr ) rZ hermgaussrsr/rwrkZsqrtZdiagonalrZeyepisum)r rrrtZvvZvdr6rrrtest_100s  zTestGauss.test_100N)r%r&r'rrrrrrsrc@sDeZdZddZddZddZddZd d Zd d Zd dZ dS)TestMiscc Cstg}tt|dgxtddD]z}tttj dd|dddd}t|}t ||}d}t t ||dktt |ddt||q&WdS)Nr r,rr r) r hermfromrootsrrr.r/Zcosr@rr;r r=re)r r7r3rootsrgr6rrrtest_hermfromrootss *  zTestMisc.test_hermfromrootscCspttdggttddgdgxBtddD]4}tdd|}tt|}tt|t|q4WdS)Nr gr r,r)rrZ hermrootsr.r/r@rr)r r3r6r7rrrtest_hermrootss zTestMisc.test_hermrootscCsfddddg}tttj|dtt||ddtt|d|ddtt|ddgdS)Nr rr rr))rrKrrr )r rurrr test_hermtrims  zTestMisc.test_hermtrimcCsttddddgdS)Nr*rr )r rZhermline)r rrr test_hermlineszTestMisc.test_hermlinecCs6x0tdD]$}ttdg|dgt|q WdS)NrErr )r.rrrerG)r r3rrrtest_herm2polyszTestMisc.test_herm2polycCs6x0tdD]$}ttt|dg|dgq WdS)NrErr )r.rrrdrG)r r3rrrtest_poly2hermszTestMisc.test_poly2hermcCs6tddd}t|d }t|}t||dS)Nr, r )r/r@ZexprZ hermweightr)r rr6r7rrr test_weights zTestMisc.test_weightN) r%r&r'rrrrrrrrrrrrs  r__main__),__doc__Z __future__rrrZnumpyr/Znumpy.polynomial.hermiteZ polynomialZhermiterZnumpy.polynomial.polynomialrZ numpy.testingrrrr r r r]ZH0ZH1ZH2ZH3ZH4ZH5ZH6ZH7ZH8ZH9rGrrr(rAr_rmrqr}rrrr%rrrrs:   9^c(0M3