+
    0in                        ^ RI t ^ RI Ht ^ RIt^ RIHtHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIHu Ht  ! R R4      t ! R	 R
4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      tR,R ltR tR tR tR t R t!R t"R  t#R! t$R" t%R# t&R$ t'R% t(R& t)R' t*R( t+R) t,R* t-R+ t.R# )-    N)raises)arraysqrt)assert_equalassert_allclose)	integrategammac                   8   a  ] tR t^t o R tR tR tR tRtV t	R# )	TestChebyc                   \         P                  ! ^ 4      p\         P                  ! ^4      p\        P                  ! RR7      ;_uu_ 4        \         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      pRRR4       \	        VP
                  ^.R^ R7       \	        VP
                  ^^ .R^ R7       \	        XP
                  . ROR^ R7       \	        XP
                  . ROR^ R7       \	        XP
                  . ROR^ R7       \	        XP
                  . R	OR^ R7       R#   + '       g   i     L; i)
r   ignoreallN7QE=atolrtol)   r   )r   r   r   )r   r   r      )r   r   r      r   )orthchebycnperrstater   c)selfC0C1C2C3C4C5s   &      a/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/special/tests/test_orthogonal.pytest_chebycTestCheby.test_chebyc   s    [[^[[^[[X&&QBQBQBQB	 ' 	qca8q!f7;jwQ?m'B.W1E1wQG '&s   AEE 	c                P   \         P                  ! ^ 4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\        VP                  ^.R^ R7       \        VP                  ^^ .R^ R7       \        VP                  . ROR^ R7       \        VP                  . ROR^ R7       \        VP                  . ROR^ R7       \        VP                  . ROR^ R7       R# )r   r   r   N)r   r   )r   r   r   r   )r   r   r   r   r   )r   r   r   r      r   )r   chebysr   r    )r!   S0S1S2S3S4S5s   &      r(   test_chebysTestCheby.test_chebys   s    [[^[[^[[^[[^[[^[[^qca8q!f7;jwQ?m'B.W1E1aH    c                P   \         P                  ! ^ 4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\        VP                  ^.R^ R7       \        VP                  ^^ .R^ R7       \        VP                  . ROR^ R7       \        VP                  . ROR^ R7       \        VP                  . ROR^ R7       \        VP                  . ROR^ R7       R# )r   r   r   N)r   r   r,   )   r   r   r   )   r   ir   r   )   r   r   r   r   )r   chebytr   r    )r!   T0T1T2T3T4T5s   &      r(   test_chebytTestCheby.test_chebyt-   s    [[^[[^[[^[[^[[^[[^qca8q!f7;jwQ?m'B.W1E3'Jr7   c                P   \         P                  ! ^ 4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\        VP                  ^.R^ R7       \        VP                  ^^ .R^ R7       \        VP                  . ROR^ R7       \        VP                  . ROR^ R7       \        VP                  . ROR^ R7       \        VP                  . ROR^ R7       R# )r   r   r   N)r9   r   r,   )r:   r   r   r   )r;   r   r   r   )    r   ir      r   )r   chebyur   r    )r!   U0U1U2U3U4U5s   &      r(   test_chebyuTestCheby.test_chebyu;   s    [[^[[^[[^[[^[[^[[^qca8q!f7;jwQ?m'B0wQG3'Jr7    N)
__name__
__module____qualname____firstlineno__r)   r5   rD   rQ   __static_attributes____classdictcell____classdict__s   @r(   r   r      s#     H IKK Kr7   r   c                   t   a  ] tR t^Jt o R t]P                  P                  R^ ^.4      R 4       tR t	Rt
V tR# )TestGegenbauerc                ~   ^\         P                  P                  4       ,          R,
          p\         P                  ! V^ 8H  4      '       d   R	p\        P                  ! ^ V4      p\        P                  ! ^V4      p\        P                  ! ^V4      p\        P                  ! ^V4      p\        P                  ! ^V4      p\        P                  ! ^V4      p\        VP                  \        ^.4      R^ R7       \        VP                  \        ^V,          ^ .4      R^ R7       \        VP                  \        ^V,          V^,           ,          ^ V) .4      R^ R7       \        VP                  \        ^\        P                  ! V^4      ,          ^ R
V,          V^,           ,          ^ .4      R,          R^ R7       \        VP                  \        ^\        P                  ! V^4      ,          ^ R\        P                  ! V^4      ,          ^ ^V,          V^,           ,          .4      R,          R^ R7       \        VP                  \        ^\        P                  ! V^4      ,          ^ R\        P                  ! V^4      ,          ^ ^\        P                  ! V^4      ,          ^ .4      R,          R^ R7       R# )r         ?r   r   g      @p~=g      @g      .@N皙ɿirG   r<   )
r   randomanyr   
gegenbauerr   r    r   scpoch)r!   aCa0Ca1Ca2Ca3Ca4Ca5s   &       r(   test_gegenbauerTestGegenbauer.test_gegenbauerL   s   bii  3&66!q&>>Aooa"ooa"ooa"ooa"ooa"ooa"uaSza@uac1XW1Euac1q5k1qb%9:$1	.ua1oqAq1uq%IJ3N$1	.ua1oq#bggam:K&'1a!e&6  77: ;$1	. 	ua1oq#bggam:K&'BGGAqM)91&>  ??C D$1	.r7   rg   c                    \         P                  ! ^ V4      p\        VP                  \        P
                  ! R.4      4       R# )r         ?N)r   rd   r   r    r   asarray)r!   rg   Cn0s   && r(   test_n_zero_gh8888!TestGegenbauer.test_n_zero_gh8888d   s-     ooa#SUUBJJt,-r7   c                P   R p\         P                  ! \        VR7      ;_uu_ 4        \        P                  ! ^ \
        P                  4       RRR4       \         P                  ! \        VR7      ;_uu_ 4        \        P                  ! ^R4       RRR4       \         P                  ! \        VR7      ;_uu_ 4        \        P                  ! ^\
        P                  ) 4       RRR4       R#   + '       g   i     L; i  + '       g   i     Lx; i  + '       g   i     R# ; i)z*`alpha` must be a finite number greater...)matchN      )pytestr   
ValueErrorr   rd   r   naninf)r!   messages   & r(   test_valid_alphaTestGegenbauer.test_valid_alphaj   s    >]]:W55OOArvv& 6]]:W55OOAt$ 6]]:W55OOAw' 65	 6555555s#   &C.9D='D.C>	D	D%	rS   N)rT   rU   rV   rW   rn   ry   markparametrizert   r~   rX   rY   rZ   s   @r(   r]   r]   J   s=     .0 [[S1a&). *.
( (r7   r]   c                   ,   a  ] tR t^ut o R tR tRtV tR# )TestHermitec                P   \         P                  ! ^ 4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\         P                  ! ^4      p\        VP                  ^.R^ R7       \        VP                  ^^ .R^ R7       \        VP                  . ROR^ R7       \        VP                  . ROR^ R7       \        VP                  . ROR^ R7       \        VP                  . ROR^ R7       R# )	r   r   r   Afcz=N)r9   r   r   )r:   r   rG   r   )r;   r   ir      )rH   r   i`r   x   r   )r   hermiter   r    )r!   H0H1H2H3H4H5s   &      r(   test_hermiteTestHermite.test_hermitev   s    \\!_\\!_\\!_\\!_\\!_\\!_qca8q!f7;jwQ?n7C1aH6W1Mr7   c                   \         P                  ! R \        ^4      ,          ^ .4      p\        P                  ! ^ 4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P
                  ! ^ 4      ! V4      p\        P
                  ! ^4      ! V4      \        ^4      ,          p	\        P
                  ! ^4      ! V4      R,          p
\        P
                  ! ^4      ! V4      ^\        ^4      ,          ,          p\        P
                  ! ^4      ! V4      R,          p\        P
                  ! ^4      ! V4      R\        ^4      ,          ,          p\        VP                  VP                  R^ R7       \        VP                  V	P                  R^ R7       \        VP                  V
P                  R^ R7       \        VP                  VP                  R^ R7       \        VP                  VP                  R^ R7       \        VP                  VP                  R^ R7       R# )rq          @      @r   r   N)r   poly1dr   r   hermitenormr   r   r    )r!   psubr   r   r   r   r   r   he0he1he2he3he4he5s   &             r(   test_hermitenormTestHermite.test_hermitenorm   s   yy#d1g+a)a a a a a a ll1od#ll1od#d1g-ll1od#c)ll1od#qay1ll1od#c)ll1od#s47{3cee':cee':cee':cee':cee':cee':r7   rS   N)rT   rU   rV   rW   r   r   rX   rY   rZ   s   @r(   r   r   u   s     N; ;r7   r   c                   &   a  ] tR t^t o R tRtV tR# )TestShLegendrec                2   \         P                  ! ^R.4      p\        P                  ! ^ 4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^ 4      ! V4      p\        P                  ! ^4      ! V4      p	\        P                  ! ^4      ! V4      p
\        P                  ! ^4      ! V4      p\        P                  ! ^4      ! V4      p\        P                  ! ^4      ! V4      p\        VP                  VP                  R^ R7       \        VP                  V	P                  R^ R7       \        VP                  V
P                  R^ R7       \        VP                  VP                  R^ R7       \        VP                  VP                  R^ R7       \        VP                  VP                  R^ R7       R# r   r   r   r   Nr,   )r   r   r   sh_legendrelegendrer   r    )r!   r   Ps0Ps1Ps2Ps3Ps4Ps5pse0pse1pse2pse3pse4pse5s   &             r(   test_sh_legendreTestShLegendre.test_sh_legendre   sj   yy!B q!q!q!q!q!q!}}Q%}}Q%}}Q%}}Q%}}Q%}}Q%tvvG!<tvvG!<tvvG!<tvvG!<tvvG!<tvvG!<r7   rS   N)rT   rU   rV   rW   r   rX   rY   rZ   s   @r(   r   r           = =r7   r   c                   &   a  ] tR t^t o R tRtV tR# )TestShChebytc                2   \         P                  ! ^R.4      p\        P                  ! ^ 4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^ 4      ! V4      p\        P                  ! ^4      ! V4      p	\        P                  ! ^4      ! V4      p
\        P                  ! ^4      ! V4      p\        P                  ! ^4      ! V4      p\        P                  ! ^4      ! V4      p\        VP                  VP                  R^ R7       \        VP                  V	P                  R^ R7       \        VP                  V
P                  R^ R7       \        VP                  VP                  R^ R7       \        VP                  VP                  R^ R7       \        VP                  VP                  R^ R7       R# r   )r   r   r   	sh_chebytr=   r   r    )r!   r   Ts0Ts1Ts2Ts3Ts4Ts5tse0tse1tse2tse3tse4tse5s   &             r(   test_sh_chebytTestShChebyt.test_sh_chebyt   X   yy!B nnQnnQnnQnnQnnQnnQ{{1~d#{{1~d#{{1~d#{{1~d#{{1~d#{{1~d#tvvG!<tvvG!<tvvG!<tvvG!<tvvG!<tvvG!<r7   rS   N)rT   rU   rV   rW   r   rX   rY   rZ   s   @r(   r   r      r   r7   r   c                   &   a  ] tR t^t o R tRtV tR# )TestShChebyuc                2   \         P                  ! ^R.4      p\        P                  ! ^ 4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^4      p\        P                  ! ^ 4      ! V4      p\        P                  ! ^4      ! V4      p	\        P                  ! ^4      ! V4      p
\        P                  ! ^4      ! V4      p\        P                  ! ^4      ! V4      p\        P                  ! ^4      ! V4      p\        VP                  VP                  R^ R7       \        VP                  V	P                  R^ R7       \        VP                  V
P                  R^ R7       \        VP                  VP                  R^ R7       \        VP                  VP                  R^ R7       \        VP                  VP                  R^ R7       R# )r   r   r   r   r`   Nr,   )r   r   r   	sh_chebyurJ   r   r    )r!   r   Us0Us1Us2Us3Us4Us5use0use1use2use3use4use5s   &             r(   test_sh_chebyuTestShChebyu.test_sh_chebyu   r   r7   rS   N)rT   rU   rV   rW   r   rX   rY   rZ   s   @r(   r   r      r   r7   r   c                   &   a  ] tR t^t o R tRtV tR# )TestShJacobic                P   R  p\         P                  ! ^R.4      p^\         P                  P                  4       ,          pV^,
          ^\         P                  P                  4       ,          ,           p\        P                  ! ^ WC4      p\        P                  ! ^WC4      p\        P                  ! ^WC4      p\        P                  ! ^WC4      p\        P                  ! ^WC4      p	\        P                  ! ^WC4      p
\        P
                  ! ^ WC,
          V^,
          4      ! V4      V! ^ V4      ,          p\        P
                  ! ^WC,
          V^,
          4      ! V4      V! ^V4      ,          p\        P
                  ! ^WC,
          V^,
          4      ! V4      V! ^V4      ,          p\        P
                  ! ^WC,
          V^,
          4      ! V4      V! ^V4      ,          p\        P
                  ! ^WC,
          V^,
          4      ! V4      V! ^V4      ,          p\        P
                  ! ^WC,
          V^,
          4      ! V4      V! ^V4      ,          p\        VP                  VP                  R^ R7       \        VP                  VP                  R^ R7       \        VP                  VP                  R^ R7       \        VP                  VP                  R^ R7       \        V	P                  VP                  R^ R7       \        V
P                  VP                  R^ R7       R# )c                     \        V ^,           4      \        W,           4      ,          \        ^V ,          V,           4      ,          # r   r	   )nps   &&r(   conv)TestShJacobi.test_sh_jacobi.<locals>.conv   s-    Q<%,.q1uqy1AAAr7   r   r   Nr,   )r   r   rb   r   	sh_jacobijacobir   r    )r!   r   r   qr   G0G1G2G3G4G5ge0ge1ge2ge3ge4ge5s   &                r(   test_sh_jacobiTestShJacobi.test_sh_jacobi   s%   	Byy!B 		  ""aC!BII$$&&&^^Aa"^^Aa"^^Aa"^^Aa"^^Aa"^^Aa"kk!AC!$T*T!AY6kk!AC!$T*T!AY6kk!AC!$T*T!AY6kk!AC!$T*T!AY6kk!AC!$T*T!AY6kk!AC!$T*T!AY6cee':cee':cee':cee':cee':cee':r7   rS   N)rT   rU   rV   rW   r   rX   rY   rZ   s   @r(   r   r      s     ; ;r7   r   c                   &   a  ] tR tRt o R tRtV tR# )TestCalli  c                |   . p\        ^4       F  pTP                  RP                  . RNV NRNV NRNV NRNV NRNV NRNV NRNV NR	NV NR
NV NRNV NRNV NRNV NRNV NRNV NRNV NRN4      P                  4        Uu. uF  q3P	                  4       NK  	  up4       K  	  \
        P                  ! RR7      ;_uu_ 4        V FH  p\        V4      p\        V! R4      \
        P                  ! VP                  4      ! R4      R^ VR7       KJ  	  RRR4       R# u upi   + '       g   i     R# ; i)r    z
                orth.jacobi(z),0.3,0.9)
                orth.sh_jacobi(z+,0.3,0.9)
                orth.genlaguerre(z$,0.3)
                orth.laguerre(z)
                orth.hermite(z#)
                orth.hermitenorm(z")
                orth.gegenbauer(z",0.3)
                orth.chebyt(z)
                orth.chebyu(z)
                orth.chebyc(z)
                orth.chebys(z!)
                orth.sh_chebyt(z!)
                orth.sh_chebyu(z )
                orth.legendre(z#)
                orth.sh_legendre(z)
                r   r   g)\(?gv!>)r   r   err_msgN)rangeextendjoinsplitstripr   r   evalr   r   coef)r!   polyr   xpstrr   s   &     r(   	test_callTestCall.test_call  s   qAKK   C   !s#" #$%  !c	"	
  S
!" #$%! "#$ C  C  C  C   !"s#  !"s#  !c"" #$%  UW! ()  & [[X&&J%"))AFF*;E*B%+!TC  '&%$ '&&s   
D%
AD**D;	rS   N)rT   rU   rV   rW   r  rX   rY   rZ   s   @r(   r   r     s     C Cr7   r   c                   &   a  ] tR tRt o R tRtV tR# )TestGenlaguerrei  c                   \        \        P                  ! ^^RR7      ! ^ 4      R4       \        \        P                  ! ^^RR7      ! ^ 4      R4       \        \        P                  ! ^^RR7      \        P                  ! R^.4      4       \        \        P                  ! ^^RR7      \        P                  ! ^R.4      4       R# )	r   F)monicr   TN       r,   r   )r   r   genlaguerrer   r   )r!   s   &r(   test_regressionTestGenlaguerre.test_regression   s    T%%a%8;R@T%%a$7:C@T%%a%8"))RG:LMT%%a$7Ar79KLr7   rS   N)rT   rU   rV   rW   r
  rX   rY   rZ   s   @r(   r  r    s     M Mr7   r  c                   aa V ! VR 4      w  rp
\         P                  ! V\         P                  ! R4      R7      pV! VR\         P                  3,          V4      p\         P                  ! W,          VP
                  4      p^\         P                  ! VP                  4       4      ,          pVR\         P                  3,          V,          V,          p\        V\         P                  ! V4      Wg4       \        V	P                  4       WV4       R o\        P                  ! VV3R lW44      p\         P                  ! S! V4      V	4      pRV^,          8  d   RMV^,          ^
,          p\        V^ ,          VVR7       R# )	Tlong)dtypeNNNc                 Z    V ^,          ^V ^,          ,          ,
          V ,           ^,
          # )r-   rS   )r   s   &r(   fverify_gauss_quad.<locals>.f7  s#    AvAF
"Q&**r7   c                 .   < S! V 4      S! V 4      ,          # NrS   )r   r  weight_funcs   &r(   <lambda>#verify_gauss_quad.<locals>.<lambda>9  s    AaDQ$7r7   gư>r   N)r   aranger  newaxisdotTr   diagonalr   eyesumr   quadvdot)	root_func	eval_funcr  rg   bNr   r   r   wmur   vvvvdresIresGr  s   &&f&&&&&         @r(   verify_gauss_quadr-  '  s    D!HA"
		!288F+,A!AbjjL/1%A	QSS	B	
RWWR[[]#	#B	ArzzM	R	"	$BBq	4. AEEGRt,+>>7>D771Q4D$q'>4tAw|DDGT-r7   c            
         R  p R pR p\         pV! V ! R#R$4      V! R#R$4      V! R#R$4      R%R^4       V! V ! R#R$4      V! R#R$4      V! R#R$4      R%R^RR7       V! V ! R#R$4      V! R#R$4      V! R#R$4      R%R^dRR7       V! V ! RR#4      V! RR#4      V! RR#4      R%R^4       V! V ! RR#4      V! RR#4      V! RR#4      R%R^RR7       V! V ! RR#4      V! RR#4      V! RR#4      R%R^dR	R7       V! V ! ^R4      V! ^R4      V! ^R4      R%R^R
R7       V! V ! ^R4      V! ^R4      V! ^R4      R%R^R
R7       V! V ! ^R4      V! ^R4      V! ^R4      R%R^dRR7       V! V ! R^4      V! R^4      V! R^4      R%R^4       V! V ! R^4      V! R^4      V! R^4      R%R^RR7       V! V ! R^4      V! R^4      V! R^4      R%R^dRR7       V! V ! RR4      V! RR4      V! RR4      R%R^4       V! V ! RR4      V! RR4      V! RR4      R%R^RR7       V! V ! RR4      V! RR4      V! RR4      R%R^dRR7       V! V ! RR&4      V! RR&4      V! RR&4      R%R^RR7       V! V ! RR&4      V! RR&4      V! RR&4      R%R^R
R7       V! V ! RR&4      V! RR&4      V! RR&4      R%R^dRR7       V! V ! RR4      V! RR4      V! RR4      R%R^R
R7       V! V ! RR4      V! RR4      V! RR4      R%R^RR7       V! V ! RR4      V! RR4      V! RR4      R%R^dRR7       V! V ! RR4      V! RR4      V! RR4      R%R^RR7       V! V ! RR4      V! RR4      V! RR4      R%R^RR7       V! V ! RR4      V! RR4      V! RR4      R%R^RR7       V! V ! RR4      V! RR4      V! RR4      R%R^dRR7       V! V ! RR4      V! RR4      V! RR4      R%R^RR7       V! V ! RR4      V! RR4      V! RR4      R%R^RR7       V! V ! RR4      V! RR4      V! RR4      R%R^dRR7       V! V ! RR4      V! RR4      V! RR4      R%R^RR7       V! V ! RR4      V! RR4      V! RR4      R%R^RR7       V! V ! RR4      V! RR4      V! RR4      R%R^dRR7       V! V ! RR4      V! RR4      V! RR4      R%R^4       V! V ! RR4      V! RR4      V! RR4      R%R^RR7       V! V ! RR4      V! RR4      V! RR4      R%R^dRR7       \        P                  ! ^RR4      w  rE\        P                  ! ^4      w  rg\	        WFRR4       \	        WWRR4       \        P                  ! ^RR4      w  rE\        P
                  ! ^R4      w  r\	        WHRR4       \	        WYRR4       \        P                  ! ^^^R4      w  r\        P                  ! ^^^R4      w  rp\	        WRR4       \	        WRR4       \        P                  ! V! ^^4      R'^4      w  pp\	        WVR 7       \        \        \        P                  ^ ^^4       \        \        \        P                  R!^^4       \        \        \        P                  ^R(^4       \        \        \        P                  ^^R(4       \        \        \        P                  ^R(R(4       R"# ))c                    a a V V3R  l# )c                 6   < \         P                  ! V SSV4      # r  )re   roots_jacobir   r'  rg   r$  s   &&r(   r  /test_roots_jacobi.<locals>.rf.<locals>.<lambda>@  s    R__Q1b9r7   rS   rg   r$  s   ffr(   rftest_roots_jacobi.<locals>.rf?  	    99r7   c                    a a V V3R  l# )c                 6   < \         P                  ! V SSV4      # r  )re   eval_jacobir   r   rg   r$  s   &&r(   r  /test_roots_jacobi.<locals>.ef.<locals>.<lambda>B  s    BNN1aA6r7   rS   r4  s   ffr(   eftest_roots_jacobi.<locals>.efA  s	    66r7   c                    a a V V3R  l# )c                 N   < ^V ,
          S,          ^V ,           S,          ,          # r   rS   r   rg   r$  s   &r(   r  /test_roots_jacobi.<locals>.wf.<locals>.<lambda>D  s    !a%AQ14r7   rS   r4  s   ffr(   wftest_roots_jacobi.<locals>.wfC  s	    44r7   r_   rq   -q=r   dy=r   -=vIh%L=?vIh%<=g7QU==
ףp=2@L;@g^~z=̌G@g     @g     @绽|=g      @g     @@g     @@      @皙9Q@        +=r   g      @FTr  ffffff
@Nrx               ra   r,   r   )
r-  re   r1  roots_legendrer   roots_gegenbauerr   r   assert_raisesrz   )r5  r=  rC  vgqxjwjxlwlxcwcr   r&  yr(  mmuImuI_errs                    r(   test_roots_jacobire  >  s   :75 C4D%"T5/3AF4D%"T5/3
4D%"T5/3% 3r#t}bdmS"a@3r#t}bdmS"bwO3r#t}bdmS"cN1c
Bq#J1c
CQUC1c
Bq#J1c
CReD1c
Bq#J1c
CSuE3
BsAJ3
CQ73
BsAJ3
CReD3
BsAJ3
CSuE5$E4"UD/3AF5$E4"UD/3B5$E4"UD/3% 444RO444R%P444R% 2tbTlBr4L#r15I2tbTlBr4L#r2EJ2tbTlBr4L#r3UK2tbTlBr4L#r3UK444R444R444R 444R444R444R 5$E4"UD/3A5$E4"UD/3B5$E4"UD/3C 444RC444R444R __QS)FBq!FBBE5)BE5) __QS)FB  C(FBBE5)BE5)??1aE*DAooaAt,GA!A%'A%'>>"Qq'2q1LCA)*booq!Q7*boosAq9*booq"a8*booq!R8*booq"b9r7   c            
      <   R  p R pR p\         pV! V ! RR4      V! RR4      V! RR4      RR^4       V! V ! RR4      V! RR4      V! RR4      RR^RR7       V! V ! RR4      V! RR4      V! RR4      RR^dR	R7       V! V ! RR4      V! RR4      V! RR4      RR^4       V! V ! RR4      V! RR4      V! RR4      RR^R
