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
U
P±d€Fã    @s’dZddlmZddlZddlmmZddl    m
Z
ddl m Z m Z mZmZe dg¡dZe ddg¡dZe dd    dg¡dZe d
d d dg¡d
Ze d ddddg¡d Ze ddddddg¡dZe dddddddg¡dZeeeeeeegZdd„ZGdd„dƒZGd d!„d!ƒZGd"d#„d#ƒZGd$d%„d%ƒZGd&d'„d'ƒZGd(d)„d)ƒZGd*d+„d+ƒZ Gd,d-„d-ƒZ!Gd.d/„d/ƒZ"Gd0d1„d1ƒZ#dS)2zTests for laguerre module.
 
é)ÚreduceN©Úpolyval)Úassert_almost_equalÚ assert_raisesÚ assert_equalÚassert_ééÿÿÿÿééüÿÿÿéiîÿÿÿé    éi ÿÿÿéHiðÿÿÿéxi¨ýÿÿiXi8ÿÿÿéiÐi ïÿÿii öÿÿiÂiÜÿÿÿcCstj|ddS)Ngíµ ÷ư>)Ztol)ÚlagÚlagtrim©Úx©rú[d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/polynomial/tests/test_laguerre.pyÚtrimsrc@s,eZdZdd„Zdd„Zdd„Zdd„Zd    S)
Ú TestConstantscCsttjddgƒdS)Nrr    )rrZ    lagdomain©ÚselfrrrÚtest_lagdomainszTestConstants.test_lagdomaincCsttjdgƒdS)Nr)rrZlagzerorrrrÚ test_lagzero!szTestConstants.test_lagzerocCsttjdgƒdS©Nr    )rrZlagonerrrrÚ test_lagone$szTestConstants.test_lagonecCsttjddgƒdS)Nr    r
)rrZlagxrrrrÚ    test_lagx'szTestConstants.test_lagxN)Ú__name__Ú
__module__Ú __qualname__rrr r!rrrrrsrc@sJeZdZe ddd¡Zdd„Zdd„Zdd    „Zd
d „Z    d d „Z
dd„Z dS)ÚTestArithmeticéýÿÿÿéé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Úlagaddrr©rÚiÚjÚmsgÚtgtÚresrrrÚ test_lagadd.s  $zTestArithmetic.test_lagaddcCsžtdƒD]}tdƒD]‚}d|›d|›}t t||ƒd¡}||d7<||d8<t dg|dgdg|dg¡}tt|ƒt|ƒ|dqqdSr))r/r0r1r2rZlagsubrrr4rrrÚ test_lagsub8s  $zTestArithmetic.test_lagsubcCs†tt dg¡dgƒtt dg¡ddgƒtddƒD]L}dg|dg}dg|d| d|d|d g}tt |¡|ƒq4dS)Nrr    r
r*r )rrZlagmulxr/r)rr5Zserr8rrrÚ test_lagmulxBs (zTestArithmetic.test_lagmulxc
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ÚlagvalrÚlagmulrÚlenr)
rr5Zpol1Zval1r6r7Zpol2Zval2Zpol3Zval3rrrÚ test_lagmulJs   zTestArithmetic.test_lagmulc
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/rr3Zlagdivr>rr)
rr5r6r7ÚciÚcjr8ZquoÚremr9rrrÚ test_lagdivXs   zTestArithmetic.test_lagdivcCs|tdƒD]n}tdƒD]`}d|›d|›}t |d¡}ttj|g|t dg¡ƒ}t ||¡}tt    |ƒt    |ƒ|dqqdS)Nr*r+r,r    r-)
r/r0Úarangerrr>ÚarrayZlagpowrr)rr5r6r7Úcr8r9rrrÚ test_lagpowcs   zTestArithmetic.test_lagpowN) r"r#r$r0Úlinspacerr:r;r<r@rDrHrrrrr%+s
 
 r%c@s†eZdZe dddg¡Ze dee¡Ze deee¡Zej         d¡ddZ
e e
d    d
d gƒZ d d „Z dd„Zdd„Zdd„Zdd„ZdS)ÚTestEvaluationg"@g,Àg@úi,j->ijú
i,j,k->ijk©r'r*r r    çð?g@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©Ú.0rGrrrÚ
<listcomp>}sz.TestEvaluation.test_lagval.<locals>.<listcomp>ér+r-r'r ) rrr=Úsizer0rIÚLlistr/rr1Úshape)rÚyr5r7r8r9ZdimsrrrÚ test_lagvalws  
 
 
zTestEvaluation.test_lagvalc
Cs‚|j\}}}|j\}}}tttj||dd…|jƒ||}t |||j¡}t||ƒt     d¡}    t |    |    |j¡}t
|j dkƒdS©Nr ©r r') rrVrÚ
ValueErrorrÚlagval2dÚc2drr0ÚonesrrU©
rÚx1Úx2Úx3Úy1Úy2Zy3r8r9ÚzrrrÚ test_lagval2dŒs  
 
zTestEvaluation.test_lagval2dc
CsŒ|j\}}}|j\}}}tttj|||dd…|jƒ|||}t ||||j¡}t||ƒt     d¡}    t |    |    |    |j¡}t
|j dkƒdSrX) rrVrrZrÚlagval3dÚc3drr0r]rrUr^rrrÚ test_lagval3ds   
 
zTestEvaluation.test_lagval3dc
Csl|j\}}}|j\}}}t d||¡}t |||j¡}t||ƒt d¡}    t |    |    |j¡}t    |j
dkƒdS)NrKrY)r r'r r') rrVr0ÚeinsumrZ    laggrid2dr\rr]rrUr^rrrÚtest_laggrid2d®s  
 
zTestEvaluation.test_laggrid2dc
Csr|j\}}}|j\}}}t d|||¡}t ||||j¡}t||ƒt d¡}    t |    |    |    |j¡}t    |j
dkƒdS)NrLrY)r r'r r'r r') rrVr0rirZ    laggrid3drgrr]rrUr^rrrÚtest_laggrid3d¼s  
 
zTestEvaluation.test_laggrid3dN)r"r#r$r0rFZc1drir\rgÚrandomrrrVrWrerhrjrkrrrrrJmsrJc@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©Úaxisr r*)ÚmÚk)rsrtro)rsrtrp©rs) rÚ    TypeErrorrÚlagintrZr/rÚpoly2lagÚlag2polyrr=Úlist)
rr5rtr9rpÚpolr8Zlagpolrwr6rrrÚ test_lagintÍs€ 
 
 
 
 
            zTestIntegral.test_lagintcCsš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©rrwrOrrrrQ$sz1TestIntegral.test_lagint_axis.<locals>.<listcomp>rrqcSsg|]}t |¡‘qSrrrOrrrrQ(sr    cSsg|]}tj|dd‘qS)r')rtrrOrrrrQ,sr')rtrr)r0rlÚvstackÚTrrwr©rr\r8r9rrrÚtest_lagint_axis s 
 
zTestIntegral.test_lagint_axisN)r"r#r$r|rƒrrrrrmËsSrmc@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)    Nrrnr
r*r    rur )rsrp)
rrvrÚlagderrZr/rrrwr)rr5r8r9r6rrrÚ test_lagder3s    zTestDerivative.test_lagdercCsltj d¡}t dd„|jDƒ¡j}tj|dd}t||ƒt dd„|Dƒ¡}tj|dd}t||ƒdS)Nr}cSsg|]}t |¡‘qSr©rr…rOrrrrQPsz3TestDerivative.test_lagder_axis.<locals>.<listcomp>rrqcSsg|]}t |¡‘qSrr‡rOrrrrQTsr    )r0rlr€rrr…rr‚rrrÚtest_lagder_axisLs 
zTestDerivative.test_lagder_axisN)r"r#r$r†rˆrrrrr„1sr„c@s8eZdZej d¡ddZdd„Zdd„Zdd    „Zd
S) Ú
TestVanderrMr r    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'r}r~rr    .r r*r )r'r r~)
r0rErÚ    lagvanderrrUr/rr=rF)rrÚvr5ÚcoefrrrÚtest_lagvander]s
    zTestVander.test_lagvandercCsx|j\}}}tj d¡}t ||ddg¡}t |||¡}t ||j¡}t||ƒt |g|gddg¡}t    |j
dkƒdS)NrYr    r )r    r*r ) rr0rlrZ lagvander2dr[ÚdotÚflatrrrU©rr_r`rarGZvanr8r9rrrÚtest_lagvander2dns  
zTestVander.test_lagvander2dcCs„|j\}}}tj d¡}t |||dddg¡}t ||||¡}t ||j¡}t||ƒt |g|g|gdddg¡}t    |j
dkƒdS)N)r r'r~r    r r')r    r*r) rr0rlrZ lagvander3drfrŽrrrrUrrrrÚtest_lagvander3d{s  
zTestVander.test_lagvander3dN)    r"r#r$r0rlrrr‘r’rrrrr‰Ys r‰c@seZdZdd„ZdS)Ú TestFittingc     Cs‚dd„}tttjdgdgdƒtttjdggdgdƒtttjgdgdƒtttjdgdgggdƒtttjddgdgdƒtttjdgddgdƒtttjdgdgddggdtttjdgdgdddgdtttjdgdgdgƒtttjdgdgdddgƒ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 |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 ƒdd dd g}t    t ||d¡ddgƒt    t ||ddg¡ddgƒdS)NcSs||d|dS)Nr    r rrrrrÚfŒsz"TestFitting.test_lagfit.<locals>.fr    r
rr )Úwr r'r~r*yð?y€ð¿)rrZrZlagfitrvr0rIrr?rr=rFrZ
zeros_likeÚcopy) rr”rrVZcoef3Zcoef4Zcoef2dr•ZywZwcoef3Zwcoef2drrrÚ test_lagfit‹sZ "
 
 
& zTestFitting.test_lagfitN)r"r#r$r—rrrrr“‰sr“c@s$eZdZdd„Zdd„Zdd„ZdS)Ú TestCompanioncCs"tttjgƒtttjdgƒdSr)rrZrÚ lagcompanionrrrrÚ test_raisesÉszTestCompanion.test_raisescCs<tddƒD],}dg|dg}tt |¡j||fkƒq
dS)Nr    r*r)r/rrr™rU)rr5rŒrrrÚtest_dimensionsÍszTestCompanion.test_dimensionscCstt ddg¡ddkƒdS)Nr    r )rrgø?)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¡ƒd}t| 
¡|ƒdS)Nr(écr    rN) rZlaggaussrŠr0rŽrÚsqrtZdiagonalrZeyeÚsum)rrr•r‹ÚvvZvdr8rrrÚ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*rr r
) rÚ lagfromrootsrrr/r0ÚcosrIÚpir=rr?ry)rr9r5Úrootsr{r8rrrÚtest_lagfromrootsës
*
 zTestMisc.test_lagfromrootscCsltt dg¡gƒtt ddg¡dgƒtddƒD]4}t dd|¡}t t |¡¡}tt|ƒt|ƒƒq2dS)Nr    rr r*r')rrZlagrootsr/r0rIr¤r)rr5r8r9rrrÚ test_lagroots÷s zTestMisc.test_lagrootscCsfddddg}tttj|dƒtt |¡|dd…ƒtt |d¡|dd…ƒtt |d¡dgƒdS)Nr r
