
    \hw                        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  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)  S SK*J+r+J,r,  S SK-J.r.  S SK/J0r0  S SK1J2r2  S SK3J4r4J5r5  S SK6J7r7  S SK8J9r9  S r:S r;\;" \9\95      (       d   e\;" \9S5      (       d   e\;" \9\9S-   5      (       a   eS r<S r=S r>S r?S r@S  rAg!)"    )Sum)oopi)Eq)S)symbols)	factorial)exp)sqrt)	Piecewise)beta)erf)gamma)Integral)Interval)NormalPEdensityGammaPoissonRayleighvariance	BernoulliBetaUniformcdf)CompoundDistributionCompoundPSpace)NormalDistribution)PoissonDistribution)BernoulliDistribution)raisesignore_warnings)MultivariateNormalDistribution)xc                 R    SR                  [        U 5      R                  5       5      $ )N )joinstrsplit)ss    Z/var/www/auris/envauris/lib/python3.13/site-packages/sympy/stats/tests/test_compound_rv.py<lambda>r.      s    Q(    c                  L    [        [        [        [        U 5      5      5      S:H  $ )N   )lensetmapflat)as    r-   r.   r.      s    3s3tQ<()Q.r/   r&   r1   c                  P   [        SSS5      n [        SU S5      n[        U5      " [        5      R                  5       [	        S5      [        [        S-  * S-  [        S-  -   [        S5      S-  -
  5      -  S[	        [        5      -  -  :X  d   e[        U5      S:X  d   e[        US:  5      [        S5      S-  :X  d   e[        US:  5      R                  5       [        S5      S-  [        [	        S5      S-  5      S-  -
  :X  d   e[        U5      [        U 5      S	-   :X  d   eg )
NXr1         
   (            )r   r   r&   simplifyr   r
   r   r   r   r   r   r   )r8   Ys     r-   test_normal_CompoundDistrB   #   s   sAqAsAqA1:a=!!#tBxQTE"HqtOad2g4M0N'NPRSWXZS[P['\\\\Q4199QU8qtAvQU81Q46CR
OA,=#====A;(1+,,,,r/   c                  L   [        SSSS9u  pn[        SX5      n[        SU5      n[        U5      " U5      R	                  5       X-  US-   U * U-
  -  -  [        X-   5      -  [        U 5      [        US-   5      -  -  :X  d   e[        U5      R	                  5       X-  :X  d   eg )Nzk t yTpositiverealGr   r1   )r   r   r   r   r@   r   r   )ktyrG   Ds        r-   test_poisson_CompoundDistrL   /   s    g48GA!c1AQA1:a=!!#qtQUqb1f,='=eAEl'JERSHUZ[\_`[`UaLa'bbbbQ4==?ac!!!r/   c                  8   [        SSS5      n [        SU 5      n[        U5      R                  [	        S5      S-  [	        S5      S-  S.:X  d   e[        U5      [        [        US5      5      s=:X  a  [	        S5      S-  :X  d   e   e[        U5      [	        S5      S-  :X  d   e[        U5      [	        S5      S-  SS.:X  d   e[        S[	        S5      S-  5      n[        S	U5      n[        U5      R                  [	        S5      S-  [	        S5      S-  S.:X  d   e[        US
:  5      [	        S5      S-  :X  d   e[        SSS5      n [        SU 5      n[        U5      [	        S5      S-  :X  d   e[        [        US5      5      [        U5      :X  d   eg )Nr8   r1   r9   rA      )r   r1   	   r6   bg      ?r   )r   r   r   dictr   r   r   r   r   r   r   )r8   rA   r6   rP   s       r-   test_bernoulli_CompoundDistrR   8   sg   S!QA#qA1:??!A$q&QqT!V4444Q41R1X;(!A$q&(((((A;!A$q&   q61aA&&&& 	#qtAvA#qA1:??!A$q&QqT!V4444QW:1aQA#qAQ41Q46>>R1X;!A$r/   c            
      P   [        SS5      n [        SSU 5      nSn[        [        U5      " [        5      U5      (       d   eSn[        [        5         [        [        USS9R                  [        5      U5      (       d   e S S S 5        [        SS	5      n[        S
U5      n[        SU5      n[        [        U* 5      U[        -  -  [        [        S5      [        U* 5      -  X-  -  [        U5      [        U5      -  -  US[        45      -  [        [        5      -  US[        45      n[        U5      " [        5      U:X  d   e[        SS	S5      n[        SSS5      n[        SX5      n	Sn[        [        U	SS9" [        5      U5      (       d   eg ! , (       d  f       GN= f)NRr:   r8   rN   z
        Piecewise(((-sqrt(pi)*sinh(x/4 - 3/4) + sqrt(pi)*cosh(x/4 - 3/4))/(
        8*sqrt(pi)), Abs(arg(x - 3)) <= pi/4), (Integral(sqrt(2)*exp(-(x - 3)
        **2/(2*R**2))*exp(-R**2/32)/(32*sqrt(pi)), (R, 0, oo)), True))zw
        Integral(X*Integral(sqrt(2)*exp(-(X-3)**2/(2*R**2))*exp(-R**2/32)/(32*
        sqrt(pi)),(R,0,oo)),(X,-oo,oo))Fevaluater1   rA   Zr   Nr9   MrK   z
        Integral(sqrt(2)*exp(-(N-1)**2/8)*Integral(exp(-(x-M)**2/(2*N**2))*exp
        (-(M-3)**2/32)/(8*pi*N),(M,-oo,oo))/(4*sqrt(pi)),(N,-oo,oo)))r   r   streqr   r&   r$   UserWarningr   rewriter   r   r   r
   r	   r   )
rT   r8   ansexprerA   rW   exprdrY   rZ   rK   s
             r-   test_unevaluated_CompoundDistra   L   s    	aAsAqAJC A$$$$+E 
	%Qq5)11(;UCCCC 
& 	QAQAQAQB1SRaR!5y|IaL7P "q": (|,./BZ9E1:a=E!!!sAqAsAqAsAAHE U+A.6666! 
&	%s   /F
F%c            
      6  ^	 [        SSS5      n [        U S5      n[        U5      nUR                  (       d   eUR                  [        [        * [        5      :X  d   eUR                  [        SS9R                  5       [        [        S-  * S-  [        S-  -   [        S5      S-  -
  5      S	[        [        5      -  -  :X  d   e[        [        [        SS
5      5      [        5      (       a   e[        SS/SS/SS//5      m	[!        ["        U	4S j5        [%        SSS5      n ['        U SS5      n[        U5      nUR(                  (       d   eUR                  SS1:X  d   e[+        SSSS9nUR                  USS9[-        [        S5      S[/        SS5      -  -  [1        US5      4[        S5      S[/        SS5      -  -  [1        US5      4S5      :X  d   e[+        SSSS9u  pVn[3        SXV5      n[5        U5      n [        U 5      nUR6                  (       d   eUR                  [        R8                  :X  d   eUR                  USS9R                  5       Xg-  US-   U* U-
  -  -  [;        UU-   5      -  [;        U5      [;        US-   5      -  -  :X  d   eg )Nr8   r9   r:   TrU   @   r?   r1      rN   c                     > [        T 5      $ )N)r   rZ   s   r-   r.   ,test_Compound_Distribution.<locals>.<lambda>x   s    (<Q(?r/   r   rJ   F)negativeinteger   <   )r   Tzk t zrD   rG   )r   r    r   is_Continuousr3   r   r   pdfr&   r@   r
   r   r   r   
isinstancer%   r#   NotImplementedErrorr   r"   	is_Finiter   r   r   r   r   r!   is_Discrete	Naturals0r   )
r8   rY   CBrJ   rH   rI   zrG   rZ   s
            @r-   test_Compound_Distributionrv   m   s~   sAqA1a AQA???55HbS"%%%%55T5"++-adU2X"_qtBw5N1OQRSWXZS[Q[1\\\\./A!Q/GH02 2 2 2&1vAA/?@A
 ?@S!QAaA&AQA;;;55QF??eT2A55T5"i1r$q!*}1Er!Qx0P1r$q!*}%r!Qx0)'= = = = g48GA!c1AAAQA===55AKK55T5"++-q1uQ6G1GaO I 2(5Q</21 1 1 1r/   c                    ^ [        SSS5      n [        SSS5      n[        UR                  [        5      (       a   e[	        SS5      n[        S5      n[        SSS	5      n[        S
U5      n[        SU5      n[        SU5      n[        U[        5      (       a   e[        U[        5      (       a   e[        U[        5      (       a   e[        SS/SS/SS//5      m[        [        U4S j5        [        SU S5      n[        UR                  [        5      (       d   eUR                  R                  [        [	        U S5      5      :X  d   eUR                  R                  R                  [        [        * [        5      :X  d   eg )Nr8   r9   r:   rA   rN      r1   g?r   rY   rK   rt   c                     > [        ST 5      $ )NrZ   )r   rf   s   r-   r.   &test_compound_pspace.<locals>.<lambda>   s    ~c15r/   )r   rn   pspacer   r    r!   r"   r%   r#   
ValueErrordistributionr   domainr3   r   r   )	r8   rA   rY   rK   rt   pspace1pspace2pspace3rZ   s	           @r-   test_compound_pspacer      sO   sAqAsAqA!((N33331a AAAc1a(AS!$GS!$GS!$G'>2222'>2222'>2222&1vAA/?@A
:56sAqAahh////88  $89KAq9Q$RRRR88??(B3"3333r/   N)Bsympy.concrete.summationsr   sympy.core.numbersr   r   sympy.core.relationalr   sympy.core.singletonr   sympy.core.symbolr   (sympy.functions.combinatorial.factorialsr	   &sympy.functions.elementary.exponentialr
   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   &sympy.functions.special.beta_functionsr   'sympy.functions.special.error_functionsr   'sympy.functions.special.gamma_functionsr   sympy.integrals.integralsr   sympy.sets.setsr   sympy.statsr   r   r   r   r   r   r   r   r   r   r   r   sympy.stats.compound_rvr   r   sympy.stats.crv_typesr    sympy.stats.drv_typesr!   sympy.stats.frv_typesr"   sympy.testing.pytestr#   r$   sympy.stats.joint_rv_typesr%   	sympy.abcr&   r5   r[   rB   rL   rR   ra   rv   r    r/   r-   <module>r      s    ) ' $ " % > 6 9 : 7 7 9 . $A A A A H 4 5 7 8 E  ).Q{{ {Q}} }AE?? -"(7B1@4r/   