R7       V! V ! RR4      V! RR4      V! RR4      RR^dRR7       V! V ! ^R4      V! ^R4      V! ^R4      RR^4       V! V ! ^R4      V! ^R4      V! ^R4      RR^RR7       V! V ! ^R4      V! ^R4      V! ^R4      RR^dRR7       V! V ! ^R4      V! ^R4      V! ^R4      RR^4       V! V ! ^R4      V! ^R4      V! ^R4      RR^R
R7       V! V ! ^R4      V! ^R4      V! ^R4      RR^dRR7       V! V ! RR4      V! RR4      V! RR4      RR^4       V! V ! RR4      V! RR4      V! RR4      RR^4       V! V ! RR4      V! RR4      V! RR4      RR^dR
R7       V! V ! RR4      V! RR4      V! RR4      RR^RR7       V! V ! RR4      V! RR4      V! RR4      RR^R	R7       V! V ! RR4      V! RR4      V! RR4      RR^dRR7       V! V ! RR4      V! RR4      V! RR4      RR^RR7       V! V ! RR4      V! RR4      V! RR4      RR^RR7       V! V ! RR4      V! RR4      V! RR4      RR^dRR7       \        P                  ! ^^^R4      w  rE\        P                  ! ^^^R4      w  rgp\        WFRR4       \        WWRR4       \        P
                  ! V! ^^4      ^ ^4      w  r\        WV
