U
    ZÊ¹jÝH  ã                   @   sh  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d„ ZUdd „ ZVd!d"„ ZWd#d$„ ZXd%d&„ ZYd'd(„ ZZd)d*„ Z[d+d,„ Z\d-d.„ Z]eOd/d0„ ƒZ^d1d2„ Z_d3d4„ Z`eMd5d6„ ƒZad7d8„ Zbd9d:„ Zcd;d<„ Zdd=d>„ Zed?d@„ ZfeMdAdB„ ƒZgdCS )Dé    )Ú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                     sÀ  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sDt‚tˆ ƒddƒddt  ksbt‚ˆ jjjtt	j
t	j
ƒks~t‚tt‡ fdd„ƒ t ddddgdddgdddgdddggƒ}t d	tddgƒtddgddggƒƒ}tˆ ƒttƒt|ƒttƒksþt‚t|ddƒddƒddt  k�s"t‚tt‡ fd
d„ƒ ttˆ ƒttƒtt tftt tfƒ ¡ dk�sht‚t dddgtdgdtggƒ}t|ƒddƒtdt t dt t   ƒdt ttt ƒ  k�sÊt‚ttdd„ ƒ tdddd�}td|dƒ}td||ƒ}t d||ƒ}t|ƒt||ƒk�s"t‚tt‡ fdd„ƒ d}td||ƒ}td|dƒ}td|dƒ}td||ƒ}t|ƒ}	|	|ƒ |tdƒ|tdddgƒ|tdddgƒi¡ ¡ }
|	dddƒ |tdƒ|tdddgƒi¡ ¡ }|
tdƒdttdƒ   k�sôt‚|tdƒdttdƒ   k�st‚tdddd�}td||ƒ}td|dƒ}td|dƒ}td||ƒ}t|ƒ|ƒ}ttt	dƒd |j|j  |d  | |  ƒtdt | t |ƒ ƒ ddƒ}||k�s¼t‚d S )NÚAé   é   r   c                      s   ˆ d S )Nr<   © r=   ©Úmr=   ú^/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/stats/tests/test_joint_rv.pyÚ<lambda>,   ó    ztest_Normal.<locals>.<lambda>ÚBé   ÚCc                      s   t ˆ ƒS ©N)r!   r=   r>   r=   r@   rA   1   rB   ç      ð?ÚNé   c                   S   s   t dddgddgddggƒS )NÚMr;   r<   éÿÿÿÿ)r"   r=   r=   r=   r@   rA   6   rB   ÚnT)ÚintegerÚpositiveÚmuÚsigmaÚXc                      s   t ˆ ƒS rF   )r    r=   r>   r=   r@   rA   =   rB   ÚSgÚobsg      ø?rK   )!r"   r1   ÚAssertionErrorr   r   ÚpspaceÚdistributionÚsetr   r   ÚRealsr3   Ú
ValueErrorr   r8   r9   r!   r   r   Úevalfr   r   r	   r   r'   ÚNotImplementedErrorÚsubsr   Zdoitr   r   ÚTr   )r:   rL   ÚprH   rO   rP   rQ   rR   rS   Z	density_XZeval_aZeval_bZdensity_X_at_obsZexpected_densityr=   r>   r@   Útest_Normal&   sd    *$ $4F   ÿ
,"",ÿ þr_   c                  C   sä   t dddgddgddggdƒ} t| ƒddƒddt  ks<t‚| jjjttj	tj	ƒksXt‚t
t| ƒttƒtt tftt tfƒ ¡ dksŠt‚ttdd„ ƒ t d	ddgtdgdtggdƒ}t|ƒddƒddt ttt ƒ  ksàt‚d S )
Nr]   r   r;   r<   é   rG   c                   S   s   t dddgddgddggdƒS )Nr]   r;   r<   rK   )r)   r=   r=   r=   r@   rA   i   rB   z(test_MultivariateTDist.<locals>.<lambda>Út2)r)   r   r   rT   rU   rV   rW   r   r   rX   r   r8   r9   r   rZ   r3   rY   r   )Út1ra   r=   r=   r@   Útest_MultivariateTDistc   s    
ÿÿrc   c                  C   s  t td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	ƒƒ t ksrt	‚td
ddgt
dgdtggƒ}t|ƒddƒtdt ƒtdtddt  dt
  t ƒƒ ttt
