
    gH                     h   d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 d dl
mZ 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$m%Z% 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/m0Z0 d dl1m2Z2 d dl3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z: d dl;m<Z<m=Z=m>Z>m?Z?m@Z@mAZBmCZCmDZEmFZFmGZGmHZHmIZImJZJ d dlKmLZLmMZMmNZNmOZO d dlPmQZQ d dlRmSZSmTZT d ZUd ZVd ZWd  ZXd! ZYd" ZZd# Z[d$ Z\d% Z]eOd&             Z^d' Z_d( Z`eMd)             Zad* Zbd+ Zcd, Zdd- Zed. ZfeMd/             Zgd0S )1    )Product)Sum)Rationaloopi)Eq)S)symbols)RisingFactorial	factorial)
polar_lift)exp)sqrt)	Piecewise)besselk)gamma)eye)Determinant)Range)Interval
ProductSet)simplify)IndexedIndexedBase)comp)	integrate)MatrixMatrixSymbol)MatrixElement)densitymedianmarginal_distributionNormalLaplaceEsample)JointRVMultivariateNormalDistributionJointDistributionHandmadeMultivariateTNormalGamma$GeneralizedMultivariateLogGammaOmegaMultivariateBetaGeneralizedMultivariateLogGammaMultivariateEwensMultinomialNegativeMultinomialMultivariateNormalMultivariateLaplace)raisesXFAILskipslow)import_module)xyc                     t          dddgddgddgg          t          dddgddgddgg          } | k    sJ  t                    dd          ddt          z  z  k    sJ j        j        j        t          t          j	        t          j	                  k    sJ t          t          fd           t          dg dg dg d	g d
g          }t          dt          ddg          t          ddgddgg                    } t                    t          t                     t          |          t          t                    k    sJ  t          |dd          dd          ddt          z  z  k    sJ t          t          fd           t!           t                    t          t                    t          t"           t"          ft          t"           t"          f                                          dk    sJ t          dddgt          dgdt          gg          } t          |          dd          t'          dt          z  t          z   dt          z  t          z  z             dt          z  t)          t          t          z            z  z  k    sJ t          t          d            t+          ddd          }t-          d|d          }t-          d||          }t          d||          }t          |          t/          ||          k    sJ t          t0          fd           d}t-          d||          }t-          d|d          }t-          d|d          }t          d||          }t          |          }	 |	|                              |t5          d          |t          g d          |t          g d          i                                          }
 |	ddd                              |t5          d          |t          g d          i                                          }|
t)          d          dt          t9          d          z  z  z  k    sJ |t)          d          dt          t9          d          z  z  z  k    sJ t+          ddd          }t-          d||          }t-          d|d          }t-          d|d          }t          d||          } t          |          |          }t;          t'          t          d          dz  |j        |j        z
  z  |dz  z  | |z   z            t)          dt          z  |z  t?          |          z            z  dd          }||k    sJ d S )NA      r   c                       d         S )Nr>    ms   [/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/stats/tests/test_joint_rv.py<lambda>ztest_Normal.<locals>.<lambda>,   s    qt     B)r=   r>      r=   r   r   r   r=   r   r   r   r=   Cc                  "    t                     S N)r"   rA   s   rC   rD   ztest_Normal.<locals>.<lambda>1   s    4Q77 rE         ?N   c                  4    t          dddgddgddgg          S )NMr=   r>   )r#   r@   rE   rC   rD   ztest_Normal.<locals>.<lambda>6   s#    sQFaVaW4E F F rE   nT)integerpositivemusigmaXc                  "    t                     S rM   )r!   rA   s   rC   rD   ztest_Normal.<locals>.<lambda>=   s     rE   rG   Sgobsr   r   r   g      ?rS   ) r#   r2   r    r   pspacedistributionsetr   r	   Realsr4   