R7       \        \        \        P                  ^ ^^4       \        \        \        P                  R^^4       \        \        \        P                  ^^^4       \        \        \        P                  ^^R4       \        \        \        P                  ^RR4       R# ) c                    a a V V3R  l# )c                 6   < \         P                  ! V SSV4      # r  )re   roots_sh_jacobir2  s   &&r(   r  2test_roots_sh_jacobi.<locals>.rf.<locals>.<lambda>  s    R//1a<r7   rS   r4  s   ffr(   r5   test_roots_sh_jacobi.<locals>.rf  s	    <<r7   c                    a a V V3R  l# )c                 6   < \         P                  ! V SSV4      # r  )re   eval_sh_jacobir;  s   &&r(   r  2test_roots_sh_jacobi.<locals>.ef.<locals>.<lambda>  s    B--aAq9r7   rS   r4  s   ffr(   r=   test_roots_sh_jacobi.<locals>.ef  r7  r7   c                    a a V V3R  l# )c                 \   < R V ,
          SS,
          ,          V SR ,
          ,          ,          # )rq   rS   rA  s   &r(   r  2test_roots_sh_jacobi.<locals>.wf.<locals>.<lambda>  s    #'q1u-a#g>r7   rS   r4  s   ffr(   rC   test_roots_sh_jacobi.<locals>.wf  s	    >>r7   r_         ?rR  rq   rE  rF  rG  rK  r   rH  rJ  rM  rL  rN  皙?rO  rQ  rP  g(#=rI  FTrS  r  rT  Nrx   r,   r   )r-  re   ri  r   r   r   rY  rz   )r5  r=  rC  rZ  r   r&  ra  r(  rb  rc  rd  s              r(   test_roots_sh_jacobirw    s   =:? C444BB444B
