
    sgw                        d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4m5Z5 d dl6m7Z7 d dl8m9Z9 d Z:d Z; e;e9e9      sJ  e;e9d      sJ  e;e9e9dz         rJ d Z<d Z=d Z>d Z?d Z@d  ZAy!)"    )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    dj                  t        |       j                               S )N )joinstrsplit)ss    U/var/www/html/venv/lib/python3.12/site-packages/sympy/stats/tests/test_compound_rv.py<lambda>r.      s    Q(     c                  L    t        t        t        t        |                   dk(  S )N   )lensetmapflat)as    r-   r.   r.      s    3s3tQ<()Q. r/   r&   r1   c                  F   t        ddd      } t        d| d      } t        |      t              j                         t	        d      t        t        dz   dz  t        dz  z   t        d      dz  z
        z  dt	        t              z  z  k(  sJ t        |      dk(  sJ t        |dkD        t        d      dz  k(  sJ t        |dkD        j                         t        d      dz  t        t	        d      dz        dz  z
  k(  sJ t        |      t        |       d	z   k(  sJ y )
NXr1         
   (            )r   r   r&   simplifyr   r
   r   r   r   r   r   r   )r8   Ys     r-   test_normal_CompoundDistrB   #   s   sAqAsAqA71:a=!!#tBxQTE"HqtOad2g4M0N'NPRSWXZS[P['\\\\Q4199QU8qtAvQU81Q46CR
OA,=#====A;(1+,,,,r/   c                  X   t        ddd      \  } }}t        d| |      }t        d|      } t        |      |      j	                         ||z  |dz   |  |z
  z  z  t        | |z         z  t        |       t        |dz         z  z  k(  sJ t        |      j	                         | |z  k(  sJ y )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8GAq!c1aAQA71:a=!!#q!tQUqb1f,='=eAEl'JERSHUZ[\_`[`UaLa'bbbbQ4==?ac!!!r/   c                  &   t        ddd      } t        d|       }t        |      j                  t	        d      dz  t	        d      dz  dk(  sJ t        |      t        t        |d            cxk(  rt	        d      dz  k(  sJ  J t        |      t	        d      dz  k(  sJ t        |      t	        d      dz  ddk(  sJ t        dt	        d      dz        }t        d	|      }t        |      j                  t	        d      dz  t	        d      dz  dk(  sJ t        |d
kD        t	        d      dz  k(  sJ t        ddd      } t        d|       }t        |      t	        d      dz  k(  sJ t        t        |d            t        |      k(  sJ y )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            
      6   t        dd      } t        dd|       }d}t         t        |      t              |      sJ d}t        t              5  t        t        |d      j                  t              |      sJ 	 d d d        t        dd	      }t        d
|      }t        d|      }t        t        |       |t        z  z  t        t        d      t        |       z  ||z  z  t        |      t        |      z  z  |dt        f      z  t        t              z  |dt        f      } t        |      t              |k(  sJ t        dd	d      }t        ddd      }t        d||      }	d}t         t        |	d      t              |      sJ y # 1 sw Y   xY w)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 
	% DQq5)11(;UCCCD 	QAQAQAQB1SRaRA!5y|IaL7P "q": (|,./BZ9E71:a=E!!!sAqAsAqAsAqAHE +U+A.666!D Ds   -FFc            
      $  	 t        ddd      } t        | d      }t        |      }|j                  sJ |j                  t        t         t              k(  sJ |j                  t        d      j                         t        t        dz   dz  t        dz  z   t        d      dz  z
        d	t        t              z  z  k(  sJ t        t        t        dd
            t              rJ t        ddgddgddgg      	t!        t"        	fd       t%        ddd      } t'        | dd      }t        |      }|j(                  sJ |j                  ddhk(  sJ t+        ddd      }|j                  |d      t-        t        d      dt/        dd      z  z  t1        |d      ft        d      dt/        dd      z  z  t1        |d      fd      k(  sJ t+        ddd      \  }}}t3        d||      }t5        |      } t        |       }|j6                  sJ |j                  t        j8                  k(  sJ |j                  |d      j                         ||z  |dz   | |z
  z  z  t;        ||z         z  t;        |      t;        |dz         z  z  k(  sJ y )Nr8   r9   r:   TrU   @   r?   r1      rN   c                      t               S )N)r   rZ   s   r-   r.   z,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_Distributionru   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&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8GAq!c1aAAAQA===55AKK55T5"++-Aq1uQ6G1GaO I 2(5Q</21 1 1 1r/   c                     t        ddd      } t        ddd      }t        |j                  t              rJ t	        dd      }t        d      }t        ddd	      }t        d
|      }t        d|      }t        d|      }t        |t              rJ t        |t              rJ t        |t              rJ t        ddgddgddgg      t        t        fd       t        d| d      }t        |j                  t              sJ |j                  j                  t        t	        | d            k(  sJ |j                  j                  j                  t        t         t              k(  sJ y )Nr8   r9   r:   rA   rN      r1   g?r   rY   rK   rs   c                      t        d       S )NrZ   )r   rf   s   r-   r.   z&test_compound_pspace.<locals>.<lambda>   s    ~c15 r/   )r   rm   pspacer   r    r!   r"   r%   r#   
ValueErrordistributionr   domainr3   r   r   )	r8   rA   rY   rK   rs   pspace1pspace2pspace3rZ   s	           @r-   test_compound_pspacer      s@   sAqAsAqA!((N3331a AAAc1a(AS!$GS!$GS!$G'>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   ru   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/   