ValueErrorr   r9   r:   r"   r   r   evalfr   r   r
   r   r(   NotImplementedErrorsubsr   doitr   r   Tr   )r<   rT   prO   rW   rX   rY   r[   r\   	density_Xeval_aeval_bdensity_X_at_obsexpected_densityrB   s                 @rC   test_Normalrn   &   s7   sQFaVaV,--A3A!Q!Q(899A666671::aq!B$x''''8 $
17AG(D(DDDDD
J$$$sIII			999iii@AAAsVQF^^VaVaV,<%=%=>>A71::azwqzz!Q//////) Aq))!Q//1ad8;;;;
:7777888ZWQZZ1%%B3|a"b\BBHHJJcQQQQsQFaVaV,--A71::asacAg!A%6#788!B$tAaCyy.IIIII
JFFGGGTD111A	dAq	!	!B!Q''EsBA1::7EBBBBBB
!2!2!2!2333 	
A	dAq	!	!B	dAq	!	!B
ua
#
#C3B''A

IYs^^  "c!ff
F999sF999$5$5"7 8 88< Yq!Q$$b#a&&"fYYY6G6G%HIINNPPFT!WWaHSMM 1122222T!WWaHSMM 1122222TD111A	dAq	!	!B	dAq	!	!B
ua
#
#C3B''A!wqzz#$QqTT!Vsu%R0RC#I>??adQYR())	*+,a1 1 ///////rE   c                     t          dddgddgddggd          }  t          |           dd          ddt          z  z  k    sJ | j        j        j        t          t          j        t          j                  k    sJ t           t          |           t          t                    t          t           t          ft          t           t          f                                          dk    sJ t          t          d            t          dddgt          dgdt          ggd          } t          |          dd          ddt          z  t!          t          t          z            z  z  k    sJ d S )	Nrg   r   r=   r>      rN   c                  6    t          dddgddgddggd          S )Nrg   r=   r>   rS   )r*   r@   rE   rC   rD   z(test_MultivariateTDist.<locals>.<lambda>i   s%    }S1a&Aq6Ar7:KQOO rE   t2)r*   r    r   r^   r_   r`   r   r	   ra   r   r9   r:   r   rc   r4   rb   r   )t1rr   s     rC   test_MultivariateTDistrt   c   sE   	sQFaVaV$4a	8	8B72;;1

AbD
)
)
)
)9!%AGQW)E)EEEEE[WR[[A&&RC	
RC egg% % % %
:OOPPP	taVq!fq!f%5q	9	9B72;;q!1R4QqS		> 2222222rE   c            
      T   t          t          d            t          dddgddgddgg          } t          dddgddgddgg          } t	          |           dd          t          d          t          dt          d                    z  t          z  k    sJ t          d	ddgt          dgdt          gg          } t	          |          dd          t          dt          z            t          dt          dd
t          z  z   dt          z  z   t          z                      z  t          t          t          t          z            z  z  k    sJ | j        j        j        t          t          j        t          j                  k    sJ | j        j        |j        j        k    sJ d S )Nc                  4    t          dddgddgddgg          S )Nrg   r=   r>   )r$   r@   rE   rC   rD   z+test_multivariate_laplace.<locals>.<lambda>o   s#    wsQFaVaV4DEE rE   Lr=   r   L2r>   rG   '   L1rP   )r4   rb   r$   r3   r    r   r   r   r   r9   r:   r^   r_   r`   r   r	   ra   )rw   rx   rz   s      rC   test_multivariate_laplacer{   n   s   
:EEFFFaVq!fq!f-..A	TAq6QFQF+;	<	<B71::as1vvgab&:&::2=====	1vAA/	0	0B72;;q!AaCD!ac'AaC-!233444baclCD D D D8 $
17AG(D(DDDDD8 BI$:::::::rE   c            	         t          ddddd          }  t          |           dd          dt          d          z  t          t                    z  k    sJ | j        j        j        t          t          j
        t          dt                              k    sJ t          t          d	             t          | d          d          dt          d
          z  t!          t#          dd                    z  d
t          t                    z  t!          t#          dd                    z  z  k    sJ  t          | t$                    d          t          t#          dd                    dz  k    sJ  t          | ddg          t&                    t&          dz  t          t&           dz            z  dz  k    sJ d S )NGr=   r>   rG   rP       r   c                  (    t          ddddd          S )Nr}   r=   r>   rG   rS   )r+   r@   rE   rC   rD   z"test_NormalGamma.<locals>.<lambda>~   s    k#q!Q;; rE   
         rS      )r+   r    r   r   r   r^   r_   r`   r   r	   ra   r   r   r4   rb   r"   r   r   r:   r9   )ngs    rC   test_NormalGammar   z   s   	S!Q1	%	%B72;;q!3r77
488 333339!%AGXa__)M)MMMMM
:;;<<<' Q''**	$r((
5!Q((("T"XX+eHQNN6K6K*KLM M M M' Q''**c(2q//.B.B3.FFFFF* QqE**1--Ac1"Q$ii1CCCCCCCrE   c                     t           j        } t          d| | | g| d| | g| | d| g| | | dgg          dg dg dct          dd          \  }}}}t          dd          }t	          d	          }t          d
|          }d}t           t          |          ||||                    |k    sJ d}	t           t          |          ||||                    |	k    sJ d}
t           t          ||d                   |                    |
k    sJ t          d| | gg          t          d| | | g| dd| g| | d| g| | | dgg          t          d| | | g| dd| g| | d| g| | | dgg          t          ddd          dddgdddgt          d| | | | g| d| | | g| | d| | g| | | d| g| | | | dgg          g dt          dgg          dgxt          t          fd           t          t          fd           t          t          fd           t          t          fd           t          t          fd           t          t          fd           t          t          fd           t          t          fd           t          t          fd           t          t          fd           d S ) Nr=   rP   )r=   r>   rG   rP   zy_1:5T)realdrV   r}   Gdzd**4*Sum(4*24**(-n - 4)*(1 - d)**n*exp((n + 4)*(y_1 + 2*y_2 + 3*y_3 + 4*y_4) - exp(y_1) - exp(2*y_2)/2 - exp(3*y_3)/3 - exp(4*y_4)/4)/(gamma(n + 1)*gamma(n + 4)**3), (n, 0, oo))z5*2**(2/3)*5**(1/3)*Sum(4*24**(-n - 4)*(-2**(2/3)*5**(1/3)/4 + 1)**n*exp((n + 4)*(y_1 + 2*y_2 + 3*y_3 + 4*y_4) - exp(y_1) - exp(2*y_2)/2 - exp(3*y_3)/3 - exp(4*y_4)/4)/(gamma(n + 1)*gamma(n + 4)**3), (n, 0, oo))/64ay  5*2**(2/3)*5**(1/3)*exp(4*y_1)*exp(-exp(y_1))*Integral(exp(-exp(4*G[3])/4)*exp(16*G[3])*Integral(exp(-exp(3*G[2])/3)*exp(12*G[2])*Integral(exp(-exp(2*G[1])/2)*exp(8*G[1])*Sum((-1/4)**n*(-4 + 2**(2/3)*5**(1/3))**n*exp(n*y_1)*exp(2*n*G[1])*exp(3*n*G[2])*exp(4*n*G[3])/(24**n*gamma(n + 1)*gamma(n + 4)**3), (n, 0, oo)), (G[1], -oo, oo)), (G[2], -oo, oo)), (G[3], -oo, oo))/5308416r   r>      v_fFrV   r   rG   )r=   r>   rG   rP   r   c                  *    t          d           S Nr}   GMVLGO)lrW   omega_f1vs   rC   rD   zBtest_GeneralizedMultivariateLogGammaDistribution.<locals>.<lambda>       vc8Q2>> rE   c                  *    t          d           S r   r   )r   rW   omega_f2r   s   rC   rD   zBtest_GeneralizedMultivariateLogGammaDistribution.<locals>.<lambda>   r   rE   c                  *    t          d           S r   r   )r   rW   omega_f3r   s   rC   rD   zBtest_GeneralizedMultivariateLogGammaDistribution.<locals>.<lambda>   r   rE   c                  *    t          d           S r   r   )r   rW   omegar   s   rC   rD   zBtest_GeneralizedMultivariateLogGammaDistribution.<locals>.<lambda>   s    vc5#q"== rE   c                  *    t          d           S r   r   )l_frW   r   r   s   rC   rD   zBtest_GeneralizedMultivariateLogGammaDistribution.<locals>.<lambda>   s    vc5!S"== rE   c                  *    t          d           S r   r   )r   m_fr   r   s   rC   rD   zBtest_GeneralizedMultivariateLogGammaDistribution.<locals>.<lambda>   s    vc5!Q<< rE   c                  *    t          d           S r   r   )r   rW   omega_f4r   s   rC   rD   zBtest_GeneralizedMultivariateLogGammaDistribution.<locals>.<lambda>   r   rE   c                  *    t          d           S r   r   )l_f1rW   r   r   s   rC   rD   zBtest_GeneralizedMultivariateLogGammaDistribution.<locals>.<lambda>   s    vc5!T2>> rE   c                  *    t          d           S r   r   )l_f5mu_f5omega_f5r   s   rC   rD   zBtest_GeneralizedMultivariateLogGammaDistribution.<locals>.<lambda>   s    vc8QeDD rE   c                  F    t          dt          dd                     S )Nr}   rG   r>   )GMVLGr   )r   rW   r   s   rC   rD   zBtest_GeneralizedMultivariateLogGammaDistribution.<locals>.<lambda>   s    uS(1a..!QCC rE   )r	   Halfr   r
   r   r   strr    r"   r4   rb   )hy_1y_2y_3y_4deltar}   r   denddenmargr   r   r   r   r   rW   r   r   r   r   r   r   r   r   r   s              @@@@@@@@@@@@@@@rC   0test_GeneralizedMultivariateLogGammaDistributionr      s   	AQ1aLAq\Aq\Aq\# $ $E <<<HAq" t444Cc3C$'''EsE1a$$A	tUAq"	%	%B:D {wr{{3S#..//47777XC zwqzz#sC--..#5555"D -$Q!--c2233t;;;;1ayk""H1a|Aq\Aq\Aq\# $ $H 1a|Aq\Aq\Aq\# $ $H %%d
3
3
3Caa.C1a.C1aAAq!_Aq!_Aq!_Aq!_	& ' 'H
 ??Dse}}H3ED