444B% 3bclBsCL"b!<3bclBsCL"b"5I3bclBsCL"b#EJ1c
Bq#J1c
BA61c
Bq#J1c
BBWE1c
Bq#J1c
BCeD1c
Bq#J1c
BA61c
Bq#J1c
BBUC1c
Bq#J1c
BCeD4D%"T5/2r1E4D%"T5/2r2F4D%"T5/2r% 4r$}bsmRQUK4r$}bsmRReL4r$}bsmRSuM444BP444BO444B% aAu-DA  Aq$/GA!A%'A%'>>"Qq'1a0LCA)*b00!Q:*b00#q!<*b00!Q:*b00!Q;*b00!R<r7   c            
         \         P                  p \         P                  p\        P                  ! ^4      P
                  p\        WV\        P                  ) \        P                  ^4       \        WV\        P                  ) \        P                  ^RR7       \        WV\        P                  ) \        P                  ^dRR7       \         P                  ! ^R4      w  r4\         P                  ! ^R4      w  rVp\        W5RR4       \        WFRR4       \        P                  ! V\        P                  ) \        P                  4      w  r\        WxV	R7       \         P                  ! ^R4      w  r4\         P                  ! ^R4      w  rVp\        W5RR4       \        WFRR4       \        \        V4      VRR4       \        \        \         P                  ^ 4       \        \        \         P                  R4       R	# 
