
    hiL                     z   S SK Jr  S SKJrJr  S SKJrJrJrJ	r	  S SK
Jr  S SKJrJr  S SKJrJrJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJ r   S SK!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.  S SK/J0r0  S SK1J2r2  S SK3J4r4  S SKJ5r5  S SK6J7r7  \" S5      r8S r9S r:S r;S r<S r=S r>S r?S r@S rAg)    )Sum)
Derivativediff)Rationaloopizoo)S)DummySymbol)RisingFactorialbinomial	factorial)	conjugate)exp)floor)sqrt)cos)gamma)hyper)assoc_laguerreassoc_legendre
chebyshevtchebyshevt_root
chebyshevuchebyshevu_root
gegenbauerhermitehermite_probjacobijacobi_normalizedlaguerrelegendre)laguerre_poly)roots)	unchanged)ArgumentIndexError)raisesxc                  D  ^^^ [        S5      m[        S5      m[        S5      m[        STT[        5      S:X  d   e[        STT[        5      TS-  TS-  -
  [        TS-  TS-  -   S-   -  -   :X  d   e[        TTT[        5      [        TS-   T5      [	        TT[
        R                  -   [        5      -  [        ST-  S-   T5      -  :X  d   e[        TTT* [        5      ST-  [        * S-   T* S-  -  -  [        S-   TS-  -  -  [        TT[        5      -  [        T* T-   5      -  [        TT-   S-   5      -  [        TT-   5      [        TS-   5      -  -  :X  d   e[        TT* T[        5      [        * S-   TS-  -  [        S-   T* S-  -  -  [        TT[        5      -  [        T* T-   S-   5      -  [        TS-   5      -  :X  d   e[        TSS[        5      [        T[        5      :X  d   e[        T[
        R                  [
        R                  [        5      [        [        SS5      T5      [        T[        5      -  [        TS-   5      -  :X  d   e[        T[        SS5      [        SS5      [        5      [        [
        R                  T5      [        T[        5      -  [        T5      -  :X  d   e[        TTT[        5      n [        U [        5      (       d   e[        TTT[        * 5      ST-  [        TTT[        5      -  :X  d   e[        TTTS5      ST* -  [        TT-   S-   5      -  [        T* T-
  T* 4TS-   4S5      -  [        T5      [        TS-   5      -  -  :X  d   e[        TTTS5      [        TS-   T5      [        T5      -  :X  d   e[        S	S
S9n[        UTT[         5      [         [        TT-   U-   S-   U5      -  :X  d   e[#        [        TTT[         5      (       d   e[%        [        UTT[        5      5      [        U[%        T5      [%        T5      [%        [        5      5      :X  d   e['        S5      n[)        [        TTT[        5      T5      [+        [        TTT[        5      T5      :X  d   e[)        [        TTT[        5      T5      R-                  [/        [        TTT[        5      SU-  T-   T-   S-   [        UT-   S-   U* T-   5      -  [        UTT[        5      -  U* T-   [        UT-   T-   S-   U* T-   5      -  -  -   UT-   T-   T-   S-   -  USTS-
  45      5      (       d   e[)        [        TTT[        5      T5      R-                  [/        SU* T-   -  SU-  T-   T-   S-   -  [        UT-   S-   U* T-   5      -  [        UTT[        5      -  U* T-   [        UT-   T-   S-   U* T-   5      -  -  [        TTT[        5      -   UT-   T-   T-   S-   -  USTS-
  45      5      (       d   e[)        [        TTT[        5      [        5      TS-  TS-  -   TS-  -   [
        R                  -   [        TS-
  TS-   TS-   [        5      -  :X  d   e[1        TTT[        5      [        TTT[        5      [3        STT-   S-   -  [        TT-   S-   5      -  [        TT-   S-   5      -  TT-   ST-  -   S-   [        T5      -  [        TT-   T-   S-   5      -  -  5      -  :X  d   e[5        [6        UU4S j5        [5        [6        S 5        [        TTT[        5      R9                  [.        5      R-                  [/        [
        R                  [        S-  -
  U-  [        T* U5      -  [        UT-   S-   U* T-   5      -  [        TT-   T-   S-   U5      -  [        U5      -  UST45      [        T5      -  5      (       d   e[        TTT[        5      R9                  S5      R-                  [/        [
        R                  [        S-  -
  U-  [        T* U5      -  [        UT-   S-   U* T-   5      -  [        TT-   T-   S-   U5      -  [        U5      -  UST45      [        T5      -  5      (       d   e[5        [:        UUU4S j5        g )Nnabr            mTpositivekc                  (   > [        ST T[        5      $ Ng )r    r)   )r,   r-   s   m/var/www/fran/franai/venv/lib/python3.13/site-packages/sympy/functions/special/tests/test_spec_polynomials.py<lambda>test_jacobi.<locals>.<lambda>N   s    vdAq!4    c                  6    [        [        SSS9SS[        5      $ )NT)r4   integerr.   r/   )r    r   r    r;   r8   r9   r:   O   s    veT4&H!QPRSr;   
polynomialc                  F   > [        TT T[        5      R                  S5      $ )N   )r    r)   fdiff)r,   r-   r+   s   r8   r9   r:   W   s    vaAq'9'?'?'Br;   )r   r    r)   r   r   r
   Halfr   r   r   r#   r   r   r   
isinstancer   r   r&   r   r   r   r   dummy_eqr   r!   r   r(   
ValueErrorrewriter'   )Xr2   _kr,   r-   r+   s      @@@r8   test_jacobirJ      sQ	   sAsAsA!Q1"""!Q11qsQ!ac	A->!>>>>!Q1	Aq"QAFF
A."//>qsQw/J"K K K K!QAB7QBFqbd+;#;QUacN#J>Z[]^`aKb#b#,aR!V#4$55:1q5195E$FGPQRUVQVGWX]^_bc^cXdGd$f g g g!aRAQBFac?AEaRT?#B>RSUVXYCZ#Z#(!a!#4$55:1q5\$B C C C!Q1!Q///!QVVQVVQ'?A,%a+,,,5a!e,<,= = = =!Xb!_hr1oq9_	>a#>$$-aL>1 1 1 1 	q!QAa    !QA22'&Aq!*<"<<<<!Q1aRq1uqy)9!9%
a!q1uh;$ "$%.q\%A,%>"@ @ @ @!Q1Q!:9Q<!GGGGsT"A!Q2"_QUQY]A%F"FFFFVQ1b))))VAq!Q'(q)A,	!il;< < < 
sBq!Q"A&*VAq!Q5G*KKKKq!Q"A&//VAq!Q5G	
2A	?26A:sQw??r1	1A 	aa!a"qAA	C6CEG!V
FFF5 1a!en1& ' ' ' ' q!Q"A&//bRC!G_ad	G
GG 6"26A:sQw7688>r1a8K6L#'?26A:>B37;	;6=?Ea	1@6 Q
Q"5$ ')!QU^15 6 6 6 6 q!Q"A&	
1qsQqS166	!6!a%QAq#AAB B B Q1a(1aAtAA	N5Q3C$CE!a%RS)DT$T'(1uqs{Q	!&DU1q5ST9WX=EY&Y%[  \ \] ] ] :45
:ST!Q1%%c*33C!A#
9aR$9%%4R!VaZ"q%I9JA	Ar*9++4R=99;=q!*5FFOPQl5S T T T T !Q1%%l3<<S!&&1Q3,
BaR$B%%4R!VaZ"q%IBJA	Ar*B++4R=B9;=q!*>FFOPQl>S T T T T BCr;   c                  J  ^^ [        S5      m[        S5      m[        ST[        5      S:X  d   e[        ST[        5      ST-  [        -  :X  d   e[        ST[        5      T* [        S-  STS-  -  ST-  -   -  -   :X  d   e[        ST[        5      [        S-  STS-  -  S-  STS-  -  -   T[        SS5      -  -   -  [        S	TS-  -  ST-  -
  -  -   :X  d   e[        S
T[        5      S:X  d   e[        T[        R
                  [        5      [        T[        5      :X  d   e[        TS[        5      [        T[        5      :X  d   e[        TS
[        5      S:X  d   e[        TT[        5      n [        U [        5      (       d   e[        TT[        * 5      S
T-  [        TT[        5      -  :X  d   e[        TTS5      ST-  [        [        5      -  [        TTS-  -   5      -  [        T5      [        T* S-  [        R
                  -   5      -  [        TS-   5      -  -  :X  d   e[        TTS5      [        ST-  T-   5      [        ST-  5      [        TS-   5      -  -  :X  d   e[        T[        SS5      S
5      [        L d   e[        T[        SS5      S
5      [        S5      [        [        T[        R                  S-  -   -  5      -  [        T[        R
                  -   5      -  [        [        5      [        TS-   5      -  -  :X  d   e[        SSS9n[        UT[        5      [        [!        TU5      -  :X  d   e[#        [        TT[        5      (       d   e[%        [        TT[        5      5      [        T[%        T5      [%        [        5      5      :X  d   e['        S5      n[)        [        TT[        5      T5      [+        [        TT[        5      T5      :X  d   e[)        [        TT[        5      T5      R-                  [/        SS
U* T-   -  -  S-   UT-   -  [        UT[        5      -  U* T-   UST-  -   T-   -  -  SU-  S-   UST-  -   SU-  ST-  -   S-   -  -  SUST-  -   T-   -  -   [        TT[        5      -  -   USTS-
  45      5      (       d   e[)        [        TT[        5      [        5      ST-  [        TS-
  TS-   [        5      -  :X  d   e[        TT[        5      R1                  [.        5      R-                  [/        S
U-  S[        -  S	U-  T-   -  -  [!        TU* T-   5      -  [3        U5      [3        S	U-  T-   5      -  -  US[5        TS-  5      45      5      (       d   e[        TT[        5      R1                  S5      R-                  [/        S
U-  S[        -  S	U-  T-   -  -  [!        TU* T-   5      -  [3        U5      [3        S	U-  T-   5      -  -  US[5        TS-  5      45      5      (       d   e[7        [8        UU4S j5        g )Nr+   r,   r   r.   r/   r1         r0   r2   Tr3   r5   r?   c                  D   > [        TT [        5      R                  S5      $ NrL   )r   r)   rB   )r,   r+   s   r8   r9   !test_gegenbauer.<locals>.<lambda>   s    z!Q':'@'@'Cr;   )r   r   r)   r   r
   rC   r#   r   rD   r   r   r   r	   r   Oner   r   r&   r   r   r   r   rE   r   rG   r   r   r(   r'   )rH   r2   rI   r,   r+   s      @@r8   test_gegenbauerrS   Z   s   sAsAaA!###aA!A#a%'''aA1"q!tQq!tVac\':"::::aA	1a1fQh1a4!HQN"223aAqD1Q36GGH H H b!Q1$$$a#x1~555aA*Q"2222aQ1$$$1aAa$$$$aQBB7:aA+>#>>>>aA!Q$tBx-a!A#g#ar!taff}!55eAElB#D D D DaA%!a.%!*U1q5\2I"JJJJa!Q,333a!Q,aRQUU1W=M9N1NAJ'2()-b%A,)>2@ A A A 	sT"AaB2oa&;#;;;;ZAr****Z1a()Z9Q<ST-VVVV	sB
1a#Q':jAq6I1+MMMM
1a#Q'00asQw6G!6K	a6B1%6&)+a"qs(Q,'?6AEFrT	F
!A#X"qs
Q'E)+,b1Q3hl+;E<=G1
>D6 1a!en2     
1a#Q'1Q3z!a%Q/J+JJJJaA&&s+44R"HacRUQY''B37(CC
B-	"R%!),
,.02AuQqSz/B	DE E E E aA&&|4==R"HacRUQY''B37(CC
B-	"R%!),
,.02AuQqSz/B	DE E E E CDr;   c                  6  ^ [        S[        5      S:X  d   e[        S[        5      [        :X  d   e[        S[        5      S[        S-  -  S-
  S-  R                  5       :X  d   e[        S[        5      S[        S-  -  S[        -  -
  S-  R                  5       :X  d   e[        S[        5      S[        S-  -  S[        S-  -  -
  S-   S	-  R                  5       :X  d   e[        S[        5      S
[        S-  -  S[        S-  -  -
  S[        -  -   S	-  R                  5       :X  d   e[        S[        5      S[        S-  -  S[        S-  -  -
  S[        S-  -  -   S-
  S-  R                  5       :X  d   e[        SS5      S:X  d   e[        SS5      S:X  d   e[        SS5      S:X  d   e[        SS5      S:X  d   e[        SS5      S:w  d   e[        SS5      S:X  d   e[        S[        5      S:X  d   e[        S5      n [        SU -
  [        5      R	                  U S5      S[        S-  -  S[        -  -
  S-  R                  5       :X  d   e[        [        S[        5      [        5      [        [        SS5      [        SS5      [        S5      -  -
  5      S[        [        SS5      [        SS5      [        S5      -  -
  5      * S[        [        SS5      [        SS5      [        S5      -  -   5      S[        [        SS5      [        SS5      [        S5      -  -   5      * S0:X  d   e[        S5      m[        T[        5      n[        U[         5      (       d   e[        [         T[        5      (       d   e[        TS5      [        [        5      [        [        R                  TS-  -
  5      [        TS-  S-   5      -  -  :X  d   e[        TS5      S:X  d   e[        T[        5      [        L d   e[        T* [        5      [        TS-
  [        5      :X  d   e[        T[        * 5      ST-  [        T[        5      -  :X  d   e[        [         T* U -   [        5      (       d   e[        [        T[        5      5      [        T[        [        5      5      :X  d   e[!        [        T[        5      [        5      T[        [        T[        5      -  [        TS-
  [        5      -
  -  [        S-  S-
  -  :X  d   e[!        [        T[        5      T5      [#        [        T[        5      T5      :X  d   e[%        S5      n[        T[        5      R'                  [(        5      R+                  [)        SU-  [        R                  [        S-  -
  U-  -  [        S-  [        R                  -   U* T-   -  -  [-        TU5      S-  -  UST45      5      (       d   e[        T[        5      R'                  S5      R+                  [)        SU-  [        R                  [        S-  -
  U-  -  [        S-  [        R                  -   U* T-   -  -  [-        TU5      S-  -  UST45      5      (       d   e[/        [0        U4S j5        [/        [0        U4S j5        g )Nr   r.   r/   r1   rA   rL   #      rM   ?   F            i;  i      
   r0      r5      r+   r?   c                  B   > [        T [        5      R                  S5      $ Nr.   r#   r)   rB   r+   s   r8   r9   test_legendre.<locals>.<lambda>       x1~';';A'>r;   c                  B   > [        T [        5      R                  S5      $ Nr1   rc   rd   s   r8   r9   re      rf   r;   )r#   r)   expandr   subsr%   r   r   rD   r&   r   r   r
   rC   r   r   r   r   r   rG   r   rE   r   r(   r'   )r5   rH   rI   r+   s      @r8   test_legendrerk      s   Aq>QAq>QAq>qAvz1n446666Aq>qAv!|Q.668888Aq>r!Q$wAqD014a7??AAAAAq>r!Q$wAqD02a47:BBDDDDAq>s1a4x#ad(2SAX=A2EMMOOOOBq   Br!!!B?aB?aB?aB?aB?asAAE1""1a(a1fqslA-=,E,E,GGGG!Q#Xa^hq"od2h667	hq!nx2tBx77	88!Xa^hq"od2h667	hq!nx2tBx77	88!	(    	sAAAa""""Xq!$$$$Aq>T"XuQVVac\':51q>'IJJJJAq>QAr?b   QB?hq1ua0000Ar?rAghq!n4444XrAvq))))Xa^$IaL(AAAAA"	1Xa^hq1ua0011a4!8<= = =A"j!Q&CCCC	sBAq>!!#&//R"HaffaC?> 5cAFFlrcAg.5//72/A5BDF1:1O P P P PAq>!!,/88b2XqvvaCHG >cAFFlrcAg.>//72/A>BDF1::O P P P P
>?
>?r;   c                  t  ^^^ [         m[        S[        S-  -
  5      n T" SS[        5      S:X  d   eT" SS[        5      [        :X  d   eT" SS[        5      U * :X  d   eT" SS[        5      S[        S-  -  S-
  S-  :X  d   eT" SS[        5      S[        -  U -  :X  d   eT" SS[        5      SU S-  -  :X  d   eT" SS[        5      S[        S-  -  S[        -  -
  S-  :X  d   eT" SS[        5      R                  5       SSS[        S-  -  -
  -  S-  R                  5       U -  R                  5       :X  d   eT" SS[        5      S[        -  U S-  -  :X  d   eT" SS[        5      SU S-  -  :X  d   eT" SS	[        5      T" SS[        5      * S-  :X  d   eT" SS
[        5      T" SS[        5      S-  :X  d   eT" SS	[        5      T" SS[        5      * S-  :X  d   eT" SS[        5      T" SS[        5      * S-  :X  d   eT" SS
[        5      T" SS[        5      S-  :X  d   eT" SS	[        5      T" SS[        5      * S-  :X  d   e[	        S5      m[	        S5      mT" TT[        5      n[        U[         5      (       d   eT" TS[        5      [        T[        5      :X  d   eT" TTS5      ST-  [        [        5      -  [        T* S-  TS-  -
  [        R                  -   5      [        T* S-  TS-  -   S-   5      -  -  :X  d   e[        T" TT[        5      [        5      T[        -  [        TT[        5      -  TT-   [        TS-
  T[        5      -  -
  [        S-  S-
  -  :X  d   e[        S5      nT" TT[        5      R                  [        5      R                  S[        S-  -
  TS-  -  [        S	U-  ST* -  -  [        S
U-  T-   T-
  -  -  [!        S
U-  ST-  -   5      -  [!        U5      [!        U* T-   5      -  [!        S
U-  T-   T-
  5      -  -  US[#        TS-  TS-  -
  5      45      -  5      (       d   eT" TT[        5      R                  S5      R                  S[        S-  -
  TS-  -  [        S	U-  ST* -  -  [        S
U-  T-   T-
  -  -  [!        S
U-  ST-  -   5      -  [!        U5      [!        U* T-   5      -  [!        S
U-  T-   T-
  5      -  -  US[#        TS-  TS-  -
  5      45      -  5      (       d   e[%        [        TT[        5      5      [        T[%        T5      [%        [        5      5      :X  d   e['        [(        U4S j5        ['        [(        U4S j5        ['        [*        UUU4S j5        ['        [*        UUU4S j5        ['        [*        UUU4S j5        g )Nr.   r/   r   r1   rA   rY   ir0   rN      rZ     x      r+   r2   r5   r?   c                      > T " SS[         5      $ )Nr   r.   r)   Plms   r8   r9   %test_assoc_legendre.<locals>.<lambda>   s    s1a|r;   c                      > T " SS[         5      $ )Nr0   r.   rs   rt   s   r8   r9   rv      s    s2q!}r;   c                  >   > T " TT[         5      R                  S5      $ rb   r)   rB   ru   r2   r+   s   r8   r9   rv          s1a|'9'9!'<r;   c                  >   > T " TT[         5      R                  S5      $ )Nr/   ry   rz   s   r8   r9   rv      r{   r;   c                  >   > T " TT[         5      R                  S5      $ rP   ry   rz   s   r8   r9   rv      r{   r;   )r   r   r)   ri   r   rD   r#   r   r   r
   rC   r   r   rG   r   rE   r   r   r   r(   rF   r'   )QrH   rI   ru   r2   r+   s      @@@r8   test_assoc_legendrer      s   
CQAXAq!Q<1q!Q<1q!Q<A2q!Q<AadFQJ>)))q!Q<2a46!!!q!Q<1QT6!!!q!Q<AadFQqSL!++++q!Q< q!a1f*~a'7%@%@%BQ%F$N$N$PPPPq!Q<2a4!Q$;&&&q!Q<3A:%%% q"a=SAq\M!O+++q"a=C1aLO+++q"a=SAq\M!O+++q"a=SAq\M#----q"a=C1aL,,,,q"a=SAq\M",,,,sAsAAq!Aa((((q!Q<8Aq>)))q!Q<1a4R=%1qs
661" +##(!A!a#8+9 : : : : Aq!a QqS1a)@%@Qq1ua33&467dQh%@ @ @ @ 
sBq!Q<$--AX1c2(1r7"21r"uqy1}3E"EieackG #%bM)RC!G*<<Yr"uqyH > #!U1Q319-.0 01 1 1 1 q!Q<-66AX1c2(1r7"21r"uqy1}3E"EieackG #%bM)RC!G*<<Yr"uqyH > #!U1Q319-.0 01 1 1 1 ^Aq!,-q)A,	!56 6 6
:+,
:,-
<=
<=
<=r;   c                  .  ^ [        S[        5      S:X  d   e[        S[        5      [        :X  d   e[        S[        5      S[        S-  -  S-
  :X  d   e[        S[        5      S[        S-  -  S[        -  -
  :X  d   e[        SS5       HG  m[        T5       H!  n [        TU 5      n[        TU5      S:X  a  M!   e   [	        [
        U4S j5        MI     [        SS5       HG  m[        T5       H!  n [        TU 5      n[        TU5      S:X  a  M!   e   [	        [
        U4S j5        MI     [        S5      m[        T[        5      n[        U[         5      (       d   e[        [         T[        5      (       d   e[        T[        * 5      S	T-  [        T[        5      -  :X  d   e[        T* [        5      [        T[        5      :X  d   e[        TS5      [        [        T-  S-  5      :X  d   e[        TS5      S:X  d   e[        T[        5      [        L d   e[        [        T[        5      5      [        T[        [        5      5      :X  d   e[        [        T[        5      [        5      T[        TS-
  [        5      -  :X  d   e[        T[        5      n[        U[        5      (       d   e[        S
5      n[        T[        * 5      S	T-  [        T[        5      -  :X  d   e[        T* [        5      [        TS-
  [        5      * :X  d   e[        [        T* U-   [        5      (       d   e[        TS5      [        [        T-  S-  5      :X  d   e[        TS5      TS-   :X  d   e[        T[        5      [        L d   e[        [        T[        5      5      [        T[        [        5      5      :X  d   e[        [        T[        5      [        5      [        * [        T[        5      -  TS-   [        TS-   [        5      -  -   [        S-  S-
  -  :X  d   e[!        S5      n[        T[        5      R#                  [$        5      R'                  [%        [        SU-  T-   -  [        S-  S-
  U-  -  [)        TSU-  5      -  US[+        TS-  5      45      5      (       d   e[        T[        5      R#                  S5      R'                  [%        [        SU-  T-   -  [        S-  S-
  U-  -  [)        TSU-  5      -  US[+        TS-  5      45      5      (       d   e[        T[        5      R#                  [$        5      R'                  [%        S	U-  S[        -  SU-  T-   -  -  [-        U* T-   5      -  [-        U5      [-        SU-  T-   5      -  -  US[+        TS-  5      45      5      (       d   e[        T[        5      R#                  S5      R'                  [%        S	U-  S[        -  SU-  T-   -  -  [-        U* T-   5      -  [-        U5      [-        SU-  T-   5      -  -  US[+        TS-  5      45      5      (       d   e[	        [.        U4S j5        [	        [.        U4S j5        [	        [.        U4S j5        [	        [.        U4S j5        g )Nr   r.   r/   r1   rL   c                     > [        T T 5      $ N)r   rd   s   r8   r9    test_chebyshev.<locals>.<lambda>      ?1a#8r;   c                     > [        T T 5      $ r   )r   rd   s   r8   r9   r   
  r   r;   r+   r0   yr5   rN   r?   c                  B   > [        T [        5      R                  S5      $ rb   r   r)   rB   rd   s   r8   r9   r   7      z!Q'7'='=a'@r;   c                  B   > [        T [        5      R                  S5      $ rh   r   rd   s   r8   r9   r   8  r   r;   c                  B   > [        T [        5      R                  S5      $ rb   r   r)   rB   rd   s   r8   r9   r   9  r   r;   c                  B   > [        T [        5      R                  S5      $ rh   r   rd   s   r8   r9   r   :  r   r;   )r   r)   ranger   r(   rF   r   r   r   rD   r&   r   r   r   r   r   r   rG   r   rE   r   r   r   r'   )r5   zrH   r   rI   r+   s        @r8   test_chebyshevr      s   aq   aq   aqAvz)))aqAv!|+++1a[qA1%Aa#q(((  	z89	  1a[qA1%Aa#q(((  	z89	  	sA1aAa$$$$ZA&&&&a!a
1a(8 8888qb!
1a 0000as2a46{***aq   a"""Z1%&*Q	!*EEEE
1a !$*QUA*>(>>>>1aAa$$$$sAa!a
1a(8 8888qb!AE1!5 5555Z!a++++as2a46{***aq1u$$$a"""Z1%&*Q	!*EEEE
1a !$
Jq!	Az!a%';;	;adQhGH H H 
sBa##C(11#a"R%!)ndQh^7$$,Q"$5768:AuQqSz7J3L M M M Ma##L1::3q2b519~dQh^@$$,Q"$5@68:AuQqSz7J<L M M M Ma##C(11#rBh!"uqy@" 7""+RC!G"4756?m B+7,7-/11eAaCj.A3C D D D D a##L1::3Rx1"uqyI" @""+RC!G"4@56?m B+7,@-/11eAaCj.A<C D D D D @A
@A
@A
@Ar;   c                    ^ [        S[        5      S:X  d   e[        S[        5      S[        -  :X  d   e[        S[        5      S[        S-  -  S-
  :X  d   e[        S[        5      S[        S-  -  S[        -  -
  :X  d   e[        S[        5      S[        S-  -  S	[        S-  -  -
  S-   :X  d   e[        S
[        5      S[        S
-  -  S[        S-  -  -
  S[        S-  -  -   S-
  :X  d   e[        S5      m[        [         T[        5      (       d   e[        T[        * 5      ST-  [        T[        5      -  :X  d   e[        [         T* [        5      (       d   e[        TS5      ST-  [	        [
        5      -  [        [        R                  TS-  -
  5      -  :X  d   e[        T[        5      [        L d   e[        [        T[        5      5      [        T[        [        5      5      :X  d   e[        S5      n [        T[        5      R                  [        5      R                  [        T5      [        SU -  S[        -  SU -  T-   -  -  [        U 5      [        SU -  T-   5      -  -  U S[!        TS-  5      45      -  5      (       d   e[        T[        5      R                  S5      R                  [        T5      [        SU -  S[        -  SU -  T-   -  -  [        U 5      [        SU -  T-   5      -  -  U S[!        TS-  5      45      -  5      (       d   e[#        [        T[        5      [        5      ST-  [        TS-
  [        5      -  :X  d   e[#        [        T[        5      T5      [%        [        T[        5      T5      :X  d   e['        [(        U4S j5        [        T[        5      R                  [*        5      [	        S5      T-  [+        T[        [	        S5      -  5      -  :X  d   eg )Nr   r.   r/   rL   r1   rM   rq   r]   0   rZ   @   i  ro   rp   r+   r0   r5   rN   r?   c                  B   > [        T [        5      R                  S5      $ rh   )r   r)   rB   rd   s   r8   r9   test_hermite.<locals>.<lambda>Y  s    wq!}':':1'=r;   )r   r)   r   r&   r   r   r   r
   rC   r   r   r   rG   r   rE   r   r   r   r   r(   r'   r   rI   r+   s    @r8   test_hermiter   =  s   1a=A1a=AaC1a=AadFQJ&&&1a=AadFRTM)))1a=Bq!tGbAg-22221a=Bq!tGc!Q$h.QT9C????sAWa####1qb>b1WWQ]2222Wqb!$$$$1a=AqDbM%1*=====1b>RWQ]#wq)A,'????	sB1a=  %..y|C
AcRUQYA !*2yB/C!CAEGI	51:G= 0     1a=  .77	!S"
JcRUQYJ !*2yB/C!CJEGI	51:GF 9     1q!QqSQ):%::::1q!Z1q%AAAA
=>1a=  .GQJa47334 4 4r;   c                    ^ [        S[        5      S:X  d   e[        S[        5      [        :X  d   e[        S[        5      [        S-  S-
  :X  d   e[        S[        5      [        S-  S[        -  -
  :X  d   e[        S[        5      [        S-  S[        S-  -  -
  S-   :X  d   e[        S[        5      [        S-  S[        S-  -  -
  S[        S-  -  -   S-
  :X  d   e[        S	5      m[        [         T[        5      (       d   e[        T[        * 5      S
T-  [        T[        5      -  :X  d   e[        [         T* [        5      (       d   e[        TS5      [	        [
        5      [        [        R                  TS-  -
  5      -  :X  d   e[        T[        5      [        L d   e[        [        T[        5      5      [        T[        [        5      5      :X  d   e[        S5      n [        T[        5      R                  [        5      R                  [        T5      [        [        R                  * U -  [        TSU -  -
  -  -  [        U 5      [        TSU -  -
  5      -  -  U S[!        TS-  5      45      -  5      (       d   e[        T[        5      R                  S5      R                  [        T5      [        [        R                  * U -  [        TSU -  -
  -  -  [        U 5      [        TSU -  -
  5      -  -  U S[!        TS-  5      45      -  5      (       d   e[#        [        T[        5      [        5      T[        TS-
  [        5      -  :X  d   e[#        [        T[        5      T5      [%        [        T[        5      T5      :X  d   e['        [(        U4S j5        [        T[        5      R                  [*        5      [	        S5      T* -  [+        T[        [	        S5      -  5      -  :X  d   eg )Nr   r.   r/   r1   rL   rZ   rY   -   r+   r0   r5   r?   c                  B   > [        T [        5      R                  S5      $ rh   )r   r)   rB   rd   s   r8   r9   #test_hermite_prob.<locals>.<lambda>{  s    |Aq'9'?'?'Br;   )r   r)   r   r&   r   r   r   r
   rC   r   r   r   rG   r   rE   r   r   r   r   r(   r'   r   r   s    @r8   test_hermite_probr   _  s]   1"""1"""1A)))1A!+++1A!Q$!22221A1a4"QT'!9B!>>>>sA\1a((((A22',q!*<"<<<<\A2q))))1b%1*=!====2"$$$\!Q'(LIaL,IIII	sB1%%c*33IaLaffWrMA!B$K'9R=9QqtV;L+LM	Qac
	5     1%%l3<<Yq\affWrMA!B$K'9R=9QqtV;L+LM	Qac
	>     Q"A&!L1a,@*@@@@Q"A&*\!Q5G*KKKK
BC1%%g.GqbMGAqay112 2 2r;   c            
       	  ^ [        S5      m[        SSS9n [        S[        5      S:X  d   e[        S[        5      [        * S-   :X  d   e[        S[        5      [        S-  S-  S[        -  -
  S-   :X  d   e[        S[        5      [        S-  * S	-  S[        S-  -  S-  -   S[        -  -
  S-   :X  d   e[        S
[        5      [        S-   [        [        5      -  :X  d   e[        T[        5      n[	        U[        5      (       d   e[        TS5      S:X  d   e[        T[
        5      ST-  [
        -  :X  d   e[        T[
        * 5      [
        L d   e[        [        T[        5      5      [        T[        [        5      5      :X  d   e[        S5      n[        T[        5      R                  [        5      R                  [        [        U-  [        T* U5      -  [        U5      S-  -  UST45      5      (       d   e[        T[        5      R                  S5      R                  [        [        U-  [        T* U5      -  [        U5      S-  -  UST45      5      (       d   e[        U [        5      R                  [        5      R                  [        [        5      [        [        * U-  [        U S-   U5      -  [        U5      S-  -  USU * S-
  45      -  5      (       d   e[        U [        5      R                  S5      R                  [        [        5      [        [        * U-  [        U S-   U5      -  [        U5      S-  -  USU * S-
  45      -  5      (       d   e[        [        T[        5      [        5      [        TS-
  S[        5      * :X  d   e[        S5      n[        T* [        5      [        [        5      [        TS-
  [        * 5      -  :X  d   e[        S[        5      [        [        5      [        S[        * 5      -  :X  d   e[        [        T* U-   [        5      (       d   e[!        ["        S 5        [!        ["        S 5        [!        [$        U4S j5        [!        [$        U4S j5        g )Nr+   r2   T)negativer   r.   r/   r1   rZ   rN   r0   r5   r?   rm   c                  "    [        S[        5      $ r7   )r"   r)   r>   r;   r8   r9   test_laguerre.<locals>.<lambda>  s    xa0r;   c                  6    [        [        SS5      [        5      $ )NrA   r/   )r"   r   r)   r>   r;   r8   r9   r     s    xA:r;   c                  B   > [        T [        5      R                  S5      $ rb   r"   r)   rB   rd   s   r8   r9   r     rf   r;   c                  B   > [        T [        5      R                  S5      $ rh   r   rd   s   r8   r9   r     rf   r;   )r   r"   r)   r   rD   r   r   r   rG   r   rE   r   r   r   r   r&   r(   rF   r'   )r2   rH   rI   r5   r+   s       @r8   test_laguerrer     s   sAsT"A Aq>QAq>aR!V###Aq>QT!Vac\A----Aq>adU1WqAvax/!A#59999B?q1uc!fn,,,AAa""""Aq>QAr?rAgbj(((Asr!!!Xa^$IaL(AAAA	sBAq>!!#&//ArE/1"b)))B-*::RAJGI I I IAq>!!,/88ArE/1"b)))B-*::RAJGI I I IAq>!!#&//AsQB8OAE266y}a7GGQBFO 	    Aq>!!,/88AsQB8OAE266y}a7GGQBFO 	    A"~a!eQ'B&BBBBsAQB?c!fXa!eaR%88888B?c!fXa!_4444XrAvq))))
:01
::;
>?
>?r;   c                    ^^ [        S5      m[        S5      n [        S5      m[        ST[        5      S:X  d   e[        ST[        5      [        * T-   S-   :X  d   e[        ST[        5      R                  5       [        S-  S-  TS-   [        -  -
  TS-   TS-   -  S-  -   R                  5       :X  d   e[        ST[        5      R                  5       [        S-  * S-  TS-   [        S-  -  S-  -   TS-   TS-   -  [        -  S-  -
  TS-   TS-   -  TS-   -  S-  -   R                  5       :X  d   e[	        S	5       H6  n[        US[        5      R                  5       [        U[        5      :X  a  M6   e   [        TU [        5      n[        U[        5      (       d   e[        TS[        5      [        T[        5      :X  d   e[        TTS5      [        TT-   T5      :X  d   e[        S
SS9n[        UT[        5      SU-  [        -  :X  d   e[        UT[        * 5      [        L d   e[        [        TT[        5      [        5      [        TS-
  TS-   [        5      * :X  d   e[        S5      n[        [        TT[        5      T5      R                  [        [        UT[        5      T* T-   -  USTS-
  45      5      (       d   e[        [        TT[        5      5      [        T[        T5      [        [        5      5      :X  d   e[        TT[        5      R                  [        5      R                  [!        TT-   S-   5      [        [        U-  [#        T* U5      -  [%        U5      [!        UT-   S-   5      -  -  UST45      -  [%        T5      -  5      (       d   e[        TT[        5      R                  S5      R                  [!        TT-   S-   5      [        [        U-  [#        T* U5      -  [%        U5      [!        UT-   S-   5      -  -  UST45      -  [%        T5      -  5      (       d   e['        [(        U4S j5        ['        [*        UU4S j5        ['        [*        UU4S j5        g )Nr+   r2   alphar   r.   r/   r1   rZ   r^   pTr3   r0   r5   r?   c                  &   > [        ST [        5      $ r7   )r   r)   )r   s   r8   r9   %test_assoc_laguerre.<locals>.<lambda>  s    ~dE1=r;   c                  D   > [        TT [        5      R                  S5      $ rb   r   r)   rB   r   r+   s   r8   r9   r         ~a'B'H'H'Kr;   c                  D   > [        TT [        5      R                  S5      $ rP   r   r   s   r8   r9   r     r   r;   )r   r   r)   ri   r   r$   rD   r"   r   r   r   r   rE   r   r   rG   r   r   r   r(   rF   r'   )r2   irH   r   rI   r   r+   s        @@r8   test_assoc_laguerrer     sO   sAsA7OE !UA&!+++!UA&1"u*q.888!UA&--/	
Aa519a-	519uqy"9!";	;CCEF F F!UA&--/
Q$qEAIq!t#A%	%UQY(?(A!(C	C	UQY+A-
./5vx8 8 8
 2YaA&--/=A3FFFF  	q!QAa((((!Q"hq!n444!UA&(519e*DDDDsT"A!UB'B72:555!URC(B...q%+Q/	Auqy!	,,- - -	sBq%+U3<<N2ua(5&1*5Aq1u~FH H H H ^Aua01q)E*IaL9: : : !UA&..s3<<%!)a- QU?A2r+B%Br]5ea00&2461:"? ??H|LM M M M !UA&..|<EE%!)a- QU?A2r+B%Br]5ea00&2461:"? ??H|LM M M M :=>
KL
KLr;   N)Bsympy.concrete.summationsr   sympy.core.functionr   r   sympy.core.numbersr   r   r   r	   sympy.core.singletonr
   sympy.core.symbolr   r   (sympy.functions.combinatorial.factorialsr   r   r   $sympy.functions.elementary.complexesr   &sympy.functions.elementary.exponentialr   #sympy.functions.elementary.integersr   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   'sympy.functions.special.gamma_functionsr   sympy.functions.special.hyperr   #sympy.functions.special.polynomialsr   r   r   r   r   r   r   r   r   r    r!   r"   r#   sympy.polys.orthopolysr$   sympy.polys.polyrootsr%   sympy.core.exprr&   r'   sympy.testing.pytestr(   r)   rJ   rS   rk   r   r   r   r   r   r   r>   r;   r8   <module>r      s    ) 2 6 6 " - [ [ : 6 5 9 8 9 / ]  ]  ]  ] 0 ' % 2 ' 3K=D@1Eh4@n2>j@BF4D2D+@\,Mr;   