:>>>>>>>???
:>>>>>>>???
:>>>>>>>???
:=======>>>
:=======>>>
:<<<<<<<===
:>>>>>>>???
:>>>>>>>???
:DDDDDDDEEE
:CCCCCCDDDDDrE   c                     t          dd          \  t          ddd          \  t          dg          } t          d          } t          |           dd	          t          d	          dz
  z  t	          z             z  t	                    t	                    z  z  k    sJ  t          |d
          d          t          d          dz
  z  t	          z             z  t	                    z  t	                    z  z  k    sJ t          t          fd           t          t          fd           t          t          d            t          t          fd           | j        j	        j
        t          t          d
d          t          d
d                    k    sJ d S )Nza1, a2Tr   Fr   rF   rK   r=   r>   r   rG   c                  (    t          d g          S )Nb1r-   )a1_fa2s   rC   rD   z'test_MultivariateBeta.<locals>.<lambda>   s    /tRjAA rE   c                  (    t          d g          S Nb2r   )a1a2_fs   rC   rD   z'test_MultivariateBeta.<locals>.<lambda>   s    /r4jAA rE   c                  &    t          dddg          S )Nb3r   r   r@   rE   rC   rD   z'test_MultivariateBeta.<locals>.<lambda>   s    /q!f== rE   c                  (    t          d g          S )Nb4r   )r   r   s   rC   rD   z'test_MultivariateBeta.<locals>.<lambda>   s    /tTlCC rE   )r
   r-   r    r	   r   r"   r4   rb   r^   r_   r`   r   r   )mbmb_cr   r   r   r   s     @@@@rC   test_MultivariateBetar      s   X---FBE===JD$	#Bx	(	(BCR((D72;;q!!rAvuR"W~~ =!&r599!4!6 6 6 6 6) q))!,,!rAvuR"W~~0M13E"IIeBii1G1I I I I I