r   rK  rF  rE  FTrS  r  rT  N)re   roots_hermiteeval_hermiter   r   r  r-  r   r|   r   r   r   r  rY  rz   
rootfevalfweightfr   r&  ra  r(  rb  rc  rd  s
             r(   test_roots_hermiter    sa   EOOEll1o))GeGbffWbffa@eGbffWbffbuMeGbffWbffcN Au%DAq$'GA!A%'A%'>>'BFF7BFF;LCA) C'DAsD)GA!A%'A%'CFAue,*b..2*b..4r7   c                     a R  oRV3R llp V ! ^RR7       V ! ^RR7       V ! RRR7       V ! RRR7       V ! RRR7       V ! RRR7       V ! RRR7       V ! R	RR7       V ! R
RR7       V ! RRR7       R# )c                    \         P                  ! WP                  34      p\         P                  R,          \         P                  ! RV^,          ,          4      ,          VR&   V ^8  d   \        R4      V,          VR,          ,          VR&   \        ^V 4       Fj  p\        RV,          4      V,          W#^,
          R3,          ,          \        VR,
          V,          4      W#^,
          R3,          ,          ,
          W#R3&   Kl  	  V# )ru  r  r   rq         пrx   )r   r  )r   r  )r   zerossizepiexpr   r   )r   nodesHks   &&  r(   hermite_recursion1test_roots_hermite_asy.<locals>.hermite_recursion  s    HHa_%"&&eQh"77#q5#Y&3/AcF1a[c!eu,q1Qx7$#qy/APQcRSeH:TTA# !r7   c                   < \         P                  ! V 4      w  r4S! V ^,           V4      p\        VR,          \        P                  ! V 4      W4       \        \        V4      \        \        P                  4      W4       R# )r   N)r,   r  )r   _roots_hermite_asyr   r   r  r  r   r  )r%  r   r   r   r&  r  r  s   &&&   r(   test$test_roots_hermite_asy.<locals>.test  sU    &&q)ac1%$!d9ARUUT8r7   rE  rF  i,  i-  i  i  i  i  i  i  N)V瞯<rS  rS   )r  r  s    @r(   test_roots_hermite_asyr    ss    9 	5555555EEEr7   c            
      4   \         P                  p \         P                  p\        P                  ! ^4      P
                  p\        WV\        P                  ) \        P                  ^4       \        WV\        P                  ) \        P                  ^RR7       \        WV\        P                  ) \        P                  ^dRR7       \         P                  ! ^R4      w  r4\         P                  ! ^R4      w  rVp\        W5RR4       \        WFRR4       \        P                  ! V\        P                  ) \        P                  4      w  r\        WxV	R7       \        \        \         P                  ^ 4       \        \        \         P                  R4       R	# ry  )re   roots_hermitenormeval_hermitenormr   r   r  r-  r   r|   r   r   r   rY  rz   r|  s
             r(   test_roots_hermitenormr    s     EEq!--GeGbffWbffa@eGbffWbffbuMeGbffWbffcN5)DA""1d+GA!A%'A%'>>'BFF7BFF;LCA)*b22A6*b22C8r7   c            
      	   R  p R pR p\         pV! V ! R4      V! R4      V! R4      RR^4       V! V ! R4      V! R4      V! R4      RR^RR7       V! V ! R4      V! R4      V! R4      RR^dRR7       V! V ! R4      V! R4      V! R4      RR^4       V! V ! R4      V! R4      V! R4      RR^RR7       V! V ! R4      V! R4      V! R4      RR^dRR7       V! V ! ^4      V! ^4      V! ^4      RR^4       V! V ! ^4      V! ^4      V! ^4      RR^RR7       V! V ! ^4      V! ^4      V! ^4      RR^dRR7       V! V ! ^