t ƒ  ksÞt	‚| jjjttjtjƒksút	‚| jj|jjk�st	‚d S )Nc                   S   s   t dddgddgddggƒS )Nr]   r;   r<   )r#   r=   r=   r=   r@   rA   o   rB   z+test_multivariate_laplace.<locals>.<lambda>ÚLr;   r   ÚL2r<   rD   é'   ÚL1rI   )r3   rY   r#   r2   r   r   r   r   r   rT   r8   r9   rU   rV   rW   r   r   rX   )rd   re   rg   r=   r=   r@   Útest_multivariate_laplacen   s    ,<ÿrh   c                  C   s  t dddddƒ} t| ƒddƒdtdƒ ttƒ ks6t‚| jjjt	t
jtdtƒƒksVt‚ttd	d
„ ƒ t| dƒdƒdtdƒ ttddƒƒ dttƒ ttddƒƒ  ksªt‚t| tƒdƒttddƒƒd ksÎt‚t| ddgƒtƒtd tt d ƒ d ksþt‚d S )NÚGr;   r<   rD   rI   é    éüÿÿÿr   c                   S   s   t dddddƒS )Nri   r;   r<   rD   rK   )r*   r=   r=   r=   r@   rA   ~   rB   z"test_NormalGamma.<locals>.<lambda>é
   é   é   rK   é€   )r*   r   r   r   r   rT   rU   rV   rW   r   r   rX   r   r   r3   rY   r!   r   r   r9   r8   )Úngr=   r=   r@   Útest_NormalGammaz   s    & 2ÿ$rq   c               
      sì  t j} td| | | g| d| | g| | d| g| | | dggƒ‰dddddgddddg  ‰‰ ‰tddd�\}}}}tddd	�}td
ˆˆˆ ˆƒ}td|ˆˆ ˆƒ}d}tt|ƒ||||ƒƒ|ks¸t‚d}	tt|ƒ||||ƒƒ|	ksÚt‚d}
tt	||d ƒ|ƒƒ|
ksüt‚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ˆdg‰ˆdddg‰td| | | | g| d| | | g| | d| | g| | | d| g| | | | dggƒ‰dddddg‰tdggƒ‰dg ‰‰t
t‡ ‡‡‡fdd„ƒ t
t‡ ‡‡	‡fdd„ƒ t
t‡ ‡‡
‡fdd„ƒ t
t‡ ‡‡‡fdd„ƒ t
t‡‡‡‡fdd„ƒ t
t‡ ‡‡‡fdd„ƒ t
t‡ ‡‡‡fdd„ƒ t
t‡‡‡‡fdd„ƒ t
t‡‡‡‡fdd„ƒ t
t‡ ‡‡fdd„ƒ d S ) Nr;   rI   r<   rD   zy_1:5T)ÚrealÚd©rN   ri   ÚGdz±d**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))zÖ5*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   é   Úv_fF©rN   rr   rn   c                      s   t dˆˆˆ ˆƒS ©Nri   ©ÚGMVLGOr=   )ÚlrO   Úomega_f1Úvr=   r@   rA   ´   rB   zBtest_GeneralizedMultivariateLogGammaDistribution.<locals>.<lambda>c                      s   t dˆˆˆ ˆƒS ry   rz   r=   )r|   rO   Úomega_f2r~   r=   r@   rA   µ   rB   c                      s   t dˆˆˆ ˆƒS ry   rz   r=   )r|   rO   Úomega_f3r~   r=   r@   rA   ¶   rB   c                      s   t dˆˆˆ ˆƒS ry   rz   r=   )r|   rO   Úomegarw   r=   r@   rA   ·   rB   c                      s   t dˆˆˆ ˆƒS ry   rz   r=   )Úl_frO   r�   r~   r=   r@   rA   ¸   rB   c                      s   t dˆˆˆ ˆƒS ry   rz   r=   )r|   Úm_fr�   r~   r=   r@   rA   ¹   rB   c                      s   t dˆˆˆ ˆƒS ry   rz   r=   )r|   rO   Úomega_f4r~   r=   r@   rA   º   rB   c                      s   t dˆˆˆ ˆƒS ry   rz   r=   )Úl_f1rO   r�   r~   r=   r@   rA   »   rB   c                      s   t dˆˆˆ ˆƒS ry   rz   r=   )Úl_f5Úmu_f5Úomega_f5r~   r=   r@   rA   ¼   rB   c                      s   t dtddƒˆˆ ˆƒS )Nri   rD   r<   )ÚGMVLGr   r=   )r|   rO   r~   r=   r@   rA   ½   rB   )r   ÚHalfr   r	   r{   r‰   Ústrr   rT   r!   r3   rY   )ÚhZy_1Zy_2Zy_3Zy_4Údeltari   ru   ZdendÚdenZmargr=   )r|   r‚   r…   r†   rƒ   rO   r‡   r�   r}   r   r€   r„   rˆ   r~   rw   r@   Ú0test_GeneralizedMultivariateLogGammaDistribution…   sd    