:AAAAABBB
:AAAAABBB
:==>>>
:CCCCCDDD9!%HQNNHQPQNN)S)SSSSSSSrE   c                    	 t          dd          \  } }}t          dd          	t          ddd          }t          dd	|          } t          |          |d
         |d         |d                   t          dd|d          z  z  d	|d          z  z  ||d
         z  z  ||d         z  z  ||d         z  z  ||dz   z  |dz   z  t	          |d
                   z  t	          |d                   z  t	          |d                   z  z  t          |d
         d|d         z  z   d	|d         z  z   d	          fd          k    sJ  t          ||d                   |d                   t          dd|d          z  z  ||d         z  z  |dz   |dz   z  t	          |d                   z  z  t          d|d         z  dz   d	          fd          k    sJ t          t          	fd           |j	        j
        j        t          t          d
dd          t          d
dd          t          d
dd                    k    sJ t          d| |          }t          d          }t          d          \  }}t          t	          |           t          |||         z  |dz   ||          z  z  t	          ||                   z  |d
| dz
  f          z  t!          ||           z  t          | t#          |dz   ||         z  |d
| dz
  f                    fd          } t          |          |                              |          sJ d S )Nz	n theta iTr   t_fnegativeza_1:4)rV   rU   r%   rG   r   r=   r>   r   r   Tc                  &    t          dd           S )Ne1r   )r/   )theta_fs   rC   rD   z(test_MultivariateEwens.<locals>.<lambda>   s    0q'BB rE   rP   azj, k)r
   r/   r    r   r   r   r"   r4   rb   r^   r_   r`   r   r   r   r   r   r   dummy_eq)
rT   thetair   ededsjkr   r   s
            @rC   test_MultivariateEwensr      s   +555KAua ed+++GDD999A	35	)	)B72;;qtQqT1Q4((IqadU|A1J7N,11Q4K888=qt8DDI1Q4K8P-2EAI->	-J,5adOO.<<EadOO.L,5adOO.<8= ?A1!A$,-adFB345?7 ?7	78
 :C-D -D D D D D , RU++AaD11Y!qte*491Q4KA@BG!)5:QYB@@I!A$BPAQ 57q1vz14E4E@G IR6S 6S S S S S :BBBBCCC9!%E!QNN,1!QNNE!QNN*L *L L L L L CE
*
*CCA6??DAq
Yq\\'%1+q1u16F*FQqT??+1q5M#+ #+ ++:5!+D+DEq#q1uadlQ1q5M223356?A AC 73<<??##C(((((((rE   c            	      z  	
 t          ddd          \  } }}}t          dd          \  	t          dd          \  