4      V! ^
4      V! ^
4      RR^4       V! V ! ^
4      V! ^
4      V! ^
4      RR^RR7       V! V ! ^
4      V! ^
4      V! ^
4      RR^dRR7       V! V ! ^24      V! ^24      V! ^24      RR^RR7       V! V ! ^24      V! ^24      V! ^24      RR^RR7       V! V ! ^24      V! ^24      V! ^24      RR^dRR7       V! V ! ^4      V! ^4      V! ^4      RR^RR7       V! V ! ^4      V! ^4      V! ^4      RR^RR7       V! V ! ^4      V! ^4      V! ^4      RR^dRR7       V! V ! R	4      V! R	4      V! R	4      RR^R
R7       V! V ! R	4      V! R	4      V! R	4      RR^RR7       V! V ! R	4      V! R	4      V! R	4      RR^dRR7       V! V ! ^4      V! ^4      V! ^4      RR^RR7       V! V ! ^4      V! ^4      V! ^4      RR^RR7       V! V ! ^4      V! ^4      V! ^4      RR^dRR7       V! V ! R4      V! R4      V! R4      RR^RR7       V! V ! R4      V! R4      V! R4      RR^RR7       V! V ! R4      V! R4      V! R4      RR^dRR7       V! V ! ^ 4      \        P                  V! ^ 4      RR^4       V! V ! ^ 4      \        P                  V! ^ 4      RR^4       V! V ! ^ 4      \        P                  V! ^ 4      RR^dRR7       \        P                  ! ^^R4      w  rE\        P                  ! ^^R4      w  rgp\	        WFRR4       \	        WWRR4       \
        P                  ! V! ^4      R^4      w  r\	        WV
R7       \        \        \        P                  ^ ^4       \        \        \        P                  R^4       \        \        \        P                  ^R4       R# )c                    a  V 3R  l# )c                 4   < \         P                  ! V SV4      # r  )re   rX  r   r'  rg   s   &&r(   r  6test_roots_gegenbauer.<locals>.rootf.<locals>.<lambda>$  s    R00Ar:r7   rS   rg   s   fr(   r}  $test_roots_gegenbauer.<locals>.rootf#  s	    ::r7   c                    a  V 3R  l# )c                 4   < \         P                  ! V SV4      # r  )re   eval_gegenbauerr   r   rg   s   &&r(   r  6test_roots_gegenbauer.<locals>.evalf.<locals>.<lambda>&  s    B..q!Q7r7   rS   r  s   fr(   r~  $test_roots_gegenbauer.<locals>.evalf%  s	    77r7   c                    a  V 3R  l# )c                 @   < ^V ^,          ,
          SR,
          ,          # )r   r_   rS   r   rg   s   &r(   r  8test_roots_gegenbauer.<locals>.weightf.<locals>.<lambda>(  s    !a1f*!c'2r7   rS   r  s   fr(   r  &test_roots_gegenbauer.<locals>.weightf'  s	    22r7   rq   rE  rF  rG  皙?rK  g     Pe@g-A=g     @rO  FTrS  r  rT  Nr  rV  r,   rU  )	r-  re   eval_chebytrX  r   r   r   rY  rz   r}  r~  r  rZ  r   r&  ra  r(  rb  rc  rd  s              r(   test_roots_gegenbauerr  "  sv   ;83 CeeElGENCQ?eeElGENCReLeeElGENCSuMc