ý 


ý


ýü
r�   c                     s0  t ddd�\‰ ‰t dddd�\‰‰tdˆ ˆgƒ} tdˆ ˆƒ}t| ƒdd	ƒtd	ƒˆd  tˆ ˆ ƒ tˆ ƒtˆƒ  kszt‚t|d
ƒdƒtdƒˆ d  tˆ ˆ ƒ ˆtˆ ƒ tˆƒ  ks¼t‚tt‡‡fdd„ƒ tt‡ ‡fdd„ƒ ttdd„ ƒ tt‡‡fdd„ƒ | j	j
jttd
dƒtd
dƒƒk�s,t‚d S )Nza1, a2Trt   Frx   rC   rE   r;   r<   r   rD   c                      s   t dˆ ˆgƒS )NÚb1©r,   r=   )Úa1_fÚa2r=   r@   rA   É   rB   z'test_MultivariateBeta.<locals>.<lambda>c                      s   t dˆ ˆgƒS ©NÚb2r‘   r=   )Úa1Úa2_fr=   r@   rA   Ê   rB   c                   S   s   t dddgƒS )NÚb3r   r‘   r=   r=   r=   r@   rA   Ë   rB   c                      s   t dˆ ˆgƒS )NZb4r‘   r=   )r’   r—   r=   r@   rA   Ì   rB   )r	   r,   r   r   r   rT   r!   r3   rY   rU   rV   rW   r   r   )ÚmbZmb_cr=   )r–   r’   r“   r—   r@   Útest_MultivariateBetaÀ   s    &ÿ
&ÿ
rš   c            	   
      sn  t ddd�\} }}t ddd�‰ t dddd�}tdd	|ƒ}t|ƒ|d
 |d |d ƒtdd|d    d	|d    ||d
   ||d   ||d   ||d  |d  t|d
 ƒ t|d ƒ t|d ƒ  t|d
 d|d   d	|d   d	ƒfdƒk�st‚t||d ƒ|d ƒtdd|d    ||d   |d |d  t|d ƒ  td|d  d d	ƒfdƒk�stt‚tt	‡ fdd„ƒ |j
jjttd
ddƒtd
ddƒtd
ddƒƒk�sºt‚td| |ƒ}tdƒ}t dƒ\}}tt| ƒt|||  |d ||    t|| ƒ |d
| d fƒ t|| ƒ t| t|d ||  |d
| d fƒƒfdƒ}t|ƒ|ƒ |¡�sjt‚d S )Nz	n theta iTrt   Zt_f©Únegativeza_1:4)rN   rM   r$   rD   r   r;   r<   rv   ©r   Tc                      s   t ddˆ ƒS )NÚe1rn   )r.   r=   ©Ztheta_fr=   r@   rA   á   rB   z(test_MultivariateEwens.<locals>.<lambda>rI   Úazj, k)r	   r.   r   r   r   r   rT   r!   r3   rY   rU   rV   rW   r   r   r   r   r
   r   Zdummy_eq)	rL   ÚthetaÚir    ZedZedsÚjÚkrŽ   r=   rŸ   r@   Útest_MultivariateEwensÐ   sx    :