t          d	g          }t          d	d
	          }t          } t          |          | |||          t	          	| z  |z  z  |z  z  |z  z   |          z   ||            ||          z   ||          z   ||          z  z  t          | |z   |z   |z             fd          k    sJ  t          ||d                   |                               | d          d
	z  dz  z  d	z  z  z  z   d
	z  dz  z  z   k    sJ t          t          	
fd           t          t          	fd           t          t          fd           d S )Nzn, x1, x2, x3, x4TnonnegativerU   p1, p2, p3, p4r   z	p1_f, n_fr   rR   rK   rG   r   r   r=   r>   r   c                  .    t          dd g          S Nr   r   r0   p1p1_fp2p3s   rC   rD   z"test_Multinomial.<locals>.<lambda>   s    {4RR4FGG rE   c                  .    t          d g          S r   r   )n_fr   r   r   p4s   rC   rD   z"test_Multinomial.<locals>.<lambda>   s    {4r2r26FGG rE   c                  ,    t          d dddd          S )Nr         ?皙?333333?皙?r   )rT   s   rC   rD   z"test_Multinomial.<locals>.<lambda>   s    {4Cc3GG rE   )
r
   r0   r   r    r   r   r"   re   r4   rb   )x1x2x3x4rR   rK   frT   r   r   r   r   r   r   s          @@@@@@@rC   test_Multinomialr      sA    3tTTTAr2r2-===NBBd333ID#CRR,--ACBB''AA71::b"b"%%BF2r6M"b&4HR4O,-AaDD5123!B%%"+aaee2CAAbEE2I5K,.q"r'B,2C,D,D4FGP*R *R R R R R * AaD))"--222q99<=bDQJ<=bDGBJ=G<=bDQJ=GG G G G :GGGGGGGHHH
