
    sgH                     T   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/        Zgy0)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      j%                         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        |      }	 |	|      j3                  |t5        d      |t        g d      |t        g d      i      j7                         }
 |	ddd      j3                  |t5        d      |t        g d      i      j7                         }|
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 y )NA      r   c                       d   S )Nr>    ms   R/var/www/html/venv/lib/python3.12/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 rE         ?N   c                  ,    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 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   &   s   sQFaVaV,-A3A!Q!Q(89A6M671:aq!B$x'''88  $$
177AGG(DDDD
J$sI	9i@AAsVQF^VaVaV,<%=>A71:azwqz!Q////) Aq)!Q/1ad8;;;
:78ZWQZ1%B3|a"b\BHHJcQQQsQFaVaV,-A71:asacAg!A%6#78!B$tAaCy.IIII
JFGTD1A	dAq	!B!Q'EsBA1:7EBBBB
!23 	
A	dAq	!B	dAq	!B
ua
#C3B'A
Is^  "c!f
F9sF9$5"7 88< q!Q$$b#a&"fY6G%HINNPFT!WaHSM 112222T!WaHSM 112222TD1A	dAq	!B	dAq	!B
ua
#C3B'A!wqz#$QqT!Vsuu%R0RC#I>?adQYR()	*+,a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      j                         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 y )	Nrg   r   r=   r>      rN   c                  .    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 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   s   	sQFaVaV$4a	8B72;1
AbD
))
)99!!%%AGGQWW)EEEE[WR[A&RC	
RCeg% % %
:OP	taVq!fq!f%5q	9B72;q!1R4QqS	> 2222rE   c            
         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 y )Nc                  ,    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 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   sQ   
:EFaVq!fq!f-.A	TAq6QFQF+;	<B71:as1vgab&::2====	1vAA/	0B72;q!AaCD!ac'AaC-!2344baclCD D D88  $$
177AGG(DDDD88  BII$:$::::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 y )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!3r7
48 333399!!%%AGGXa_)MMMM
:;<' Q'*	$r(
5!Q(("T"X+eHQN6K*KLM M M' Q'*c(2q/.B3.FFFF* QqE*1-Ac1"Q$i1C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       y ) 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 rE   c                  6    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 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Cc3C$'EsE1a$A	tUAq"	%B:D {wr{3S#./4777XC zwqz#sC-.#555"D -$Q!-c23t;;;1ayk"H1a|Aq\Aq\Aq\# $H 1a|Aq\Aq\Aq\# $H %%d
3Caa.C1a.C1aAAq!_Aq!_Aq!_Aq!_	& 'H
 Dse}H3ED
:>?
:>?
:>?
:=>
:=>
:<=
:>?
:>?
:DE
:C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 y )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 rE   c                       t        d g      S Nb2r   )a1a2_fs   rC   rD   z'test_MultivariateBeta.<locals>.<lambda>   s    /r4j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 rE   )r
   r-   r    r	   r   r"   r4   rb   r^   r_   r`   r   r   )mbmb_cr   r   r   r   s     @@@@rC   test_MultivariateBetar      sI   X-FBE=JD$	#Bx	(BCR(D72;q!!rAvuR"W~ =!&r59!4!6 6 6 6) q)!,!rAvuR"W~0M13E"IeBi1G1I I I I
:AB
:AB
:=>
:CD99!!%%HQNHQPQN)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        |      |      j%                  |      sJ y )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 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      s2   +5KAua ed+GDD9A	35	)B72;qtQqT1Q4(IqadU|A1J7N,11Q4K888=qt8DDI1Q4K8P-2EAI->	-J,5adO.<<EadO.L,5adO.<8= ?A1!A$,-adFB345?7	78
 :C-D D D D , RU+AaD1Y!qte*491Q4KA@BG!)5:QYB@@I!A$BPAQ 57q1vz14E@G IR6S S S S :BC99!!%%E!QN,1!QNE!QN*L L L L CE
*CCA6?DAq
Yq\'%1+q1u16F*FQqT?+1q5M#+ ++:5!+DEq#q1uadlQ1q5M2356?AC 73<?##C(((rE   c            	        	
 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         |       j                  | 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       y )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 rE   c                  &    t        d g      S r   r   )n_fr   r   r   p4s   rC   rD   z"test_Multinomial.<locals>.<lambda>   s    {4r2r26F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 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      s    3tTAr2r2-=NBBd3ID#CRR,-ACBB'AA71:b"b"%BF2r6M"b&4HR4O,-aD5123B%"+ae2CAbE2I5K,.q"r'B,2C,D4FGP*R R R R * AaD)"-222q9<=bDQJ<=bDGBJ=G<=bDQJ=GG G G :GH
:GH
:G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      j                         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 y )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 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 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     s    !54QUVBBB-=NBB6D)DCRR$45ACCc2AAAJGAJr2r2.F2r6M"b& R'"rB);a)?!(CCAb2gGGG E AbE'!B%-"-ae355 69:@ @ @ .%a1.q17794EEE
:OP
:PQ88  $$
5B?!ROU1b!_eAr1o)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      j                         dd      sJ y )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    s    cAq6QFQF#3Q7A
(
1Q4
(
+C
q'1a46A:
*QT!VaZ"81Q46"B B
CC#:s:0*1a03a"b\BaGGGc9y)Y&GKA+%a+A.446S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 y )	Nc              3   4   K   | ]  }t        d |        ywr9   Nr   .0r   s     rC   	<genexpr>ztest_JointRV.<locals>.<genexpr>!       .!gc1o.   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s2w"~---ahh++-FGGG& A&q)T!WS"a5I-I1TRTX:-VVVVrE   c                  ~    t        dt        t        gddgddgg      } t        t	        | d               t        k(  sJ y Nr<   r=   r   )r#   r9   r:   r   r%   rA   s    rC   test_expectationr  )  s<    sQFaVaV,-AAadG!!!rE   c                  r    t        dt        t        gddgddgg      } t        |       t        t        fk(  sJ y r  )r#   r9   r:   r%   rA   s    rC   test_joint_vector_expectationr  .  s5    sQFaVaV,-AQ4Aq6>>rE   c                  t   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       y | D ]D  }t        ||d      }|D ]/  }t        |      |j                  j                  j                  v r/J  F t        ddddd      t        t        fd       y )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 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34C89N
 D'"EEF 	?A149E ?SzQXX%:%:%>%>>>>?	? "#q#sC8"$HIrE   c                  2  	 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       y | D ]  }t        ||      }t        |d      }|D ]/  }t        |      |j                  j                  j                  v r/J  t        d      D ]E  }t        d      D ]5  }t        ||   |         |j                  j                  j                  v r5J  G  t        dd
ddd      	t        t        	fd       y )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    F3K 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_scipyr0  G  s*   3A#us|(DEl+C01N D'"EBC 	LA14(EAF+F ?SzQXX%:%:%>%>>>>?1X Lq LA 1.!((2G2G2K2KKKKLL	L "#q#sC8"$7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       y | D ]R  }t        ||d      }|D ]=  }t        |j                               |j                  j                  j                  v r=J  T t        ddddd      t        t        fd       y )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 )Nr2  r  r   r!  s   rC   rD   z"test_sample_pymc.<locals>.<lambda>o  s    F3,G rE   )r2   r-   r0   r8   r6   r&   r#  flattenr^   r_   r`   r1   r4   rd   )distribs_pymcr  r2  rY   r%  r&  r"  s         @rC   test_sample_pymcr6  _  s    3A!Q!Q(89l+C01M
 D DCD 	IA148E IS[[]+qxx/D/D/H/HHHHI	I "#q#sC8"$G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 ]c  }	 t        |      }|rSg g g }	}}t        |d|d      }t        |d|d      }t        |d|d	      }	t        ||k(        sJ t        ||	k7        sJ e y # t        $ r Y rw xY w)
Nc              3   4   K   | ]  }t        d |        ywr  r  r  s     rC   r	  z#test_sample_seed.<locals>.<genexpr>s  r
  r  r  r>   r9   )r+  r  r2  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_seedrA  r  s    .v.FB
r1ufQhmb!eAg%.
/2
6CSA*I 
	(-LRBAB!<AB!<AB!<28}$}28}$} # 		s   A B??	C
Cc                     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	        |j                               t	        |j                               k(  sJ |D ]=  }	t	        |	j                               |j                  j                  j                  v r=J   y # t        $ r Y w xY w)Nr9   r   r=   )r+  r  rp   r  
r#   r2   r8   r&   r#  r4  r^   r_   r`   rd   
rB   rT   rh   r;  r  r=  r?  r@  s3ss
             rC   test_issue_21057rG    s-   sQFaVaV,-A3A!Q!Q(89AsQFaVaV,-A6M6"I 
	(1LAAw7AAw7AAw7RZZ\*eBJJL.AAAA KA -1F1F1J1JJJJK # 		   B*D :D  	DDc                     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	        |j                               t	        |j                               k(  sJ |D ]=  }	t	        |	j                               |j                  j                  j                  v r=J   y # t        $ r Y w xY w)Nr9   r   r=   )r2  rp   r  rC  rD  s
             rC   test_issue_21057_pymcrJ    s-   sQFaVaV,-A3A!Q!Q(89AsQFaVaV,-A6M6I 
	(1LAAw7AAw7AAw7RZZ\*eBJJL.AAAA KA -1F1F1J1JJJJK # 		rH  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'  r0  r6  rA  rG  rJ  r@   rE   rC   <module>rf     s   + ) 1 1 $ " % Q ; 6 9 : 2 9 $ > & 2 , 7 # / / < Z Z Z% % % % ; : ( :0z3	;D8EvT )>I&G$ B BW"
  
J&90I&00  rE   