ÿ
ÿ
ÿ
ÿ
ÿ
þþ
ÿÿüû&
ÿÿ
ÿÿýý
 
ÿ&
ÿÿÿ$þþr¥   c                     sv  t dddd�\‰ } }}}t ddd�\‰‰‰‰t ddd�\‰‰tdˆ ˆˆˆˆgƒ}td	d
ˆˆˆƒ}t}t|ƒ| |||ƒtˆ|  ˆ|  ˆ|  ˆ|  |ˆ ƒ || ƒ||ƒ ||ƒ ||ƒ  tˆ | | | | ƒfdƒksÞt‚t||d ƒ| ƒ | d¡d
ˆ ˆd  dˆ ˆ ˆ  d
ˆ ˆd   k�s.t‚t	t
‡‡‡‡fdd„ƒ t	t
‡‡‡‡‡fdd„ƒ t	t
‡ fdd„ƒ d S )Nzn, x1, x2, x3, x4T©ZnonnegativerM   úp1, p2, p3, p4rt   z	p1_f, n_fr›   rJ   rE   rD   r�   r   r;   r<   rv   c                      s   t ddˆ ˆˆˆgƒS ©Nr�   rn   ©r/   r=   ©Úp1Úp1_fÚp2Úp3r=   r@   rA   ý   rB   z"test_Multinomial.<locals>.<lambda>c                      s   t dˆ ˆˆˆˆgƒS r”   r©   r=   )Ún_fr«   r­   r®   Úp4r=   r@   rA   þ   rB   c                      s   t dˆ ddddƒS )Nr˜   ç      à?çš™™™™™Ù?ç333333Ó?çš™™™™™¹?r©   r=   )rL   r=   r@   rA   ÿ   rB   )r	   r/   r   r   r   r   rT   r!   r\   r3   rY   )Úx1Úx2Úx3Úx4rJ   rE   Úfr=   )rL   r¯   r«   r¬   r­   r®   r°   r@   Útest_Multinomialï   s2    0ÿÿþþ
ÿþÿ
rº   c            	   	      sŠ  t dddd�\‰ } }}}t ddd�\‰‰‰}t ddd�‰tdd	ˆˆˆ|gƒ}td
d	dddƒ}t}t}tt|ƒ| |||ƒˆ|  ˆ|  ˆ|  ||  ˆ ˆ ˆ | d d	  || | | | d	 ƒ d|| ƒ ||ƒ ||ƒ ||ƒ   ƒtjksút‚t	t
||d ƒdƒ ¡ ddƒ�st‚tt‡‡‡‡fdd„ƒ tt‡ fdd„ƒ |jjjttdtdƒtdtdƒtdtdƒtdtdƒƒk�s†t‚d S )Nzk0, x1, x2, x3, x4Tr¦   r§   rt   r¬   r›   rH   rI   rE   r´   çš™™™™™É?r³   r;   rv   r   g…ëQ¸Õ?ç{®Gáz„?c                      s   t ddˆ ˆˆˆgƒS r¨   ©r0   r=   rª   r=   r@   rA     rB   z*test_NegativeMultinomial.<locals>.<lambda>c                      s   t dˆ ddddƒS )Nr•   r±   r²   r³   r½   r=   )Úk0r=   r@   rA     rB   )r	   r0   r   r   r   r   r   ZZerorT   r   r!   rZ   r3   rY   rU   rV   rW   r   r   r   )	rµ   r¶   r·   r¸   r°   rH   rE   Úgr¹   r=   )r¾   r«   r¬   r­   r®   r@   Útest_NegativeMultinomial  s8    @ÿÿÿ"ÿÿþ$
 
 
ÿrÀ   c                  C   sî   t dddgddgddggdƒ} t| | d ƒtƒ}tdƒtd d d  dttd d d ƒtdƒd    }||ks|t|ƒ‚tt| dƒtƒtt tfƒdks t‚t ddddgdddgdddgdddggdƒ}t	t|dƒdƒ 
¡ dd	ƒsêt‚d S )
Nr]   r   r;   r<   rI   rn   rD   r»   r¼   )r)   r!   r8   r   r   r   rT   r   r   r   rZ   )r]   ÚgotZansÚtr=   r=   r@   Ú&test_JointPSpace_marginal_distribution  s    <$,rÃ   c                  C   s¸   dd„ dD ƒ\} }t | d  d |  |d d  tj ƒdt  }td|ƒ}t|ƒddƒt dƒdt  ksnt‚t|jj	t
ƒs€t‚t|dƒdƒtdƒt td	dƒƒ dttƒ  ks´t‚d S )
Nc                 s   s   | ]}t d |ƒV  qdS ©r8   N©r   ©Ú.0r¢   r=   r=   r@   Ú	<genexpr>!  s     ztest_JointRV.<locals>.<genexpr>©r;   r<   r<   r8   r;   éþÿÿÿr   rK   )r   r   rŠ   r   r&   r   rT   Ú
isinstancerU   rV   r(   r!   r   r   )rµ   r¶   ÚpdfrQ   r=   r=   r@   Útest_JointRV   s    0
"rÍ   c                  C   s8   t dttgddgddggƒ} tt| d ƒƒtks4t‚d S ©Nr:   r;   r   )r"   r8   r9   r   r$   rT   r>   r=   r=   r@   Útest_expectation)  s    rÏ   c                  C   s4   t dttgddgddggƒ} t| ƒttfks0t‚d S rÎ   )r"   r8   r9   r$   rT   r>   r=   r=   r@   Útest_joint_vector_expectation.  s    rÐ   c               
      s¼   t dddgddgddggƒtdddd	d