:GGGGGGGGHHH
:GGGGHHHHHrE   c                  *  	
 t          ddd          \  	} }}}t          dd          \  
}t          dd          t          dd	
|g          }t          d
d	ddd          }t          }t          }t	           t          |          | |||          
| z  |z  z  |z  z  ||z  z  
 z
  z
  |z
  dz   d	z  z   || |z   |z   |z   d	z             z  d ||           z   ||          z   ||          z   ||          z  z  z
            t          j        u sJ t           t          ||d                   d          
                                dd          sJ t          t          
fd           t          t          	fd           |j        j        j        t!          t#          dt$          d          t#          dt$          d          t#          dt$          d          t#          dt$          d                    k    sJ d S )Nzk0, x1, x2, x3, x4Tr   r   r   r   r   rO   rP   rK   r   皙?r   r=   r   r   gQ?{Gz?c                  .    t          dd g          S r   r1   r   s   rC   rD   z*test_NegativeMultinomial.<locals>.<lambda>  s    24RR<NOO rE   c                  ,    t          d dddd          S )Nr   r   r   r   r   )k0s   rC   rD   z*test_NegativeMultinomial.<locals>.<lambda>  s    24S#sCPP rE   )r
   r1   r   r   r   r    r	   Zeror   r"   rc   r4   rb   r^   r_   r`   r   r   r   )r   r   r   r   r   rO   rK   gr   r   r   r   r   r   s            @@@@@rC   test_NegativeMultinomialr     so    !54QUVVVBBB-===NBB6D)))DCRR$455ACCc22AAAJGAJJr2r2..F2r6M"b& R'"rB);a)?!(CCAAb2gGGG E E AAbEE'!!B%%-"-aaee355 6 69:@ @ @ @ .%a1..q1177994EEEEE
:OOOOOOOPPP
:PPPPQQQ8 $
5B??!ROOU1b!__eAr1oo)G )G G G G G G GrE   c                     t          dddgddgddggd          }  t          | | d                   t                    }t          d          t          dz  dz  dz   z  dt	          t          dz  dz  dz             t          d          dz  z  z  z  }||k    s
J |            t           t          | d          t                    t          t           t          f          dk    sJ t          dg dg dg d	g d
gd          }t           t          |d          d          	                                dd          sJ d S )Nrg   r   r=   r>   rP   r   r]   rH   rI   rJ   rG   r   r   )
r*   r"   r9   r   r   r	   r   r   r   rc   )rg   gotansts       rC   &test_JointPSpace_marginal_distributionr    sC   cAq6QFQF#3Q77A
(
1Q4
(
(
+
+C
q''1a46A:
*QT!VaZ"8"81Q446"B B
CC#:::s:::0*1a0033a"b\BBaGGGGc999yyy)))YYY&GKKA+%a++A..4466SAAAAAAArE   c                  ,   d dD             \  } }t          | dz   dz  | z   |dz  dz  z
  t          j        z
            dt          z  z  }t	          d|          } t          |          dd          t          d          dt          z  z  k    sJ t          |j        j        t                    sJ  t          |d          d          t          d          t          t          dd                    z  dt          t                    z  z  k    sJ d S )	Nc              3   6   K   | ]}t          d |          V  dS r9   Nr   .0r   s     rC   	<genexpr>ztest_JointRV.<locals>.<genexpr>!  *      ..!gc1oo......rE   r=   r>   r>   r9   r=   r   rS   )r   r	   r   r   r'   r    
