1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
U
P±d Lã @sÐdZddlmZddlZddlmmZddl    m
Z
ddl m Z m Z mZmZe dg¡Ze ddg¡Ze dddg¡Ze ddddg¡Ze d    dd
ddg¡Ze dd dd ddg¡Ze d dddd ddg¡Ze ddddddddg¡Ze dddddddddg    ¡Ze ddddddddddg
¡Zeeeeeeeeeeg
Zdd„ZGdd„dƒZGdd„dƒZGdd „d ƒZGd!d"„d"ƒZ Gd#d$„d$ƒZ!Gd%d&„d&ƒZ"Gd'd(„d(ƒZ#Gd)d*„d*ƒZ$Gd+d,„d,ƒZ%Gd-d.„d.ƒZ&dS)/zTests for hermite_e module.
 
é)ÚreduceN©Úpolyval)Úassert_almost_equalÚ assert_raisesÚ assert_equalÚassert_ééÿÿÿÿéýÿÿÿéiúÿÿÿéiöÿÿÿiñÿÿÿé-i—ÿÿÿéiiëÿÿÿi\þÿÿéÒiäÿÿÿi±iûÿÿiziÜÿÿÿcCstj|ddS)Ngíµ ÷ư>)Ztol)ÚhermeÚ    hermetrim©Úx©rú\d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/polynomial/tests/test_hermite_e.pyÚtrimsrc@s,eZdZdd„Zdd„Zdd„Zdd„Zd    S)
Ú TestConstantscCsttjddgƒdS)Nr
r    )rrZ hermedomain©ÚselfrrrÚtest_hermedomain!szTestConstants.test_hermedomaincCsttjdgƒdS)Nr)rrZ    hermezerorrrrÚtest_hermezero$szTestConstants.test_hermezerocCsttjdgƒdS©Nr    )rrZhermeonerrrrÚ test_hermeone'szTestConstants.test_hermeonecCsttjddgƒdS)Nrr    )rrZhermexrrrrÚ test_hermex*szTestConstants.test_hermexN)Ú__name__Ú
__module__Ú __qualname__rrrrrrrrrsrc@sJeZdZe ddd¡Zdd„Zdd„Zdd    „Zd
d „Z    d d „Z
dd„Z dS)ÚTestArithmeticr r édcCsžtdƒD]}tdƒD]‚}d|›d|›}t t||ƒd¡}||d7<||d7<t dg|dgdg|dg¡}tt|ƒt|ƒ|dqqdS©NéúAt i=ú, j=r    r©Úerr_msg)ÚrangeÚnpÚzerosÚmaxrÚhermeaddrr©rÚiÚjÚmsgÚtgtÚresrrrÚ test_hermeadd1s  $zTestArithmetic.test_hermeaddcCsžtdƒD]}tdƒD]‚}d|›d|›}t t||ƒd¡}||d7<||d8<t dg|dgdg|dg¡}tt|ƒt|ƒ|dqqdSr%)r+r,r-r.rZhermesubrrr0rrrÚ test_hermesub;s  $zTestArithmetic.test_hermesubcCsvtt dg¡dgƒtt dg¡ddgƒtddƒD]<}dg|dg}dg|d|ddg}tt |¡|ƒq4dS)Nrr    r&)rrZ    hermemulxr+)rr1Zserr4rrrÚtest_hermemulxEs zTestArithmetic.test_hermemulxc
Cs²tdƒD]¤}dg|dg}t |j|¡}tdƒD]x}d|›d|›}dg|dg}t |j|¡}t ||¡}t |j|¡}    tt|ƒ||dk|ƒt|    |||dq2qdS)Nr&rr    r'r(r))r+rÚhermevalrÚhermemulrÚlenr)
rr1Zpol1Zval1r2r3Zpol2Zval2Zpol3Zval3rrrÚ test_hermemulMs   zTestArithmetic.test_hermemulc
Cs–tdƒD]ˆ}tdƒD]z}d|›d|›}dg|dg}dg|dg}t ||¡}t ||¡\}}t t ||¡|¡}    tt|    ƒt|ƒ|dqqdS)Nr&r'r(rr    r))r+rr/Zhermedivr:rr)
rr1r2r3ÚciÚcjr4ZquoÚremr5rrrÚ test_hermediv[s   zTestArithmetic.test_hermedivcCs|tdƒD]n}tdƒD]`}d|›d|›}t |d¡}ttj|g|t dg¡ƒ}t ||¡}tt    |ƒt    |ƒ|dqqdS)Nr&r'r(r    r))
r+r,Úarangerrr:ÚarrayZhermepowrr)rr1r2r3Úcr4r5rrrÚ test_hermepowfs   zTestArithmetic.test_hermepowN) r r!r"r,Úlinspacerr6r7r8r<r@rDrrrrr#.s
 
 r#c@s†eZdZe dddg¡Ze dee¡Ze deee¡Zej         d¡ddZ
e e
d    ddgƒZ d
d „Z d d „Zdd„Zdd„Zdd„ZdS)ÚTestEvaluationg@g@g@úi,j->ijú
i,j,k->ijk©r r&ér    gð?csètt gdg¡jdƒt dd¡‰‡fdd„tDƒ}tdƒD]<}d|›}||}t ˆdg|dg¡}t|||dq<td    ƒD]`}d
g|}t     |¡‰tt ˆdg¡j
|ƒtt ˆddg¡j
|ƒtt ˆdddg¡j
|ƒq‚dS) Nr    rr
csg|]}tˆ|ƒ‘qSrr©Ú.0rCrrrÚ
<listcomp>€sz0TestEvaluation.test_hermeval.<locals>.<listcomp>é
r'r)r rJ) rrr9Úsizer,rEÚHelistr+rr-Úshape)rÚyr1r3r4r5ZdimsrrrÚ test_hermevalzs  
 
 
zTestEvaluation.test_hermevalc
Cs‚|j\}}}|j\}}}tttj||dd…|jƒ||}t |||j¡}t||ƒt     d¡}    t |    |    |j¡}t
|j dkƒdS©NrJ©rJr ) rrRrÚ
ValueErrorrÚ
hermeval2dÚc2drr,ÚonesrrQ©
rÚx1Úx2Úx3Úy1Úy2Zy3r4r5ÚzrrrÚtest_hermeval2ds  
 