E#Jc2q9c
E#Jc2rFc
E#Jc2sGa%(GAJR3a%(GAJR%@a%(GAJR5Ab	59gbk3A6b	59gbk3BUCb	59gbk3CeDb	59gbk3AEBb	59gbk3BUCb	59gbk3CeD c
E#Jc2quEc
E#Jc2rFc
E#Jc2sGeeElGENCQXNeeElGENCReLeeElGENCSuM c
E#Jc2quEc
E#Jc2rFc
E#Jc2sGeeElGENCQUKeeElGENCReLeeElGENCSuM
 a"..'!*c2q9a"..'!*c2r:a"..'!*c2sGq!U+DA!!!Q-GA!A%'A%'>>'!*b!4LCA)*b111a8*b113:*b111d;r7   c            
         \         P                  ! ^4      P                  p \        \        P
                  \        P                  V R
R^4       \        \        P
                  \        P                  V R
R^4       \        \        P
                  \        P                  V R
R^dRR7       \        P
                  ! ^R4      w  r\        P
                  ! ^R4      w  r4p\        WRR4       \        W$RR4       \        P                  ! V R^4      w  rg\        WVVR7       \        \        \        P
                  ^ 4       \        \        \        P
                  R4       R	# )r   rq   rE  rF  FTrS  r  rT  NrV  r,   )r   r=   r  r-  re   roots_chebytr  r   r   r   rY  rz   r  r   r&  ra  r(  rb  rc  rd  s           r(   test_roots_chebytr  b      kk!n((Gboor~~wRKboor~~wRLboor~~wR " ??1e$DAooa&GA!A%'A%'>>'2q1LCA)*booq1*boos3r7   c                      \         P                  ! ^4      w  rV R,          V R,          r2\        W2RRR1,          ) 4       \        V ^