isinstancer^   r_   r)   r"   r   r   )r   r   pdfrY   s       rC   test_JointRVr     s   ..v...FB
r1ufQhmb!eAg%.
/
/2
6CSA71::as2ww"~----ah+-FGGGGG& A&&q))T!WWS"a5I5I-I1TRTXX:-VVVVVVVrE   c                      t          dt          t          gddgddgg          } t          t	          | d                             t          k    sJ d S Nr<   r=   r   )r#   r9   r:   r   r%   rA   s    rC   test_expectationr  )  sM    sQFaVaV,--AAadGG!!!!!!rE   c                      t          dt          t          gddgddgg          } t          |           t          t          fk    sJ d S r  )r#   r9   r:   r%   rA   s    rC   test_joint_vector_expectationr  .  s?    sQFaVaV,--AQ44Aq6>>>>>>rE   c                     t          dddgddgddgg          t          dg d          t          dd	g d
          g} d}t          d          }|st	          d           d S | D ];}t          ||d          }|D ]$}t          |          |j        j        j	        v sJ %<t          ddddd          t          t          fd           d S )NrR   rG   rP   r>   r=   rF   )r   r      2      rO   r  )r   r   r   g      ?g333333?numpyz6Numpy is not installed. Abort tests for _sample_numpy.sizelibraryr   c                  &    t           d          S )Nr  r  r&   N_cs   rC   rD   z#test_sample_numpy.<locals>.<lambda>D  s    F3,H,H,H rE   )r2   r-   r0   r8   r6   r&   tupler^   r_   r`   r1   r4   rd   )distribs_numpyr  r  rY   sampssamr!  s         @rC   test_sample_numpyr&  4  s   3A!Q!Q(89933344C88899N
 D'""E JEFFFFF 	? 	?A14999E ? ?SzzQX%:%>>>>>>?!#q#sC88"$H$H$H$HIIIIIrE   c                  `  	 t          dddgddgddgg          t          dg d          t          ddg d	          g} d
}t          d          }|st	          d           d S | D ]}t          ||          }t          |d          }|D ]$}t          |          |j        j        j	        v sJ %t          d          D ]B}t          d          D ]0}t          ||         |                   |j        j        j	        v sJ 1Ct          dd
ddd          	t          t          	fd           d S )NrR   r   r   g?rF   r   r   r  rO   rp   r   r   r   r   rG   scipyz3Scipy not installed. Abort tests for _sample_scipy.)r  )r>   r>   r>   c                  "    t                     S rM   r  r   s   rC   rD   z#test_sample_scipy.<locals>.<lambda>\  s    F3KK rE   )r2   r-   r0   r8   r6   r&   r"  r^   r_   r`   ranger1   r4   rd   )
distribs_scipyr  r*  rY   r$  samps2r%  r   r   r!  s
            @rC   test_sample_scipyr/  G  s   3A#us|(DEElll++C00011N D'""E 9BCCCCC 	L 	LA14(((EAF+++F ? ?SzzQX%:%>>>>>>1XX L Lq L LA 1..!(2G2KKKKKKLL "#q#sC88"$7$7$7$788888rE   c                     t          dddgddgddgg          t          dg d          t          dd	g d
          g} d}t          d          }|st	          d           d S | D ]M}t          ||d          }|D ]6}t          |                                          |j        j	        j
        v sJ 7Nt          ddddd          t          t          fd           d S )NrR   r   r>   r=   r   rF   r(  rO   rP   r)  rG   pymcz4PyMC is not installed. Abort tests for _sample_pymc.r  r   c                  &    t           d          S )Nr1  r  r  r   s   rC   rD   z"test_sample_pymc.<locals>.<lambda>o  s    F3,G,G,G rE   )r2   r-   r0   r8   r6   r&   r"  flattenr^   r_   r`   r1   r4   rd   )distribs_pymcr  r1  rY   r$  r%  r!  s         @rC   test_sample_pymcr5  _  s!   3A!Q!Q(899lll++C00011M
 D  D ICDDDDD 	I 	IA14888E I IS[[]]++qx/D/HHHHHHI!#q#sC88"$G$G$G$GHHHHHrE   c                     d dD             \  } }t          | dz   dz  | z   |dz  dz  z
  t          j        z
            dt          z  z  }t	          d|          }g d}|D ]}	 t          |          }|rig g g }	}}t          |d|d          }t          |d|d          }t          |d|d	          }	t          ||k              sJ t          ||	k              sJ ~# t          $ r Y w xY wd S )
Nc              3   6   K   | ]}t          d |          V  dS r  r  r  s     rC   r	  z#test_sample_seed.<locals>.<genexpr>s  r
  rE   r  r>   r9   )r*  r  r1  r   r   )r  r  seedr=   )	r   r	   r   r   r'   r8   r&   allrd   )