dgƒtdd
dddddgƒg} d}tdƒ}|s^tdƒ nZ| D ]2}t||dd�}|D ]}t|ƒ|jjj	ksxt
‚qxqbtdddddƒ‰ tt‡ fdd„ƒ d S )NrJ   rD   rI   r<   r;   rC   r²   rn   é   é2   éË   rH   r³   r»   r´   g      Ð?g333333Ã?Únumpyz6Numpy is not installed. Abort tests for _sample_numpy.©ÚsizeÚlibraryc                      s   t ˆ dd�S )NrÔ   ©r×   ©r%   r=   ©ZN_cr=   r@   rA   D  rB   z#test_sample_numpy.<locals>.<lambda>)r1   r,   r/   r7   r5   r%   ÚtuplerU   rV   rW   rT   r0   r3   r[   )Zdistribs_numpyrÖ   rÔ   rQ   ÚsampsÚsamr=   rÚ   r@   Útest_sample_numpy4  s    ý
rÞ   c            	   	      sú   t dddgddgddggƒtddddgƒtd	d
ddddgƒg} d}tdƒ}|sXtdƒ nž| D ]v}t||d�}t|dd�}|D ]}t|ƒ|jjj	ks|t
‚q|tdƒD ]0}tdƒD ]"}t|| | ƒ|jjj	ks¬t
‚q¬q q\td	ddddƒ‰ tt‡ fdd„ƒ d S )NrJ   r   r´   gš™™™™™™?rC   r²   rn   rÑ   rH   r`   r³   r»   rD   Úscipyz3Scipy not installed. Abort tests for _sample_scipy.)rÖ   )r<   r<   r<   c                      s   t ˆ ƒS rF   rÙ   r=   rÚ   r=   r@   rA   \  rB   z#test_sample_scipy.<locals>.<lambda>)r1   r,   r/   r7   r5   r%   rÛ   rU   rV   rW   rT   Úranger0   r3   r[   )	Zdistribs_scipyrÖ   rß   rQ   rÜ   Zsamps2rÝ   r¢   r£   r=   rÚ   r@   Útest_sample_scipyG  s$    ý
$rá   c               	      sº   t dddgddgddggƒtddddgƒtd	d
ddddgƒg} d}tdƒ}|sXtdƒ n^| D ]6}t||dd�}|D ]}t| ¡ ƒ|jj	j
ksrt‚qrq\td	ddddƒ‰ tt‡ fdd„ƒ d S )NrJ   rn   r<   r;   r   rC   r²   rÑ   rH   rI   r³   r»   r´   rD   Úpymcz4PyMC is not installed. Abort tests for _sample_pymc.rÕ   c                      s   t ˆ dd�S )Nrâ   rØ   rÙ   r=   rÚ   r=   r@   rA   o  rB   z"test_sample_pymc.<locals>.<lambda>)r1   r,   r/   r7   r5   r%   rÛ   ÚflattenrU   rV   rW   rT   r0   r3   r[   )Zdistribs_pymcrÖ   râ   rQ   rÜ   rÝ   r=   rÚ   r@   Útest_sample_pymc_  s    ý
rä   c            
   	   C   sî   dd„ dD ƒ\} }t | d  d |  |d d  tj ƒdt  }td|ƒ}dddg}|D ]Ž}zpt|ƒ}|rÌg g g   }}}	t|d	|d
d�}t|d	|d
d�}t|d	|dd�}	t||kƒs¼t‚t||	kƒsÌt‚W qZ t	k
ræ   Y qZY qZX qZd S )Nc                 s   s   | ]}t d |ƒV  qdS rÄ   rÅ   rÆ   r=   r=   r@   rÈ   s  s     z#test_sample_seed.<locals>.<genexpr>rÉ   r<   r8   rß   rÔ   râ   rl   r   )rÖ   r×   Úseedr;   )
r   r   rŠ   r   r&   r7   r%   ÚallrT   r[   )
rµ   r¶   rÌ   rQ   Ú	librariesÚlibÚimported_libÚs0Ús1Ús2r=   r=   r@   Útest_sample_seedr  s     0

rí   c            
   	   C   s  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`t‚d}|D ]˜}zzt|ƒ}|rät| d|d�}t|d|d�}t|d|d�}t| ¡ ƒt| ¡ ƒksÀt‚|D ]}	t|	 ¡ ƒ|jjj	ksÄt‚qÄW qh t
