
    gw                        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  ZAd!S )"    )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                 j    d                     t          |                                                     S )N )joinstrsplit)ss    ^/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/stats/tests/test_compound_rv.py<lambda>r.      s     Q((     c                  h    t          t          t          t          |                               dk    S )N   )lensetmapflat)as    r-   r.   r.      s#    3s3tQ<<(())Q. r/   r&   r1   c                     t          ddd          } t          d| d          } t          |          t                                                    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k              t          d          dz  k    sJ t          |dk                                              t          d          dz  t          t	          d          dz            dz  z
  k    sJ t          |          t          |           d	z   k    sJ d S )
NXr1         
   (            )r   r   r&   simplifyr   r
   r   r   r   r   r   r   )r8   Ys     r-   test_normal_CompoundDistrB   #   sC   sAqAsAqA71::a==!!##tBxxQTE"HqtOadd2g4M0N0N'NPRSWXZS[S[P['\\\\\Q4419999QU88qttAvQU881Q446CR
OOA,=#=====A;;(1++,,,,,,,r/   c                     t          ddd          \  } }}t          d| |          }t          d|          } t          |          |                                          ||z  |dz   |  |z
  z  z  t          | |z             z  t          |           t          |dz             z  z  k    sJ t          |                                          | |z  k    sJ d S )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888GAq!c1aAQA71::a==!!##q!tQUqb1f,='=eAEll'JERSHHUZ[\_`[`UaUaLa'bbbbbQ44==??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n 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
k              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 d S )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   s   S!QA#qA1::?!A$$q&QqTT!V444444Q441R1XX;;((((!A$$q&((((((A;;!A$$q&    q661aA&&&&&& 	#qttAvA#qA1::?!A$$q&QqTT!V444444QW::1aQA#qAQ441Q446>>>>R1XX;;!A$$r/   c            
      *   t          dd          } t          dd|           }d}t           t          |          t                    |          sJ d}t          t                    5  t          t          |d                              t                    |          sJ 	 d d d            n# 1 swxY w Y   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 d S )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   sC    	aAsAqAJC A$$$$$+E 
	%	% D DQq5)))11(;;UCCCCCCD D D D D D D D D D D D D D D 	QAQAQAQB1SRaRA!5y||IaLL7P "q":  (||,./BZ9 9E71::a==E!!!!sAqAsAqAsAqAHE +U+++A..6666666s   ':B..B25B2c            
        	 t          ddd          } t          | d          }t          |          }|j        sJ |j        t          t           t                    k    sJ |                    t          d          	                                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          }|                    |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          |           }|j        sJ |j        t          j        k    sJ |                    |d          	                                ||z  |dz   | |z
  z  z  t;          ||z             z  t;          |          t;          |dz             z  z  k    sJ d S )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?5HbS"%%%%%%55T5""++--adU2X"_qttBw5N1O1OQRSWXZS[S[Q[1\\\\\./A!Q/G/GHH02 2 2 2 2&1vAA/?@@A
 ? ? ? ?@@@S!QAaA&&AQA;5QF????eT222A55T5""i1r$q!**}1Er!Qxx0P1r$q!**}%r!Qxx0)'= '= = = = = g4888GAq!c1aAAAQA=5AK55T5""++--Aq1uQ6G1GaO I I 2((5Q<</21 1 1 1 1 1 1r/   c                  B   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 d S )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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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222&1vAA/?@@A
:5555666sAqAah/////8 $89KAq9Q9Q$R$RRRRR8?(B3"3"333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 6 6 6 6 6 9 9 9 9 9 9 : : : : : : 7 7 7 7 7 7 7 7 7 7 7 7 9 9 9 9 9 9 . . . . . . $ $ $ $ $ $A A A A A A A A A A A A A A A A A A A A A A A A A A A A H H H H H H H H 4 4 4 4 4 4 5 5 5 5 5 5 7 7 7 7 7 7 8 8 8 8 8 8 8 8 E E E E E E       )(..uQ{{   uQ}}   5AE??   - - -" " "  (7 7 7B1 1 1@4 4 4 4 4r/   