r   r   r  rY   	librarieslibimported_libs0s1s2s
             rC   test_sample_seedr@  r  s:   ..v...FB
r1ufQhmb!eAg%.
/
/2
6CSA***I  
	(--L %RBAB!<<<AB!<<<AB!<<<28}}$$$28}}$$$" 	 	 	H	 s   #A:C
C+*C+c                  h   t          dddgddgddgg          } t          dddgddgddgg          }t          dddgddgddgg          }| |k    sJ d}|D ]}	 t          |          }|rt          | d|          }t          |d|          }t          |d|          }t	          |                                          t	          |                                          k    sJ |D ]6}	t	          |	                                          |j        j        j        v sJ 7# t          $ r Y w xY wd S )Nr9   r   r=   )r*  r  rp   r  
r#   r2   r8   r&   r"  r3  r^   r_   r`   rd   
rB   rT   rh   r:  r  r<  r>  r?  s3ss
             rC   test_issue_21057rF    sy   sQFaVaV,--A3A!Q!Q(899AsQFaVaV,--A6666"I  
	(11L KAAw777AAw777AAw777RZZ\\**eBJJLL.A.AAAAA K KA --1F1JJJJJJ" 	 	 	H	    CD""
D/.D/c                  h   t          dddgddgddgg          } t          dddgddgddgg          }t          dddgddgddgg          }| |k    sJ d}|D ]}	 t          |          }|rt          | d|          }t          |d|          }t          |d|          }t	          |                                          t	          |                                          k    sJ |D ]6}	t	          |	                                          |j        j        j        v sJ 7# t          $ r Y w xY wd S )Nr9   r   r=   )r1  rp   r  rB  rC  s
             rC   test_issue_21057_pymcrI    sy   sQFaVaV,--A3A!Q!Q(899AsQFaVaV,--A6666I  
	(11L KAAw777AAw777AAw777RZZ\\**eBJJLL.A.AAAAA K KA --1F1JJJJJJ" 	 	 	H	 rG  N)hsympy.concrete.productsr   sympy.concrete.summationsr   sympy.core.numbersr   r   r   sympy.core.relationalr   sympy.core.singletonr	   sympy.core.symbolr
   (sympy.functions.combinatorial.factorialsr   r   $sympy.functions.elementary.complexesr   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   sympy.functions.special.besselr   'sympy.functions.special.gamma_functionsr   sympy.matrices.denser   &sympy.matrices.expressions.determinantr   sympy.sets.fancysetsr   sympy.sets.setsr   r   sympy.simplify.simplifyr   sympy.tensor.indexedr   r   r   sympy.integrals.integralsr   sympy.matricesr   r   "sympy.matrices.expressions.matexprr   sympy.statsr    r!   r"   r#   r$   r%   r&   sympy.stats.joint_rv_typesr'   r(   r)   r*   r+   r,   r   r-   r.   r   r/   r0   r1   r2   r3   sympy.testing.pytestr4   r5   r6   r7   sympy.externalr8   	sympy.abcr9   r:   rn   rt   r{   r   r   r   r   r   r   r  r  r  r  r&  r/  r5  r@  rF  rI  r@   rE   rC   <module>re     sK   + + + + + + ) ) ) ) ) ) 1 1 1 1 1 1 1 1 1 1 $ $ $ $ $ $ " " " " " " % % % % % % Q Q Q Q Q Q Q Q ; ; ; ; ; ; 6 6 6 6 6 6 9 9 9 9 9 9 : : : : : : 2 2 2 2 2 2 9 9 9 9 9 9 $ $ $ $ $ $ > > > > > > & & & & & & 2 2 2 2 2 2 2 2 , , , , , , 7 7 7 7 7 7 7 7 # # # # # # / / / / / / / / / / / / / / < < < < < < Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ; : : : : : : : : : : : ( ( ( ( ( (        :0 :0 :0z3 3 3	; 	; 	;D D D8E 8E 8EvT T T ) ) )>I I I&G G G$ B B BW W W" " "
   
J J J&9 9 90I I I&  0  0     rE   