k
rþ   Y qhY qhX qhd S )Nr8   r   r;   )rß   rÔ   r`   rÕ   ©r"   r1   rT   r7   r%   rÛ   rã   rU   rV   rW   r[   ©
r?   rL   r^   rç   r×   ré   rë   rì   Zs3Úsr=   r=   r@   Útest_issue_21057Š  s"     rñ   c            
   	   C   s  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`t‚d}|D ]˜}zzt|ƒ}|rät| d|d�}t|d|d�}t|d|d�}t| ¡ ƒt| ¡ ƒksÀt‚|D ]}	t|	 ¡ ƒ|jjj	ksÄt‚qÄW qh t
k
rþ   Y qhY qhX qhd S )Nr8   r   r;   )râ   r`   rÕ   rî   rï   r=   r=   r@   Útest_issue_21057_pymc¢  s"     rò   N)hZsympy.concrete.productsr   Zsympy.concrete.summationsr   Zsympy.core.numbersr   r   r   Zsympy.core.relationalr   Zsympy.core.singletonr   Zsympy.core.symbolr	   Z(sympy.functions.combinatorial.factorialsr
   r   Z$sympy.functions.elementary.complexesr   Z&sympy.functions.elementary.exponentialr   Z(sympy.functions.elementary.miscellaneousr   Z$sympy.functions.elementary.piecewiser   Zsympy.functions.special.besselr   Z'sympy.functions.special.gamma_functionsr   Zsympy.matrices.denser   Z&sympy.matrices.expressions.determinantr   Zsympy.sets.fancysetsr   Zsympy.sets.setsr   r   Zsympy.simplify.simplifyr   Zsympy.tensor.indexedr   r   r   Zsympy.integrals.integralsr   Zsympy.matricesr   r   Z"sympy.matrices.expressions.matexprr   Zsympy.statsr   r    r!   r"   r#   r$   r%   Zsympy.stats.joint_rv_typesr&   r'   r(   r)   r*   r+   r{   r,   r-   r‰   r.   r/   r0   r1   r2   Zsympy.testing.pytestr3   r4   r5   r6   Zsympy.externalr7   Z	sympy.abcr8   r9   r_   rc   rh   rq   r�   rš   r¥   rº   rÀ   rÃ   rÍ   rÏ   rÐ   rÞ   rá   rä   rí   rñ   rò   r=   r=   r=   r@   Ú<module>   sb   $<=;
	
