
    Цi)                        S SK Jr  S SKJrJrJrJr  S SKJr  S SK	J
r
  S SK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  S SKJr  S SK J!r!  S SK"J#r#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/J0r0J1r1J2r2J3r3J4r4J5r5  S SK6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrB  S SKCJDrDJErEJFrF  S SKGJHrH  \
" S5      rIS rJS rKS rL\DS 5       rMS rNS rO\ES 5       rPS  rQS! rRS" rSS# rTS$ rUS% rVS& rWS' rXS( rYS) rZS* r[g+),    )Sum)IRationaloopiS)Symbol)imre)log)floor)sqrt)	Piecewise)besseli)beta)zeta)	FiniteSet)simplify)lambdify)EqNe)exp)Or)Range)PEvariancedensitycharacteristic_functionwheremoment_generating_functionskewnesscdfkurtosis
coskewness)PoissonDistributionGeometricDistributionFlorySchulzPoisson	GeometricHermiteLogarithmicNegativeBinomialSkellam	YuleSimonZeta
DiscreteRV)slownocache_failraises)Expectationxc                     Sn [        U 5      n[        UR                  S5      R                  5       S-
  5      S:  d   e[        UR                  S5      R                  5       S-
  5      S:  d   eUR	                  [
        [
        5      U :X  d   eUR	                  [
        S-  [
        5      UR	                  [
        [
        5      S-  -
  U :X  d   eg )N   
      MbP?g$@   )r'   absr$   evalfexpectationr7   )lps     a/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/sympy/stats/tests/test_discrete_rv.pytest_PoissonDistributionrD   !   s    	AAAquuRy 1$%,,,quuT{  "Q&'$...==A!###==Aq!AMM!Q$7$::a???    c                     Sn [        SU 5      n[        U5      U :X  d   e[        SU-  5      SU -  :X  d   e[        U5      U :X  d   e[        U5      [	        U 5      :X  d   e[        [        USS9[        5      (       d   e[        [        SU-  SS9[        5      (       d   eUR                  R                  S5      S:X  d   eg )Nr9   r7   r=   Fevaluater;   )	r*   r   r   r   r'   
isinstancer6   pspacecompute_expectation)rA   r7   s     rC   test_PoissonrL   *   s    	AQAQ4199QqS6QqS==A;!1:,Q////aE*K8888a!e,k::::88''*a///rE   c                  6   [        S5      n [        S5      n[        SU 5      n[        U5      SU -
  U -  :X  d   e[        U5      SSU -
  -  U S-  -  -
  R	                  5       [        S5      :X  d   e[        U5      " U5      U S-  U-  SU -
  US-
  -  -  :X  d   eg )Nazr7   r=   r;   r   )r
   r)   r   r   r   r	   r   )rN   rO   r7   s      rC   test_FlorySchulzrP   7   s    sAsACAQ4AE19QK!QU)AqD.(224!<<<1:a=AqDFAEQU#33333rE   c                  V   [         R                  S-  n [        U 5      nUR                  [        [        5      SU -  :X  d   eUR                  [        S-  [        5      UR                  [        [        5      S-  -
  SU -
  U S-  -  :X  d   e[        UR                  S5      R                  5       S-
  5      S:  d   e[        UR                  S5      R                  5       S-
  5      S:  d   e[        S[        S5      S-  S	9n[        U5      " [        S
5      S-  5      [        U[        S
5      S-  :*  5      :X  d   e[        S[        SS5      5      n[        S[        SS5      5      n[        X3U-   USU-  -   5      R                  5       [        S5      [        SS5      -  :X  d   eg )N   r;   r=   i N  r<   g33333@G   )rB      XYr9   r:      Q   i~  )r	   Oner(   r@   r7   r>   r$   r?   r+   r   r   r&   r   r   )rB   drS   rV   rW   s        rC   test_GeometricDistributionr\   @   sf   		Aa A==A!A#%%%==Aq!AMM!Q$7$::qsAqDjHHHquuU|!!#a'(4///quuW~##%)*T111#1a Aq6!A$q&>QqAaDF{^+++#x1~&A#x2'AaQAaC(113tCy"dAS7SSSSrE   c            	      f  ^^ [        SSS9m[        SSS9m[        [        UU4S j5        [        SSS9m[        SSS9m[        [        UU4S j5        [        SSS9m[        S5      n [        S	TT5      n[	        U5      " U 5      [        T[        U 5      S
-
  -  T[        SU -  5      S
-
  -  -   5      :X  d   e[        U5      " U 5      [        T[        [        U -  5      S
-
  -  T[        S[        -  U -  5      S
-
  -  -   5      :X  d   e[        U5      TST-  -   :X  d   e[        S	SSS9n[        U5      " S5      S[        S5      -  S-  :X  d   e[        U5      S:X  d   e[        U5      S:X  d   e[        U5      [        SS5      :X  d   e[        U5      S[        S5      -  S-  :X  d   eg )Na1T)positivea2)negativec                     > [        ST T5      $ NHr,   r^   r`   s   rC   <lambda>test_Hermite.<locals>.<lambda>S       wsB3rE   c                     > [        ST T5      $ rc   re   rf   s   rC   rg   rh   W   ri   rE   r7   rd   r;   r=   rR   rT   rf   !   i      i     %   i  )r
   r5   
ValueErrorr,   r"   r   r    r   r   r   r   r%   r   r#   r   )r7   rd   r^   r`   s     @@rC   test_Hermiterq   P   s   	t	$B	t	$B
:34	t	$B	t	$B
:34	t	$BsARA%a(+s2s1vz?.0#ac(Q,.?4@ 0A A A A"1%a(CC!HqL0A.0#ac!e*q..A1B -C C C CQ42"9a A1:a=Bs2wJqL(((Q42::A;"A;(3s++++A;"T"X+c/)))rE   c                     [         R                  n [        SU 5      n[        U5      U * SU -
  [	        SU -
  5      -  -  :X  d   e[        U5      S[	        S5      S-  -  S[	        S5      -  -   :X  d   e[        SUS-  -  SU-  -   S-   5      SS[	        S5      -  -   :X  d   e[        [        USS	9[        5      (       d   eg )
Nr7   r;   r=   r9   rT   rU   FrG   )r	   Halfr-   r   r   r   rI   r6   )rB   r7   s     rC   test_Logarithmicru   i   s    	ACAQ4A2!a%3q1u:-....A;"SVQY,3q61111Qq!tVac\A!a#a&j.000aE*K8888rE   c                  <   Sn [         R                  S-  n[        SX5      n[        U5      X-  SU-
  -  :X  d   e[	        U5      X-  SU-
  S-  -  :X  d   e[        US-  SU-  -   S-   5      [        SS5      :X  d   e[        [        USS	9[        5      (       d   eg )
NrR   r9   r7   r;   r=   i#  rT   FrG   )r	   rZ   r.   r   r   r   rI   r6   )rrB   r7   s      rC   test_negative_binomialrx   r   s    	A		Aa#AQ413!A#;A;!#1q.(((QTAaCZ!^q 1111aE*K8888rE   c            
      F   [        S5      n [        S5      n[        S5      n[        SX5      n[        U5      " U5      X-  US-  -  [        U * U-
  5      -  [	        US[        X-  5      -  5      -  :X  d   e[        U5      R                  5       X [        X-   5      -  U[        X-   5      -  -   -  X[        X-   5      -  U[        X-   5      -  -   -  -
  :X  d   e[        U5      R                  5       X-   :X  d   e[        U5      X-
  :X  d   e[        U5      " U5      [        U [        [        U-  5      -  U -
  U-
  U[        [        * U-  5      -  -   5      :X  d   e[        U5      " U5      [        U [        U5      -  U -
  U-
  U[        U* 5      -  -   5      :X  d   eg )Nmu1mu2rO   r7   r=   )r
   r/   r   r   r   r   r#   expandr   r   r    r   r"   )rz   r{   rO   rV   s       rC   test_skellamr}   ~   s   
-C
-CsASA1:a=SW!,SD3J1T#']?34 4 4 4A;3DO(;cSY?  )  $!#&DO(;c$sy/>Q(Q#R$S S S SA;39,,,Q439"1%a(CC!HsS 3sA2a4y=0-2 2 2 2%a(+sCF
S3S!W,0. . . .rE   c                     SSK Jn   U " S5      n[        SU5      n[        [	        U5      5      XS-
  -  :X  d   e[        [        U5      5      US-  US-
  S-  US-
  -  -  :X  d   e[        [	        USS9[        5      (       d   e[        U5      " U5      [        [        [        U5      S	5      * [        U5      -  S-   US:  4S
5      :X  d   eg )Nr   r   r9   r7   r;   r=   FrG   rT   )r   T)sympy.core.singletonr	   r0   r   r   r   rI   r6   r$   r   r   r   )r	   rhor7   s      rC   test_yule_simonr      s    &
A$C#sAAaD>S!G_,,,HQK CFsQwlcAg.F$GGGGaE*K8888q6!9	Dq1$5#5eAh#>#BAF"KYWWWWrE   c                  *   [        S5      n [        SU 5      n[        U5      [        U S-
  5      [        U 5      -  :X  d   e[	        [        U5      5      [        U 5      [        U S-
  5      -  [        U S-
  5      S-  -
  [        U 5      S-  -  :X  d   eg )NrR   r7   r;   r=   )r	   r1   r   r   r   r   )sr7   s     rC   	test_zetar      s    	!AS!AQ44!9tAw&&&&HQK Q$qs)d1Q3il*d1gqj%9 9 9 9rE   c            	      8   [        S[        SS5      5      n [        SS5      n[        S[        5      n[	        [        U S5      5      [        SS	5      :X  d   e[	        U S:  5      [        S
S5      :X  d   e[	        U S:  5      [        SS	5      :X  d   e[	        U S:  5      [        SS5      :X  d   e[	        U S:*  5      [        SS	5      :X  d   e[	        [        U S5      5      [        SS	5      :X  d   e[	        [        US5      5      S[        S5      -  S-  :X  d   e[	        US:  5      S[        S5      -  :X  d   e[	        US:  5      R                  S[        SS5      S[        S5      -  S-  -   -  [        S5      -  S-  5      (       d   e[	        US:  5      R                  S[        SS5      S[        S5      -  S-  -   -  [        S5      -  S-  5      (       d   e[	        US:*  5      S[        S5      -  S-  :X  d   e[	        [        US5      5      R                  S[        S5      -  S[        SS5      S[        S5      -  S-  -   -  [        S5      -  S-  -   5      (       d   e[	        U [        R                  :  5      [        R                  L d   e[	        U [        R                  :  5      [        R                  L d   e[	        US:  5      [        S[        -
  -  :X  d   e[	        [        US5      5      [        [        * S-   S-  -  :X  d   eg )NrV   r;   rR   rW   rT   er9      }   	      @   =   m       rl   iiG   r=   )r+   r   r*   r7   r   r   r   r   equalsr	   InfinityrZ   Zero)rV   rW   rS   s      rC   test_discrete_probabilityr      s   #x1~&AQA#qAR1X;(2s++++QU8x2&&&QU8xC((((Q!V9R((((Q!V9S))))R1X;(3,,,,R1X;"SW*Q,&&&QU8r#b'z!!!QU8??2xR01SV8B;>?BGIJJJJQ!V9Bb 1Ac!fHRK ?@RHJKKKKQ!V93r7
1$$$R1X;
3r7
R#r*Qs1vXb[89#b'A!CCE E E EQ^%%%Q^&&&QU8q!A#wR1X;!aR!VaK-'''rE   c            	      Z  ^ [        S5      S-  n [        SSSS9mU SU -
  TS-
  -  -  n[        TU[         R                  SS9n[	        U5      [	        [        S[        S5      S-  5      5      s=:X  a  S:X  d   e   e[        US:  5      [        S5      S	-  :X  d   eUR                  R                  R                  [         R                  :X  d   e[        [        U4S
 j5        [        TST-  [         R                  5      n[        US:  5      S:X  d   e[	        U5      [        :X  d   eg )Nr;   r=   r7   T)integerr_   )setcheckrS   r9      c            	      :   > [        T T [        [        S5      6 SS9$ )NrT   T)r   )r2   r   range)r7   s   rC   rg   !test_DiscreteRV.<locals>.<lambda>   s    z!Q	580DDQrE   )r	   r
   r2   Naturalsr   r+   r   rJ   domainr   r5   rp   r   )rB   pdfDrV   r7   s       @rC   test_DiscreteRVr      s    	!QAsD40A
QUa!e
C1cqzz6AQ41YsAaDF+,111111QU8qtAv88??!**,,,
:QR 	1ac1::&AQU8q==Q42::rE   c            
        ^ SS K mU4S jn U " [        S[        SS5      5      STR                  5        U " [	        S[        SS5      5      STR                  5        U " [        SS[        SS	5      5      STR                  5        U " [        S
S5      STR                  5        U " [        SS5      STR                  5        U " [        SS5      STR                  5        g )Nr   c                   >^^^ [        U 5      n[        S5      n[        S5      n[        U/[        U 5      " U5      S5      n[        XT/U" U5      [	        [
        U-  U-  5      -  S5      mUUUU4S jnS H_  nU" U5      n	U" U5      n
[        [        U	5      [        U
5      -
  5      S:  d   e[        [        U	5      [        U
5      -
  5      S:  a  M_   e   g )Ntr7   mpmathc                 6   >^  TR                  UU 4S jTT/SS9$ )Nc                    > T" U T5      $ )N )r7   fr   s    rC   rg   ^test_precomputed_characteristic_functions.<locals>.test_cf.<locals>.<lambda>.<locals>.<lambda>   s    a1grE   r:   )	maxdegree)nsum)r   r   r   support_lower_limitsupport_upper_limits   `rC   rg   Ltest_precomputed_characteristic_functions.<locals>.test_cf.<locals>.<lambda>   s%    $5!486AC $ ErE   )r=   rR   r      g-q=)	r   r	   r   r    r   r   r>   r   r   )distr   r   r   r   r7   cf1cf2
test_pointn1n2r   r   s    ``        @rC   test_cf:test_precomputed_characteristic_functions.<locals>.test_cf   s    dmcFcF s3D9!<hG aVSVC!AJ.9E (JZBZBr"v2'%///r"v2'%/// (rE   gr;   r9   rA   rR   nrU   rB   yrO   )	r   r+   r   infr-   r.   r*   r0   r1   )r   r   s    @rC   )test_precomputed_characteristic_functionsr      s    0* Ic8Aq>*Avzz:KXa^,a<S!Xa^4aDGCOQ

+Ic1q&**-DaL!VZZ(rE   c            
         [        S5      n [        [        S[         R                  5      5      " U 5      nUR	                  U 5      R                  U S5      S:X  d   e[        [        S[         R                  5      5      " U 5      nUR	                  U 5      R                  U S5      S[        S5      -  :X  d   e[        [        SS[        SS	5      5      5      " U 5      nUR	                  U 5      R                  U S5      [        SS5      :X  d   e[        [        S
S5      5      " U 5      nUR	                  U 5      R                  U S5      S:X  d   e[        [        SSS5      5      " U 5      nUR	                  U 5      R                  U S5      [        S5      * [        S5      -   [        S[        S5      -   [        S5      -   5      -  :X  d   e[        [        SS	5      5      " U 5      n[        UR	                  U 5      R                  U S5      5      [        S	S5      :X  d   e[        [        SS5      5      " U 5      nUR	                  U 5      R                  U S5      [         S-  S[#        S5      -  -  :X  d   eg )Nr   r   r   r=   rA   r;   r   rR   r9   rB   r   r   rO   rT   Z   )r	   r"   r+   rt   diffsubsr-   r   r.   r   r*   r/   r   r0   r   r1   r   r   )r   geometric_mgflogarithmic_mgfnegative_binomial_mgfpoisson_mgfskellam_mgfyule_simon_mgfzeta_mgfs           rC    test_moment_generating_functionsr      s'   	#A.yaff/EFqIMa %%a+q0000S!&&1IJ1MO"''1-3q69996a!Q02235 %%a(--a3x1~EEE,WS!_=a@KA##Aq)Q...,WS!Q-?@CKA##	1r7(SV#Sc"gA)>%??@ @ @ 0	#q0AB1ENN''*//156(1a.HHH)$sA,7:H==  A&"a%DG*<<<<rE   c                  *   [        S[        R                  5      n [        [	        U S:  U S:  5      5      [        SS5      :X  d   e[        [	        U S:  U S:  5      5      [        U S:  5      :X  d   e[        [	        U S:  U S:  5      5      S:X  d   eg )NrV   r9   rT   rl   r   r=   r;   )r+   r	   rt   r   r   r   )rV   s    rC   test_Orr     s    #qvvARAq1u(2r"2222RAq1u!AE(***RQA1$$$rE   c                     [        S[        SS5      5      n [        SS5      n[        U S-  S:  5      R                  [        S[        R                  S5      :X  d   e[        U S-  S:  5      R                  [        S[        R                  S5      :X  d   e[        US-  S:  5      R                  [        S	SS5      :X  d   e[        US-  S:*  5      R                  [        S	SS5      :X  d   eg )
NrV   r;   rR   rW   rT   r=   r9   r   r   )r+   r   r*   r!   r   r   r	   r   rV   rW   s     rC   
test_wherer     s    #x1~&AQAA?%1::q"9999A5AJJ#::::A?%1a.000A5Aq>111rE   c                     [        S[        SS5      5      n [        SS5      n[        U S:  U S:  5      S:X  d   e[        U S:  U S:  5      [        SS5      :X  d   e[        US:  US:  5      S:X  d   e[        [	        US5      US:  5      S[        S5      -  S-  :X  d   e[        [	        US5      [	        US5      5      S:X  d   e[        U S:  [	        U S5      5      S:X  d   e[        U S:  [	        U S5      5      S:X  d   eg )	NrV   r=   r9   rW   r;   r   r   )r+   r   r*   r   r   r   r   s     rC   test_conditionalr     s   #x1~&AQAQUAE?aQUAE?hq!n,,,QUAE?aR1XqAv!CG)A+---R1Xr!Qx A%%%QUBq!H"""QUBq!H"""rE   c                  z   [        S[        R                  5      n [        S[        SS5      5      n[	        [        X-   S:  5      R                  [        5      5      S:X  d   e[	        [        X-   S:  5      R                  [        5      5      S:X  d   e[        [        X-   S5      5      [        SS5      :X  d   eg )NX1X2r;   r9   z@Sum(Piecewise((1/(4*2**n), n >= -1), (0, True)), (n, -oo, -1))/3zdSum(Piecewise((2**(X2 - n - 2)*(3/2)**(1 - X2)/6, X2 - n <= 2), (0, True)), (X2, 1, oo), (n, 1, oo))   )	r+   r	   rt   r   strr   rewriter   r   )r   r   s     rC   test_product_spacesr   !  s    	4	 B	4!Q	(Bq1~%%c*+JL L Lq1~%%c*+	=> > > R^B///rE   N)\sympy.concrete.summationsr   sympy.core.numbersr   r   r   r   r   r	   sympy.core.symbolr
   $sympy.functions.elementary.complexesr   r   &sympy.functions.elementary.exponentialr   #sympy.functions.elementary.integersr   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   sympy.functions.special.besselr   &sympy.functions.special.beta_functionsr   &sympy.functions.special.zeta_functionsr   sympy.sets.setsr   sympy.simplify.simplifyr   sympy.utilities.lambdifyr   sympy.core.relationalr   r   r   sympy.logic.boolalgr   sympy.sets.fancysetsr   sympy.statsr   r   r   r   r    r!   r"   r#   r$   r%   r&   sympy.stats.drv_typesr'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   sympy.testing.pytestr3   r4   r5    sympy.stats.symbolic_probabilityr6   r7   rD   rL   rP   r\   rq   ru   rx   r}   r   r   r   r   r   r   r   r   r   r   r   rE   rC   <module>r      s    ) 4 4 " $ 9 6 5 9 : 2 7 7 % , - ( 6 " &/ / / /0 0 0 0 < ; 8
3K@
04 T T*29 9 9.$X9(. )@=6%2	#0rE   