r    rr&)rrZrrr)rrŒrrrÚ test_lagtrimÿs
 zTestMisc.test_lagtrimcCstt dd¡ddgƒdS)Nr'r~rRr )rrZlaglinerrrrÚ test_lagline
szTestMisc.test_laglinecCs2tdƒD]$}tt dg|dg¡t|ƒqdS©NrRrr    )r/rrryrT©rr5rrrÚ test_lag2poly s zTestMisc.test_lag2polycCs2tdƒD]$}tt t|¡dg|dgƒqdSr¬)r/rrrxrTr­rrrÚ test_poly2lags zTestMisc.test_poly2lagcCs2t ddd¡}t | ¡}t |¡}t||ƒdS)Nré
é )r0rIÚexprZ    lagweightr)rrr8r9rrrÚ test_weights 
zTestMisc.test_weightN)
r"r#r$r¨r©rªr«r®r¯r³rrrrr£és  r£)$Ú__doc__Ú    functoolsrÚnumpyr0Znumpy.polynomial.laguerreZ
polynomialZlaguerrerZnumpy.polynomial.polynomialrZ numpy.testingrrrrrFZL0ZL1ZL2ZL3ZL4ZL5ZL6rTrrr%rJrmr„r‰r“r˜rr£rrrrÚ<module>s0  B^f(0>