,          ^ 4       R# )   :N
   N:   NNNr,   )re   r  r   )r   r&  posnegs       r(   test_chebyt_symmetryr  t  sA    ??2DAvqv4R4yj!2r7   c                     \         P                  ! ^4      P                  p \        \        P
                  \        P                  V RR^4       \        \        P
                  \        P                  V RR^4       \        \        P
                  \        P                  V RR^d4       \        P
                  ! ^R4      w  r\        P
                  ! ^R4      w  r4p\        WRR4       \        W$RR4       \        P                  ! V R	^4      w  rg\        WVVR7       \        \        \        P
                  ^ 4       \        \        \        P
                  R4       R# )
r   rq   FTrS  r  rT  NrV  r,   )r   rJ   r  r-  re   roots_chebyueval_chebyur   r   r   rY  rz   r  s           r(   test_roots_chebyur  z      kk!n((Gboor~~wRKboor~~wRLboor~~wRM??1e$DAooa&GA!A%'A%'>>'2q1LCA)*booq1*boos3r7   c            
         \         P                  ! ^4      P                  p \        \        P
                  \        P                  V R
R^4       \        \        P
                  \        P                  V R
R^4       \        \        P
                  \        P                  V R
R^dRR7       \        P
                  ! ^R4      w  r\        P
                  ! ^R4      w  r4p\        WRR4       \        W$RR4       \        P                  ! V R^4      w  rg\        WVVR7       \        \        \        P
                  ^ 4       \        \        \        P
                  R4       R	# )r   r   rE  rF  FTrS  r  rT  Nr  r   )r   r   r  r-  re   roots_chebyceval_chebycr   r   r   rY  rz   r  s           r(   test_roots_chebycr    r  r7   c                     \         P                  ! ^4      P                  p \        \        P
                  \        P                  V RR^4       \        \        P
                  \        P                  V RR^4       \        \        P
                  \        P                  V RR^d4       \        P
                  ! ^R4      w  r\        P
                  ! ^R4      w  r4p\        WRR4       \        W$RR4       \        P                  ! V R	^4      w  rg\        WVVR7       \        \        \        P
                  ^ 4       \        \        \        P
                  R4       R# )
r   r   FTrS  r  rT  Nr  r   )r   r.   r  r-  re   roots_chebyseval_chebysr   r   r   rY  rz   r  s           r(   test_roots_chebysr    r  r7   c            
         \         P                  ! ^4      P                  p \        \        P
                  \        P                  V RR^4       \        \        P
                  \        P                  V RR^4       \        \        P
                  \        P                  V RR^dRR7       \        P
                  ! ^R4      w  r\        P
                  ! ^R4      w  r4p\        WRR4       \        W$RR4       \        P                  ! V ^ ^4      w  rg\        WVVR7       \        \        \        P
                  ^ 4       \        \        \        P
                  R	4       R
# r   rR  rq   rK  rF  FTrS  r  rT  N)r   r   r  r-  re   roots_sh_chebyteval_sh_chebytr   r   r   rY  rz   r  s           r(   test_roots_sh_chebytr        nnQ++Gb(("*;*;Wb"aPb(("*;*;Wb"bQb(("*;*;Wb"' a'DA  D)GA!A%'A%'>>'1a0LCA)*b00!4*b00#6r7   c            
         \         P                  ! ^4      P                  p \        \        P
                  \        P                  V RR^4       \        \        P
                  \        P                  V RR^4       \        \        P
                  \        P                  V RR^dRR7       \        P
                  ! ^R4      w  r\        P
                  ! ^R4      w  r4p\        WRR4       \        W$RR4       \        P                  ! V ^ ^4      w  rg\        WVVR7       \        \        \        P
                  ^ 4       \        \        \        P
                  R	4       R
# r  )r   r   r  r-  re   roots_sh_chebyueval_sh_chebyur   r   r   rY  rz   r  s           r(   test_roots_sh_chebyur    r  r7   c            
         \         P                  ! ^4      P                  p \        \        P
                  \        P                  V RR^4       \        \        P
                  \        P                  V RR^RR7       \        \        P
                  \        P                  V RR^dRR7       \        P
                  ! ^R4      w  r\        P
                  ! ^R4      w  r4p\        WRR4       \        W$RR4       \        P                  ! V R^4      w  rg\        WVVR7       \        \        \        P
                  ^ 4       \        \        \        P
                  R	4       R
# )r   rq   rK  rF  rE  FTrS  r  rT  NrV  r,   )r   r   r  r-  re   rW  eval_legendrer   r   r   rY  rz   r  s           r(   test_roots_legendrer    s    mmA**Gb'')9)97CQOb'')9)97Cu&b'')9)97C' Q&DA4(GA!A%'A%'>>'2q1LCA)*b//3*b//5r7   c            
         \         P                  ! ^4      P                  p \        \        P
                  \        P                  V RR^4       \        \        P
                  \        P                  V RR^RR7       \        \        P
                  \        P                  V RR^dRR7       \        P
                  ! ^R4      w  r\        P
                  ! ^R4      w  r4p\        WRR4       \        W$RR4       \        P                  ! V ^ ^4      w  rg\        WVVR	7       \        \        \        P
                  ^ 4       \        \        \        P
                  R
4       R# )r   rR  rq   rK  rF  rE  FTrS  r  rT  N)r   r   r  r-  re   roots_sh_legendreeval_sh_legendrer   r   r   rY  rz   r  s           r(   test_roots_sh_legendrer    s   q!--Gb**B,?,?"bRSTb**B,?,?"bu&b**B,?,?"b' 5)DA""1d+GA!A%'A%'>>'1a0LCA)*b22A6*b22C8r7   c            
      *   \         P                  ! ^4      P                  p \        \        P
                  \        P                  V R\        P                  ^4       \        \        P
                  \        P                  V R\        P                  ^RR7       \        \        P
                  \        P                  V R\        P                  ^dRR7       \        P
                  ! ^R4      w  r\        P
                  ! ^R4      w  r4p\        WRR4       \        W$RR4       \        P                  ! V ^ \        P                  4      w  rg\        WVVR7       \        \        \        P
                  ^ 4       \        \        \        P
                  R	4       R
# )r   rR  rK  rF  rE  FTrS  r  rT  N)r   laguerrer  r-  re   roots_laguerreeval_laguerrer   r|   r   r   r   rY  rz   r  s           r(   test_roots_laguerrer    s   mmA**Gb'')9)97BPQRb'')9)97Bu&b'')9)97B' Q&DA4(GA!A%'A%'>>'1bff5LCA)*b//3*b//5r7   c                  h   R  p R pR p\         pV! V ! R4      V! R4      V! R4      R\        P                  ^4       V! V ! R4      V! R4      V! R4      R\        P                  ^RR7       V! V ! R4      V! R4      V! R4      R\        P                  ^dRR7       V! V ! R4      V! R4      V! R4      R\        P                  ^4       V! V ! R4      V! R4      V! R4      R\        P                  ^RR7       V! V ! R4      V! R4      V! R4      R\        P                  ^dRR7       V! V ! ^4      V! ^4      V! ^4      R\        P                  ^4       V! V ! ^4      V! ^4      V! ^4      R\        P                  ^RR7       V! V ! ^4      V! ^4      V! ^4      R\        P                  ^dR	R7       V! V ! ^
4      V! ^
4      V! ^
4      R\        P                  ^4       V! V ! ^
4      V! ^
4      V! ^
4      R\        P                  ^RR7       V! V ! ^
4      V! ^
4      V! ^
4      R\        P                  ^dRR7       V! V ! ^24      V! ^24      V! ^24      R\        P                  ^4       V! V ! ^24      V! ^24      V! ^24      R\        P                  ^RR7       V! V ! ^24      V! ^24      V! ^24      R\        P                  ^dR
RR7       \        P                  ! ^^R4      w  rE\        P                  ! ^^R4      w  rgp\        WFR
R
4       \        WWR
R
4       \        P                  ! V! R4      R\        P                  4      w  r\        WV
R7       \        \        \        P                  ^ ^4       \        \        \        P                  R^4       \        \        \        P                  ^R4       R# )c                    a  V 3R  l# )c                 4   < \         P                  ! V SV4      # r  )re   roots_genlaguerrer  s   &&r(   r  7test_roots_genlaguerre.<locals>.rootf.<locals>.<lambda>  s    R11!Q;r7   rS   r  s   fr(   r}  %test_roots_genlaguerre.<locals>.rootf  s	    ;;r7   c                    a  V 3R  l# )c                 4   < \         P                  ! V SV4      # r  )re   eval_genlaguerrer  s   &&r(   r  7test_roots_genlaguerre.<locals>.evalf.<locals>.<lambda>  s    B//1a8r7   rS   r  s   fr(   r~  %test_roots_genlaguerre.<locals>.evalf  s	    88r7   c                    a  V 3R  l# )c                 N   < V S,          \         P                  ! V ) 4      ,          # r  )r   r  r  s   &r(   r  9test_roots_genlaguerre.<locals>.weightf.<locals>.<lambda>  s    a"&&!*,r7   rS   r  s   fr(   r  'test_roots_genlaguerre.<locals>.weightf  s	    ,,r7   rR  rK  rF  rE  r  g+F=gN<=rS  rI  )r   r   FTr   r  rT  Nrx   g)
r-  r   r|   re   r  r   r   r   rY  rz   r  s              r(   test_roots_genlaguerrer    s   <9- CdU4['$-RVVQ?dU4['$-RVVReLdU4['$-RVVSuMc
E#Jb"&&!<c
E#Jb"&&"5Ic
E#Jb"&&#GLa%(GAJBFFA6a%(GAJBFFBUCa%(GAJBFFChGb	59gbk2rvvq9b	59gbk2rvvrFb	59gbk2rvvsGb	59gbk2rvvq9b	59gbk2rvvrFb	59gbk2rvvsUS1e,DA""1a.GA!A%'A%'>>'"+r266:LCA)*b22Aq9*b22C;*b22At<r7   c                  >    \         P                  ! ^A4      ! R4       R# )A   rv  N)re   r=   rS   r7   r(   test_gh_6721r  5  s    IIbM#r7   )r  gvIh%,=)/ry   r   rY  numpyr   r   r   numpy.testingr   r   scipyr   scipy.specialspecialre   r
   scipy.special._orthogonal_orthogonalr   r   r]   r   r   r   r   r   r   r  r-  re  rw  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rS   r7   r(   <module>r     s     *   7    ( (9K 9Kx(( ((V$; $;N= =0= =0= =0; ;<C C:M M..^:@5=n58:9(><@4$4"4$4"7$7$6&9&6&'=Tr7   