zTestEvaluation.test_hermeval2dc
CsŒ|j\}}}|j\}}}tttj|||dd…|jƒ|||}t ||||j¡}t||ƒt     d¡}    t |    |    |    |j¡}t
|j dkƒdSrT) rrRrrVrÚ
hermeval3dÚc3drr,rYrrQrZrrrÚtest_hermeval3d s   
 
zTestEvaluation.test_hermeval3dc
Csl|j\}}}|j\}}}t d||¡}t |||j¡}t||ƒt d¡}    t |    |    |j¡}t    |j
dkƒdS)NrGrU)rJr rJr ) rrRr,ÚeinsumrZ hermegrid2drXrrYrrQrZrrrÚtest_hermegrid2d±s  
 
zTestEvaluation.test_hermegrid2dc
Csr|j\}}}|j\}}}t d|||¡}t ||||j¡}t||ƒt d¡}    t |    |    |    |j¡}t    |j
dkƒdS)NrHrU)rJr rJr rJr ) rrRr,rerZ hermegrid3drcrrYrrQrZrrrÚtest_hermegrid3d¿s  
 
zTestEvaluation.test_hermegrid3dN)r r!r"r,rBZc1drerXrcÚrandomrrrRrSrardrfrgrrrrrFpsrFc@seZdZdd„Zdd„ZdS)Ú TestIntegralc
    Cs2tttjdgdƒtttjdgdƒtttjdgdddgƒtttjdgdgdtttjdgdgdtttjdgddtdd    ƒD]8}dg|ddg}tjdg||d
}t|ddgƒq†td    ƒD]n}|d}dg|dg}|gdg|d|g}t |¡}tj|d|gd
}t |¡}tt    |ƒt    |ƒƒqÈtd    ƒD]N}|d}dg|dg}t |¡}tj|d|gdd }tt 
d|¡|ƒq@td    ƒD]r}|d}dg|dg}|gdg|d|g}t |¡}tj|d|gdd }t |¡}tt    |ƒt    |ƒƒq˜td    ƒD]r}tdd    ƒD]`}    dg|dg}|dd…}t|    ƒD]}tj|dd }qJtj||    d }tt    |ƒt    |ƒƒq"qtd    ƒD]€}tdd    ƒD]n}    dg|dg}|dd…}t|    ƒD]}tj|d|gd
}qÆtj||    t t|    ƒƒd
}tt    |ƒt    |ƒƒqžqtd    ƒD]„}tdd    ƒD]r}    dg|dg}|dd…}t|    ƒD]}tj|d|gdd }qPtj||    t t|    ƒƒdd }tt    |ƒt    |ƒƒq(qtd    ƒD]„}tdd    ƒD]r}    dg|dg}|dd…}t|    ƒD]}tj|d|gdd }qÞtj||    t t|    ƒƒdd }tt    |ƒt    |ƒƒq¶q¨dS)Nrçà?r
r    )Úlbnd)Úscl©ÚaxisrJr&)ÚmÚk)rorprk)rorprl©ro) rÚ    TypeErrorrÚhermeintrVr+rÚ
poly2hermeÚ
herme2polyrr9Úlist)
rr1rpr5rlÚpolr4Zhermepolrsr2rrrÚ test_hermeintÐs€ 
 
 
 
 
            zTestIntegral.test_hermeintcCsštj d¡}t dd„|jDƒ¡j}tj|dd}t||ƒt dd„|Dƒ¡}tj|dd}t||ƒt dd„|Dƒ¡}tj|d    dd
}t||ƒdS) N©r écSsg|]}t |¡‘qSr©rrsrKrrrrM'sz3TestIntegral.test_hermeint_axis.<locals>.<listcomp>rrmcSsg|]}t |¡‘qSrr{rKrrrrM+sr    cSsg|]}tj|dd‘qS)r )rpr{rKrrrrM/sr )rprn)r,rhÚvstackÚTrrsr©rrXr4r5rrrÚtest_hermeint_axis#s 
 
zTestIntegral.test_hermeint_axisN)r r!r"rxrrrrrriÎsSric@seZdZdd„Zdd„ZdS)ÚTestDerivativecCstttjdgdƒtttjdgdƒtdƒD]4}dg|dg}tj|dd}tt|ƒt|ƒƒq,tdƒD]N}tddƒD]>}dg|dg}tjtj||d|d}t    t|ƒt|ƒƒqxqjtdƒD]R}tddƒD]B}dg|dg}tjtj||dd|dd}t    t|ƒt|ƒƒqÐqÂdS)    Nrrjr
r&r    rqrJ)rorl)
rrrrÚhermederrVr+rrrsr)rr1r4r5r2rrrÚ test_hermeder6s(   ÿzTestDerivative.test_hermedercCsltj d¡}t dd„|jDƒ¡j}tj|dd}t||ƒt dd„|Dƒ¡}tj|dd}t||ƒdS)NrycSsg|]}t |¡‘qSr©rrrKrrrrMTsz5TestDerivative.test_hermeder_axis.<locals>.<listcomp>rrmcSsg|]}t |¡‘qSrrƒrKrrrrMXsr    )r,rhr|r}rrrr~rrrÚtest_hermeder_axisPs 
z!TestDerivative.test_hermeder_axisN)r r!r"r‚r„rrrrr€4sr€c@s8eZdZej d¡ddZdd„Zdd„Zdd    „Zd
S) Ú
TestVanderrIrJr    cCsÎt d¡}t |d¡}t|jdkƒtdƒD].}dg|dg}t|d|ft ||¡ƒq,t     ddgddgdd    gg¡}t |d¡}t|jd
kƒtdƒD].}dg|dg}t|d|ft ||¡ƒqšdS) Nr ryrzrr    .rJr&é)r rJrz)
r,rArÚ hermevanderrrQr+rr9rB)rrÚvr1ÚcoefrrrÚtest_hermevanderas
    zTestVander.test_hermevandercCsx|j\}}}tj d¡}t ||ddg¡}t |||¡}t ||j¡}t||ƒt |g|gddg¡}t    |j
dkƒdS)NrUr    rJ)r    r&r†) rr,rhrZ hermevander2drWÚdotÚflatrrrQ©rr[r\r]rCZvanr4r5rrrÚtest_hermevander2drs  
zTestVander.test_hermevander2dcCs„|j\}}}tj d¡}t |||dddg¡}t ||||¡}t ||j¡}t||ƒt |g|g|gdddg¡}t    |j
dkƒdS)N)rJr rzr    rJr )r    r&é) rr,rhrZ hermevander3drbr‹rŒrrrQrrrrÚtest_hermevander3ds  
zTestVander.test_hermevander3dN)    r r!r"r,rhrrŠrŽrrrrrr…]s r…c@seZdZdd„ZdS)Ú TestFittingc    Cs&dd„}dd„}tttjdgdgdƒtttjdggdgdƒtttjgdgdƒtttjdgdgggdƒtttjddgdgdƒtttjdgddgdƒtttjdgdgddggd    tttjdgdgdddgd    tttjdgdgdgƒtttjdgdgddd
gƒtttjdgdggƒt dd¡}||ƒ}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  ||g¡j d ¡}t    |t  ||g¡j ƒt |t  ||g¡j dddd g¡}t    |t  ||g¡j ƒt  |¡}| ¡}    d|ddd…<d|ddd…<tj||    d |d    }
t    |
|ƒtj||    dddd g|d    }
t    |
|ƒtj|t  |    |    g¡j d |d    } t    | t  ||g¡j ƒtj|t  |    |    g¡j dddd g|d    } t    | t  ||g¡j ƒddddg}t    t ||d¡ddgƒt    t ||ddg¡ddgƒt dd¡}||ƒ}t ||d ¡} t    t 
|| ¡|ƒt ||ddd g¡} t    t 
|| ¡|ƒt    | | ƒdS)NcSs||d|dS)Nr    rJrrrrrÚfsz$TestFitting.test_hermefit.<locals>.fcSs|d|ddS)NrzrJr    rrrrrÚf2“sz%TestFitting.test_hermefit.<locals>.f2r    r
rrJ)Úwr†r rzr&yð?y€ð¿)rrVrZhermefitrrr,rErr;rr9rBr}Z
zeros_likeÚcopy)rr’r“rrRZcoef3Zcoef4Zcoef2dr”ZywZwcoef3Zwcoef2dZcoef1Zcoef2rrrÚ test_hermefitsp "
 
 
&  zTestFitting.test_hermefitN)r r!r"r–rrrrr‘sr‘c@s$eZdZdd„Zdd„Zdd„ZdS)Ú TestCompanioncCs"tttjgƒtttjdgƒdSr)rrVrÚhermecompanionrrrrÚ test_raisesÜszTestCompanion.test_raisescCs<tddƒD],}dg|dg}tt |¡j||fkƒq
dS)Nr    r&r)r+rrr˜rQ)rr1r‰rrrÚtest_dimensionsàszTestCompanion.test_dimensionscCstt ddg¡ddkƒdS)Nr    rJ)rrçà¿)rrr˜rrrrÚtest_linear_rootåszTestCompanion.test_linear_rootN)r r!r"r™ršrœrrrrr—Úsr—c@seZdZdd„ZdS)Ú    TestGausscCsˆt d¡\}}t |d¡}t |j||¡}dt | ¡¡}|dd…df||}t|t     d¡ƒt dtj
¡}t|  ¡|ƒdS)Nr$écr    rJ) rZ
hermegaussr‡r,r‹r}ÚsqrtZdiagonalrZeyeÚpiÚsum)rrr”rˆÚvvZvdr4rrrÚtest_100ës zTestGauss.test_100N)r r!r"r£rrrrrésrc@sDeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dS)ÚTestMiscc    Cs¤t g¡}tt|ƒdgƒtddƒD]z}t t tj dd|d¡ddd…¡}t |¡}t     ||¡}d}t
t |ƒ|dkƒtt  |¡ddƒt||ƒq$dS)Nr    r&rrJr
) rÚhermefromrootsrrr+r,ÚcosrEr r9rr;ru)rr5r1Úrootsrwr4rrrÚtest_hermefromrootsþs
*
 zTestMisc.test_hermefromrootscCsltt dg¡gƒtt ddg¡dgƒtddƒD]4}t dd|¡}t t |¡¡}tt|ƒt|ƒƒq2dS)Nr    r
rJr&)rrZ
hermerootsr+r,rEr¥r)rr1r4r5rrrÚtest_hermeroots
s zTestMisc.test_hermerootscCsfddddg}tttj|dƒtt |¡|dd…ƒtt |d¡|dd…ƒtt |d¡dgƒdS)NrJr
r    rr )rrVrrr)rr‰rrrÚtest_hermetrims
 zTestMisc.test_hermetrimcCstt dd¡ddgƒdS)Nr rz)rrZ    hermelinerrrrÚtest_hermelineszTestMisc.test_hermelinecCs2tdƒD]$}tt dg|dg¡t|ƒqdS©NrNrr    )r+rrrurP©rr1rrrÚtest_herme2poly s zTestMisc.test_herme2polycCs2tdƒD]$}tt t|¡dg|dgƒqdSr¬)r+rrrtrPr­rrrÚtest_poly2herme$s zTestMisc.test_poly2hermecCs8t ddd¡}t d|d¡}t |¡}t||ƒdS)Néûÿÿÿr&é r›rJ)r,rEÚexprZ hermeweightr)rrr4r5rrrÚ test_weight(s
zTestMisc.test_weightN)
r r!r"r¨r©rªr«r®r¯r³rrrrr¤üs  r¤)'Ú__doc__Ú    functoolsrÚnumpyr,Znumpy.polynomial.hermite_eZ
polynomialZ    hermite_erZnumpy.polynomial.polynomialrZ numpy.testingrrrrrBZHe0ZHe1ZHe2ZHe3ZHe4ZHe5ZHe6ZHe7ZHe8ZHe9rPrrr#rFrir€r…r‘r—rr¤rrrrÚ<module>s6   B^f)0M