Ë
    âQ(h"r ã                   óê  — d Z ddlZddlmZmZmZmZmZmZ ddl	Z	ddl	m
Z ddlmZ ddlZddlZddlmZmZ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"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 dd	lm3Z3m4Z4 dd
lm5Z5 ddl6m7Z7 ddl6m8Z8m9Z9m:Z:m;Z; ddl<m=Z= ddl>m?Z? ddl@mAZA ddlBmCZC d„ ZD G d„ d«      ZEd;d„ZFd„ ZG G d„ d«      ZH G d„ d«      ZI G d„ d«      ZJd„ ZK G d„ d«      ZL G d„ d «      ZM G d!„ d"«      ZN G d#„ d$«      ZO G d%„ d&«      ZP G d'„ d(«      ZQ G d)„ d*«      ZR G d+„ d,«      ZS G d-„ d.«      ZT G d/„ d0«      ZU G d1„ d2«      ZVd3„ ZWd4„ ZX G d5„ d6«      ZY G d7„ d8«      ZZ G d9„ d:«      Z[y)<z8
Test functions for multivariate normal distributions.

é    N)Úassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_equalÚassert_array_lessÚassert_)Úraisesé   )Úcheck_distribution_rvs)Ú_PSDÚ_lnBÚmultivariate_normal_frozen)Úmultivariate_normalÚmultivariate_hypergeomÚmatrix_normalÚspecial_ortho_groupÚortho_groupÚrandom_correlationÚunitary_groupÚ	dirichletÚbetaÚwishartÚmultinomialÚ
invwishartÚchi2ÚinvgammaÚnormÚuniformÚks_2sampÚkstestÚbinomÚ	hypergeomÚmultivariate_tÚcauchyÚ
normaltestÚrandom_tableÚuniform_directionÚvonmises_fisherÚdirichlet_multinomialÚvonmises)Ú_covarianceÚ
Covariance)Ústats)Útanhsinh)ÚrombÚqmc_quadÚdblquadÚtplquad)Úmultigammaln)Úcheck_random_state_property)Ú_qsimvtv)Úpatchc                 ó¸   — t        j                  | «      t        j                  |«      }} t        | |g|¢­i |¤Ž t        | j                  |j                  «       y ©N)ÚnpÚasarrayr   r   Úshape)ÚresÚrefÚargsÚkwargss       úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/stats/tests/test_multivariate.pyÚassert_closerA   ,   sA   € Ü�z‰z˜#‹¤§
¡
¨3£ˆ€CÜ�C˜Ð.˜tÒ. vÒ.Ü�—‘˜CŸI™IÕ&ó    c                   ó  — e Zd Zd„ Zej
                  ej                  j                  ej                  j                  ej                  j                  d„ dœZ
 ej                   ee
«      «      Z ej
                  g d¢«      g d¢g d¢g d¢g ej
                  g d¢«      g d	¢g d
¢g d¢gdœZeedd eg d¢   edd dœZej"                  j%                  dedd «      d„ «       Zej"                  j%                  d ee«      «      ej"                  j%                  de«      d„ «       «       Zej"                  j%                  dd e«       ddg«      ej"                  j%                  d ee«      «      ej"                  j%                  de«      d„ «       «       «       Zej"                  j%                  d e«       dg«      ej"                  j%                  de«      d„ «       «       Zd„ Zej"                  j3                  d«      d„ «       Zd„ Zy)ÚTestCovariancec                 ó  — d}t        j                  t        |¬«      5  t        j                  t        j                  d«      «       d d d «       d}t        j                  t        |¬«      5  t        j                  t        j                  d«      t        j                  d«      ¬«       d d d «       d}t        j                  t        |¬«      5  t        j                  d«       d d d «       d	}t        j                  t        |¬«      5  t        j                  t        j                  d«      «       d d d «       d
}t        j                  t        |¬«      5  t        j                  dt        j                  d«      f«       d d d «       d}t        j                  t        |¬«      5  t        j                  t        j                  d«      df«       d d d «       d}t        j                  t        |¬«      5  t        j                  g d¢t        j                  d«      f«       d d d «       y # 1 sw Y   �ŒéxY w# 1 sw Y   �Œ“xY w# 1 sw Y   �ŒexY w# 1 sw Y   �Œ$xY w# 1 sw Y   ŒàxY w# 1 sw Y   ŒœxY w# 1 sw Y   y xY w)Nz:The input `precision` must be a square, two-dimensional...©Úmatché   z0`precision.shape` must equal `covariance.shape`.é   )Ú
covariancez7The input `diagonal` must be a one-dimensional array...Úalpacaz9The input `cholesky` must be a square, two-dimensional...z4The input `eigenvalues` must be a one-dimensional...z,The input `eigenvectors` must be a square...z9The shapes of `eigenvalues` and `eigenvectors` must be...©r
   rH   rI   )Úpytestr	   Ú
ValueErrorr+   ÚCovViaPrecisionr9   ÚonesÚeyeÚCovViaDiagonalÚCovViaCholeskyÚCovViaEigendecomposition©ÚselfÚmessages     r@   Útest_input_validationz$TestCovariance.test_input_validation4   sí  € àNˆÜ�]‰]œ:¨WÔ5ñ 	4Ü×'Ñ'¬¯©°«
Ô3÷	4ð EˆÜ�]‰]œ:¨WÔ5ñ 	IÜ×'Ñ'¬¯©¨q«	¼b¿f¹fÀQ»iÕH÷	Ið LˆÜ�]‰]œ:¨WÔ5ñ 	1Ü×&Ñ& xÔ0÷	1ð NˆÜ�]‰]œ:¨WÔ5ñ 	3Ü×&Ñ&¤r§w¡w¨q£zÔ2÷	3ð IˆÜ�]‰]œ:¨WÔ5ñ 	HÜ×0Ñ0°(¼B¿F¹FÀ1»IÐ1FÔG÷	Hð AˆÜ�]‰]œ:¨WÔ5ñ 	IÜ×0Ñ0´"·'±'¸!³*¸hÐ1GÔH÷	Ið NˆÜ�]‰]œ:¨WÔ5ñ 	IÜ×0Ñ0²)¼R¿V¹VÀA»YÐ1GÔH÷	Ið 	I÷1	4ñ 	4ú÷	Iñ 	Iú÷	1ñ 	1ú÷	3ñ 	3ú÷	Hð 	Hú÷	Ið 	Iú÷	Ið 	IúsS   ž)H.Á,>H;ÃIÄ
)IÅ+I"Æ(+I.Ç8-I:È.H8È;IÉIÉIÉ"I+É.I7É:Jc                 ó   — t        | d¬«      S )NT©Úallow_singular)r   )Úxs    r@   ú<lambda>zTestCovariance.<lambda>V   s   € Ü%)¨!¸DÔ%Að rB   )ÚDiagonalÚ	PrecisionÚCholeskyÚEigendecompositionÚPSDrL   )é   r
   rI   )r
   é   é   )rI   re   é   )r
   r   rI   )rc   éÿÿÿÿr   )rg   rc   r   ©r   r   r   )údiagonal full rankzgeneral full rankzdiagonal singularzgeneral singularr
   N)r   éþÿÿÿrg   rj   Úcov_type_namerg   c                 ó|  — t        j                  g d¢«      }g d¢}t        t        d|› �«      }| j                  |   }t        t
        d|j                  «       › �«      } | ||«      «      } | ||«      «      }t        |«      t        |«      u sJ ‚t        |j                  |«      |j                  |«      «       y )NrL   )éüÿÿÿrH   rc   ÚCovViaÚfrom_)
r9   ÚdiagÚgetattrr+   Ú_covariance_preprocessingr,   ÚlowerÚtyper   Úwhiten)	rV   rk   ÚAr\   Úcov_typeÚpreprocessingÚfactoryr<   r=   s	            r@   Útest_factorieszTestCovariance.test_factoriesb   s£   € ä�G‰G’IÓˆÚˆäœ;¨&°°Ð(@ÓAˆØ×6Ñ6°}ÑEˆÜœ*¨¨m×.AÑ.AÓ.CÐ-DÐ&EÓFˆá‘m AÓ&Ó'ˆÙ‘} QÓ'Ó(ˆÜ�C‹yœD ›IÑ%Ð%Ð%Ü˜Ÿ
™
 1› s§z¡z°!£}Õ5rB   Úmatrix_typec                 ó  — d|› d|› d�}|| j                   |   vrt        j                  |«       | j                  |   }t	        t
        d|› �«      }| j                  |   }t        |d¬«      } | ||«      «      }t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  t        j                  |«      j                  «       t        |j                  t        j                  |«      «       t        j                   j#                  d«      }	|	j!                  d¬«      }
|j%                  |
«      }|
|j&                  z  }t        ||z  ||z  «       t)        |d	«      rd
|vrt        |j+                  |«      |
«       |	j!                  d¬«      }
|j%                  |
«      }|
|j&                  z  }t        |dz  j-                  d¬«      |dz  j-                  d¬«      «       t)        |d	«      rd
|vrt        |j+                  |«      |
«       t)        |d	«      rG|j+                  t        j.                  t1        |«      «      «      }t        |j2                  |z  |«       y y )Nrn   ú does not support ú	 matricesTrZ   ì   ÐVGi’VžK rI   ©ÚsizeÚ	_colorizeÚsingular©rH   re   rI   rH   rg   ©Úaxis)Ú
_cov_typesrM   ÚskipÚ	_matricesrq   r+   rr   r   rA   Úlog_pdetr   Úrankr;   r9   r:   rJ   ÚrandomÚdefault_rngru   ÚUÚhasattrÚcolorizeÚsumrQ   ÚlenÚT)rV   r{   rk   rW   rv   rw   rx   ÚpsdÚ
cov_objectÚrngr\   r<   r=   s                r@   Útest_covariancezTestCovariance.test_covariancep   s  € ð ˜M˜?Ð*<¸[¸Mð Jð ˆà §¡°Ñ <Ñ<Ü�K‰K˜Ô à�N‰N˜;Ñ'ˆÜœ;¨&°°Ð(@ÓAˆØ×6Ñ6°}ÑEˆä�1 TÔ*ˆñ ™m¨AÓ.Ó/ˆ
Ü�Z×(Ñ(¨#¯,©,Ô7Ü�Z—_‘_ c§h¡hÔ/Ü�Z×%Ñ%¤r§z¡z°!£}×':Ñ':Ô;Ü�Z×*Ñ*¬B¯J©J°q«MÔ:ô �i‰i×#Ñ#Ð$7Ó8ˆØ�J‰J˜AˆJÓˆØ×Ñ Ó"ˆØ�#—%‘%‰iˆä�S˜3‘Y  c¡	Ô*Ü�:˜{Ô+°
À+Ñ0Mä˜×,Ñ,¨SÓ1°1Ô5ð �J‰J˜IˆJÓ&ˆØ×Ñ Ó"ˆØ�#—%‘%‰iˆÜ�c˜1‘f—\‘\ r�\Ó*¨S°!©V¯L©L¸b¨LÓ,AÔBÜ�:˜{Ô+°
À+Ñ0MÜ˜×,Ñ,¨SÓ1°1Ô5ô �:˜{Ô+Ø×%Ñ%¤b§f¡f¬S°«V£nÓ5ˆCÜ˜Ÿ™ ™ aÕ(ð ,rB   r�   r„   c                 ó´  — d|› d|› d�}|| j                   |   vrt        j                  |«       | j                  |   }t	        t
        d|› �«      }| j                  |   }g d¢} | ||«      «      }	t        }
t        ||d¬«      }t        ||	d¬«      }t        j                  j                  d«      }|j                  |||¬«      }t        j                  j                  d«      }|
j                  ||	||¬	«      }t        j                  j                  d«      } |
||	|¬
«      j                  |¬«      }t        |	t
        j                  «      r?t        |t        j                  |«      «       t        |t        j                  |«      «       nLt!        |j"                  |j"                  «       t!        |j"                  |j"                  «       t        ||«       t        |
j%                  |||	«      |j%                  |«      «       t        |j%                  |«      |j%                  |«      «       t        |
j'                  |||	«      |j'                  |«      «       t        |j'                  |«      |j'                  |«      «       t        |
j)                  ||	«      |j)                  «       «       t        |j)                  «       |j)                  «       «       y )Nrn   r}   r~   ©çš™™™™™¹?çš™™™™™É?ç333333Ó?TrZ   r   r€   ©r�   Úrandom_state©Úseed)r‡   rM   rˆ   r‰   rq   r+   rr   r   r9   rŒ   r�   ÚrvsÚ
isinstanceÚ	CovViaPSDrA   Úsqueezer   r;   ÚpdfÚlogpdfÚentropy)rV   r�   r{   rk   rW   rv   rw   rx   Úmeanr•   ÚmvnÚdist0Údist1r–   r\   Úx1Úx2s                    r@   Útest_mvn_with_covariancez'TestCovariance.test_mvn_with_covariance¡   s/  € ð ˜M˜?Ð*<¸[¸Mð Jð ˆà §¡°Ñ <Ñ<Ü�K‰K˜Ô à�N‰N˜;Ñ'ˆÜœ;¨&°°Ð(@ÓAˆØ×6Ñ6°}ÑEˆâˆÙ™m¨AÓ.Ó/ˆ
Ü!ˆÜ# D¨!¸DÔAˆÜ# D¨*ÀTÔJˆä�i‰i×#Ñ#Ð$7Ó8ˆØ×#Ñ# D¨!°$Ð#Ó7ˆÜ�i‰i×#Ñ#Ð$7Ó8ˆØ�W‰W�T˜:¨D¸sˆWÓCˆÜ�i‰i×#Ñ#Ð$7Ó8ˆÙ��z¨Ô,×0Ñ0°dÐ0Ó;ˆÜ�j¤+×"7Ñ"7Ô8Ü˜œRŸZ™Z¨›]Ô+Ü˜œRŸZ™Z¨›]Õ+ä˜Ÿ™ 1§7¡7Ô+Ü˜Ÿ™ 1§7¡7Ô+Ü˜˜RÔ ä�S—W‘W˜Q  jÓ1°5·9±9¸Q³<Ô@Ü�U—Y‘Y˜q“\ 5§9¡9¨Q£<Ô0Ü�S—Z‘Z  4¨Ó4°e·l±lÀ1³oÔFÜ�U—\‘\ !“_ e§l¡l°1£oÔ6Ü�S—[‘[  zÓ2°E·M±M³OÔDÜ�U—]‘]“_ e§m¡m£oÕ6rB   c                 ó�  — d}| j                   |   }t        t        d|› �«      }| j                  |   }g d¢} | ||«      «      }t        }	t	        ||d¬«      }
t	        ||d¬«      }t
        j                  j                  d«      }|j	                  |||¬«      }t        |	j                  |||«      |
j                  |«      «       t        |j                  |«      |
j                  |«      «       t        |	j                  |||«      |
j                  |«      «       t        |j                  |«      |
j                  |«      «       y )Nri   rn   r™   TrZ   r   r€   )r‰   rq   r+   rr   r   r9   rŒ   r�   rA   ÚcdfÚlogcdf)rV   r�   rk   r{   rv   rw   rx   r¨   r•   r©   rª   r«   r–   r\   s                 r@   Útest_mvn_with_covariance_cdfz+TestCovariance.test_mvn_with_covariance_cdfÉ   s  € ð +ˆØ�N‰N˜;Ñ'ˆÜœ;¨&°°Ð(@ÓAˆØ×6Ñ6°}ÑEˆâˆÙ™m¨AÓ.Ó/ˆ
Ü!ˆÜ# D¨!¸DÔAˆÜ# D¨*ÀTÔJˆä�i‰i×#Ñ#Ð$7Ó8ˆØ×#Ñ# D¨!°$Ð#Ó7ˆä�S—W‘W˜Q  jÓ1°5·9±9¸Q³<Ô@Ü�U—Y‘Y˜q“\ 5§9¡9¨Q£<Ô0Ü�S—Z‘Z  4¨Ó4°e·l±lÀ1³oÔFÜ�U—\‘\ !“_ e§l¡l°1£oÕ6rB   c                 ó|   — d}t        j                  t        |¬«      5  t        «        d d d «       y # 1 sw Y   y xY w)Nz7The `Covariance` class cannot be instantiated directly.rF   )rM   r	   ÚNotImplementedErrorr,   rU   s     r@   Útest_covariance_instantiationz,TestCovariance.test_covariance_instantiationã   s0   € ØKˆÜ�]‰]Ô.°gÔ>ñ 	ÜŒL÷	÷ 	ñ 	ús   ž2²;zignore::RuntimeWarningc                 óv  — t        j                  g d¢«      }|j                  d   }t        j                  |«      }t	        j
                  t        d¬«      5  t        ||«      j                  «        d d d «       d}t         j                  j                  |«      }t         j                  j                  |«      }t        j                  t         j                  j                  |«      «      }t        ||«      }|j                  |¬«      }	t        j                  |||¬«      }
t        |	|
«       y # 1 sw Y   Œ¾xY w)N)r
   rH   g:Œ0âŽyE¾r   zThe input matrix must be...rF   l   .ypGw ©rž   )r9   rp   r;   ÚzerosrM   r	   rN   r   r¡   rŒ   r�   r,   Úfrom_eigendecompositionÚlinalgÚeighr   )rV   rv   Únr¨   r    Úrng1Úrng2ÚcovÚrvr<   r=   s              r@   Útest_gh9942zTestCovariance.test_gh9942è   së   € ô
 �G‰G’MÓ"ˆØ�G‰G�A‰JˆÜ�x‰x˜‹{ˆô �]‰]œ:Ð-JÔKñ 	/Ü  aÓ(×,Ñ,Ô.÷	/ð #ˆÜ�y‰y×$Ñ$ TÓ*ˆÜ�y‰y×$Ñ$ TÓ*ˆÜ×0Ñ0´·±·±ÀÓ1BÓCˆÜ   sÓ+ˆØ�f‰f $ˆfÓ'ˆÜ!×%Ñ% d¨C¸dÔCˆÜ�S˜#Õ÷	/ð 	/ús   ÁD/Ä/D8c                 ór  — t        j                  d«      }t        j                  t        j                  d«      t        j
                  d«      f«      }t        j                  j                  ||¬«      }|j                  d ¬«      }t        ||«       t        j                  j                  j                  t        j                  ddg«      t        j                  ddgddgg«      f«      }t        j                  j                  ||¬«      }|j                  d ¬«      }|d   |d   k7  sJ ‚|d   |d   k(  sJ ‚y )	NrH   ©r¨   r¿   r€   ç      ð?ç        g      y@r   r
   )r9   rP   r,   r¹   r¸   rQ   Úscipyr-   r   r¡   r   Úarray)rV   r¨   r¿   Údistr¡   s        r@   Útest_gh19197zTestCovariance.test_gh19197ÿ   s  € ô
 �w‰w�q‹zˆÜ×0Ñ0´"·(±(¸1³+¼r¿v¹vÀa»yÐ1IÓJˆÜ�{‰{×.Ñ.°D¸cÐ.ÓBˆØ�h‰h˜DˆhÓ!ˆÜ�S˜$Ôä�k‰k×$Ñ$×<Ñ<Ü�X‰X�r˜2�hÓ¤§¡¨B°¨8°b¸$°ZÐ*@Ó!AÐBóDˆä�{‰{×.Ñ.°D¸cÐ.ÓBˆØ�h‰h˜DˆhÓ!ˆØ�1‰v˜˜a™Ò Ð Ð Ø�1‰v˜˜a™Ò Ð Ñ rB   )Ú__name__Ú
__module__Ú__qualname__rX   r9   rp   rº   ÚinvÚcholeskyr»   rr   rÇ   ÚlistÚ_all_covariance_typesr‰   r‡   rM   ÚmarkÚparametrizerz   r—   Útupler®   r²   rµ   ÚfilterwarningsrÁ   rÉ   © rB   r@   rD   rD   2   s  „ òIð< .0¯W©WØ.0¯i©i¯m©mØ-/¯Y©Y×-?Ñ-?Ø79·y±y·~±~ñ)Bñ	!CÐð %˜BŸH™H¡TÐ*CÓ%DÓEÐØ'. r§w¡wªyÓ'9Ú'0²)ºYÐ&GØ&- b§g¡gªiÓ&8Ú&0²*ºiÐ%HñJ€Ið )>Ø'<¸Q¸RÐ'@Ø'<º[Ñ'IØ&;¸B¸CÐ&@ñB€Jð
 ‡[�[×Ñ˜_Ð.CÀCÀRÐ.HÓIñ6ó Jð6ð ‡[�[×Ñ˜]©D°«OÓ<Ø‡[�[×Ñ˜_Ð.CÓDñ-)ó Eó =ð-)ð^ ‡[�[×Ñ˜V d©E«G°Q¸	Ð%BÓCØ‡[�[×Ñ˜]©D°«OÓ<Ø‡[�[×Ñ˜_Ð.CÓDñ#7ó Eó =ó Dð#7ðJ ‡[�[×Ñ˜V¡e£g¨yÐ%9Ó:Ø‡[�[×Ñ˜_Ð.CÓDñ7ó Eó ;ð7ò0ð
 ‡[�[×ÑÐ 8Ó9ñó :ðó,!rB   rD   c                 ó  — |j                  | | f«      }||j                  z  }t        j                  j	                  |«      \  }}|r|j                  | ¬«      dkD  }d||<   |t        j                  |«      z  |j                  z  }|S )Nr€   r   )rŒ   r“   r9   rº   r»   Únormalrp   )	ÚdimÚevalsr–   rƒ   rv   Ú_ÚvÚ	zero_eigsr¿   s	            r@   Ú_random_covariancerÝ     s{   € ð 	�
‰
�C˜�:Ó€AØ	ˆA�C‰C‰€AÜ�9‰9�>‰>˜!Ó�D€A€qÙØ—J‘J C�JÓ(¨1Ñ,ˆ	ØˆˆiÑØ
Œb�g‰g�e‹nÑ
˜qŸs™sÑ
"€CØ€JrB   c                 óŒ   — t         j                  j                  | | «      }t        j                  j                  |«      \  }}}|S r8   )r9   rŒ   ÚrandnrÆ   rº   Úsvd)r¼   ÚMÚuÚsrÛ   s        r@   Ú_sample_orthonormal_matrixrä      s5   € Ü
�	‰	�‰˜˜1Ó€AÜ�l‰l×Ñ˜qÓ!�G€A€qˆ!Ø€HrB   c                   óÚ  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zej$                  j'                  d ej*                  d«       ej.                  ddg«      g«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d „ Z&d!„ Z'd"„ Z(ej$                  j'                  d#d$«      d%„ «       Z)d&„ Z*ej$                  j'                  d' ejV                  d(«       ejV                  d)«      g«      d*„ «       Z,ej$                  j'                  d+ ejV                  d,«       ejV                  d-«       ejV                  d.«      g«      d/„ «       Z-d0„ Z.d1„ Z/d2„ Z0y3)4ÚTestMultivariateNormalc                 ó`  — t        j                  d«      }t        j                  d«      }t        t        t
        j                  d||«       t        t        t
        j                  d||«       t        t        t
        j                  d||«       t        t        t
        j                  d||«       y )NrI   rH   ©r   r
   ©r   r
   rH   )r9   ÚarangeÚidentityÚassert_raisesrN   r   r¥   r°   )rV   Úmur¿   s      r@   Útest_input_shapez'TestMultivariateNormal.test_input_shape'  sx   € Ü�Y‰Y�q‹\ˆÜ�k‰k˜!‹nˆÜ”jÔ"5×"9Ñ"9¸6À2ÀsÔKÜ”jÔ"5×"9Ñ"9¸9ÀbÈ#ÔNÜ”jÔ"5×"9Ñ"9¸6À2ÀsÔKÜ”jÔ"5×"9Ñ"9¸9ÀbÈ#ÕNrB   c                 ó‚  — t         j                  j                  d«       d\  }}}t        j                  |||«      }t        |j                  d«       t         j                  j                  d«      }t         j                  j                  d«      }t        j                  t         j                  j                  d«      «      }t        j                  |||«      }t        |j                  d«       d\  }}}t        j                  |||«      }t        |j                  d«       t         j                  j                  d«      }t         j                  j                  d«      }t        j                  t         j                  j                  d«      «      }t        j                  |||«      }t        |j                  d«       y )NéÒ  )ç      ø?g333333û?ç      @r   rc   )
r9   rŒ   r    r   r¥   r   Úndimrß   Úabsr°   )rV   r\   r¨   r¿   r¥   r°   s         r@   Útest_scalar_valuesz)TestMultivariateNormal.test_scalar_values/  s6  € Ü
�	‰	�‰�tÔð %‰ˆˆ4�Ü!×%Ñ% a¨¨sÓ3ˆÜ�S—X‘X˜qÔ!ô �I‰I�O‰O˜AÓˆÜ�y‰y�‰˜qÓ!ˆÜ�f‰f”R—Y‘Y—_‘_ QÓ'Ó(ˆÜ!×%Ñ% a¨¨sÓ3ˆÜ�S—X‘X˜qÔ!ð %‰ˆˆ4�Ü!×%Ñ% a¨¨sÓ3ˆÜ�S—X‘X˜qÔ!ô �I‰I�O‰O˜AÓˆÜ�y‰y�‰˜qÓ!ˆÜ�f‰f”R—Y‘Y—_‘_ QÓ'Ó(ˆÜ!×%Ñ% a¨¨sÓ3ˆÜ�S—X‘X˜qÕ!rB   c                 ó¼  — t         j                  j                  d«       t         j                  j                  d«      }t         j                  j                  d«      }t        j                  t         j                  j                  d«      «      }t        j                  |||«      }t        j                  |||«      }t        |t        j                  |«      «       y ©Nrð   rc   )
r9   rŒ   r    rß   rô   r   r¦   r¥   r   Úlog©rV   r\   r¨   r¿   Úd1Úd2s         r@   Útest_logpdfz"TestMultivariateNormal.test_logpdfJ  ó‹   € ä
�	‰	�‰�tÔÜ�I‰I�O‰O˜AÓˆÜ�y‰y�‰˜qÓ!ˆÜ�f‰f”R—Y‘Y—_‘_ QÓ'Ó(ˆÜ ×'Ñ'¨¨4°Ó5ˆÜ ×$Ñ$ Q¨¨cÓ2ˆÜ˜œBŸF™F 2›JÕ'rB   c                 ó¬  — t         j                  j                  d«       t         j                  j                  d«      }t	        j
                  |«      }t	        j                  |«      }t	        j
                  |d d«      }t	        j                  |d d«      }t        |t        j                  |«      «       t        |t        j                  |«      «       y ©Nrð   rc   r
   )	r9   rŒ   r    rß   r   r¦   r¥   r   rø   ©rV   r\   rú   rû   Úd3Úd4s         r@   Útest_logpdf_default_valuesz1TestMultivariateNormal.test_logpdf_default_valuesT  ó’   € ô 	�	‰	�‰�tÔÜ�I‰I�O‰O˜AÓˆÜ ×'Ñ'¨Ó*ˆÜ ×$Ñ$ QÓ'ˆä ×'Ñ'¨¨4°Ó3ˆÜ ×$Ñ$ Q¨¨aÓ0ˆÜ˜œBŸF™F 2›JÔ'Ü˜œBŸF™F 2›JÕ'rB   c                 ó¼  — t         j                  j                  d«       t         j                  j                  d«      }t         j                  j                  d«      }t        j                  t         j                  j                  d«      «      }t        j                  |||«      }t        j                  |||«      }t        |t        j                  |«      «       y r÷   )
r9   rŒ   r    rß   rô   r   r±   r°   r   rø   rù   s         r@   Útest_logcdfz"TestMultivariateNormal.test_logcdfa  rý   rB   c                 ó¬  — t         j                  j                  d«       t         j                  j                  d«      }t	        j
                  |«      }t	        j                  |«      }t	        j
                  |d d«      }t	        j                  |d d«      }t        |t        j                  |«      «       t        |t        j                  |«      «       y rÿ   )	r9   rŒ   r    rß   r   r±   r°   r   rø   r   s         r@   Útest_logcdf_default_valuesz1TestMultivariateNormal.test_logcdf_default_valuesk  r  rB   c                 óˆ  — t         j                  j                  d«       d}t         j                  j                  |«      }t	        d|dz   «      D ]p  }t         j                  j                  ||«      }t        j
                  ||j                  «      }t        ||d¬«      }t        |j                  j                  |«       Œr y )Nrð   re   r
   TrZ   )r9   rŒ   r    rß   ÚrangeÚdotr“   r   r   r•   r‹   )rV   r¼   r¨   Úexpected_rankrã   r¿   Údistns          r@   Ú	test_rankz TestMultivariateNormal.test_rankx  s�   € ä
�	‰	�‰�tÔØˆÜ�y‰y�‰˜qÓ!ˆÜ" 1 a¨!¡e›_ò 	?ˆMÜ—	‘	—‘  =Ó1ˆAÜ—&‘&˜˜AŸC™C“.ˆCÜ'¨¨cÀ$ÔGˆEÜ˜×)Ñ)×.Ñ.°Õ>ñ		?rB   c           	      óž  — t        dd«      D �]½  }t        j                  j                  |«      }t        d|«      D �]‹  }t        j                  j                  ||«      }t        j                  ||j
                  «      }t        j                  ||f«      }||d |…d |…f<   t        j                  |«      }|d | |d | t        |«      }t        j                  |t        j                  ||j
                  «      «      }	t        j                  ||«      }
t        t        j                  |«      |d¬«      }t        t        j                  |«      |d¬«      }t        t        j                  |«      |	d¬«      }t        |j                  j                  |«       t        |j                  j                  |«       t        |j                  j                  |«       |j                  |d | «      }|j                  |«      }|j                  |
«      }t        ||«       t        ||«       |j                  |d | «      }|j                  |«      }|j                  |
«      }t        ||«       t        ||«       |
|d d …df   z   }|j                  |«      }|j                  |«      }t        |d«       t        |t        j                   «       �ŒŽ �ŒÀ y )Nr
   rc   TrZ   rg   rÅ   )r
  r9   rŒ   rß   r  r“   r¸   rä   r   r   r•   r‹   r¥   r   r¦   Úinf)rV   r¼   ÚzÚkrã   Úcov_kkÚcov_nnr\   râ   Úcov_rrÚyÚdistn_kkÚdistn_nnÚdistn_rrÚpdf_kkÚpdf_nnÚpdf_rrÚ	logpdf_kkÚ	logpdf_nnÚ	logpdf_rrÚy_orthÚpdf_rr_orthÚlogpdf_rr_orths                          r@   Útest_degenerate_distributionsz4TestMultivariateNormal.test_degenerate_distributionsƒ  sL  € ä�q˜!“ó 0	6ˆAÜ—	‘	—‘ Ó"ˆAÜ˜1˜a“[ó .6�ä—I‘I—O‘O A qÓ)�ÜŸ™  1§3¡3›�ô Ÿ™ 1 a &Ó)�Ø!'��r˜�r˜2˜A˜2�v‘ô —H‘H˜Q“K�Ø˜"˜1˜��"�1�ô /¨qÓ1�ÜŸ™ ¤2§6¡6¨&°!·#±#Ó#6Ó7�Ü—F‘F˜1˜a“L�ô /¬r¯x©x¸«{¸FØ>BôD�ä.¬r¯x©x¸«{¸FØ>BôD�ä.¬r¯x©x¸«{¸FØ>BôD�ä˜X×0Ñ0×5Ñ5°qÔ9Ü˜X×0Ñ0×5Ñ5°qÔ9Ü˜X×0Ñ0×5Ñ5°qÔ9Ø!Ÿ™ a¨¨ eÓ,�Ø!Ÿ™ a›�Ø!Ÿ™ a›�Ü ¨Ô/Ü ¨Ô/Ø$ŸO™O¨A¨b¨q¨EÓ2�	Ø$ŸO™O¨AÓ.�	Ø$ŸO™O¨AÓ.�	Ü 	¨9Ô5Ü 	¨9Ô5ð ˜Qšq "˜u™X™�Ø&Ÿl™l¨6Ó2�Ø!)§¡°Ó!8�ô ˜[¨#Ô.Ü˜^¬b¯f©f¨WÖ5ò].6ñ0	6rB   c                 óX  — d}t        dd«      D �]  }t        d|«      D �]  }t        j                  |«      }t        |«      d d …d |…f   }t        j                  ||j
                  «      }t        j                  |||¬«      }t        j                  |||d¬«      }t        |j                  |«       t        j                  |dkD  «      sJ ‚t        j                  |||d¬«      }	t        |	j                  |«       t        j                  |	t        j                   kD  «      r�ŒJ ‚ �Œ y )	Né
   rH   rd   r
   ©r¨   r¿   r�   T)r¨   r¿   r[   rÅ   )r
  r9   r¸   rä   r  r“   r   r¡   r¥   r   r�   Úallr¦   r  )
rV   r  r¼   ÚrÚmnrâ   ÚvrÚXr¥   r¦   s
             r@   Útest_degenerate_arrayz,TestMultivariateNormal.test_degenerate_array·  s  € ð ˆÜ�q˜!“ó 	0ˆAÜ˜1˜a“[ó 0�Ü—X‘X˜a“[�Ü.¨qÓ1²!°R°a°R°%Ñ8�Ü—V‘V˜A˜qŸs™s“^�Ü'×+Ñ+°¸À!ÔD�ä)×-Ñ-¨a°b¸bØ=AôC�ä˜SŸX™X qÔ)Ü—v‘v˜c C™iÔ(Ð(Ð(ä,×3Ñ3°A¸BÀBØCGôI�ä˜VŸ[™[¨!Ô,Ü—v‘v˜f¬¯© wÑ.Ö/Ð/Ð/ò0ñ	0rB   c                 óF  — d}d}d}t        j                  ||z  «      }||z   }t        j                  ||ft        ¬«      }t        j                  ||«       d|| d …| d …f<   t        t        j                  j                  |«      d«       t        t        j                  j                  |d |…d |…f   «      t         j                  «       t        t         j                  j                  |d |…d |…f   «      d|f«       t        |«      }t        |j                  |«       y )Ng     @�@éd   rH   ©Údtyper   r
   )r9   Úexpr¸   ÚfloatÚfill_diagonalr   rÆ   rº   Údetr  r   Úslogdetr   rŠ   )rV   Úlarge_total_logÚnposÚnzeroÚlarge_entryr¼   r¿   r”   s           r@   Útest_large_pseudo_determinantz4TestMultivariateNormal.test_large_pseudo_determinantÍ  sþ   € ð
 !ˆØˆØˆÜ—f‘f˜_¨tÑ3Ó4ˆØ�5‰LˆÜ�h‰h˜˜1�v¤UÔ+ˆÜ
×Ñ˜˜kÔ*Ø !ˆˆUˆF‰G�e�V‘WÐÑô 	”U—\‘\×%Ñ% cÓ*¨AÔ.Ü”U—\‘\×%Ñ% c¨%¨4¨%°°$°¨,Ñ&7Ó8¼"¿&¹&ÔAÜœŸ	™	×)Ñ)¨#¨e¨t¨e°U°d°U¨lÑ*;Ó<Ø˜OÐ,ô	.ô �3‹iˆÜ˜Ÿ™ oÕ6rB   c                 óš  — t         j                  j                  d«       d}t         j                  j                  ||«      }t        j                  ||j
                  «      }t         j                  j                  |«      }t         j                  j                  dd|«      }t        j                  |||«      }t        j                  |||«      }t        d«      D ]n  }t        d«      D ]^  }	t        j                  |||	f   ||«      }
t        |
|||	f   «       t        j                  |||	f   ||«      }
t        |
|||	f   d¬«       Œ` Œp y )Nrð   re   rH   rI   çü©ñÒMbP?©Úrtol)r9   rŒ   r    rß   r  r“   r   r¥   r°   r
  r   )rV   r¼   Údatar¿   r¨   r+  Údesired_pdfÚdesired_cdfÚiÚjÚactuals              r@   Útest_broadcastingz(TestMultivariateNormal.test_broadcastingå  s  € Ü
�	‰	�‰�tÔØˆô �y‰y�‰˜q !Ó$ˆÜ�f‰f�T˜4Ÿ6™6Ó"ˆÜ�y‰y�‰˜qÓ!ˆô �I‰I�O‰O˜A˜q !Ó$ˆô *×-Ñ-¨a°°sÓ;ˆÜ)×-Ñ-¨a°°sÓ;ˆÜ�q“ò 	EˆAÜ˜1“Xò E�Ü,×0Ñ0°°1°a°4±¸$ÀÓD�Ü ¨°A°a°CÑ(8Ô9ä,×0Ñ0°°1°a°4±¸$ÀÓD�Ü ¨°A°a°CÑ(8¸tÖDñEñ	ErB   c                 ó.  — t        j                  ddd«      }d\  }}|dz  }t        j                  |||«      }t	        j                  |||«      }t        ||«       t        j                  |||«      }t	        j                  |||«      }t        ||«       y )Nr   rH   r%  )ç333333ó?çÍÌÌÌÌÌì?ç      à?)r9   Úlinspacer   r¥   r   r   r°   )rV   r\   r¨   r¿   Úscalerú   rû   s          r@   Útest_normal_1Dz%TestMultivariateNormal.test_normal_1Dý  sˆ   € ô �K‰K˜˜1˜bÓ!ˆØ‰	ˆˆcØ�S‘ˆÜ�X‰X�a˜˜uÓ%ˆÜ ×$Ñ$ Q¨¨cÓ2ˆÜ˜˜BÔä�X‰X�a˜˜uÓ%ˆÜ ×$Ñ$ Q¨¨cÓ2ˆÜ˜˜BÕrB   c                 ób  — t        j                  ddg«      }t        j                  ddgddgg«      }d}d|dz
  z  }t        j                  d	d|«      }t        j                  ||«      \  }}t        j                  ||d
f«      }||d d …d d …d	f<   ||d d …d d …df<   t        j                  |||«      }	t        |	|d	¬«      }
t        |	|d¬«      }t        j                  ||d	   |d   dz  ¬«      }t        j                  ||d   |d   dz  ¬«      }t        |
|dd¬«       t        ||dd¬«       y )Nrò   g      @rI  r›   ç333333ã?i  rd   r
   r   rH   r…   ©r   r   ©ÚlocrK  )r
   r
   ç{®Gáz„?©r>  Úatol)
r9   rÇ   rJ  ÚmeshgridÚemptyr   r¥   r/   r   r   )rV   r¨   r¿   r¼   ÚdeltarÛ   ÚxvÚyvÚposr¥   Úmargin_xÚmargin_yÚgauss_xÚgauss_ys                 r@   Útest_marginalizationz+TestMultivariateNormal.test_marginalization  s)  € ô �x‰x˜˜c˜
Ó#ˆÜ�h‰h˜˜S˜	 C¨ 9Ð-Ó.ˆØˆØ�Q˜‘U‘ˆä�K‰K˜˜1˜aÓ ˆÜ—‘˜Q Ó"‰ˆˆBÜ�h‰h˜˜1˜a�yÓ!ˆØˆŠAŠq�!ˆG‰ØˆŠAŠq�!ˆG‰Ü!×%Ñ% c¨4°Ó5ˆô ˜˜U¨Ô+ˆÜ˜˜U¨Ô+ˆô —(‘(˜1 $ q¡'°°T±¸cÑ1AÔBˆÜ—(‘(˜1 $ q¡'°°T±¸cÑ1AÔBˆÜ˜ '°¸4Õ@Ü˜ '°¸4Ö@rB   c                 óº  — t         j                  j                  d«       t         j                  j                  d«      }t         j                  j                  d«      }t        j                  t         j                  j                  d«      «      }t        ||«      }t        |j                  |«      t        j                  |||«      «       t        |j                  |«      t        j                  |||«      «       t        |j                  |«      t        j                  |||«      «       t        |j                  |«      t        j                  |||«      «       y r÷   )r9   rŒ   r    rß   rô   r   r   r¥   r¦   r°   r±   )rV   r\   r¨   r¿   Únorm_frozens        r@   Útest_frozenz"TestMultivariateNormal.test_frozen$  só   € ä
�	‰	�‰�tÔÜ�I‰I�O‰O˜AÓˆÜ�y‰y�‰˜qÓ!ˆÜ�f‰f”R—Y‘Y—_‘_ QÓ'Ó(ˆÜ)¨$°Ó4ˆÜ˜Ÿ™¨Ó*Ô,?×,CÑ,CÀAÀtÈSÓ,QÔRÜ˜×*Ñ*¨1Ó-Ü+×2Ñ2°1°d¸CÓ@ô	Bä˜Ÿ™¨Ó*Ô,?×,CÑ,CÀAÀtÈSÓ,QÔRÜ˜×*Ñ*¨1Ó-Ü+×2Ñ2°1°d¸CÓ@õ	BrB   rJ   rH   r
   c                 óø   — t        j                  d«      }t        j                  d«      }t        ||«      }t        j                  |j
                  |«      sJ ‚t        j                  |j                  |«      sJ ‚y )N©rH   rH   )r9   rP   rQ   r   Úallcloser¨   r¿   )rV   rJ   r¨   Úcov_should_bera  s        r@   Ú2test_frozen_multivariate_normal_exposes_attributeszITestMultivariateNormal.test_frozen_multivariate_normal_exposes_attributes2  s\   € ô �w‰w�t‹}ˆÜŸ™˜q›	ˆÜ)¨$°
Ó;ˆÜ�{‰{˜;×+Ñ+¨TÔ2Ð2Ð2Ü�{‰{˜;Ÿ?™?¨MÔ:Ð:Ñ:rB   c           
      óä  — t         j                  j                  d«       d}t         j                  j                  ||«      }t        j                  ||j
                  «      }t        j                  j                  |«      \  }}t        j                  |d«      }d|d<   d|d<   t        j                  |t        j                  t        j                  |«      |j
                  «      «      }d}t        ||¬	«      }t        |j                  |¬	«      }t        |j                  t        j                  t        j                   |d d «      «      «       t        |j                   |j                  «       y )
Nrð   rf   rI  rÄ   r   çH¯¼šò×z>rg   çñhãˆµøä>)Úcond)r9   rŒ   r    rß   r  r“   rÆ   rº   r»   Úfullrp   r   Úpinvr   rŠ   r‘   rø   )	rV   r¼   r\   r¿   rã   râ   rk  r”   Úpsd_pinvs	            r@   Útest_pseudodet_pinvz*TestMultivariateNormal.test_pseudodet_pinv@  s  € ô 	�	‰	�‰�tÔØˆÜ�I‰I�O‰O˜A˜qÓ!ˆÜ�f‰f�Q˜Ÿ™‹nˆÜ�|‰|× Ñ  Ó%‰ˆˆ1Ü�G‰G�A�s‹OˆØˆˆ!‰Øˆˆ"‰Ü�f‰f�QœŸ™œrŸw™w q›z¨1¯3©3Ó/Ó0ˆð ˆÜ�3˜TÔ"ˆÜ˜Ÿ™ tÔ,ˆô 	˜Ÿ™¤b§f¡f¬R¯V©V°A°c°r°F«^Ó&<Ô=ô 	˜Ÿ™˜ x×'8Ñ'8Õ9rB   c                 ó>   — g d¢g d¢g}t        t        t        |«       y )NrL   ©re   rc   rd   ©rì   rN   r   ©rV   r¿   s     r@   Útest_exception_nonsquare_covz3TestMultivariateNormal.test_exception_nonsquare_covZ  s   € Úš)Ð$ˆÜ”j¤$¨Õ,rB   c                 ó°   — ddgdt         j                  gg}t        t        t        |«       ddgdt         j
                  gg}t        t        t        |«       y )Nr
   r   )r9   Únanrì   rN   r   r  )rV   Úcov_nanÚcov_infs      r@   Útest_exception_nonfinite_covz3TestMultivariateNormal.test_exception_nonfinite_cov^  sF   € Ø�q�6˜AœrŸv™v˜;Ð'ˆÜ”j¤$¨Ô0Ø�q�6˜AœrŸv™v˜;Ð'ˆÜ”j¤$¨Õ0rB   c                 ó>   — ddgddgg}t        t        t        |«       y )Nr
   r   rg   rr  rs  s     r@   Útest_exception_non_psd_covz1TestMultivariateNormal.test_exception_non_psd_covd  s    € Ø�1ˆv˜˜2�wÐˆÜ”j¤$¨Õ,rB   c                 óÜ  — t         j                  j                  d«       t         j                  j                  d«      }t         j                  j                  d«      }t        j                  d«      }t         j
                  j                  }t        |t        ||«       t        |t        j                  |||«       t        |t        j                  |||«       t        |t        j                  |||«       t        |t        j                  |||«       ddgddgg}d}t        j                  t         j
                  j                  |¬«      5  t        |¬«       d d d «       y # 1 sw Y   y xY w)	Nrð   rc   )rc   rc   rÄ   rÅ   z0When `allow_singular is False`, the input matrixrF   ©r¿   )r9   rŒ   r    rß   rP   rº   ÚLinAlgErrorrì   r   r¥   r¦   r°   r±   rM   r	   )rV   r\   r¨   r¿   ÚeÚmsgs         r@   Útest_exception_singular_covz2TestMultivariateNormal.test_exception_singular_covh  s  € Ü
�	‰	�‰�tÔÜ�I‰I�O‰O˜AÓˆÜ�y‰y�‰˜qÓ!ˆÜ�g‰g�f‹oˆÜ�I‰I×!Ñ!ˆÜ�aÔ,¨d°CÔ8Ü�aÔ,×0Ñ0°!°T¸3Ô?Ü�aÔ,×3Ñ3°Q¸¸cÔBÜ�aÔ,×0Ñ0°!°T¸3Ô?Ü�aÔ,×3Ñ3°Q¸¸cÔBð �Bˆx˜"˜b˜Ð"ˆØ@ˆÜ�]‰]œ2Ÿ9™9×0Ñ0¸Ô<ñ 	)Ü CÕ(÷	)÷ 	)ñ 	)ús   ÅE"Å"E+c                 ó6  — t        j                  g d¢«      }t        j                  ddd«      }d|z  dz
  }|t        j                  |«      z   }t        j                  |||g«      j                  }t        j                  g d¢d«      }t        j                  g d¢g d	¢g d
¢gd«      }t        j                  |||«      }t        ||d¬«       t        j                  g d¢«      }	t        j                  |||«      }
t        |
|	d¬«       t        j                  g d¢«      }t        j                  ||g«      j                  }t        j                  ddgd«      }t        j                  ddgddggd«      }t        j                  |||«      }t        ||d¬«       y )N)g¥0Ò÷Q-?gox'‚¤V?g[S,¸� t?gäúóDB…?g³èc_.¹Œ?r   rH   rc   rI   )r
   rI   rH   Úd©r
   rH   r   )rH   rc   rI  )r   rI  rI   ç»½×Ùß|Û=©rT  )gwÐk:¢E]?gë®Ì™ýZ›?g¶0Ëñµ?gLÿß8»?gA¿G*ÀÐ?gñhãˆµøô>)gòIÙ‰?gˆï—Gå­?gÆ�)å‰Ç?gÄ—h»Ú?g•™óEEå?r
   rj  )	r9   rÇ   rJ  Úcosr“   r   r¥   r   r°   )rV   Úr_pdfr\   r  r  r(  r¨   r¿   r¥   Úr_cdfr°   Úr_cdf2Úr2Úmean2Úcov2Úcdf2s                   r@   Útest_R_valuesz$TestMultivariateNormal.test_R_values{  sa  € ô —‘ò 6ó 7ˆô �K‰K˜˜1˜aÓ ˆØ�‰E�A‰IˆØ”—‘�q“	‰MˆÜ�H‰H�a˜˜A�YÓ×!Ñ!ˆä�x‰xš	 3Ó'ˆÜ�h‰hš	¢:ªzÐ:¸CÓ@ˆä!×%Ñ% a¨¨sÓ3ˆÜ˜˜U¨Õ/ô —‘ò 6ó 7ˆô "×%Ñ% a¨¨sÓ3ˆÜ˜˜U¨Õ.ô —‘ò 3ó 4ˆô �X‰X�q˜!�fÓ×Ñˆä—‘˜!˜Q˜ Ó%ˆÜ�x‰x˜!˜Q˜ ! Q Ð(¨#Ó.ˆä"×&Ñ& r¨5°$Ó7ˆÜ˜˜f¨4Ö0rB   c                 ó°   — t        j                  d«      }t        j                  d«      }t        ||d¬«      }|j                  «       }t	        |ddg«       y )NrH   ©rH   rH   TrZ   r   )r9   r¸   r   r¡   r   )rV   r¨   rJ   ÚmodelÚsamples        r@   Ú,test_multivariate_normal_rvs_zero_covariancezCTestMultivariateNormal.test_multivariate_normal_rvs_zero_covariance»  sD   € Ü�x‰x˜‹{ˆÜ—X‘X˜fÓ%ˆ
Ü# D¨*ÀTÔJˆØ—‘“ˆÜ�V˜a ˜VÕ$rB   c                 óŽ  — d}d}t        j                  t        j                  |«      d|¬«      }t	        |j
                  ||f«       t        j                  d t        j                  ddgddgg«      |¬«      }t	        |j
                  |df«       t        dd¬«      }|j                  |«      }t	        |j
                  |f«       y )	Ni,  re   r
   r&  rH   rš   r   rÃ   )r   r¡   r9   r¸   r   r;   rÇ   )rV   ÚNrƒ  r“  râ   s        r@   Útest_rvs_shapez%TestMultivariateNormal.test_rvs_shapeÂ  s§   € ð ˆØˆÜ$×(Ñ(¬b¯h©h°q«k¸qÀqÔIˆÜ�V—\‘\ A q 6Ô*ä$×(Ñ(¨dÜ-/¯X©X¸¸2°wÀÀQÀÐ6HÓ-IØ./ô1ˆô 	�V—\‘\ A q 6Ô*ä Q¨AÔ.ˆØ—‘�q“ˆÜ�V—\‘\ A 5Õ)rB   c                 óÆ  — t         j                  j                  d«       d}t         j                  j                  |«      }t         j                  j                  ||«      }t        j                  ||j
                  «      }d}t        j                  |||«      }t        t        j                  |j
                  «      |d¬«       t        |j                  d«      |d¬«       y )Né  rI   éˆ  rš   r=  r   )r9   rŒ   r    rß   r  r“   r   r¡   r   r¿   r¨   )rV   r¼   r¨   rá   r¿   r�   r“  s          r@   Útest_large_samplez(TestMultivariateNormal.test_large_sampleÓ  s˜   € ô 	�	‰	�‰�tÔàˆÜ�y‰y�‰˜qÓ!ˆÜ�I‰I�O‰O˜A˜qÓ!ˆÜ�f‰f�Q˜Ÿ™‹nˆØˆä$×(Ñ(¨¨s°DÓ9ˆäœŸ™˜vŸx™xÓ(¨#°DÕ9Ü˜Ÿ™ A›¨°4Ö8rB   c                 ó   — t         j                  j                  d«       d}t         j                  j                  |«      }t         j                  j                  ||«      }t        j                  ||j
                  «      }t        ||«      }t        |j                  «       t        j                  ||«      «       t         j                  j                  |«      d   }d|t        j                  dt         j                  z  «      dz   z  t        j                  t        j                  |«      «      z   z  }t        ||j                  «       «       y )Nr™  rI   r   rI  rH   r
   )r9   rŒ   r    rß   r  r“   r   r   r§   rº   Úeigrø   Úpir‘   )rV   r¼   r¨   rá   r¿   rÀ   ÚeigsÚdesireds           r@   Útest_entropyz#TestMultivariateNormal.test_entropyä  sà   € Ü
�	‰	�‰�tÔàˆÜ�y‰y�‰˜qÓ!ˆÜ�I‰I�O‰O˜A˜qÓ!ˆÜ�f‰f�Q˜Ÿ™‹nˆä   sÓ+ˆô 	˜BŸJ™J›LÔ*=×*EÑ*EÀdÈCÓ*PÔQô �y‰y�}‰}˜SÓ! !Ñ$ˆØ˜1¤§¡ q¬2¯5©5¡yÓ 1°AÑ 5Ñ6¼¿¹ÄÇÁÀtÃÓ9MÑMÑNˆÜ˜G R§Z¡Z£\Õ2rB   c                 ó†   — t        j                  g d¢«      }d}t        t        j                  t	        |«      «      |«       y )N©r
   r
   r
   rI  )r9   rÇ   r   r1  r   )rV   Úalphar   s      r@   Útest_lnBzTestMultivariateNormal.test_lnBö  s,   € Ü—‘šÓ#ˆØˆäœBŸF™F¤4¨£;Ó/°Õ9rB   c                 ó„  — t         j                  j                  d«      }ddg}t        j                  d«      }|j                  d«      dz  dz
  }|j                  d«      dz  dz
  }t	        j
                  ||||¬«      }t	        j
                  |||«      }t	        j
                  |||«      }t        j                  |ddd	…f   |dd	d…f   fd
¬«      }	t        j                  |dd	d…f   |ddd	…f   fd
¬«      }
t	        j
                  |	||«      }t	        j
                  |
||«      }||z   |z
  |z
  }t        ||«       y )Nì   FòYc@Y r   rH   )re   rI   rH   rd   rI   ©Úlower_limit.r
   rg   r…   )r9   rŒ   r�   rQ   r   r°   Úconcatenater   )rV   r–   r¨   r¿   ÚaÚbÚcdf1Úcdf2aÚcdf2bÚab1Úab2Úcdf2ab1Úcdf2ab2rŽ  s                 r@   Ú test_cdf_with_lower_limit_arraysz7TestMultivariateNormal.test_cdf_with_lower_limit_arraysü  s:  € ä�i‰i×#Ñ#Ð$7Ó8ˆØ�1ˆvˆÜ�f‰f�Q‹iˆØ�J‰J�yÓ! !Ñ# aÑ'ˆØ�J‰J�yÓ! !Ñ# aÑ'ˆä"×&Ñ& q¨$°ÀÔCˆä#×'Ñ'¨¨4°Ó5ˆÜ#×'Ñ'¨¨4°Ó5ˆÜ�n‰n˜a  Q q S ™k¨1¨S°!°A°#¨X©;Ð7¸bÔAˆÜ�n‰n˜a  Q q S ™k¨1¨S°!°A°#¨X©;Ð7¸bÔAˆÜ%×)Ñ)¨#¨t°SÓ9ˆÜ%×)Ñ)¨#¨t°SÓ9ˆØ�u‰}˜wÑ&¨Ñ0ˆä˜˜dÕ#rB   c                 óx  — t         j                  j                  d«      }|j                  d«      }|j                  d«      }||j                  z  }|j                  d«      dz  dz
  }|j                  d«      dz  dz
  }t	        j
                  ||||¬«      }t	        ||«      j                  ||¬«      }t        j                  t	        j                  ||||¬«      «      }t        j                  t	        ||«      j                  ||¬«      «      }	t        ||d¬«       t        ||d¬«       t        |	|d¬«       y )	Nr§  rI   ©rI   rI   ©rH   rI   rd   r¨  ç-Cëâ6?r=  )	r9   rŒ   r�   r“   r   r°   r1  r±   r   )
rV   r–   r¨   r¿   r«  r¬  r­  rŽ  Úcdf3Úcdf4s
             r@   Ú%test_cdf_with_lower_limit_consistencyz<TestMultivariateNormal.test_cdf_with_lower_limit_consistency  s  € ä�i‰i×#Ñ#Ð$7Ó8ˆØ�z‰z˜!‹}ˆØ�j‰j˜Ó ˆØ�C—E‘E‰kˆØ�J‰J�vÓ˜qÑ  1Ñ$ˆØ�J‰J�vÓ˜qÑ  1Ñ$ˆä"×&Ñ& q¨$°ÀÔCˆÜ" 4¨Ó-×1Ñ1°!ÀÐ1ÓCˆÜ�v‰vÔ)×0Ñ0°°D¸#È1ÔMÓNˆÜ�v‰vÔ)¨$°Ó4×;Ñ;¸AÈ1Ð;ÓMÓNˆä˜˜d¨Õ.Ü˜˜d¨Õ.Ü˜˜d¨Ö.rB   c                 ó  — t        j                  d«      }t        j                  d«      }g d¢g d¢g d¢g d¢g}g d¢g d¢g d¢g d¢g}t        j                  g d¢«      }t	        j
                  ||||¬«      }t        ||d   |z  «       y )	NrI   r£  rh   ©r
   r   r
   ©r   r
   r   ©r
   rg   rg   r
   r¨  r   ©r9   r¸   rQ   rÇ   r   r°   r   )rV   r¨   r¿   r¬  r«  Úexpected_signsr°   s          r@   Útest_cdf_signsz%TestMultivariateNormal.test_cdf_signs"  so   € ä�x‰x˜‹{ˆÜ�f‰f�Q‹iˆÚš	¢9ªiÐ8ˆÚš	¢9ªiÐ8ˆäŸ™¢.Ó1ˆÜ!×%Ñ% a¨¨sÀÔBˆÜ˜˜S ™V NÑ2Õ3rB   c                 óŠ  — t        j                  dt        j                  g d¢«      z  «      }t        j                  |«      }d}t        j                  t        |¬«      5  t        j                  ddg|«       d d d «       t        j                  t        |¬«      5  t        ddg|«       d d d «       g d¢}t        j                  |g d¢|«      }t        t        j                  ||¬«      |«       t        j                  |g d	¢|«      }t        t        j                  |d|¬«      |«       y # 1 sw Y   ŒµxY w# 1 sw Y   Œ�xY w)
Nr
   rL   z7`cov` represents a covariance matrix in 3 dimensions...rF   r   )rI  rI  rI  rh   r}  r£  )r9   rp   rÇ   r+   rO   rM   r	   rN   r   r§   r¥   r   )rV   ÚPr•   rW   r\   r=   s         r@   Útest_mean_covz$TestMultivariateNormal.test_mean_cov-  sþ   € ä�G‰G�AœŸ™¢Ó+Ñ+Ó,ˆÜ ×0Ñ0°Ó3ˆ
àKˆÜ�]‰]œ:¨WÔ5ñ 	<Ü×'Ñ'¨¨A¨°
Ô;÷	<ô �]‰]œ:¨WÔ5ñ 	4Ü  A ¨
Ô3÷	4ò ˆÜ!×%Ñ% aª°JÓ?ˆÜÔ(×,Ñ,¨Q°JÔ?ÀÔEä!×%Ñ% aª°JÓ?ˆÜÔ(×,Ñ,¨Q°°zÔBÀCÕH÷	<ð 	<ú÷	4ð 	4ús   Á D-ÂD9Ä-D6Ä9Ec                 óš   — ddg}d}t        j                  t        |¬«      5  t        j                  |«       d d d «       y # 1 sw Y   y xY w)Nr
   rI   z`x` must be two-dimensional.rF   )rM   r	   rN   r   Úfit)rV   r?  Ú	error_msgs      r@   Útest_fit_wrong_fit_data_shapez4TestMultivariateNormal.test_fit_wrong_fit_data_shape@  sA   € Ø�1ˆvˆØ2ˆ	Ü�]‰]œ:¨YÔ7ñ 	*Ü×#Ñ# DÔ)÷	*÷ 	*ñ 	*ús   ¢AÁA
rØ   )rI   rc   c                 ó@  — t         j                  j                  d«      }|j                  d|f«      }t        j                  |«      \  }}t        j
                  |d¬«      t        j                  |j                  d¬«      }}t        ||d¬«       t        ||d¬«       y )	Nì   ¼@‡,„Q| r.  r   r…   )ÚddofçVçž¯Ò<r†  r=  )	r9   rŒ   r�   r   rÇ  r¨   r¿   r“   r   )rV   rØ   r–   r\   Úmean_estÚcov_estÚmean_refÚcov_refs           r@   Útest_fit_correctnessz+TestMultivariateNormal.test_fit_correctnessF  sy   € ä�i‰i×#Ñ#Ð$4Ó5ˆØ�J‰J˜˜S�zÓ"ˆÜ/×3Ñ3°AÓ6Ñˆ�'ÜŸG™G A¨AÔ.´·±°q·s±sÀÔ0C�'ˆÜ˜ (°Õ7Ü˜ ¨uÖ5rB   c                 óÄ   — t        j                  dd«      }d}t        j                  d«      }t        j                  |||¬«      \  }}t        ||«       t        ||«       y )N)rH   r
   rI   rÄ   )Úfix_meanÚfix_cov)r9   rl  Ú
atleast_2dr   rÇ  r   )rV   r?  Ú
mean_fixedÚ	cov_fixedr¨   r¿   s         r@   Útest_fit_both_parameters_fixedz5TestMultivariateNormal.test_fit_both_parameters_fixedO  sT   € Ü�w‰w�v˜qÓ!ˆØˆ
Ü—M‘M "Ó%ˆ	Ü'×+Ñ+¨D¸:Ø4=ô?‰	ˆˆcä�T˜:Ô&Ü�S˜)Õ$rB   rÔ  r‘  ©rI   c                 ó¼   — d}t        j                  t        |¬«      5  t        j                  t        j                  d«      |¬«       d d d «       y # 1 sw Y   y xY w)Nzd`fix_mean` must be a one-dimensional array the same length as the dimensionality of the vectors `x`.rF   rH   ©rÔ  ©rM   r	   rN   r   rÇ  r9   rQ   )rV   rÔ  r€  s      r@   Ú"test_fit_fix_mean_input_validationz9TestMultivariateNormal.test_fit_fix_mean_input_validationX  sI   € ðCˆä�]‰]œ:¨SÔ1ñ 	BÜ×#Ñ#¤B§F¡F¨1£I¸ÕA÷	B÷ 	Bñ 	Búó   ž+AÁArÕ  rd  )rI   rH   )re   re   c                 ó¼   — d}t        j                  t        |¬«      5  t        j                  t        j                  d«      |¬«       d d d «       y # 1 sw Y   y xY w)Nzn`fix_cov` must be a two-dimensional square array of same side length as the dimensionality of the vectors `x`.rF   rI   ©rÕ  rÝ  )rV   rÕ  r€  s      r@   Ú+test_fit_fix_cov_input_validation_dimensionzBTestMultivariateNormal.test_fit_fix_cov_input_validation_dimension`  sJ   € ðˆô �]‰]œ:¨SÔ1ñ 	@Ü×#Ñ#¤B§F¡F¨1£I°wÕ?÷	@÷ 	@ñ 	@úrß  c                 óò   — d}t        j                  t        |¬«      5  t        j                  ddgddgg«      }t        j                  t        j                  d«      |¬«       d d d «       y # 1 sw Y   y xY w)Nz2`fix_cov` must be symmetric positive semidefinite.rF   rÄ   rÅ   g      ð¿rH   rá  )rM   r	   rN   r9   rÇ   r   rÇ  rQ   )rV   rÈ  rÕ  s      r@   Ú*test_fit_fix_cov_not_positive_semidefinitezATestMultivariateNormal.test_fit_fix_cov_not_positive_semidefinitej  sa   € ØHˆ	Ü�]‰]œ:¨YÔ7ñ 	@Ü—h‘h  R ¨2¨s¨)Ð4Ó5ˆGÜ×#Ñ#¤B§F¡F¨1£I°wÕ?÷	@÷ 	@ñ 	@ús   žAA-Á-A6c                 óæ  — t         j                  j                  d«      }|j                  d«      }|j                  d«      }t        j                  ||j                  «      }t        j                  ||d|¬«      }t        j                  |«      \  }}t        j                  |||¬«      j                  «       }t        j                  ||¬«      \  }	}
t        |	|«       t        j                  ||	|
¬«      j                  «       }||k  sJ ‚|j                  d«      }dt        j                  ||j                  «      z  }|
|z   }t        j                  ||	|¬«      j                  «       }||k  sJ ‚y )	NrË  rI   r¶  r.  ©r¨   r¿   r�   rž   rÃ   rÜ  ç:Œ0âŽyE>)r9   rŒ   r�   r  r“   r   r¡   rÇ  r¦   r‘   r   )rV   r–   rQ  rv   r¿   ÚsamplesÚ	mean_freeÚcov_freeÚ	logp_freeÚmean_fixÚcov_fixÚlogp_fixÚmÚcov_perturbedÚlogp_perturbeds                  r@   Útest_fit_fix_meanz(TestMultivariateNormal.test_fit_fix_meanp  sL  € Ü�i‰i×#Ñ#Ð$4Ó5ˆØ�j‰j˜‹mˆØ�J‰J�vÓˆÜ�f‰f�Q˜Ÿ™‹nˆÜ%×)Ñ)¨s¸À#Ø7:ô<ˆä1×5Ñ5°gÓ>Ñˆ	�8Ü'×.Ñ.¨w¸YØ3;ô=ß=@¹S»Uð 	ä/×3Ñ3°GÀcÔJÑˆ�'Ü�X˜sÔ#Ü&×-Ñ-¨g¸HØ29ô;ß;>¹3»5ð 	ð ˜)Ò#Ð#Ð#ð �J‰J�vÓˆØ”2—6‘6˜!˜QŸS™S“>Ñ!ˆØ !™ˆÜ-×4Ñ4°WØ:BØ9FôH÷ 8;±s³uð 	ð  Ò(Ð(Ñ(rB   c                 óä  — t         j                  j                  d«      }|j                  d«      }|j                  d«      }t        j                  ||j                  «      }t        j                  ||d|¬«      }t        j                  |«      \  }}t        j                  |||¬«      j                  «       }t        j                  ||¬«      \  }	}
t        |	t        j                  |d¬	«      «       t        |
|«       t        j                  ||	|
¬«      j                  «       }||k  sJ ‚|	d
|j                  d«      z  z   }t        j                  |||
¬«      j                  «       }||k  sJ ‚y )NrË  rI   r¶  r.  ræ  rÃ   rá  r   r…   rç  )r9   rŒ   r�   r  r“   r   r¡   rÇ  r¦   r‘   r   r¨   )rV   r–   rQ  rv   r¿   rè  ré  rê  rë  rì  rí  rî  Úmean_perturbedrñ  s                 r@   Útest_fit_fix_covz'TestMultivariateNormal.test_fit_fix_cov�  sJ  € Ü�i‰i×#Ñ#Ð$4Ó5ˆØ�j‰j˜‹mˆØ�J‰J�vÓˆÜ�f‰f�Q˜Ÿ™‹nˆÜ%×)Ñ)¨s¸Ø/2ÀôFˆä1×5Ñ5°gÓ>Ñˆ	�8Ü'×.Ñ.¨w¸YØ3;ô=ß=@¹S»Uð 	ä/×3Ñ3°GÀSÔIÑˆ�'Ü�XœrŸw™w w°QÔ7Ô8Ü�W˜cÔ"Ü&×-Ñ-¨g¸HØ29ô;ß;>¹3»5ð 	ð ˜)Ò#Ð#Ð#ð " D¨3¯:©:°a«=Ñ$8Ñ8ˆÜ-×4Ñ4°WØ:HØ9@ôB÷ 8;±s³uð 	ð  Ò(Ð(Ñ(rB   N)1rÊ   rË   rÌ   rî   rõ   rü   r  r  r  r  r#  r,  r:  rE  rL  r_  rb  rM   rÑ   rÒ   r9   rQ   r,   Úfrom_diagonalrg  ro  rt  ry  r{  r�  r�  r”  r—  r›  r¡  r¥  r´  r»  rÂ  rÅ  rÉ  rÒ  rÙ  r¸   rÞ  râ  rä  rò  rõ  rÕ   rB   r@   ræ   ræ   &  s¿  „ òOò"ò6(ò(ò(ò(ò	?ò26òh0ò,7ò0Eò0 òAò2Bð ‡[�[×ÑØàˆB�F‰F�1‹IØ$ˆJ×$Ñ$ a¨ VÓ,ð	
óñ;óð;ò:ò4-ò1ò-ò)ò&>1ò@%ò*ò"9ò"3ò$:ò$ò(/ò$	4òIò&*ð ‡[�[×Ñ˜U FÓ+ñ6ó ,ð6ò%ð ‡[�[×Ñ˜Z¨(¨"¯(©(°6Ó*:Ø*2¨"¯(©(°5«/ð*;ó <ñBó<ðBð ‡[�[×Ñ˜Y¨¨¯©°%«Ø)1¨¯©°&Ó)9Ø)1¨¯©°&Ó)9ð);ó <ñ@ó<ð@ò@ò)ó:)rB   ræ   c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚTestMatrixNormalc           
      ó2  — d}d}t        j                  ||fd«      }dt        j                  |«      z  t        j                  ||fd«      z   }dt        j                  |«      z  t        j                  ||fd«      z   }t        t        t
        t        j                  d«      «       t        t        t
        |t        j                  d«      |«       t        t        t
        ||t        j                  d«      «       t        t        t
        |||«       t        t        t
        |||«       t        t        t
        |j                  ||«       t         j                  j                  }t        |t
        j                  ||t        j                  ||f«      «       t        |t
        j                  |t        j                  ||f«      |«       t        |t
        ||t        j                  ||f«      «       t        |t
        |t        j                  ||f«      |«       y )Nre   rI   rœ   rI  çffffffæ?)rc   re   rI   r%  )r9   rl  rë   rì   rN   r   r¸   r“   rº   r~  r¡   rP   )rV   Únum_rowsÚnum_colsrá   rŽ   ÚVr  s          r@   Útest_bad_inputzTestMatrixNormal.test_bad_input«  s‡  € àˆØˆÜ�G‰G�X˜hÐ'¨Ó-ˆØ”"—+‘+˜hÓ'Ñ'¬"¯'©'°8¸XÐ2FÈÓ*LÑLˆØ”"—+‘+˜hÓ'Ñ'¬"¯'©'°8¸XÐ2FÈÓ*LÑLˆô 	”j¤-´·±¸'Ó1BÔCÜ”j¤-°´B·H±H¸R³LÀ!ÔDÜ”j¤-°°A´r·x±xÀ³|ÔDÜ”j¤-°°A°qÔ9Ü”j¤-°°A°qÔ9Ü”j¤-°·±°a¸Ô;ä�I‰I×!Ñ!ˆä�aœ×*Ñ*Ø˜œBŸG™G X¨xÐ$8Ó9ô	;ä�aœ×*Ñ*ØœŸ™ (¨HÐ!5Ó6¸ô	;ô 	�aœ¨¨1¬b¯g©g°xÀÐ6JÓ.KÔLÜ�aœ¨¬2¯7©7°H¸hÐ3GÓ+HÈ!ÕLrB   c                 óÀ  — d}d}t        j                  ||fd«      }dt        j                  |«      z  t        j                  ||fd«      z   }dt        j                  |«      z  t        j                  ||fd«      z   }t        j                  ||f«      }t        j                  |df«      }t        j                  d|f«      }t        j                  |«      }	t        j                  |«      }
t        j                  d«      }t	        t        j                  |||¬«      j                  ||f«       t	        t        j                  |¬«      j                  ||f«       t	        t        j                  |¬	«      j                  |df«       t	        t        j                  |¬
«      j                  d|f«       t	        t        j                  ||¬«      j                  ||f«       t	        t        j                  ||¬«      j                  ||f«       t	        t        j                  ||¬«      j                  ||f«       t	        t        |¬«      j                  |	«       t	        t        |¬«      j                  |
«       t	        t        |¬	«      j                  |«       t	        t        |¬	«      j                  |«       t	        t        |¬
«      j                  |«       t	        t        |¬
«      j                  |«       t	        t        ||¬«      j                  |
«       t	        t        ||¬«      j                  |	«       t	        t        ||¬«      j                  |«       y )Nre   rI   rœ   rI  rú  r
   ©r¨   ÚrowcovÚcolcov)r¨   )r  )r  )r¨   r  )r¨   r  )r  r  )r9   rl  rë   r¸   r   r   r¡   r;   r  r  r¨   )rV   rû  rü  rá   rŽ   rý  ÚZÚZrÚZcÚIrÚIcÚI1s               r@   Útest_default_inputsz$TestMatrixNormal.test_default_inputsÅ  s“  € àˆØˆÜ�G‰G�X˜hÐ'¨Ó-ˆØ”"—+‘+˜hÓ'Ñ'¬"¯'©'°8¸XÐ2FÈÓ*LÑLˆØ”"—+‘+˜hÓ'Ñ'¬"¯'©'°8¸XÐ2FÈÓ*LÑLˆÜ�H‰H�h Ð)Ó*ˆÜ�X‰X�x �mÓ$ˆÜ�X‰X�q˜(�mÓ$ˆÜ�[‰[˜Ó"ˆÜ�[‰[˜Ó"ˆÜ�[‰[˜‹^ˆä”]×&Ñ&¨A°aÀÔB×HÑHØ Ð)ô	+ä”]×&Ñ&¨AÔ.×4Ñ4Ø Ð)ô	+ä”]×&Ñ&¨aÔ0×6Ñ6Ø �]ô	$ä”]×&Ñ&¨aÔ0×6Ñ6Ø˜�]ô	$ä”]×&Ñ&¨A°aÔ8×>Ñ>Ø Ð)ô	+ä”]×&Ñ&¨A°aÔ8×>Ñ>Ø Ð)ô	+ä”]×&Ñ&¨a¸Ô:×@Ñ@Ø Ð)ô	+ô 	”]¨Ô*×1Ñ1°2Ô6Ü”]¨Ô*×1Ñ1°2Ô6Ü”]¨!Ô,×1Ñ1°2Ô6Ü”]¨!Ô,×3Ñ3°RÔ8Ü”]¨!Ô,×1Ñ1°2Ô6Ü”]¨!Ô,×3Ñ3°RÔ8Ü”]¨°!Ô4×;Ñ;¸RÔ@Ü”]¨°!Ô4×;Ñ;¸RÔ@Ü”]¨!°AÔ6×;Ñ;¸QÕ?rB   c                 ó  — d}d}t        j                  ||fd«      }t        j                  |d«      }d}t        j                  |d«      }d}t        j                  |«      }t        j                  |«      }	t        t	        |||¬«      j
                  d|z  «       t        t	        |||¬«      j                  d|	z  «       t        t	        |||¬«      j
                  d|z  «       t        t	        |||¬«      j                  d|	z  «       y )Nre   rI   rœ   r›   rš   r   )r9   rl  rë   r   r   r  r  )
rV   rû  rü  rá   ÚUvÚUsÚVvÚVsr  r  s
             r@   Útest_covariance_expansionz*TestMatrixNormal.test_covariance_expansionì  sç   € àˆØˆÜ�G‰G�X˜xÐ(¨#Ó.ˆÜ�W‰W�X˜sÓ#ˆØˆÜ�W‰W�X˜sÓ#ˆØˆä�[‰[˜Ó"ˆÜ�[‰[˜Ó"ˆä”]¨°"¸RÔ@×GÑGØ˜‘Vô	ä”]¨°"¸RÔ@×GÑGØ˜‘Vô	ä”]¨°"¸RÔ@×GÑGØ˜‘Vô	ä”]¨°"¸RÔ@×GÑGØ˜‘Võ	rB   c                 óÊ  — t        dd«      D �]S  }t        dd«      D �]@  }t        j                  ||fd«      }dt        j                  |«      z  t        j                  ||fd«      z   }dt        j                  |«      z  t        j                  ||fd«      z   }t	        |||¬«      }|j                  d¬«      }t	        j
                  |||d¬	«      }t        ||«       |j                  d¬«      }	|j                  |	«      }
t	        j                  |	|||¬«      }t        |
|«       |j                  |	«      }t	        j                  |	|||¬«      }t        ||«       �ŒC �ŒV y )
Nr
   rc   rœ   rI  rú  r   rð   r·   )r¨   r  r  rž   )	r
  r9   rl  rë   r   r¡   r   r¥   r¦   )rV   rB  rC  rá   rŽ   rý  ÚfrozenÚrvs1Úrvs2r+  Úpdf1Úpdf2Úlogpdf1Úlogpdf2s                 r@   Útest_frozen_matrix_normalz*TestMatrixNormal.test_frozen_matrix_normal  s8  € Ü�q˜“ó 	/ˆAÜ˜1˜Q“Zó /�Ü—G‘G˜Q˜q˜E 3Ó'�Øœ"Ÿ+™+ a›.Ñ(¬2¯7©7°A°a°5¸#Ó+>Ñ>�Øœ"Ÿ+™+ a›.Ñ(¬2¯7©7°A°a°5¸#Ó+>Ñ>�ä&¨A°aÀÔB�à—z‘z¨t�zÓ4�Ü$×(Ñ(¨a¸À!Ø6:ô<�ä˜T 4Ô(à—J‘J¨D�JÓ1�à—z‘z !“}�Ü$×(Ñ(¨°¸1ÀQÔG�Ü˜T 4Ô(à Ÿ-™-¨Ó*�Ü'×.Ñ.¨q°qÀÈ1ÔM�Ü˜W gÖ.ò)/ñ	/rB   c                 óZ  — t        dd«      D �]›  }t        dd«      D �]ˆ  }t        j                  ||fd«      }dt        j                  |«      z  t        j                  ||fd«      z   }dt        j                  |«      z  t        j                  ||fd«      z   }t	        |||¬«      }|j                  d¬«      }|j                  |«      }|j                  |«      }	|j                  «       }
|j                  j                  «       }|j                  j                  «       }t        j                  ||«      }t        j                  |||¬	«      }t        j                  |||¬	«      }t        j                  ||¬	«      }t        ||d
¬«       t        |	|d
¬«       t        |
|«       �Œ‹ �Œž y )Nr
   rc   rœ   rI  rú  r   rð   r·   rÃ   r…  r=  )r
  r9   rl  rë   r   r¡   r¥   r¦   r§   r“   ÚflattenÚkronr   r   )rV   rB  rC  rá   rŽ   rý  r  r+  r  r  Úentropy1ÚvecXÚvecMr¿   r  r  Úentropy2s                    r@   Útest_matches_multivariatez*TestMatrixNormal.test_matches_multivariate  s\  € ô �q˜“ó 	4ˆAÜ˜1˜Q“Zó 4�Ü—G‘G˜Q˜q˜E 3Ó'�Øœ"Ÿ+™+ a›.Ñ(¬2¯7©7°A°a°5¸#Ó+>Ñ>�Øœ"Ÿ+™+ a›.Ñ(¬2¯7©7°A°a°5¸#Ó+>Ñ>�ä&¨A°aÀÔB�Ø—J‘J¨D�JÓ1�Ø—z‘z !“}�Ø Ÿ-™-¨Ó*�Ø!Ÿ>™>Ó+�à—s‘s—{‘{“}�Ø—s‘s—{‘{“}�Ü—g‘g˜a “l�Ü*×.Ñ.¨t¸$ÀCÔH�Ü-×4Ñ4°TÀÈ#ÔN�Ü.×6Ñ6¸DÀcÔJ�ä  d°Õ7Ü ¨°uÕ=Ü ¨(Ö3ò)4ñ	4rB   c           	      ó0  — d}d}t        j                  ||fd«      }dt        j                  |«      z  t        j                  ||fd«      z   }dt        j                  |«      z  t        j                  ||fd«      z   }d}t        |||¬«      }|j	                  |d¬	«      }|j	                  |d
¬	«      }	t        j
                  |t         j                  d d …d d …d d …f   |	t         j                  d d …d d …d d …f   fd¬«      }
t        |
j                  d|||f«       |j                  |
«      }t        |j                  d|f«       t        d«      D ]B  }t        |«      D ]2  }t        j                  |
||f   |||¬«      }t        ||||f   d«       Œ4 ŒD y )Nre   rI   rœ   rI  rú  r%  r   rð   r�   iá  r   r…   rH   r…  )r9   rl  rë   r   r¡   rª  Únewaxisr   r;   r¦   r
  r   )rV   rû  rü  rá   rŽ   rý  r–  r  ÚX1ÚX2r+  Úarray_logpdfrB  rC  Úseparate_logpdfs                  r@   Útest_array_inputz!TestMatrixNormal.test_array_input4  s{  € àˆØˆÜ�G‰G�X˜hÐ'¨Ó-ˆØ”"—+‘+˜hÓ'Ñ'¬"¯'©'°8¸XÐ2FÈÓ*LÑLˆØ”"—+‘+˜hÓ'Ñ'¬"¯'©'°8¸XÐ2FÈÓ*LÑLˆØˆä A¨a¸Ô:ˆØ�Z‰Z˜Q¨TˆZÓ2ˆØ�Z‰Z˜Q¨TˆZÓ2ˆÜ�N‰N˜BœrŸz™zª!ªAªaÐ/Ñ0°´B·J±JºqÂÂ1Ð4DÑ1EÐFÈQÔOˆÜ�Q—W‘W˜q ! X¨xÐ8Ô9à—}‘} QÓ'ˆÜ�\×'Ñ'¨!¨Q¨Ô0Ü�q“ò 	KˆAÜ˜1“Xò K�Ü"/×"6Ñ"6°q¸¸1¸±vÀAØ>?Èô#K�ä °¸aÀ¸cÑ1BÀEÕJñKñ	KrB   c                 óº  — d}d}t        j                  ||fd«      }dt        j                  |«      z  t        j                  ||fd«      z   }dt        j                  |«      z  t        j                  ||fd«      z   }d}t        |||¬«      }|j	                  |d¬	«      }t        j
                  |d
¬«      }	t        |	|d¬«       t        j                  |j                  ||z  |«      j                  «      }
t        |
|d¬«       t        j                  t        j                  |dd«      j                  ||z  |«      j                  «      }t        ||d¬«       y )Nre   rI   rœ   rI  rú  éè  r   rð   r�   r   r…   rš   r†  r
   rH   )r9   rl  rë   r   r¡   r¨   r   r¿   Úreshaper“   Úswapaxes)rV   rû  rü  rá   rŽ   rý  r–  r  r+  Úsample_meanÚsample_colcovÚsample_rowcovs               r@   Útest_momentszTestMatrixNormal.test_momentsK  s%  € àˆØˆÜ�G‰G�X˜hÐ'¨Ó-ˆØ”"—+‘+˜hÓ'Ñ'¬"¯'©'°8¸XÐ2FÈÓ*LÑLˆØ”"—+‘+˜hÓ'Ñ'¬"¯'©'°8¸XÐ2FÈÓ*LÑLˆØˆä A¨a¸Ô:ˆØ�J‰J˜A¨DˆJÓ1ˆä—g‘g˜a QÔ'ˆÜ˜ Q¨SÕ1äŸ™˜qŸy™y¨¨8©°HÓ=×?Ñ?Ó@ˆÜ˜ q¨sÕ3äŸ™œrŸ{™{¨1¨Q¨qÓ1×9Ñ9Ø89¸(¹
À8ó MßMNÉQóPˆä˜ q¨sÖ3rB   c           	      óf  — t        j                  t        j                  ddgddgg«      t        j                  ddgddgg«      t        j                  ddgddgg«      t        j                  j                  d«      d¬	«      }t        j                  d
dgddggddgddggg«      }t        ||«       y )Nr
   rH   rI   re   rg   rc   r%  r   )r¨   r  r  rž   r�   g¡6‚ÿø?gÇ€À Üó¿g‚¡c´Ï¿@g—ì"ç'ë@gI2Í–é@g^½€Òjy%@gøDn3Á@gëž|\3@)r   r¡   r9   rÇ   rŒ   r�   r   )rV   rD  Úexpecteds      r@   Útest_sampleszTestMatrixNormal.test_samplesa  sÃ   € ô ×"Ñ"Ü—‘˜A˜q˜6 A q 6Ð*Ó+Ü—8‘8˜a ˜W r¨1 gÐ.Ó/Ü—8‘8˜a ˜V a¨ WÐ-Ó.ÜŸ™×.Ñ.¨qÓ1Øô
ˆô —8‘8ØÐ!2Ð3ØÐ!1Ð2ð4àÐ!2Ð3ØÐ!1Ð2ð4ð5ó
ˆô 	˜ Õ)rB   N)rÊ   rË   rÌ   rþ  r	  r  r  r   r'  r/  r2  rÕ   rB   r@   rø  rø  ©  s.   „ òMò4%@òNò,/ò04ò4Kò.4ó,*rB   rø  c                   ó~   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestDirichletc           	      óR  — t         j                  j                  d«       t         j                  j                  dd«      }t         j                  j	                  dd|«      }t        |«      }t        |j                  «       t        j                  |«      «       t        |j                  «       t        j                  |«      «       t        |j                  «       t        j                  |«      «       d}t        |«      D ]¥  }t         j                  j	                  dd|«      }|t        j                  |«      z  }t        |j                  |d d «      t        j                  |d d |«      «       t        |j                  |d d «      t        j                  |d d |«      «       Œ§ y ©Nr™  r
   é    ç•Ö&è.>r.  r%  rg   )r9   rŒ   r    Úrandintr   r   r   Úvarr¨   r§   r
  r‘   r¥   r¦   ©rV   r¼   r¤  rƒ  Ú	num_testsrB  r\   s          r@   Útest_frozen_dirichletz#TestDirichlet.test_frozen_dirichletv  s0  € Ü
�	‰	�‰�tÔä�I‰I×Ñ˜a Ó$ˆÜ—	‘	×!Ñ! &¨#¨qÓ1ˆä�eÓˆä�Q—U‘U“WœiŸm™m¨EÓ2Ô3Ü�Q—V‘V“XœyŸ~™~¨eÓ4Ô5Ü�Q—Y‘Y“[¤)×"3Ñ"3°EÓ":Ô;Øˆ	Ü�yÓ!ò 	LˆAÜ—	‘	×!Ñ! &¨#¨qÓ1ˆAØ”—‘˜“‰NˆAÜ˜Ÿ™˜q  "˜v›¬	¯©°a¸¸°f¸eÓ(DÔEÜ˜Ÿ™ ! C R &Ó)¬9×+;Ñ+;¸A¸c¸r¸FÀEÓ+JÕKñ		LrB   c                 ój  — t         j                  j                  d«       t        j                  g d¢«      }t         j                  j	                  |d¬«      }t        |j                  d«       t        t        t        j                  ||«       t        t        t        j                  ||«       t	        j                  |j                  |«       t	        j                  |j                  d d |«       t	        j                  |j                  |«       t	        j                  |j                  d d |«       y )Nr™  ©rÄ   ç       @ç      @rf   r€   )rf   rI   rg   )r9   rŒ   r    rÇ   r   r   r;   rì   rN   r¥   r¦   r“   ©rV   r¤  r\   s      r@   Ú"test_numpy_rvs_shape_compatibilityz0TestDirichlet.test_numpy_rvs_shape_compatibilityˆ  sÅ   € Ü
�	‰	�‰�tÔÜ—‘šÓ)ˆÜ�I‰I×Ñ ¨AÐÓ.ˆÜ�Q—W‘W˜fÔ%Ü”j¤)§-¡-°°EÔ:Ü”j¤)×"2Ñ"2°A°uÔ=Ü�‰�a—c‘c˜5Ô!Ü�‰�a—c‘c˜#˜2�h Ô&Ü×Ñ˜Ÿ™˜eÔ$Ü×Ñ˜Ÿ™˜S˜b˜ 5Õ)rB   c                 óH  — t         j                  j                  d«       g d¢}t         j                  j                  t        j                  d|«      d¬«      j
                  }t        t        t        j                  ||«       t        t        t        j                  ||«       y )Nr™  )rÄ   rÅ   rA  r8  rf   r€   ©
r9   rŒ   r    r   Úmaximumr“   rì   rN   r¥   r¦   rB  s      r@   Útest_alpha_with_zerosz#TestDirichlet.test_alpha_with_zeros”  sg   € Ü
�	‰	�‰�tÔÚˆä�I‰I×Ñ¤§
¡
¨4°Ó 7¸aÐÓ@×BÑBˆÜ”j¤)§-¡-°°EÔ:Ü”j¤)×"2Ñ"2°A°uÕ=rB   c                 óH  — t         j                  j                  d«       g d¢}t         j                  j                  t        j                  d|«      d¬«      j
                  }t        t        t        j                  ||«       t        t        t        j                  ||«       y )Nr™  )rÄ   g       ÀrA  r8  rf   r€   rE  rB  s      r@   Ú test_alpha_with_negative_entriesz.TestDirichlet.test_alpha_with_negative_entriesœ  sg   € Ü
�	‰	�‰�tÔÚ ˆä�I‰I×Ñ¤§
¡
¨4°Ó 7¸aÐÓ@×BÑBˆÜ”j¤)§-¡-°°EÔ:Ü”j¤)×"2Ñ"2°A°uÕ=rB   c                 óŒ  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  ||«       t        j                  ||«       t        j                  g d¢«      }t        t        j                  ||«      d«       t        t        j                  ||«      t        j                  d«      «       y )N©rÄ   r@  rA  ç      @©rš   rÅ   r›   rú  )rÄ   rÄ   rÄ   rÄ   rd   )r9   rÇ   r   r¥   r¦   r   rø   rB  s      r@   Útest_data_with_zerosz"TestDirichlet.test_data_with_zeros¤  s�   € Ü—‘Ò-Ó.ˆÜ�H‰HÒ)Ó*ˆÜ�‰�a˜ÔÜ×Ñ˜˜EÔ"Ü—‘Ò-Ó.ˆÜœIŸM™M¨!¨UÓ3°QÔ7ÜœI×,Ñ,¨Q°Ó6¼¿¹¸q»	ÕBrB   c                 óà   — t        j                  g d¢«      }t        j                  g d¢«      }t        t        t        j
                  ||«       t        t        t        j                  ||«       y )N)rÄ   rI  rA  rL  rM  ©r9   rÇ   rì   rN   r   r¥   r¦   rB  s      r@   Ú$test_data_with_zeros_and_small_alphaz2TestDirichlet.test_data_with_zeros_and_small_alpha­  óF   € Ü—‘Ò-Ó.ˆÜ�H‰HÒ)Ó*ˆÜ”j¤)§-¡-°°EÔ:Ü”j¤)×"2Ñ"2°A°uÕ=rB   c                 óà   — t        j                  g d¢«      }t        j                  g d¢«      }t        t        t        j
                  ||«       t        t        t        j                  ||«       y )NrK  )rš   çš™™™™™¹¿rœ   rú  rP  rB  s      r@   Útest_data_with_negative_entriesz-TestDirichlet.test_data_with_negative_entries³  sF   € Ü—‘Ò-Ó.ˆÜ�H‰HÒ*Ó+ˆÜ”j¤)§-¡-°°EÔ:Ü”j¤)×"2Ñ"2°A°uÕ=rB   c                 óà   — t        j                  g d¢«      }t        j                  g d¢«      }t        t        t        j
                  ||«       t        t        t        j                  ||«       y )NrK  )rš   çš™™™™™ñ?rœ   rú  rP  rB  s      r@   Ú test_data_with_too_large_entriesz.TestDirichlet.test_data_with_too_large_entries¹  rR  rB   c                 óÞ   — t        j                  g d¢«      }t        j                  dd«      }t        t        t
        j                  ||«       t        t        t
        j                  ||«       y )Nr?  )rH   rf   rf   g’$I’$I²?©r9   rÇ   rl  rì   rN   r   r¥   r¦   rB  s      r@   Útest_data_too_deep_cz"TestDirichlet.test_data_too_deep_c¿  sF   € Ü—‘šÓ)ˆÜ�G‰G�I˜vÓ&ˆÜ”j¤)§-¡-°°EÔ:Ü”j¤)×"2Ñ"2°A°uÕ=rB   c                 óæ   — t        j                  ddgddgg«      }t        j                  dd«      }t        t        t
        j                  ||«       t        t        t
        j                  ||«       y )NrÄ   r@  rA  rL  )rH   rH   rf   ç      Ð?rZ  rB  s      r@   Útest_alpha_too_deepz!TestDirichlet.test_alpha_too_deepÅ  sS   € Ü—‘˜3 ˜* s¨C jÐ1Ó2ˆÜ�G‰G�I˜uÓ%ˆÜ”j¤)§-¡-°°EÔ:Ü”j¤)×"2Ñ"2°A°uÕ=rB   c                 ó¶   — t        j                  g d¢«      }t        j                  dd«      }t        j                  ||«       t        j
                  ||«       y )Nr?  ©rI   rf   çUUUUUUÕ?)r9   rÇ   rl  r   r¥   r¦   rB  s      r@   Útest_alpha_correct_depthz&TestDirichlet.test_alpha_correct_depthË  s>   € Ü—‘šÓ)ˆÜ�G‰G�F˜EÓ"ˆÜ�‰�a˜ÔÜ×Ñ˜˜EÕ"rB   c                 óÞ   — t        j                  g d¢«      }t        j                  dd«      }t        t        t
        j                  ||«       t        t        t
        j                  ||«       y )Nr?  r`  rI  rZ  rB  s      r@   Útest_non_simplex_dataz#TestDirichlet.test_non_simplex_dataÑ  sF   € Ü—‘šÓ)ˆÜ�G‰G�F˜EÓ"ˆÜ”j¤)§-¡-°°EÔ:Ü”j¤)×"2Ñ"2°A°uÕ=rB   c                 óÞ   — t        j                  g d¢«      }t        j                  dd«      }t        t        t
        j                  ||«       t        t        t
        j                  ||«       y )NrK  )rH   rf   rI  rZ  rB  s      r@   Útest_data_vector_too_shortz(TestDirichlet.test_data_vector_too_short×  óG   € Ü—‘Ò-Ó.ˆÜ�G‰G�F˜EÓ"ˆÜ”j¤)§-¡-°°EÔ:Ü”j¤)×"2Ñ"2°A°uÕ=rB   c                 óÞ   — t        j                  g d¢«      }t        j                  dd«      }t        t        t
        j                  ||«       t        t        t
        j                  ||«       y )NrK  )rc   rf   r›   rZ  rB  s      r@   Útest_data_vector_too_longz'TestDirichlet.test_data_vector_too_longÝ  rg  rB   c                 ó
  — t        j                  g d¢«      }t        |«      }g d¢}g d¢}g d¢g d¢g d¢g}t        |j	                  «       |«       t        |j                  «       |«       t        |j                  «       |«       y )N)rÄ   çš™™™™™é?r›   ©rI  çš™™™™™Ù?rš   )çUUUUUUµ?ç{®Gáz´?ç¸…ëQ¸ž?)rn  ç±¿ç‘¿)rq  ro  çOè´�N‹¿)rr  rs  rp  )r9   rÇ   r   r   r¨   r:  r¿   )rV   r¤  rƒ  Úexpected_meanÚexpected_varÚexpected_covs         r@   Útest_mean_var_covzTestDirichlet.test_mean_var_covã  sh   € ô —‘šÓ(ˆÜ�eÓˆâ'ˆÚ-ˆâ.Ú.Ú/ð
ˆô 	" !§&¡&£(¨MÔ:Ü! !§%¡%£'¨<Ô8Ü! !§%¡%£'¨<Õ8rB   c                 ón  — t        j                  dg«      }t        |«      }t        |j	                  «       j
                  d«       t        |j                  «       j
                  d«       t        |j                  dg«      j
                  d«       t        |j                  dg«      j
                  d«       y )Nr›   r   rÄ   )	r9   rÇ   r   r   r¨   ró   r:  r¥   r¦   )rV   r¤  rƒ  s      r@   rõ   z TestDirichlet.test_scalar_valuesõ  sy   € Ü—‘˜#˜“ˆÜ�eÓˆô 	�Q—V‘V“X—]‘] AÔ&Ü�Q—U‘U“W—\‘\ 1Ô%ä�Q—U‘U˜B˜4“[×%Ñ% qÔ)Ü�Q—X‘X˜r˜d“^×(Ñ(¨!Õ,rB   c                 óÊ  — t         j                  j                  d«       t         j                  j                  dd«      }t         j                  j	                  dd|«      }t        |«      }d}t        |«      D ]h  }t         j                  j	                  dd|«      }|t        j                  |«      z  }t        |j                  |d d «      |j                  |«      «       Œj y r6  )
r9   rŒ   r    r9  r   r   r
  r‘   r   r¥   r;  s          r@   Ú test_K_and_K_minus_1_calls_equalz.TestDirichlet.test_K_and_K_minus_1_calls_equal   s®   € ô 	�	‰	�‰�tÔä�I‰I×Ñ˜a Ó$ˆÜ—	‘	×!Ñ! &¨#¨qÓ1ˆä�eÓˆØˆ	Ü�yÓ!ò 	9ˆAÜ—	‘	×!Ñ! &¨#¨qÓ1ˆAØ”—‘˜“‰NˆAÜ §¡ a¨¨ f£¨q¯u©u°Q«xÕ8ñ	9rB   c                 óˆ  — t         j                  j                  d«       t         j                  j                  dd«      }t         j                  j	                  dd|«      }t        |«      }d}d}d }t        |«      D ]Ã  }t        |«      D ]W  }t         j                  j	                  dd|«      }	|	t        j                  |	«      z  }	|�t        j                  ||	f«      }ŒV|	}ŒY |j                  |j                  «      }
d }|D ].  }|j                  |«      }|�t        j                  ||«      }Œ-|}Œ0 t        |
|«       ŒÅ y )Nr™  r
   r7  r8  r.  r%  rc   )r9   rŒ   r    r9  r   r   r
  r‘   Úvstackr¥   r“   Úappendr   )rV   r¼   r¤  rƒ  r<  Únum_multipleÚxmrB  rï  r\   ÚrmÚrsÚxsr(  s                 r@   Útest_multiple_entry_callsz'TestDirichlet.test_multiple_entry_calls  s   € ä
�	‰	�‰�tÔä�I‰I×Ñ˜a Ó$ˆÜ—	‘	×!Ñ! &¨#¨qÓ1ˆÜ�eÓˆàˆ	ØˆØˆÜ�yÓ!ò 	.ˆAÜ˜<Ó(ò �Ü—I‘I×%Ñ% f¨c°1Ó5�Ø”R—V‘V˜A“Y‘�Ø�>ÜŸ™ B¨ 7Ó+‘Bà‘Bðð —‘�r—t‘t“ˆBØˆBØò �Ø—E‘E˜"“I�Ø�>ÜŸ™ 2 qÓ)‘Bà‘Bðô & b¨"Õ-ñ!	.rB   c                 óV  — t         j                  j                  d«       t         j                  j                  ddd«      }t	        |«      }t        |d   |d   «      }d}t        |«      D ]f  }t         j                  j                  ddd«      }|t        j                  |«      z  }t        |j                  |«      |j                  |g«      «       Œh t        |j                  «       |j                  «       d   «       t        |j                  «       |j                  «       d   «       y )Nr™  r8  r.  rH   r   r
   r%  )r9   rŒ   r    r   r   r   r
  r‘   r   r¥   r¨   r:  )rV   r¤  rƒ  r¬  r<  rB  r\   s          r@   Útest_2D_dirichlet_is_betaz'TestDirichlet.test_2D_dirichlet_is_beta,  sÜ   € Ü
�	‰	�‰�tÔä—	‘	×!Ñ! &¨#¨qÓ1ˆÜ�eÓˆÜ��q‘˜5 ™8Ó$ˆàˆ	Ü�yÓ!ò 	6ˆAÜ—	‘	×!Ñ! &¨#¨qÓ1ˆAØ”—‘˜“‰NˆAÜ §¡ a£¨!¯%©%°°«*Õ5ð	6ô
 	˜AŸF™F›H a§f¡f£h¨q¡kÔ2Ü˜AŸE™E›G Q§U¡U£W¨Q¡ZÕ0rB   N)rÊ   rË   rÌ   r=  rC  rG  rI  rN  rQ  rU  rX  r[  r^  rb  rd  rf  ri  rw  rõ   rz  rƒ  r…  rÕ   rB   r@   r4  r4  t  sc   „ òLò$
*ò>ò>òCò>ò>ò>ò>ò>ò#ò>ò>ò>ò9ò$	-ò9ò.ó:1rB   r4  c                  ó  — t        j                  ddg«      } t        j                  dgg«      }t        t        t        | |«       	 t	        | |«       y # t        $ r-}d}t        t        |«      d t        |«       |«       Y d }~y d }~ww xY w)NrÅ   rÄ   zDimension mismatch)r9   rÇ   rì   rN   r   r   Ústrr’   )rí   Úsigmar  r€  s       r@   Ú,test_multivariate_normal_dimensions_mismatchr‰  =  sw   € ô 
�‰�3˜�*Ó	€BÜ�H‰H�s�e�WÓ€Eä”*Ô1°2°uÔ=ð
-Ü˜B Õ&øÜò -Ø"ˆÜ”S˜“V˜IœS ›XÐ&¨×,Ñ,ûð-ús   ÁA Á	B	Á#BÂB	c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestWishartc                 ó‚  — t        j                  dd¬«      }ddgt        j                  d«      t         j                  d   t        j                  dd¬«      g}|D ]N  }t        d|«      }t	        |j
                  |«       t	        |j
                  j                  |j                  «       ŒP t        j                  ddgddgg«      }ddgt         j                  d   t        j                  ddgddgg«      g}|D ]N  }t        d|«      }t	        |j
                  |«       t	        |j
                  j                  |j                  «       ŒP t        t        t        dt        j                  d«      «       t        dt        j                  d«      «       t        j                  dd¬«      }t        t        t        d|«       y )Nr
   rH   ©Úndminr   ©r
   rH   rW  rI   )
r9   rÇ   Úr_r   r   rK  r;   rì   rN   rQ   )rV   Ú
true_scaleÚscalesrK  Úws        r@   Útest_scale_dimensionsz!TestWishart.test_scale_dimensionsQ  st  € ô —X‘X˜a qÔ)ˆ
àØˆCÜ�H‰H�Q‹KÜ�E‰E�!‰HÜ�H‰H�Q˜aÔ ð
ˆð ò 	:ˆEÜ˜˜5Ó!ˆAÜ˜Ÿ™ *Ô-Ü˜Ÿ™Ÿ™¨
×(8Ñ(8Õ9ð	:ô —X‘X  !˜uØ ! !˜uð&ó 'ˆ
ð ˆqˆEÜ�E‰E�#‰JÜ�H‰H�q˜�eØ˜�eðó ð
ˆð ò 	:ˆEÜ˜˜5Ó!ˆAÜ˜Ÿ™ *Ô-Ü˜Ÿ™Ÿ™¨
×(8Ñ(8Õ9ð	:ô 	”j¤'¨1¬b¯f©f°Q«iÔ8ô 	�”R—V‘V˜A“YÔô —‘˜ !Ô$ˆÜ”j¤'¨1¨eÕ4rB   c           
      ó\  — ddgt        j                  d«      t         j                  d   t        j                  dd¬«      t        j                  dgd¬«      g}t        dd«      }|j	                  t        j                  dd¬«      «      }|D ]  }t        |j	                  |«      |«       Œ g d¢t         j                  d   t        j                  g d¢d¬«      g}t        dd«      }|j	                  t        j                  g d¢d¬«      «      }|D ]  }t        |j	                  |«      |«       Œ dddgt        j                  d«      t         j                  d   t        j                  ddgddgg«      t        j                  ddgddgg«      d d …d d …t         j                  f   g}t        dt        j                  d«      «      }|j	                  t        j                  ddgddgg«      d d …d d …t         j                  f   «      }|D ]  }t        |j	                  |«      |«       Œ y )Nr
   rH   r�  rI   rL   r‘  r   )r9   rÇ   r�  r   r¥   r   r"  rQ   )rV   r+  r“  Údensityr\   s        r@   Útest_quantile_dimensionsz$TestWishart.test_quantile_dimensions|  så  € ð
 ØˆCÜ�H‰H�Q‹KÜ�E‰E�!‰HÜ�H‰H�Q˜aÔ Ü�H‰H�a�S Ô"ð
ˆô �A�a‹LˆØ—%‘%œŸ™ ¨!Ô,Ó-ˆØò 	,ˆAÜ˜Ÿ™˜q› 7Õ+ð	,ò
 Ü�E‰E�%‰LÜ�H‰H’W AÔ&ð
ˆô �A�a‹LˆØ—%‘%œŸ™¢°Ô2Ó3ˆØò 	,ˆAÜ˜Ÿ™˜q› 7Õ+ð	,ð ØˆqˆEÜ�H‰H�Q‹KÜ�E‰E�#‰JÜ�H‰H�q˜�eØ˜�eðó ä�H‰H�q˜�eØ˜�eðó Ú¢¤"§*¡*˜nñ.ð	
ˆô �A”b—f‘f˜Q“iÓ ˆØ—%‘%œŸ™ 1 Q %Ø#$ Q %ð")ó *Ú*+ªA¬b¯j©j¨.ñ:ó ;ˆàò 	,ˆAÜ˜Ÿ™˜q› 7Õ+ñ	,rB   c           	      óØ  — d}t        j                  t        j                  |«      dz   «      }t        j                  ||dz
  z  dz  «      |t        j                  |d¬«      <   t        j                  |j
                  |«      }g }t        d«      D ]š  }t        j                  t        j                  |«      |dz   dz  z   «      }t        j                  ||dz
  z  dz  «      |t        j                  |d¬«      <   t        j                  |j
                  |«      }|j                  |«       Œœ t        j                  |«      j
                  }ddt        j                  ddd«      fd||fg}|D ]ú  \  }}}t        ||«      }t        |j                  «       t        j                  ||«      «       t        |j                  «       t        j                  ||«      «       t        |j                  «       t        j                  ||«      «       t        |j                  «       t        j                  ||«      «       t        |j!                  |«      t        j                   |||«      «       Œü y ©	Nre   r
   rH   rg   ©r  rc   r%  rš   )r9   rp   rê   Útril_indicesr  r“   r
  r}  rÇ   rJ  r   r   r:  r¨   Úmoder§   r¥   )	rV   rØ   rK  r+  rB  r\   Ú
parametersÚdfr“  s	            r@   rb  zTestWishart.test_frozen­  sÓ  € ð ˆÜ—‘œŸ	™	 #› qÑ(Ó)ˆÜ,.¯I©I°c¸SÀ¹U±mÀqÑ6HÓ,IˆŒb�o‰o˜c RÔ(Ñ)Ü—‘�u—w‘w Ó&ˆð ˆÜ�q“ò 	ˆAÜ—‘œŸ	™	 #›¨¨!©¨a¡xÑ/Ó0ˆAÜ,.¯I©I°c¸SÀ¹U±mÀqÑ6HÓ,IˆAŒb�o‰o˜c RÔ(Ñ)Ü—‘�q—s‘s˜A“ˆAØ�H‰H�Q�Kð		ô
 �H‰H�Q‹K�M‰Mˆð �”B—K‘K  R¨Ó+Ð,Ø�˜ˆNð
ˆ
ð
 )ò 	>‰NˆR�˜Ü˜˜EÓ"ˆAÜ˜Ÿ™›¤'§+¡+¨b°%Ó"8Ô9Ü˜Ÿ™›¤7§<¡<°°EÓ#:Ô;Ü˜Ÿ™›¤7§<¡<°°EÓ#:Ô;Ü˜Ÿ™›¤g§o¡o°b¸%Ó&@ÔAÜ˜Ÿ™˜q›¤7§;¡;¨q°"°eÓ#<Õ=ñ	>rB   c                 óÂ  — d}d}t        j                  |«      }d|d<   d|d<   t        ||«      }t         j                  j	                  d«       t        j
                  ||«      }t         j                  j	                  d«       |j                  «       }t         j                  j	                  d«       t         j                  j                  d¬«      }t         j                  t         j                  j                  |«      t         j                  j                  |dz
  «      t         j                  j                  |d	z
  «      f   dz  }t        j                  |«      }	||	t        j                  |d
¬«      <   t         j                  j                  |«      }
|
j                  |	«      }t        j                  ||j                  «      }t        ||«       t        ||«       y )NrI   r%  rI  rè   ©r
   r   iêÈ r€   r
   rH   rg   rš  )r9   rQ   r   rŒ   r    r¡   r×   r�  Ú	chisquarerp   r›  rº   rÎ   r  r“   r   )rV   rØ   rž  rK  r“  Úw_rvsÚfrozen_w_rvsÚcovariancesÚ	variancesrv   ÚDÚDAÚmanual_w_rvss                r@   Útest_wishart_2D_rvszTestWishart.test_wishart_2D_rvsÍ  sn  € ØˆØˆô —‘�s“ˆØˆˆc‰
Øˆˆc‰
ô �B˜Óˆô 	�	‰	�‰�vÔÜ—‘˜B Ó&ˆÜ
�	‰	�‰�vÔØ—u‘u“wˆô 	�	‰	�‰�vÔÜ—i‘i×&Ñ&¨AÐ&Ó.ˆÜ—E‘EÜ�I‰I×Ñ Ó#Ü�I‰I×Ñ  1¡Ó%Ü�I‰I×Ñ  1¡Ó%ð'ñ
ð ñ	ˆ	ô �G‰G�IÓˆØ(3ˆŒ"�/‰/˜# Ô
$Ñ%ô �I‰I×Ñ˜uÓ%ˆØ�U‰U�1‹XˆÜ—v‘v˜b "§$¡$Ó'ˆô 	˜˜|Ô,Ü˜ lÕ3rB   c                 ó¨  — t         j                  j                  d«       d}d}t        j                  |«      }t        j                  dddt
        ¬«      }t        j                  ddd¬«      }|D ]à  }t        ||«      }t        |«      }t        |j                  «       |j                  «       «       t        |j                  «       |j                  «       «       t        |j                  «       |j                  «       «       t        |j                  |«      |j                  |«      «       |j                  |¬	«      }	|f}
d
}t        d|
||	«       Œâ y )Néž^ éô  r
   r%  rH   r/  rš   ©Únumr€   rR  r   )r9   rŒ   r    rQ   rê   r2  rJ  r   r   r   r:  r¨   r§   r¥   r¡   r   )rV   ÚsnrØ   rK  Údf_ranger+  rž  r“  Úcr¡   r>   r¤  s               r@   Útest_1D_is_chisquaredz!TestWishart.test_1D_is_chisquaredù  s   € ô
 	�	‰	�‰�vÔàˆØˆÜ—‘�s“ˆä—9‘9˜Q  A¬UÔ3ˆÜ�K‰K˜˜B 2Ô&ˆØò 	=ˆBÜ˜˜EÓ"ˆAÜ�R“ˆAô ˜AŸE™E›G Q§U¡U£WÔ-Ü˜AŸF™F›H a§f¡f£hÔ/Ü˜AŸI™I›K¨¯©«Ô5ô ˜AŸE™E !›H a§e¡e¨A£hÔ/ð —%‘%˜R�%“.ˆCØ�5ˆDØˆEÜ" 6¨4°¸Õ<ñ!	=rB   c                 óÐ  — t         j                  j                  d«       d}d}d}t        j                  t        j                  d«      dz   «      }t        j                  d«      |t        j
                  dd¬«      <   t        j                  |j                  |«      }t        j                  |df«      }|j                  j                  |«      j                  |«      j                  «       }t        ||«      }t        ||¬	«      }t        |j                  «       |j                  «       «       t        |j                  «       |j                  «       «       t        |j                  «       |j                  «       «       t        j                   d
dd¬«      }	t        |j#                  |	«      |j#                  |	«      «       |j%                  |¬«      }
|d|f}d}t'        d|||
«       y )Nr«  r¬  r%  re   r
   rd   rg   rš  ©rK  rš   r­  r€   r   rR  r   )r9   rŒ   r    rp   rê   r›  r  r“   rP   r¤   r   r   r   r:  r¨   r§   rJ  r¥   r¡   r   )rV   r¯  rž  rØ   rK  ÚlamdaÚsigma_lamdar“  r±  r+  r¡   r>   r¤  s                r@   Útest_is_scaled_chisquaredz%TestWishart.test_is_scaled_chisquared  s`  € ô
 	�	‰	�‰�vÔàˆØˆØˆä—‘œŸ	™	 !› Q™Ó'ˆÜ*,¯)©)°A«,ˆŒb�o‰o˜a 2Ô&Ñ'Ü—‘�u—w‘w Ó&ˆä—‘˜˜Q˜Ó ˆØ—g‘g—k‘k %Ó(×,Ñ,¨UÓ3×;Ñ;Ó=ˆÜ�B˜Ó$ˆÜ�˜;Ô'ˆô 	˜Ÿ™› §¡£Ô)Ü˜Ÿ™› !§&¡&£(Ô+Ü˜Ÿ	™	› Q§Y¡Y£[Ô1ô �K‰K˜˜B 2Ô&ˆÜ˜Ÿ™˜a› !§%¡%¨£(Ô+ð �e‰e˜ˆe‹nˆØ�1�[Ð!ˆØˆÜ˜v t¨U°CÕ8rB   N)	rÊ   rË   rÌ   r”  r—  rb  r©  r²  r·  rÕ   rB   r@   r‹  r‹  P  s$   „ ò)5òV/,òb>ò@*4òX=ó>!9rB   r‹  c                   óh  — e Zd Zd„ Zd„ Zd„ Zej                  j                  dddg«      d„ «       Z	d„ Z
d	„ Zej                  j                  ddd
g«      d„ «       Zd„ Zej                  j                  dddg«      d„ «       Zd„ Zej                  j                  ddd
g«      d„ «       Zd„ Zd„ Zd„ Zy)ÚTestMultinomialc                 ób  — t        j                  ddd«      }t        |dd¬«       t        j                  ddgd	d
dg«      }|t        j                   k(  sJ ‚t        j                  d	d	gd	d
dg«      }|d	k(  sJ ‚t        j                  ddgd	ddg«      }t        |t        j
                  d¬«       y )N©rI   re   rf   ©rœ   rú  g&Múty»÷¿rç  r=  rI   re   r   rœ   rú  rj   )r   Úlogpmfr   r9   r  rv  )rV   Úvals1Úvals2Úvals3Úvals4s        r@   Útest_logpmfzTestMultinomial.test_logpmf<  s§   € Ü×"Ñ" 5¨!¨ZÓ8ˆÜ˜Ð1¸Õ=ä×"Ñ" A q 6¨1¨r°2¨hÓ7ˆØœŸ™˜ÒÐÐä×"Ñ" A q 6¨1¨r°2¨hÓ7ˆØ˜ŠzÐˆzä×"Ñ" A q 6¨1¨r°1¨gÓ6ˆÜ˜œrŸv™v¨DÖ1rB   c                 óô   — t        j                  ddd«      }t        j                  ddd«      }t        ||d¬«       t        j                  dd	d
«      }t        j                  dd	d«      }t        ||d¬«       y )Nr»  rf   r¼  rI   rœ   rç  r=  )rd   é   é   ©rš   rH  rd   rš   )r   r½  r!   r   Úpmf©rV   Úval1Úval2s      r@   Útest_reduces_binomialz%TestMultinomial.test_reduces_binomialI  sf   € ô ×!Ñ! &¨!¨ZÓ8ˆÜ�|‰|˜A˜q #Ó&ˆÜ˜˜d¨Õ.ä�‰˜v r¨:Ó6ˆÜ�y‰y˜˜B Ó$ˆÜ˜˜d¨Ö.rB   c                 ó„   — dg d¢}}ddddddd	dd
ddœ
}|D ](  }t        t        j                  |||«      ||   d¬«       Œ* y )NrI   )g      À?r]  g      ä?g     @Ï?g     ÀÂ?g      ž?g      `?g     ÀÒ?g      ¾?g      ˆ?g      ˜?g      �?)
)r   r   rI   )r
   r   rH   )rH   r   r
   )rI   r   r   ré   r£  ©rH   r
   r   )r   rH   r
   r„  )r   rI   r   ç›+¡†›„=r†  )r   r   rÇ  )rV   r¼   ÚpÚr_valsr\   s        r@   Útest_RzTestMultinomial.test_RT  s_   € ð Ò$ˆ1ˆØ(°[Ø(°[Ø(°[Ø(°[Ø(°[ñ	Bˆð
 ò 	MˆAÜœKŸO™O¨A¨q°!Ó4°f¸Q±iÀeÖLñ	MrB   r¼   r   rI   c                 óÄ   — t        j                  |dgdz  dd¬«      }t        j                  j	                  d«      }|j                  |dgdz  d¬«      }t        ||«       y )Nr]  rI   rf   é{   r�   r€   )r   r¡   r9   rŒ   ÚRandomStater   )rV   r¼   Úsc_rvsÚrndmÚnp_rvss        r@   Útest_rvs_npzTestMultinomial.test_rvs_npe  sY   € ô —‘  T F¨1¡H°1À3ÔGˆÜ�y‰y×$Ñ$ SÓ)ˆØ×!Ñ! ! d V¨A¡X°AÐ!Ó6ˆÜ�V˜VÕ$rB   c                 ó  — t        j                  ddd«      }t        |dd¬«       t        j                  ddd	«      }t        |d
d¬«       t        j                  ddgddggddgddgggdd«      }t        |ddgddggd¬«       t        j                  dt        j
                  ¬«      }t        j                  |dd	«      }t        |t        j                  g t        j
                  ¬«      «       t        j                  ddgdd	«      }t        |dd¬«       t        j                  g d¢dg d¢«      }t        |dd¬«       t        j                  g d¢dg d¢«      }|dk(  sJ ‚t        j                  g d¢dg d¢«      }|dk(  sJ ‚y )N)rc   rc   ©r
   r
   rç  r=  r»  rf   r¼  gö5’á
Í?rI   r   rÄ  rg   é	   rÆ  g’¹*7î ?gÄÒ<WÆŒÛ?©r   rH   r/  re   rH   ©rI   rI   r   rd   )gUUUUUUå?ra  r   gß¦îáÌ?rh   rÍ  )r   rÇ  r   r9   rV  Úfloat64r   )	rV   Úvals0r¾  r¿  r\   rÀ  rÁ  Úvals5Úvals6s	            r@   Útest_pmfzTestMultinomial.test_pmfm  sJ  € Ü—‘  a¨Ó.ˆÜ˜˜q tÕ,ä—‘  q¨(Ó3ˆÜ˜Ð1¸Õ=ä—‘ 1 Q %¨¨1¨ °"°a°¸1¸a¸&Ð0AÐ BÀAØ (ó*ˆä˜ ¨IÐ 6¸¸A¸Ð?ÀdÕKä�H‰H�U¤"§*¡*Ô-ˆÜ—‘  1 hÓ/ˆÜ�UœBŸH™H R¬r¯z©zÔ:Ô;ä—‘  1  q¨(Ó3ˆÜ˜˜q tÕ,ä—‘¢	¨1Ò.?Ó@ˆÜ˜˜~°DÕ9ä—‘¢	¨1Ò.?Ó@ˆØ˜ŠzÐˆzä—‘¢	¨1Ò.?Ó@ˆØ˜ŠzÐ‰zrB   c                 óð  — t        j                  ddgdddgddgg«      }t        |dd	gd
¬«       t        j                  ddgddgddg«      }t        |ddgd
¬«       t        j                  ddgddgggdddg«      }t        |ddggd
¬«       t        j                  ddgdgdgggddg«      }t        |dgdgggd
¬«       t        j                  ddgddggdggggddg«      }t        |ddggggd
¬«       y )Nr
   rH   rI   rš   rH  r›   rk  g´Èv¾ŸÏ?gú~j¼t“Ø?rç  r=  re   r   )r   rÇ  r   )rV   rß  r¾  r¿  rÀ  rÁ  s         r@   Útest_pmf_broadcastingz%TestMultinomial.test_pmf_broadcastingˆ  s  € Ü—‘  A ¨¨R°¨H°r¸2°hÐ+?Ó@ˆÜ˜  d˜|°$Õ7ä—‘  A ¨¨A¨°°R°Ó9ˆÜ˜  a˜y¨tÕ4ä—‘ 1 a &¨1¨a¨&Ð!1Ð 2°A¸¸B°xÓ@ˆÜ˜  q 	˜{°Õ6ä—‘  A ¨1¨#°¨s¨¨°r¸2°hÓ?ˆÜ˜ $ ¨!¨ ˜°TÕ:ä—‘ ! Q ¨!¨A¨ °Q°C°5°'°¸RÀ¸HÓEˆÜ˜ 4¨ )  ˜°TÖ:rB   rc   c                 óà   — t        j                  |d«      }|dz  dz  | dz  dz  | dz  dz  g| dz  dz  |dz  dz  | dz  dz  g| dz  dz  | dz  dz  |dz  dz  gg}t        ||d¬«       y )	N)r›   rœ   rI  r›   rk  rœ   rI  rú  rç  r=  ©r   r¿   r   )rV   r¼   Úcov1r�  s       r@   Útest_covzTestMultinomial.test_cov˜  s™   € ä�‰˜q ,Ó/ˆØ�2‘�b‘˜1˜"˜R™% ™( Q B r¡E¨"¡HÐ-Ø��B‘�r‘˜1˜R™4 ™7 Q B r¡E¨"¡HÐ-Ø��B‘�r‘˜A˜2˜b™5 ™8 Q r¡T¨"¡WÐ-ð/ˆô 	˜˜d¨Ö.rB   c                 ó`  — t        j                  dddgddgg«      }ddgddggddgddggg}t        ||d	¬
«       t        j                  ddgddg«      }ddgddggddgddggg}t        ||d	¬
«       t        j                  ddgddgddgg«      }ddgddggddgddggg}t        ||d	¬
«       y )Nrc   rš   rH  r›   rk  gÍÌÌÌÌÌÜ?gÍÌÌÌÌÌÜ¿gš™™™™™é¿rç  r=  re   g
×£p=
×?g
×£p=
×¿rœ   rú  rm  rN  gáz®Gáê?gáz®Gáê¿rG  g333333ó¿ræ  ©rV   rç  r�  Úcov3Úcov4Úcov5Úcov6s          r@   Útest_cov_broadcastingz%TestMultinomial.test_cov_broadcasting   sï   € Ü�‰˜q B¨ 8¨b°"¨XÐ"6Ó7ˆØ�t�˜d C˜[Ð)¨R°¨I¸¸R°yÐ+AÐBˆÜ˜˜d¨Õ.ä�‰  1˜v¨¨B xÓ0ˆØ�t�˜t S˜kÐ*¨c°4¨[¸4À¸+Ð,FÐGˆÜ˜˜d¨Õ.ä�‰  1˜v¨¨R¨°2°r°(Ð';Ó<ˆØ˜8Ð$ x°Ð&9Ð:Ø˜8Ð$ x°Ð&9Ð:ð<ˆä˜˜d¨Ö.rB   rH   c                 óx   — t        j                  |ddg«      }t        |t        j                  |d«      d¬«       y ©Nr›   rk  rç  r=  ©r   r§   r   r!   )rV   r¼   Úent0s      r@   r¡  zTestMultinomial.test_entropy®  s1   € ô ×"Ñ" 1 r¨2 hÓ/ˆÜ˜œeŸm™m¨A¨rÓ2¸Ö>rB   c           	      ó\  — t        j                  ddgddg«      }t        |t        j                  dd«      t        j                  dd«      gd¬«       t        j                  ddgdd	gd
dgg«      }t        |t        j                  dd«      t        j                  dd
«      gd¬«       t        j                  dgdggdd	gd
dgg«      }t        |t        j                  dd«      t        j                  dd
«      gt        j                  dd«      t        j                  dd
«      ggd¬«       y )NrH   rI   r›   rœ   rç  r=  rf   rÄ  rú  rm  rN  rò  )rV   ró  Úent1Úent2s       r@   Útest_entropy_broadcastingz)TestMultinomial.test_entropy_broadcastingµ  s  € Ü×"Ñ" A q 6¨B°¨8Ó4ˆÜ˜œuŸ}™}¨Q°Ó3´U·]±]À1ÀbÓ5IÐJØ!õ	#ô ×"Ñ" A q 6¨R°¨H°r¸2°hÐ+?Ó@ˆÜ˜œuŸ}™}¨Q°Ó3´U·]±]À1ÀbÓ5IÐJØ!õ	#ô ×"Ñ" Q C¨!¨ :°°R°¸2¸r¸(Ð/CÓDˆÜ˜ÜŸ-™-¨¨2Ó.´·±¸aÀÓ0DÐEÜŸ-™-¨¨2Ó.´·±¸aÀÓ0DÐEðGà!ö	#rB   c                 ó`   — t        j                  |ddg«      }t        ||dz  |dz  gd¬«       y rñ  ©r   r¨   r   )rV   r¼   Úmean1s      r@   Ú	test_meanzTestMultinomial.test_meanÄ  s0   € ä× Ñ   R¨ HÓ-ˆÜ˜  "¡ a¨¡d˜|°$Ö7rB   c                 ó`   — t        j                  ddgddg«      }t        |ddgddggd	¬
«       y )Nrc   rd   r›   rk  rÄ   rL  g433333ó?g433333@rç  r=  rù  )rV   rú  s     r@   Útest_mean_broadcastingz&TestMultinomial.test_mean_broadcastingÉ  s5   € Ü× Ñ  ! Q ¨"¨b¨Ó2ˆÜ˜  t ¨t°T¨lÐ;À$ÖGrB   c                 óê  — t         j                  j                  d«       d}d}g d¢g d¢g d¢g d¢g d¢g}t        j                  |t         j                  ¬	«      }t        ||«      }t        |j                  |«      t        j                  |||«      «       t        |j                  |«      t        j                  |||«      «       t        |j                  «       t        j                  ||«      «       y )
Nrð   é   )rš   r›   rœ   rm  ©r   r   r   rÿ  ©r   r   r
   é   ©r   r
   r
   r%  ©r
   r
   r
   rÛ  ©r
   r
   rH   rÄ  r/  )
r9   rŒ   r    r:   rÞ  r   r   rÇ  r½  r§   )rV   r¼   Úpvalsr\   Ú	mn_frozens        r@   rb  zTestMultinomial.test_frozenÍ  s°   € ä
�	‰	�‰�tÔØˆØ ˆÚš
¢:ªiº	ÐBˆÜ�J‰J�q¤§
¡
Ô+ˆÜ  5Ó)ˆ	Ü˜	Ÿ™ aÓ(¬+¯/©/¸!¸QÀÓ*FÔGÜ˜	×(Ñ(¨Ó+¬[×-?Ñ-?ÀÀ1ÀeÓ-LÔMÜ˜	×)Ñ)Ó+¬[×-@Ñ-@ÀÀEÓ-JÕKrB   c                 ó(  — d}t         j                  j                  d«      }|j                  |«      }d|d<   |t        j                  |«      z  }t        j                  |«      }t        j                  |||«      }t        j                  |«      sJ ‚y )NéX   l   iŒRZØY g ÂëþKH´9rg   )r9   rŒ   r�   r‘   rP   r   r½  Úisfinite)rV   r¼   r–   rÏ  r\   r½  s         r@   Útest_gh_11860zTestMultinomial.test_gh_11860Ù  sx   € ð
 ˆÜ�i‰i×#Ñ#Ð$7Ó8ˆØ�J‰J�q‹MˆØˆˆ"‰Ø	ŒR�V‰V�A‹Y‰ˆÜ�G‰G�A‹JˆÜ×#Ñ# A q¨!Ó,ˆÜ�{‰{˜6Ô"Ð"Ñ"rB   N)rÊ   rË   rÌ   rÂ  rË  rÑ  rM   rÑ   rÒ   rØ  râ  rä  rè  rï  r¡  r÷  rû  rý  rb  r  rÕ   rB   r@   r¹  r¹  ;  sÛ   „ ò2ò	/òMð" ‡[�[×Ñ˜S 1 a &Ó)ñ%ó *ð%òò6;ð  ‡[�[×Ñ˜S 1 a &Ó)ñ/ó *ð/ò/ð ‡[�[×Ñ˜S 1 a &Ó)ñ?ó *ð?ò#ð ‡[�[×Ñ˜S 1 a &Ó)ñ8ó *ð8òHò
Ló#rB   r¹  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestInvwishartc           	      ó|  — d}t        j                  t        j                  |«      dz   «      }t        j                  ||dz
  z  dz  «      |t        j                  |d¬«      <   t        j                  |j
                  |«      }g }t        d«      D ]š  }t        j                  t        j                  |«      |dz   dz  z   «      }t        j                  ||dz
  z  dz  «      |t        j                  |d¬«      <   t        j                  |j
                  |«      }|j                  |«       Œœ t        j                  |«      j
                  }ddt        j                  ddd«      fd||fg}|D ]Ì  \  }}}t        ||«      }t        |j                  «       t        j                  ||«      «       t        |j                  «       t        j                  ||«      «       t        |j                  «       t        j                  ||«      «       t        |j!                  |«      t        j                   |||«      «       ŒÎ y r™  )r9   rp   rê   r›  r  r“   r
  r}  rÇ   rJ  r   r   r:  r¨   rœ  r   r¥   )	rV   rØ   rK  r+  rB  r\   r�  rž  Úiws	            r@   rb  zTestInvwishart.test_frozenè  s¸  € ð
 ˆÜ—‘œŸ	™	 #› qÑ(Ó)ˆÜ,.¯I©I°c¸3¸q¹5±kÀ!±mÓ,DˆŒb�o‰o˜c RÔ(Ñ)Ü—‘�u—w‘w Ó&ˆð ˆÜ�q“ò 	ˆAÜ—‘œŸ	™	 #›¨¨!©¨a¡xÑ/Ó0ˆAÜ,.¯I©I°c¸3¸q¹5±kÀ!±mÓ,DˆAŒb�o‰o˜c RÔ(Ñ)Ü—‘�q—s‘s˜A“ˆAØ�H‰H�Q�Kð		ô
 �H‰H�Q‹K�M‰Mˆð �”B—K‘K  R¨Ó+Ð,Ø�˜ˆNð
ˆ
ð
 )ò 	E‰NˆR�˜Ü˜B Ó&ˆBÜ˜Ÿ™›¤:§>¡>°"°eÓ#<Ô=Ü˜Ÿ™›¤J§O¡O°B¸Ó$>Ô?Ü˜Ÿ™›¤J§O¡O°B¸Ó$>Ô?Ü˜BŸF™F 1›I¤z§~¡~°a¸¸UÓ'CÕDñ	ErB   c                 ó¼  — t         j                  j                  d«       d}d}t        j                  |«      }t        j                  dddt
        ¬«      }t        j                  dd	d	¬
«      }|D ]ê  }t        ||«      }t        |dz  d¬«      }t        |j                  «       |j                  «       «       t        |j                  «       |j                  «       «       t        |j                  |«      |j                  |«      «       |j                  |¬«      }	|dz  ddf}
d}t        d|
||	«       t        |j                  «       |j                  «       «       Œì y )Nr«  r¬  r
   rc   é   rH   r/  rš   r%  r­  rI  r´  r€   r   rR  r   )r9   rŒ   r    rQ   rê   r2  rJ  r   r   r   r:  r¨   r¥   r¡   r   r§   )rV   r¯  rØ   rK  r°  r+  rž  r  Úigr¡   r>   r¤  s               r@   Útest_1D_is_invgammaz"TestInvwishart.test_1D_is_invgamma  s  € ô
 	�	‰	�‰�vÔàˆØˆÜ—‘�s“ˆä—9‘9˜Q  A¬UÔ3ˆÜ�K‰K˜˜B 2Ô&ˆØò 	8ˆBÜ˜B Ó&ˆBÜ˜"˜Q™$ dÔ+ˆBô ˜BŸF™F›H b§f¡f£hÔ/Ü˜BŸG™G›I r§w¡w£yÔ1ô ˜BŸF™F 1›I r§v¡v¨a£yÔ1ð —&‘&˜b�&“/ˆCØ�q‘D˜!˜T�?ˆDØˆEÜ" :¨t°U¸CÔ@ô ˜BŸJ™J›L¨"¯*©*«,Õ7ñ%	8rB   c                 ó  — d}d}t        j                  |«      }d|d<   d|d<   t        ||«      }t         j                  j	                  d«       t        j
                  ||«      }t         j                  j	                  d«       |j                  «       }t         j                  j	                  d«       t         j                  j                  d¬«      }t         j                  t         j                  j                  |dz
  «      t         j                  j                  |d	z
  «      t         j                  j                  |«      f   dz  }t        j                  |«      }	||	t        j                  |d
¬«      <   t         j                  j                  |«      }
t         j                  j                  |	j                  |
j                  «      j                  }t        j                  ||j                  «      }t!        ||«       t!        ||«       y )NrI   r%  rI  rè   r   iHG	 r€   rH   r
   rg   rš  )r9   rQ   r   rŒ   r    r¡   r×   r�  r¡  rp   r›  rº   rÎ   Úsolver“   r  r   )rV   rØ   rž  rK  r  Úiw_rvsÚfrozen_iw_rvsr¤  r¥  rv   r¦  ÚLÚmanual_iw_rvss                r@   Útest_invwishart_2D_rvsz%TestInvwishart.test_invwishart_2D_rvs)  s‚  € ØˆØˆô —‘�s“ˆØˆˆc‰
Øˆˆc‰
ô ˜˜EÓ"ˆô 	�	‰	�‰�vÔÜ—‘  EÓ*ˆÜ
�	‰	�‰�vÔØŸ™›ˆô 	�	‰	�‰�vÔÜ—i‘i×&Ñ&¨AÐ&Ó.ˆÜ—E‘EÜ�I‰I×Ñ  1¡Ó%Ü�I‰I×Ñ  1¡Ó%Ü�I‰I×Ñ Ó#ð%ñ
ð ñ	ˆ	ô �G‰G�IÓˆØ(3ˆŒ"�/‰/˜# Ô
$Ñ%ô �I‰I×Ñ˜uÓ%ˆÜ�I‰I�O‰O˜AŸC™C §¡Ó%×'Ñ'ˆÜŸ™˜q !§#¡#›ˆô 	˜ Ô.Ü˜ }Õ5rB   c                 óh  — d}d}dD �](  }t        j                  t        j                  |«      dz   «      }t        j                  ||dz
  z  dz  «      |t        j                  |d¬«      <   t        j                  |j
                  |«      }t        ||«      }|j                  «       }|j                  «       }||z  dz  }|j                  |d	¬
«      }	|	j                  d¬«      }
||dz   z  dz  }d|z  }t        j                  d|dz  z
  «      }t        j                  |
|z
  |z  d|¬«      r�Œ)J ‚ y)z1Test that sample mean consistent with known mean.r%  é N  )r
   rc   r
   rH   rg   rš  rI  rð   r�   r   r…   rR  r†  N)r9   rp   rê   r›  r  r“   r   r¨   r:  r¡   r   Úppfre  )rV   rž  Úsample_sizerØ   rK  rÈ   Ú	Xmean_expÚXvar_expÚ	Xmean_stdr+  Ú	Xmean_estÚntestsÚ	fail_rateÚmax_diffs                 r@   Útest_sample_meanzTestInvwishart.test_sample_meanW  s$  € ð ˆØˆØó 	ˆCÜ—G‘GœBŸI™I c›N¨QÑ.Ó/ˆEÜ02·	±	¸#ÀÀqÁ¹/ÈAÑ:MÓ0NˆE”"—/‘/ #¨Ô,Ñ-Ü—F‘F˜5Ÿ7™7 EÓ*ˆEä˜b %Ó(ˆDØŸ	™	›ˆIØ—x‘x“zˆHØ! KÑ/°#Ñ5ˆIà—‘˜k¸�Ó=ˆAØŸ™ A˜›ˆIà˜# ™'‘] AÑ%ˆFØ˜v™ˆIÜ—x‘x  I°¡MÑ 1Ó2ˆHÜ—;‘;Ø˜YÑ&¨)Ñ3ØØ÷ð ð ñ!	rB   c                 ól  — t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  g d¢g d¢g d¢g d¢g«      }d	}t        j                  |||«      }|j                  d
   }t         j
                  j                  |«      \  }}t         j
                  j                  |«      \  }}t         j
                  j                  ||«      }	|dz  |z  ||z  dz  t        j                  d«      z  z
  t        |dz  |«      z
  ||z   dz   dz  |z  z
  d|	j                  «       z  z
  }
t        ||
«       y)zRegression test for gh-8844.)rH   r
   r   rI  )r
   rH   rI  rI  )r   rI  rI   r
   )rI  rI  r
   rH   )rÛ  rf   rI   r
   )rf   rÛ  rc   r
   )rI   rc   rÄ  rH   )r
   r
   rH   rÛ  rd   r   rH   r
   rI  N)r9   rÇ   r   r¦   r;   rº   r5  r  rø   r3   Útracer   )rV   r+  ÚPsiÚnuÚprobrÏ  ÚsigÚlogdetXÚ	logdetPsirá   r1  s              r@   Útest_logpdf_4x4zTestInvwishart.test_logpdf_4x4r  s%  € ä�H‰H’nÚ&Ú$Ú&ð(ó )ˆô �h‰hšÚ$Ú$Ú$ð&ó 'ˆð ˆÜ× Ñ   B¨Ó,ˆà�G‰G�A‰JˆÜ—y‘y×(Ñ(¨Ó+‰ˆˆWÜŸ™×*Ñ*¨3Ó/‰ˆˆYÜ�I‰I�O‰O˜A˜sÓ#ˆØ˜‘T˜9Ñ$Ø˜!‘t˜A‘vœrŸv™v a›yÑ(ñ)ä" 2 a¡4¨Ó+ñ,ð ˜A‘v ‘z 1‘n WÑ,ñ-ð ˜!Ÿ'™'›)‘mñ	$ˆô
 	˜˜hÕ'rB   N)rÊ   rË   rÌ   rb  r  r  r&  r/  rÕ   rB   r@   r  r  ç  s   „ òEò@8òB,6ò\ó6(rB   r  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestSpecialOrthoGroupc                 óF  — t         j                  j                  d«       t        j                  d«      }t        j
                  g d¢g d¢g d¢g«      }t        ||«       t         j                  j                  d¬«      }t        j                  d|¬«      }t        ||«       y )Né  rI   )gð‘(fÎï¿g^A�È.§¿g*ãB’¡¹?)gñ:Ñdµ¯¨?gÖ‡2uóï¿gi�}ÕÂ›?)gR#xl™F¹?g‚�^`˜D ?gž×ÑÓï?rŸ   r·   )r9   rŒ   r    r   r¡   rÇ   r   rÔ  )rV   r\   r1  rž   s       r@   Útest_reproducibilityz*TestSpecialOrthoGroup.test_reproducibilityŒ  s   € Ü
�	‰	�‰�sÔÜ×#Ñ# AÓ&ˆÜ—8‘8ÒCÚBÚAðCó Dˆô 	" ! XÔ.ä—y‘y×,Ñ,°#Ð,Ó6ˆÜ×#Ñ# A°LÔAˆÜ! ! XÕ.rB   c                 óü   — t        t        t        j                  d «       t        t        t        j                  d«       t        t        t        j                  d«       t        t        t        j                  d«       y ©Nr‘  r
   rò   )rì   rN   r   r¡   ©rV   s    r@   Útest_invalid_dimz&TestSpecialOrthoGroup.test_invalid_dim˜  sN   € Ü”jÔ"5×"9Ñ"9¸4Ô@Ü”jÔ"5×"9Ñ"9¸6ÔBÜ”jÔ"5×"9Ñ"9¸1Ô=Ü”jÔ"5×"9Ñ"9¸3Õ?rB   c                 óˆ   — d}t        |«      }|j                  d¬«      }t        j                  |d¬«      }t        ||«       y )Nrf   rð   r·   )r   r¡   r   )rV   rØ   r  r  r  s        r@   Útest_frozen_matrixz(TestSpecialOrthoGroup.test_frozen_matrixž  s=   € ØˆÜ$ SÓ)ˆà�z‰z tˆzÓ,ˆÜ"×&Ñ& s¸Ô>ˆä�T˜4Õ rB   c                 ó´  — t        dd«      D ��cg c]'  }t        d«      D ]  }t        j                  |«      ‘Œ Œ) }}}|D �cg c]!  }t        j                  j                  |«      ‘Œ# }}t        |dgdz  d¬«       |D ]L  }t        t        j                  ||j                  «      t        j                  |j                  d   «      «       ŒN y c c}}w c c}w )	NrH   rÿ  rI   rÄ   é   ç‚vIhÂ%<=r=  r   )r
  r   r¡   r9   rº   r4  r   r   r  r“   rQ   r;   )rV   rØ   rB  r‚  r\   Údetss         r@   Útest_det_and_orthoz(TestSpecialOrthoGroup.test_det_and_ortho§  sÂ   € ä˜q ›÷!ØÜ˜Q“xò!àô "×%Ñ% cÕ*ð !Ð*ð !ˆñ !ð
 +-Ö- Q”—	‘	—‘˜aÕ Ð-ˆÐ-Ü˜˜r˜d 2™g¨EÕ2ð ò 	:ˆAÜ%¤b§f¡f¨Q°·±£nÜ&(§f¡f¨Q¯W©W°Q©ZÓ&8õ:ñ	:ùó!ùò
 .s   �,CÁ&Cc                 óÜ  — d}d}d}t         j                  j                  d«       t        j                  ||¬«      }d}|D ���ci c]'  \  }}||ft        |D �cg c]
  }||   |   ‘Œ c}«      “Œ) }	}}}|D �
�cg c]  }
|D ]  }|
|kD  sŒ	|
|f‘Œ Œ }}
}|D ��cg c]  \  }}t        |	|   |	|   «      d   ‘Œ }}}t        |gt        |«      z  |«       y c c}w c c}}}w c c}}
w c c}}w )Nrc   r)  çš™™™™™©?r3  r€   ©rO  rÜ  )r
   re   r·  r
   )	r9   rŒ   r    r   r¡   Úsortedr   r   r’   ©rV   rØ   rè  Úks_probr‚  ÚelsÚerÚecr\   ÚprojÚe0Úe1ÚpairsÚp0Úp1Úks_testss                   r@   Ú	test_haarzTestSpecialOrthoGroup.test_haarµ  sî   € ð ˆØˆØˆÜ
�	‰	�‰�sÔÜ ×$Ñ$ S¨wÔ7ˆð +ˆàHK×LÐL¹f¸bÀ"��R�œ&°RÖ!8° ! B¡%¨£)Ò!8Ó9Ñ9ÐLˆÒLØ$'×A˜b°#ÒA¨B¸¸b»�"�b’ÐA�ÐAˆÑAØDI×J¹¸¸R”H˜T "™X t¨B¡xÓ0°Ó3ÐJˆÑJÜ˜7˜)¤C¨£JÑ.°Õ9ùò "9ùÔLùÛAùÛJó*   ÁCÁCÁ(	CÁ:C"Â
C"ÂC(ÃCN)rÊ   rË   rÌ   r4  r8  r:  r?  rP  rÕ   rB   r@   r1  r1  ‹  s   „ ò
/ò@ò!ò:ó:rB   r1  c                   óª   — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  dg d¢«      d„ «       Z
d„ Zej                  j                  d	„ «       Zy
)ÚTestOrthoGroupc                 ó\  — d}t         j                  j                  |«       t        j                  d«      }t        j                  d|¬«      }t        t         j                  j                  |«      d«       t        j                  g d¢g d¢g d¢g«      }t        ||«       t        ||«       y )Nr3  rI   r·   rg   )gÝÓÕ‹mØ?gÓ hÀ"·¿gE�¹‡„oí?)g~7Ý²Cüì?gž’>­Ä¿g0JÐ_èÙ¿)gÝ±Ø&�Ç¿gü ¤6qrï¿g`Xþ|[°”¿)
r9   rŒ   r    r   r¡   r   rº   r4  rÇ   r   )rV   r    r\   r­   r1  s        r@   r4  z#TestOrthoGroup.test_reproducibilityÒ  s   € ØˆÜ
�	‰	�‰�tÔÜ�O‰O˜AÓˆÜ�_‰_˜Q¨TÔ2ˆäœBŸI™IŸM™M¨!Ó,¨bÔ1Ü—8‘8Ò<Ú=Ú=ð?ó @ˆô 	" ! XÔ.Ü! " hÕ/rB   c                 óü   — t        t        t        j                  d «       t        t        t        j                  d«       t        t        t        j                  d«       t        t        t        j                  d«       y r6  )rì   rN   r   r¡   r7  s    r@   r8  zTestOrthoGroup.test_invalid_dimß  sB   € Ü”j¤+§/¡/°4Ô8Ü”j¤+§/¡/°6Ô:Ü”j¤+§/¡/°1Ô5Ü”j¤+§/¡/°3Õ7rB   c                 óÞ   — d}t        |«      }t        |d¬«      }|j                  d¬«      }t        j                  |d¬«      }|j                  d¬«      }t        ||«       t        ||«       y )Nrf   rð   rŸ   r·   r
   r€   )r   r¡   r   ©rV   rØ   r  Úfrozen_seedr  r  Úrvs3s          r@   r:  z!TestOrthoGroup.test_frozen_matrixå  sa   € ØˆÜ˜SÓ!ˆÜ! #¨DÔ1ˆà�z‰z tˆzÓ,ˆÜ�‰˜s°Ô6ˆØ�‰ AˆÓ&ˆä�T˜4Ô Ü�T˜4Õ rB   c                 ó†  — t        dd«      D ��cg c].  }t        d«      D �cg c]  }t        j                  |«      ‘Œ c}‘Œ0 }}}t        j                  |D ��cg c]/  }|D �cg c]!  }t        j
                  j                  |«      ‘Œ# c}‘Œ1 c}}«      }t        t        j                  |«      t        j                  |j                  «      d¬«       |D ]S  }|D ]L  }t        t        j                  ||j                  «      t        j                  |j                  d   «      «       ŒN ŒU y c c}w c c}}w c c}w c c}}w )NrH   rÿ  r%  r=  r=  r   )r
  r   r¡   r9   rÇ   rº   r4  r   ÚfabsrP   r;   r   r  r“   rQ   )rV   rØ   rB  r‚  Úxxr\   r>  s          r@   r?  z!TestOrthoGroup.test_det_and_orthoñ  sù   € ô ˜q ›÷&àô ˜b›	ö#Øô �‰˜sÕ#ô #ð &ˆñ &ô
 �x‰xÀ"×E¸B°BÖ7¨qœ"Ÿ)™)Ÿ-™-¨Õ*Ô7ÓEÓFˆÜœŸ™ ›¤r§w¡w¨t¯z©zÓ':ÀÕGð ò 	>ˆBØò >�Ü)¬"¯&©&°°A·C±C«.Ü*,¯&©&°·±¸±Ó*<õ>ñ>ñ	>ùò#ùó &ùò
 8ùÓEs-   �D2¢D-¾D2Á	D=
Á#&D8Â	D=
Ä-D2Ä8D=
rØ   )rH   rc   r%  r  c                 óz  — t         j                  j                  d«      }t        |¬«      }|j	                  d|¬«      }t
        j                  j                  |«      }t        j                  |dkD  «      }t        |«      }t        j                  ||«      }|j                  d¬«      \  }	}
|	dcxk  r|
k  sJ ‚ J ‚y )	Nl   ø<`L«‰r ©rØ   rš  r�   r   gffffffî?)Úconfidence_levelrI  )r9   rŒ   r�   r   r¡   rÆ   rº   r4  r‘   r’   r-   Ú	binomtestÚproportion_ci)rV   rØ   r–   rÈ   r¡   r>  r  r¼   r<   ÚlowÚhighs              r@   Útest_det_distribution_gh18272z,TestOrthoGroup.test_det_distribution_gh18272   s¤   € ô �i‰i×#Ñ#Ð$7Ó8ˆÜ˜sÔ#ˆØ�h‰h˜D¨sˆhÓ3ˆÜ�|‰|×Ñ Ó$ˆÜ�F‰F�4˜!‘8ÓˆÜ�‹IˆÜ�o‰o˜a Ó#ˆØ×%Ñ%°tÐ%Ó<‰	ˆˆTØ�SÔ˜4ÒÐÑÐÑrB   c                 óÜ  — d}d}d}t         j                  j                  d«       t        j                  ||¬«      }d}|D ���ci c]'  \  }}||ft        |D �cg c]
  }||   |   ‘Œ c}«      “Œ) }	}}}|D �
�cg c]  }
|D ]  }|
|kD  sŒ	|
|f‘Œ Œ }}
}|D ��cg c]  \  }}t        |	|   |	|   «      d   ‘Œ }}}t        |gt        |«      z  |«       y c c}w c c}}}w c c}}
w c c}}w )Nrc   r)  rA  i  r€   rB  r
   )	r9   rŒ   r    r   r¡   rC  r   r   r’   rD  s                   r@   rP  zTestOrthoGroup.test_haar  sì   € ð ˆØˆØˆÜ
�	‰	�‰�sÔÜ�_‰_˜S wÔ/ˆð +ˆàHK×LÐL¹f¸bÀ"��R�œ&°RÖ!8° ! B¡%¨£)Ò!8Ó9Ñ9ÐLˆÒLØ$'×A˜b°#ÒA¨B¸¸b»�"�b’ÐA�ÐAˆÑAØDI×J¹¸¸R”H˜T "™X t¨B¡xÓ0°Ó3ÐJˆÑJÜ˜7˜)¤C¨£JÑ.°Õ9ùò "9ùÔLùÛAùÛJrQ  c                 ó:  ‡— t         j                  j                  d«       d„ }t        dd«      D ]i  Šdˆfd„	} ||«      } |t        j
                  j                  j                  «      }t        j
                  j                  ||«      \  }}t        d|«       Œk y )Nr3  c                 ó´   — t         j                  j                  t         j                  j	                  | | f¬«      «      \  }}}t        j
                  ||«      S ©Nr€   )r9   rº   rà   rŒ   r×   r  )rØ   râ   Ú_srÛ   s       r@   Úrandom_orthoz<TestOrthoGroup.test_pairwise_distances.<locals>.random_ortho-  s@   € Ü—y‘y—}‘}¤R§Y¡Y×%5Ñ%5¸CÀ¸:Ð%5Ó%FÓG‰HˆAˆr�1Ü—6‘6˜!˜Q“<ÐrB   rH   rd   c                 ó  •— t        j                  t        |«      D �cg c]+  }t        j                   | ‰¬«       | ‰¬«      z
  dz  «      ‘Œ- c}«      }|t         j                  j                  | ||j                  ¬«      z  }|S c c}w )Nr^  rH   r€   )r9   rÇ   r
  r‘   rŒ   r   r;   )r¡   r–  ÚepsrÚ   r-   rØ   s        €r@   Úgenerate_test_statisticszHTestOrthoGroup.test_pairwise_distances.<locals>.generate_test_statistics2  sx   ø€ ÜŸ™ä" 1›Xö"àô —F‘F™C CœL©3°3¬<Ñ7¸!Ñ;Õ<ò"ó �ð
 œŸ™×*Ñ*¨C¨4°¸5¿;¹;Ð*ÓGÑG�Ø�ùò"s   ž0BrA  )r)  r…  )
r9   rŒ   r    r
  rÆ   r-   r   r¡   r   r   )rV   rj  rm  r1  rD  Ú_DrÏ  rØ   s          @r@   Útest_pairwise_distancesz&TestOrthoGroup.test_pairwise_distances(  s€   ø€ ô 	�	‰	�‰�sÔò	 ô ˜˜A“;ò 	&ˆCõñ 0°Ó=ˆHÙ-¬e¯k©k×.EÑ.E×.IÑ.IÓJˆFä—K‘K×(Ñ(¨°6Ó:‰EˆB�ä˜c 1Õ%ñ	&rB   N)rÊ   rË   rÌ   r4  r8  r:  r?  rM   rÑ   rÒ   rd  rP  Úslowro  rÕ   rB   r@   rS  rS  Ñ  s^   „ ò0ò8ò
!ò>ð ‡[�[×Ñ˜U¢NÓ3ñ
 ó 4ð
 ò:ð6 ‡[�[×Ññ&ó ñ&rB   rS  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestRandomCorrelationc                 ó  — t         j                  j                  d«       d}t        j                  |«      }t        j                  |d¬«      }t        j
                  g d¢g d¢g d¢g d¢g«      }t        ||«       t        ||«       y )Nr3  ©rI  rk  rG  rñ   r·   )rÄ   ç¼Ñ“2©Ç¿ç–AµÁ‰è»?çý¢ý…Í¿)ru  rÄ   ç 4Ô($™Í?çR}ç%èÔ?)rv  rx  rÄ   çqTn¢–æÆ¿)rw  ry  rz  rÄ   )r9   rŒ   r    r   r¡   rÇ   r   )rV   rŸ  r\   r­   r1  s        r@   r4  z*TestRandomCorrelation.test_reproducibilityD  sp   € Ü
�	‰	�‰�sÔØ!ˆÜ×"Ñ" 4Ó(ˆÜ×#Ñ# D°sÔ;ˆÜ—8‘8ÒAÚ@Ú@ÚAðCó Dˆô 	" ! XÔ.Ü! " hÕ/rB   c                 óÌ  — t        t        t        j                  d «       t        t        t        j                  d«       t        t        t        j                  d«       t        t        t        j                  dg«       t        t        t        j                  ddgddgg«       t        t        t        j                  ddg«       t        t        t        j                  g d¢«       y )	NÚtestrò   r
   rH   rI   re   g      à¿)r
   rH   rš   )rì   rN   r   r¡   r7  s    r@   Útest_invalid_eigsz'TestRandomCorrelation.test_invalid_eigsP  s™   € Ü”jÔ"4×"8Ñ"8¸$Ô?Ü”jÔ"4×"8Ñ"8¸&ÔAÜ”jÔ"4×"8Ñ"8¸#Ô>Ü”jÔ"4×"8Ñ"8¸3¸%Ô@Ü”jÔ"4×"8Ñ"8¸A¸a¸5À!ÀAÀ¸-ÔHÜ”jÔ"4×"8Ñ"8¸3À¸*ÔEÜ”jÔ"4×"8Ñ"8º*ÕErB   c                 óÚ   — d}t        |«      }t        |d¬«      }t        j                  |d¬«      }|j                  d¬«      }|j                  «       }t        ||«       t        ||«       y )Nrt  r3  rŸ   r·   )r   r¡   r   )rV   rŸ  r  rX  r  r  rY  s          r@   r:  z(TestRandomCorrelation.test_frozen_matrixY  s_   € Ø!ˆÜ# DÓ)ˆÜ(¨°CÔ8ˆä!×%Ñ% d¸Ô=ˆØ�z‰z sˆzÓ+ˆØ�‰Ó ˆä�T˜4Ô Ü�T˜4Õ rB   c           	      óH  — d„ }t         j                  j                  d«       t        dd«      D �cg c])  } ||t         j                  j	                  |¬«      «      ‘Œ+ }}|j                  g d¢«       |D �cg c]  }dgt        |«      z  ‘Œ }}|D �cg c]  }t        j                  |«      ‘Œ }}|D �cg c]4  }t        j                  t         j                  j                  |«      «      ‘Œ6 }}|D �cg c]  }t        j                  |«      ‘Œ }	}t        ||	dd¬	«       |D �cg c]  }t        j                  |«      ‘Œ }
}t        |
|«      D ]  \  }}t        ||d¬
«       Œ |D ]  }t        ||j                   d¬
«       Œ y c c}w c c}w c c}w c c}w c c}w c c}w )Nc                 ó$   — | |z  t        |«      z  S r8   )r‘   )rB  r  s     r@   r   z3TestRandomCorrelation.test_definition.<locals>.normm  s   € Ø�Q‘3”s˜1“v‘:ÐrB   rÓ  rH   rd   r€   )re   r   r   r   rÄ   r=  rS  r=  )r9   rŒ   r    r
  r   r}  r’   r   r¡   r[  rº   r4  Úprodr   rp   Úzipr“   )rV   r   rB  rŸ  r  rP   r‚  r\   r>  Ú
dets_knownÚdiagsr«  r¬  s                r@   Útest_definitionz%TestRandomCorrelation.test_definitione  sf  € ò	ô 	�	‰	�‰�sÔä<AÀ!ÀQ»KÖH°q‘�QœŸ	™	×)Ñ)¨qÐ)Ó1Õ2ÐHˆÐHØ�‰’IÔà%)Ö* ��”S˜“V“Ð*ˆÐ*Ø15Ö6¨AÔ ×$Ñ$ QÕ'Ð6ˆÐ6ð 46Ö6¨a”—‘œŸ	™	Ÿ™ aÓ(Õ)Ð6ˆÐ6Ø*.Ö/ Q”b—g‘g˜a•jÐ/ˆ
Ð/Ü˜˜j¨u¸5ÕAð &(Ö( ”—‘˜•Ð(ˆÐ(Ü˜˜tÓ$ò 	.‰DˆAˆqÜ˜A˜q uÖ-ð	.ð ò 	0ˆAÜ˜A˜qŸs™s¨Ö/ñ	0ùò) Iùò +ùÚ6ùò 7ùÚ/ùò )s#   ±.FÁ8FÂFÂ69FÃ5FÄ&Fc           	      óš  — t        j                  ddgddggt        ¬«      }t        j                  |«      }t        |t        j                  ddgddgg«      «       t        j                  d¬«      5  t        j                  ddgddgg«      }t        j                  ddgdt        j                  dd«      ggt        ¬«      }t        j                  |j                  «       «      }t        ||j                  j                  |«      j                  |«      «       t        j                  d	dgdd
ggt        ¬«      }t        j                  |j                  «       «      }t        ||j                  j                  |«      j                  |«      «       d d d «       t        j                  ddgddggt        ¬«      }t        j                  |j                  «       «      }t        |d   d«       t        j                  ddgddggt        ¬«      }t        j                  |j                  «       «      }t        |d   d«       y # 1 sw Y   Œ°xY w)Nrš   r   r
   r/  Úignore)Úoverrg   gœu ˆ<ä7~rH  rW  rH   rO  gMùk   @)r9   rÇ   r2  r   Ú_to_corrr   ÚerrstateÚ	nextafterÚcopyr“   r  )rV   rï  ÚgÚm0s       r@   Útest_to_corrz"TestRandomCorrelation.test_to_corr‰  sÅ  € ô �H‰H�s˜A�h  A Ð'¬uÔ5ˆÜ×'Ñ'¨Ó*ˆÜ˜œ2Ÿ8™8 a¨ V¨a°¨XÐ$6Ó7Ô8ô
 �[‰[˜hÔ'ñ 		3Ü—‘˜1˜a˜& 2 q 'Ð*Ó+ˆAä—‘˜E 1˜:¨¬2¯<©<¸¸1Ó+=Ð'>Ð?ÄuÔMˆBÜ"×+Ñ+¨B¯G©G«IÓ6ˆAÜ˜A˜qŸs™sŸw™w r›{Ÿ™¨qÓ1Ô2ä—‘˜C ˜<¨%°¨Ð6¼eÔDˆBÜ"×+Ñ+¨B¯G©G«IÓ6ˆAÜ˜A˜qŸs™sŸw™w r›{Ÿ™¨qÓ1Ô2÷		3ô �X‰X˜˜1�v  1˜vÐ&¬eÔ4ˆÜ×'Ñ'¨¯©«	Ó2ˆÜ˜˜#™ Ô"ô �X‰X˜ !�} q¨! fÐ-´UÔ;ˆÜ×'Ñ'¨¯©«	Ó2ˆÜ˜˜#™ Õ"÷'		3ð 		3ús   Á2D IÉI
N)rÊ   rË   rÌ   r4  r}  r:  r…  r�  rÕ   rB   r@   rr  rr  C  s   „ ò
0òFò
!ò"0óH#rB   rr  c                   ó,  — e Zd Zej                  j                  dddg«      ej                  j                  dg d¢«      d„ «       «       Zej                  j                  dg d¢«      d„ «       Zd	„ Zej                  j                  dg d
¢«      d„ «       Z	y)ÚTestUniformDirectionrØ   r
   rI   r�   ©Nr
   rc   )rc   re   c                 óŠ  — t         j                  j                  d«      }t        ||¬«      }|j	                  |«      }t        j
                  |«      t        j                  |«      }}|j                  |||¬«      j                  }|j                  |k(  sJ ‚t         j                  j                  |d¬«      }	t        |	d«       y )Nì   Sid)_i4 rŸ   r€   rg   r…   rÄ   )r9   rŒ   r�   r'   r¡   r¸   rQ   r   r;   rº   r   r   )
rV   rØ   r�   r–   Úuniform_direction_distrè  r¨   r¿   Úexpected_shapeÚnormss
             r@   r2  z!TestUniformDirection.test_samples«  sž   € ô �i‰i×#Ñ#Ð$7Ó8ˆÜ!2°3¸SÔ!AÐØ(×,Ñ,¨TÓ2ˆÜ—H‘H˜S“M¤2§6¡6¨#£;ˆcˆØ×0Ñ0°°sÀÐ0ÓF×LÑLˆØ�}‰} Ò.Ð.Ð.Ü—	‘	—‘˜w¨R�Ó0ˆÜ˜˜rÕ"rB   )Nr   r‘  rò   c                 ó’   — d}t        j                  t        |¬«      5  t        j                  |«       d d d «       y # 1 sw Y   y xY w)NzMDimension of vector must be specified, and must be an integer greater than 0.rF   )rM   r	   rN   r'   r¡   )rV   rØ   rW   s      r@   r8  z%TestUniformDirection.test_invalid_dim¸  s:   € ð<ˆä�]‰]œ:¨WÔ5ñ 	'Ü×!Ñ! #Ô&÷	'÷ 	'ñ 	'ús	   ž=½Ac                 óÚ   — d}t        |«      }t        |d¬«      }|j                  d¬«      }t        j                  |d¬«      }|j                  «       }t        ||«       t        ||«       y )Nrc   r3  rŸ   r·   )r'   r¡   r   rW  s          r@   Útest_frozen_distributionz-TestUniformDirection.test_frozen_distribution¿  s_   € ØˆÜ" 3Ó'ˆÜ'¨°#Ô6ˆà�z‰z sˆzÓ+ˆÜ ×$Ñ$ S°sÔ;ˆØ�‰Ó ˆä�T˜4Ô Ü�T˜4Õ rB   )rH   rc   rÄ  c                 ó  — t         j                  j                  d«      }t        ||¬«      }|j	                  d¬«      \  }}|||z  |z  z  }|t         j
                  j                  |«      z  }t        ||z  dd¬«       |j	                  d¬«      }||z  }||z  }t        j                  ||«      }	|	t         j                  z  }	|	dt         j                  z  z  }	t        «       }
t        |	|
j                  «      }|j                  d	kD  sJ ‚y )
Nl   @9š¼Y srŸ   rH   r€   r   rÎ  r†  é'  rA  )r9   rŒ   r�   r'   r¡   rº   r   r   Úarctan2rž  r   r    r°   Úpvalue)rV   rØ   r–   Úspherical_distÚv1Úv2rè  Ús1Ús2ÚanglesÚuniform_distÚkstest_results               r@   Útest_uniformz!TestUniformDirection.test_uniformË  sö   € ä�i‰i×#Ñ#Ð$7Ó8ˆÜ*¨3°SÔ9ˆà×#Ñ#¨Ð#Ó+‰ˆˆBØ
ˆb�2‰g˜‰lÑˆØ
Œb�i‰i�n‰n˜RÓ Ñ ˆÜ˜˜R™ ¨Õ/à ×$Ñ$¨%Ð$Ó0ˆØ�r‰\ˆØ�r‰\ˆÜ—‘˜B Ó#ˆð 	”"—%‘%‰ˆØ�!”B—E‘E‘'Ñˆä“yˆÜ˜v |×'7Ñ'7Ó8ˆØ×#Ñ# dÒ*Ð*Ñ*rB   N)
rÊ   rË   rÌ   rM   rÑ   rÒ   r2  r8  rš  r§  rÕ   rB   r@   r‘  r‘  ª  s“   „ Ø‡[�[×Ñ˜U Q¨ FÓ+Ø‡[�[×Ñ˜VÒ%9Ó:ñ	#ó ;ó ,ð	#ð ‡[�[×Ñ˜UÒ$:Ó;ñ'ó <ð'ò
!ð ‡[�[×Ñ˜U¢IÓ.ñ+ó /ñ+rB   r‘  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestUnitaryGroupc                 ó  — t         j                  j                  d«       t        j                  d«      }t        j                  dd¬«      }t        j
                  g d¢g d¢g d¢g«      }t        ||«       t        ||«       y )Nr3  rI   r·   )y~½pçÂÓ?yÎZ×?y“§¬¦ë‰¦?ÊÄ­‚èã?y¬8ÕZ˜…Ä?‘&Þž4ã?)yEHÝÎ¾rç?8iÍÓ?y¡eÝ?¢³?+ö—Ý“‡Ý¿yŸu�–=Ù¿B˜Û½Ü'—?)yqXøQÃ¿Ÿ��·±ÙÖ?yˆ˜Në6Ò¿º¿zÜ·Úá¿yŽ! 8ölã?2WÕ'Ó?)r9   rŒ   r    r   r¡   rÇ   r   )rV   r\   r­   r1  s       r@   r4  z%TestUnitaryGroup.test_reproducibilityä  sg   € Ü
�	‰	�‰�sÔÜ×Ñ˜aÓ ˆÜ×Ñ˜q¨sÔ3ˆä—8‘8ÚIÚHÚKðMó
ˆô 	" ! XÔ.Ü! " hÕ/rB   c                 óü   — t        t        t        j                  d «       t        t        t        j                  d«       t        t        t        j                  d«       t        t        t        j                  d«       y r6  )rì   rN   r   r¡   r7  s    r@   r8  z!TestUnitaryGroup.test_invalid_dimò  sJ   € Ü”j¤-×"3Ñ"3°TÔ:Ü”j¤-×"3Ñ"3°VÔ<Ü”j¤-×"3Ñ"3°QÔ7Ü”j¤-×"3Ñ"3°SÕ9rB   c                 óÞ   — d}t        |«      }t        |d¬«      }|j                  d¬«      }t        j                  |d¬«      }|j                  d¬«      }t        ||«       t        ||«       y )Nrf   r3  rŸ   r·   r
   r€   )r   r¡   r   rW  s          r@   r:  z#TestUnitaryGroup.test_frozen_matrixø  sc   € ØˆÜ˜sÓ#ˆÜ# C¨cÔ2ˆà�z‰z sˆzÓ+ˆÜ× Ñ  °3Ô7ˆØ�‰ AˆÓ&ˆä�T˜4Ô Ü�T˜4Õ rB   c                 óN  — t        dd«      D ��cg c]'  }t        d«      D ]  }t        j                  |«      ‘Œ Œ) }}}|D ]\  }t        t	        j
                  ||j                  «       j                  «      t	        j                  |j                  d   «      d¬«       Œ^ y c c}}w )NrH   rÿ  rI   r   rÍ  r†  )
r
  r   r¡   r   r9   r  Úconjr“   rQ   r;   )rV   rØ   rB  r‚  r\   s        r@   Útest_unitarityzTestUnitaryGroup.test_unitarity	  s‘   € ä˜q ›÷!ØÜ˜Q“xò!àô ×Ñ Õ$ð !Ð$ð !ˆñ !ð
 ò 	SˆAÜœBŸF™F 1 a§f¡f£h§j¡jÓ1´2·6±6¸!¿'¹'À!¹*Ó3EÈEÖRñ	Sùó!s   �,B!c                 ó"  — d}d}t         j                  j                  d«       t        j                  ||¬«      }t        j
                  |D �cg c]!  }t        j                  j                  |«      ‘Œ# c}«      }t        j                  |j                  |j                  «      }t        |j                  «       t        t         j                   dt         j                  z  «      j                   «      }t#        |j$                  dkD  «       y c c}w )Nrc   r)  r3  r€   rH   rA  )r9   rŒ   r    r   r¡   r|  rÆ   rº   Úeigvalsr�  ÚimagÚrealr    Úravelr   rž  r°   r   rž  )rV   rØ   rè  r‚  r\   rŸ  r<   s          r@   rP  zTestUnitaryGroup.test_haar	  sµ   € ð
 ˆØˆÜ
�	‰	�‰�sÔÜ×Ñ˜s¨Ô1ˆô �y‰y¸2Ö>°aœ%Ÿ,™,×.Ñ.¨qÕ1Ò>Ó?ˆÜ�J‰J�t—y‘y $§)¡)Ó,ˆÜ�Q—W‘W“Y¤¬¯©¨°´"·%±%±Ó 8× <Ñ <Ó=ˆÜ�—
‘
˜TÑ!Õ"ùò ?s   Á&DN)rÊ   rË   rÌ   r4  r8  r:  r¯  rP  rÕ   rB   r@   r©  r©  ã  s   „ ò0ò:ò
!òSó#rB   r©  c                   ó¬  — e Zd Zddgddgddgddgddgddgddgddgddgddgg
ddgddgddggdg d¢fg d¢g d	¢g d
¢g d¢g d¢gg d¢g d¢g d¢g d¢gdg d¢fgZej
                  j                  de«      d„ «       Zej
                  j                  de«      d„ «       Zd„ Z	d„ Z
 ed«      d„ «       Zd„ Zd„ ZdddddgddggdddgddgddggdfdddgddggdddgddgddggdfddgddddgddgddggdfddgddddgddgddggdfddgddgddggdddgddgddggdfddgddgddggdddgddgddggdfgZej
                  j                  d e«      d!„ «       Zd"ddd"gdggdfd"gdgdd"gdggdf ej$                  d"g«       ej$                  dg«      dd"gdggdfgZej
                  j                  d e«      d#„ «       Zd$„ Zd%„ Zd&„ Zej
                  j                  d'd(d)g«      ej
                  j                  d*g d+¢«      ej
                  j                  d,d-d.ej0                  g«      d/„ «       «       «       Zd0„ Zej
                  j                  d*g d1¢«      d2„ «       Zej
                  j                  d*g d3¢«      d4„ «       ZdTd6„Zd7„ Zej
                  j                  d*g d8¢«      ej
                  j                  d9g d:¢«      ej
                  j                  d;d5d<g«      d=„ «       «       «       Zej
                  j@                  d>„ «       Z!d?„ Z"d@„ Z#dA„ Z$ej
                  j                  d*dB«      dC„ «       Z%dD„ Z&ej
                  j                  d,g dE¢«      dF„ «       Z'ej
                  j                  dGdH ejP                  dd«      dIdJfdK ej$                  dLdgddHgg«      dMdNfg«      dO„ «       Z)ej
                  j                  dPg dQ¢«      dR„ «       Z*dS„ Z+y)UÚTestMultivariateTr
   rH   re   rI   rc   r   )
ç|	ßŒ–�Œ?çv
®Å2R?r·  g0Ü÷$H?r¸  r¸  g�¥Oäïû`?gåïÕ’XO?g†	ßŒ–�,?g8ÝàN¹8?)gðHPüï?g“©‚QI�À?góÒo_ê?)g9ÖÅm4€ß?g=›UŸ«á?gË¡E¶óýæ?)gÝ$�•CÓ?gh³êsµÃ?gÇº¸�à?)g–!Žuqã?g%�•C‹Ð?gÏ÷Sã¥›ì?)gO¯”eˆcá?gz¥,Cëà?g•Ô	h"lî?)rg   r
   é2   )rÄ   rI  r]  )rI  rÄ   rT  )r]  rT  rÄ   rÄ  )gJ#Ž¥RÉ<g^Ó±�Ê<gš‹L[É<gêN=à¼Ê<gü`$æ§ÁË<zx, loc, shape, df, ansc                 ó\   — t        |||d¬«      }|j                  |«      }t        ||«       y ©Nr   rŸ   )r#   r¥   r   )rV   r\   rQ  r;   rž  ÚansrÈ   Úvals           r@   Útest_pdf_correctnessz&TestMultivariateT.test_pdf_correctnessh	  s)   € ä˜c 5¨"°1Ô5ˆØ�h‰h�q‹kˆÜ! # sÕ+rB   c                 ó¤   — t        |||d¬«      }|j                  |«      }|j                  |«      }t        t	        j
                  |«      |«       y r»  )r#   r¥   r¦   r   r9   rø   )	rV   r\   rQ  r;   rž  r¼  rÈ   rÉ  rÊ  s	            r@   Útest_logpdf_correctz%TestMultivariateT.test_logpdf_correctn	  s>   € ä˜c 5¨"°1Ô5ˆØ�x‰x˜‹{ˆØ�{‰{˜1‹~ˆÜ!¤"§&¡&¨£,°Õ5rB   c                 ó|   — g d¢}t        j                  |d¬«      }t        j                  |«      }t        ||«       y )N)
rÛ  rf   re   r
   éýÿÿÿrÛ  r   rÂ  rg   rI   r
   ©rž  )r#   r¥   r$   r   )rV   r\   r½  r¼  s       r@   Útest_mvt_with_df_one_is_cauchyz0TestMultivariateT.test_mvt_with_df_one_is_cauchyv	  s0   € Ú-ˆÜ× Ñ   qÔ)ˆÜ�j‰j˜‹mˆÜ! # sÕ+rB   c                 ó  — d}t        dddd¬«      }|j                  d¬«      }t        |«      \  }}||kD  sJ ‚t        ddgd	d
gd
d	ggdd¬«      }|j                  d¬«      }t        |«      \  }}||kD  j                  «       sJ ‚y )Nrš   r   r
   é † ©rž  r    r€   rj   rI   r%  rg   é*   )r#   r¡   r%   r'  )rV   Ú	P_VAL_MINrÈ   rè  rÚ   rÏ  s         r@   Ú&test_mvt_with_high_df_is_approx_normalz8TestMultivariateT.test_mvt_with_high_df_is_approx_normal|	  s›   € ð
 ˆ	ä˜a  v°AÔ6ˆØ—(‘( �(Ó'ˆÜ˜'Ó"‰ˆˆ1Ø�I’Ð�ä˜r 1˜g¨¨R¨°2°r°(Ð';ÀØ#%ô'ˆà—(‘( �(Ó'ˆÜ˜'Ó"‰ˆˆ1Ø�Y‘×#Ñ#Ô%Ð&Ñ%rB   z'scipy.stats.multivariate_normal._logpdfc                 ó:  — t        ddt        j                  d¬«      }t        |t        «      sJ ‚t        j
                  dt        j                  ¬«       |j                  dk(  sJ ‚t        j                  dt        j                  ¬«       |j                  dk(  sJ ‚y )Nr   r
   rf   rÇ  rÃ  rH   )r#   r9   r  r¢   r   r¥   Ú
call_countr¦   )rV   ÚmockrÈ   s      r@   Ú!test_mvt_with_inf_df_calls_normalz3TestMultivariateT.test_mvt_with_inf_df_calls_normalŽ	  ss   € ä˜a ¤r§v¡v°AÔ6ˆÜ˜$Ô :Ô;Ð;Ð;Ü×Ñ˜1¤§¡Õ(Ø�‰ !Ò#Ð#Ð#Ü×Ñ˜a¤B§F¡FÕ+Ø�‰ !Ò#Ð#Ñ#rB   c                 ó²  — d}t        j                  |«      }t        j                  |«      }d}t        j                  |«      }t        |||«      j	                  |«      }t        j
                  |«      sJ ‚t        |||«      j                  |«      }t        j
                  |«      sJ ‚d}t         j                  j                  ||f«      }t        |||«      j	                  |«      }|j                  |fk(  sJ ‚t        |||«      j                  |«      }|j                  |fk(  sJ ‚t        t        j                  d«      t        j                  d«      d«      j                  «       }t        j
                  |«      sJ ‚d}t        t        j                  d«      t        j                  d«      d«      j                  |¬«      }|j                  |fk(  sJ ‚y )Nre   ç      @rf   r
   r€   )
r9   r¸   rQ   r#   r¥   Úisscalarr¦   rŒ   r;   r¡   )	rV   rØ   rQ  r;   rž  r\   r<   Ú	n_samplesr�   s	            r@   Útest_shape_correctnessz(TestMultivariateT.test_shape_correctness—	  s‡  € ð ˆÜ�h‰h�s‹mˆÜ—‘�s“ˆØˆÜ�H‰H�S‹MˆÜ˜S %¨Ó,×0Ñ0°Ó3ˆÜ�{‰{˜3ÔÐÐÜ˜S %¨Ó,×3Ñ3°AÓ6ˆÜ�{‰{˜3ÔÐÐð ˆ	Ü�I‰I×Ñ˜i¨Ð-Ó.ˆÜ˜S %¨Ó,×0Ñ0°Ó3ˆØ—	‘	˜i˜\Ò)Ð*Ð)Ü˜S %¨Ó,×3Ñ3°AÓ6ˆØ—	‘	˜i˜\Ò)Ð*Ð)ô œRŸX™X a›[¬"¯&©&°«)°QÓ7×;Ñ;Ó=ˆÜ�{‰{˜3ÔÐÐð ˆÜœRŸX™X a›[¬"¯&©&°«)°QÓ7×;Ñ;ÀÐ;ÓFˆØ—	‘	˜d˜WÒ$Ð%Ñ$rB   c                 ó˜   — t        «       }t        |j                  dg«       t        |j                  dgg«       |j                  dk(  sJ ‚y )Nr   r
   ©r#   r   rQ  r;   rž  )rV   rÈ   s     r@   Útest_default_argumentsz(TestMultivariateT.test_default_arguments·	  s<   € ÜÓˆÜ�T—X‘X ˜sÔ#Ü�T—Z‘Z 1 # Ô'Ø—‘˜1’Ð‘rB   )NNNr   r
   r
   )NNrf   r   r
   rf   Nrf   z*loc, shape, df, loc_ans, shape_ans, df_ansc                 óš   — t        |||¬«      }t        |j                  |«       t        |j                  |«       |j                  |k(  sJ ‚y )N©rQ  r;   rž  rÕ  ©rV   rQ  r;   rž  Úloc_ansÚ	shape_ansÚdf_ansrÈ   s           r@   Útest_default_argsz#TestMultivariateT.test_default_argsÈ	  s@   € ô  #¨U°rÔ:ˆÜ�T—X‘X˜wÔ'Ü�T—Z‘Z Ô+Ø—‘˜6Ò!Ð"Ñ!rB   rg   c                 ó¢   — t        |||«      }t        |j                  |«       t        |j                  |«       t        |j                  |«       y r8   rÕ  rÙ  s           r@   Ú&test_scalar_list_and_ndarray_argumentsz8TestMultivariateT.test_scalar_list_and_ndarray_argumentsÖ	  s<   € ô ˜c 5¨"Ó-ˆÜ�T—X‘X˜wÔ'Ü�T—Z‘Z Ô+Ü�T—W‘W˜fÕ%rB   c           	      ó‚  — ddgg}t        t        t        fi t        |¬«      ¤Ž ddgddgddgg}t        t        t        fi t        ||¬«      ¤Ž t	        j
                  d«      }t	        j                  d«      }d}t        t        t        fi t        |||¬«      ¤Ž d}t        t        t        fi t        |||¬«      ¤Ž y )	Nr
   )rQ  rH   rI   )rQ  r;   rg   rØ  r   )rì   rN   r#   Údictr9   r¸   rQ   )rV   rQ  r;   rž  s       r@   Útest_argument_error_handlingz.TestMultivariateT.test_argument_error_handlingß	  sÀ   € à�1ˆvˆhˆÜ”jÜ$ñ	'ä œò	'ð
 �Q�˜!˜Q˜ ! Q Ð(ˆÜ”jÜ$ñ	4ä ¨EÔ2ò	4ô
 �h‰h�q‹kˆÜ—‘�q“	ˆØˆÜ”jÜ$ñ	;ä ¨E°bÔ9ò	;ð ˆÜ”jÜ$ñ	;ä ¨E°bÔ9ó	;rB   c                 ó,  — t         j                  j                  d«      }|j                  d¬«      }t        j                  d«      }t        ||dd¬«      }t        ||dd¬«      }|j                  d¬«      }|j                  d¬«      }t        ||«       y )Nre   rI   r€   rH   rÇ  r%  )r9   rŒ   rÔ  r   rQ   r#   r¡   r   )rV   r–   rQ  r;   r«   Údist2Úsamples1Úsamples2s           r@   r4  z&TestMultivariateT.test_reproducibilityø	  s}   € Ü�i‰i×#Ñ# AÓ&ˆØ�k‰k˜qˆkÓ!ˆÜ—‘�q“	ˆÜ˜s E¨a°aÔ8ˆÜ˜s E¨a°aÔ8ˆØ—9‘9 "�9Ó%ˆØ—9‘9 "�9Ó%ˆÜ�X˜xÕ(rB   c                 ó„   — t        ddgddgddggdd¬«      }t        t        j                  j                  t
        fi |¤Ž y )Nr   r
   F)rQ  r;   rž  r[   )rá  rì   r9   rº   r~  r#   )rV   r>   s     r@   Útest_allow_singularz%TestMultivariateT.test_allow_singular
  s;   € ä˜˜1˜ q¨ e¨Q¨q¨E ]°qÈÔOˆÜ”b—i‘i×+Ñ+¬^ÑD¸tÓDrB   r�   )r%  rI   )rc   rd   re   rI   rØ   )rH   rI   re   rc   rž  rÄ   r@  c                 ó¸   — t        t        j                  |«      t        j                  |«      |«      }|j	                  |¬«      }|j
                  ||fz   k(  sJ ‚y rh  )r#   r9   r¸   rQ   r¡   r;   )rV   r�   rØ   rž  rÈ   r¡   s         r@   Útest_rvszTestMultivariateT.test_rvs
  sJ   € ô œbŸh™h s›m¬R¯V©V°C«[¸"Ó=ˆØ�h‰h˜DˆhÓ!ˆØ�y‰y˜D C 7™NÒ*Ð*Ñ*rB   c                 ó  — t        j                  d«      }t        j                  d«      }d}g d¢g d¢g d¢g d¢g}g d¢g d¢g d¢g d¢g}t        j                  g d¢«      }t	        j
                  |||||¬«      }t        ||d	   |z  «       y )
NrI   r%  r£  rh   r½  r¾  r¿  r¨  r   rÀ  )rV   r¨   r¿   rž  r¬  r«  rÁ  r°   s           r@   rÂ  z TestMultivariateT.test_cdf_signs
  sv   € ä�x‰x˜‹{ˆÜ�f‰f�Q‹iˆØˆÚš	¢9ªiÐ8ˆÚš	¢9ªiÐ8ˆäŸ™¢.Ó1ˆÜ!×%Ñ% a¨¨s°BÀAÔFˆÜ˜˜S ™V NÑ2Õ3rB   )r
   rH   rc   c                 ó&   — | j                  |«       y r8   ©Úcdf_against_mvn_test©rV   rØ   s     r@   Ú$test_cdf_against_multivariate_normalz6TestMultivariateT.test_cdf_against_multivariate_normal
  s   € ð 	×!Ñ! #Õ&rB   )rI   rd   rÛ  c                 ó(   — | j                  dd«       y )NrI   Trí  rï  s     r@   Ú-test_cdf_against_multivariate_normal_singularz?TestMultivariateT.test_cdf_against_multivariate_normal_singular 
  s   € ð 	×!Ñ! ! TÕ*rB   Fc           	      ó,  — t         j                  j                  d«      }d}d|j                  dd|¬«      z  }t	        ||||«      }d|j                  dd|¬«      z  t        j
                  |j                  |¬«      «      z  }d|j                  dd||f¬«      z   |z   }d|j                  dd||f¬«      z  |z   }	t        j                  j                  |	||d	|d
|¬«      }
t        j                  j                  |	||d
|¬«      }t        |
|d¬«       y )Nì   ]J>?a rI   r%  rj   r
   r€   rg   rH   rœ  T)rž  r©  r[   rž   )r[   r©  çü©ñÒMb@?r†  )r9   rŒ   r�   r   rÝ   Úsignr×   r-   r#   r°   r   r   )rV   rØ   rƒ   r–   r¼   r“  r¿   r¨   r«  r¬  r<   r=   s               r@   rî  z&TestMultivariateT.cdf_against_mvn_test%
  s  € ä�i‰i×#Ñ# OÓ4ˆØˆà�—‘˜B ¨�Ó,Ñ,ˆÜ   a¨¨hÓ7ˆà�3—;‘;˜r 1¨3�;Ó/Ñ/´"·'±'¸#¿*¹*È#¸*Ó:NÓ2OÑOˆØ�—‘˜R ¨!¨S¨�Ó2Ñ2Ð2°TÑ9ˆØ�—‘˜B ¨¨C¨�Ó1Ñ1°DÑ8ˆä×"Ñ"×&Ñ& q¨$°¸È1Ø6:Èð 'ó Nˆä×'Ñ'×+Ñ+¨A¨t°SÈØ89ð ,ó ;ˆä˜˜S tÖ,rB   c                 óP  — t         j                  j                  d«      }d}d}|j                  dt        j                  |«      ¬«      }d}t
        j                  j                  ||||t         j                   |¬«      }t
        j                  j                  |||t        j                  |«      «      }t
        j                  j                  ||t        j                  |«      «      }t        ||d¬	«       t        j                  t        j                  ||z
  «      d
kD  «      sJ ‚y )Nrô  rH   r   r%  )r�   rK  rI   )r©  rž   rõ  r†  r<  )r9   rŒ   r�   r×   Úsqrtr-   r#   r°   r  Útr   r   r'  rô   )	rV   r–   r¿   r¨   r\   rž  r<   r=   Ú	incorrects	            r@   Útest_cdf_against_univariate_tz/TestMultivariateT.test_cdf_against_univariate_t7
  sÛ   € Ü�i‰i×#Ñ# OÓ4ˆØˆØˆØ�J‰J˜B¤b§g¡g¨c£lˆJÓ3ˆØˆä×"Ñ"×&Ñ& q¨$°°RÄbÇfÁfÀWØ47ð 'ó 9ˆä�g‰g�k‰k˜!˜R ¤r§w¡w¨s£|Ó4ˆÜ—J‘J—N‘N 1 d¬B¯G©G°C«LÓ9ˆ	ä˜˜S tÕ,Ü�v‰v”b—f‘f˜S 9™_Ó-°Ñ4Ô5Ð5Ñ5rB   )rH   rI   rc   r%  r    )ì   no l   øm±, l   �sO l   €�U iOfYl    Ož_ rƒ   Tc           	      óP  — |r|dk7  rt        j                  d«       t        j                  j	                  |«      }d|j                  dd|¬«      z  }t        ||||«      }|j                  |«      }|j                  |«       }|j                  |«      }	|j                  «       dz  }
t        j                  j                  |	|||
|d¬	«      }t        j                  d
¬«      5  t        d|
|t        j                  |z  |	|z
  |«      d   }d d d «       t        |dd¬«       t        j                  j                  |	|||
||d¬«      }t        j                  d
¬«      5  t        d|
|||z
  |	|z
  |«      d   }d d d «       t        ||dd¬«       y # 1 sw Y   Œ†xY w# 1 sw Y   Œ%xY w)Nrü  z4Agreement with qsimvtv is not great in singular caser%  rj   rH   r€   rc   T)rž   r[   r‡  )Úinvalidr  r   g-Cëâ6*?r<  ©rT  r>  )r©  rž   r[   r¸  )rM   rˆ   r9   rŒ   r�   r   rÝ   r-   r#   r°   rŠ  r5   r  r   )rV   rØ   r    rƒ   r–   r“  r¿   r¨   r«  r¬  rž  r<   r=   s                r@   Útest_cdf_against_qsimvtvz*TestMultivariateT.test_cdf_against_qsimvtvF
  s•  € ñ
 ˜ 
Ò*Ü�K‰KÐNÔOÜ�i‰i×#Ñ# DÓ)ˆØ�—‘˜B ¨�Ó,Ñ,ˆÜ   a¨¨hÓ7ˆØ�z‰z˜#‹ˆØ�Z‰Z˜‹_ÐˆØ�J‰J�s‹OˆØ�Z‰Z‹\˜AÑˆô ×"Ñ"×&Ñ& q¨$°°RÀcØ6:ð 'ó <ˆä�[‰[ Ô*ñ 	GÜ˜5 " c¬2¯6©6°!©8°Q¸±X¸sÓCÀAÑFˆC÷	Gä˜˜S t°$Õ7ô ×"Ñ"×&Ñ& q¨$°°RÀQØ47Èð 'ó Nˆä�[‰[ Ô*ñ 	GÜ˜5 " c¨1¨t©8°Q¸±X¸sÓCÀAÑFˆC÷	Gä˜˜S t°$Ö7÷	Gð 	Gú÷	Gð 	Gús   Ã#(FÅFÆFÆF%c           
      ó€  ‡	‡
‡— d}t         j                  j                  d«      }d|j                  dd|¬«      z  }t	        |||d¬«      Š	|j                  |«      Š|j                  |«       }|j                  |«      }|j                  «       d	z  Š
t
        j                  j                  |‰‰	‰
||¬
«      }ˆ	ˆ
ˆfd„}t        |||t
        j                  j                  ||¬«      ¬«      }t        ||j                  d¬«       ˆ	ˆ
ˆfd„}t        ||d   |d   |d   |d   |d   |d   «      }t        ||d   d¬«       y )NrI   l   	!†y‚ r%  rg   r
   r€   T)rƒ   rc   )rž   r©  c                 ó\   •— t         j                  j                  | j                  ‰‰‰«      S r8   )r-   r#   r¥   r“   )r\   r¿   rž  r¨   s    €€€r@   Ú	integrandzITestMultivariateT.test_cdf_against_generic_integrators.<locals>.integrandr
  s$   ø€ Ü×'Ñ'×+Ñ+¨A¯C©C°°s¸BÓ?Ð?rB   )rƒ  r    )Úqrngr<  r=  c                  óT   •— t         j                  j                  | d d d…   ‰‰‰«      S )Nrg   )r-   r#   r¥   )Úzyxr¿   rž  r¨   s    €€€r@   r  zITestMultivariateT.test_cdf_against_generic_integrators.<locals>.integrandx
  s(   ø€ Ü×'Ñ'×+Ñ+¨C±°"°©I°t¸SÀ"ÓEÐErB   r   rH   )r9   rŒ   r�   r   rÝ   r-   r#   r°   r0   ÚqmcÚHaltonr   Úintegralr2   )rV   rØ   r–   r“  r«  r¬  r<   r  r=   r¿   rž  r¨   s            @@@r@   Ú$test_cdf_against_generic_integratorsz6TestMultivariateT.test_cdf_against_generic_integratorsc
  s+  ú€ ð ˆÜ�i‰i×#Ñ# NÓ3ˆØ�#—+‘+˜b !¨#�+Ó.Ñ.ˆÜ   a¨°tÔ<ˆØ�z‰z˜#‹ˆØ�Z‰Z˜‹_ÐˆØ�J‰J�s‹OˆØ�Z‰Z‹\˜AÑˆä×"Ñ"×&Ñ& q¨$°°RÀcØ34ð 'ó 6ˆö	@ô �y ! Q¬U¯Y©Y×-=Ñ-=ÀÈ#Ð-=Ó-NÔOˆÜ˜˜SŸ\™\°Õ5ö	Fô �i  1¡ q¨¡t¨Q¨q©T°1°Q±4¸¸1¹¸qÀ¹tÓDˆÜ˜˜S ™V¨$Ö/rB   c                 óú   — t         j                  j                  d«      }t        j                  g d¢g d¢g d¢g«      }d}t	        j
                  ||¬«      }|j                  g d¢|¬«      }d	}t        ||d
¬«       y )Nl   ËJ½a )gço!ß@çSÛ<ÄõÞÍ?çÍ^SsûÑ@)r  g’R·P…¬=@ç“jTŠ0@)r  r  g™ˆÐk`-3@gú WÀKÿ?©r;   rž  rh   r·   g¡ø1æ®%Ð?r<  r=  )r9   rŒ   r�   rÇ   r-   r#   r°   r   )rV   r–   r¿   rž  rÈ   r<   r=   s          r@   Útest_against_matlabz%TestMultivariateT.test_against_matlab~
  sr   € ô �i‰i×#Ñ# JÓ/ˆÜ�h‰hÒ?Ú?Ú?ðAó Bˆð  ˆÜ×#Ñ#¨#°"Ô5ˆØ�h‰h’y¨sˆhÓ3ˆØˆÜ˜˜S tÖ,rB   c                 óò  — d}t         j                  j                  |«      }|j                  d¬«      }|j                  d¬«      |z   }t        j                  d«      }|j                  «       }|||f}t         j                  j                  |«      }t         j                  j                  |«      }	t        j                  |d|iŽ}
t        |
j                  |«      t        j                  |g|¢­d|	iŽ«       y )Nl   2m rI   r€   r    rž   )	r9   rŒ   r�   r   rQ   r-   r#   r   r°   )rV   r    r–   rQ  r\   r;   rž  r>   Ú
rng_frozenÚrng_unfrozenrÈ   s              r@   rb  zTestMultivariateT.test_frozen�
  sÌ   € ØˆÜ�i‰i×#Ñ# DÓ)ˆØ�k‰k˜qˆkÓ!ˆØ�K‰K˜QˆKÓ #Ñ%ˆÜ—‘�q“	ˆØ�Z‰Z‹\ˆØ�U˜BÐˆä—Y‘Y×*Ñ*¨4Ó0ˆ
Ü—y‘y×,Ñ,¨TÓ2ˆÜ×#Ñ# TÐ;°
Ñ;ˆÜ�T—X‘X˜a“[Ü#×'Ñ'¨ÐL¨DÒL¸|ÑLõ	NrB   c                 ó®  ‡‡	‡
‡— d}d}t         j                  j                  d«      Š‰j                  ||f¬«      }||j                  z  Š‰j                  |«      Š
‰j                  ||fz   «      }‰j                  «       dz  Š	t        j
                  j                  |‰
‰‰	‰¬«      }ˆˆ	ˆ
ˆfd„}t        j                  |d|«      }t        ||d	d
¬«       y )Nre   r·  rô  r€   rc   r·   c                 óT   •— t        d‰‰t        j                   | z  | ‰z
  ‰«      d   S )Nrœ  r   )r5   r9   r  )r\   r¿   rž  r¨   r–   s    €€€€r@   Ú_cdf_1dz2TestMultivariateT.test_vectorized.<locals>._cdf_1dª
  s+   ø€ Ü˜E 2 s¬R¯V©V¨G°A©I°q¸±v¸sÓCÀAÑFÐFrB   rg   r¸  r<  rÿ  )	r9   rŒ   r�   r“   r-   r#   r°   Úapply_along_axisr   )rV   rØ   r¼   rv   r\   r<   r  r=   r¿   rž  r¨   r–   s           @@@@r@   Útest_vectorizedz!TestMultivariateT.test_vectorizedž
  s¾   û€ ØˆØˆÜ�i‰i×#Ñ# OÓ4ˆØ�J‰J˜S #˜JˆJÓ'ˆØ�!—#‘#‰gˆØ�z‰z˜#‹ˆØ�J‰J�q˜C˜6‘zÓ"ˆØ�Z‰Z‹\˜AÑˆä×"Ñ"×&Ñ& q¨$°°RÀcÐ&ÓJˆ÷	Gô ×!Ñ! '¨2¨qÓ1ˆÜ˜˜S t°$Ö7rB   r`  c                 ó  — t         j                  j                  d«      }t        j                  j                  dgdg|dz
  z  z   ¬«      }t        j                  |¬«      j                  dg|z  |¬«      }d|dz   z  }t        ||d¬	«       y )
Nrô  r
   rI  )r±  )r;   r   r·   g-Cëâ6
?r=  )
r9   rŒ   r�   rÆ   rº   Útoeplitzr-   r#   r°   r   )rV   rØ   r–   rv   r<   r=   s         r@   Útest_against_analyticalz)TestMultivariateT.test_against_analytical°
  s~   € ä�i‰i×#Ñ# OÓ4ˆÜ�L‰L×!Ñ! Q C¨3¨%°3¸±7Ñ*;Ñ$;Ð!Ó<ˆÜ×"Ñ"¨Ô+×/Ñ/°°°c±	ÈÐ/ÓLˆØ�3˜‘7‰mˆÜ˜˜S tÖ,rB   c                 óà   — t        j                  dd«      }t         j                  }t        j                  j                  ||¬«      }t        j                  j                  d |«      }||k(  sJ ‚y )NrI   r  )r9   rQ   r  r-   r#   r§   r   )rV   r¿   rž  Úmvt_entropyÚmvn_entropys        r@   Útest_entropy_inf_dfz%TestMultivariateT.test_entropy_inf_df¸
  s[   € Ü�f‰f�Q˜‹lˆÜ�V‰VˆÜ×*Ñ*×2Ñ2¸ÀÐ2ÓDˆÜ×/Ñ/×7Ñ7¸¸cÓBˆØ˜kÒ)Ð)Ñ)rB   )r
   r%  r.  c                 ó¢   — t         j                  j                  d|¬«      }t         j                  j                  |¬«      }t	        ||d¬«       y )NrÄ   r  rÃ  r=  r=  )r-   r#   r§   rù  r   )rV   rž  r  Ú	t_entropys       r@   Útest_entropy_1dz!TestMultivariateT.test_entropy_1d¿
  s=   € ä×*Ñ*×2Ñ2¸ÀÐ2ÓCˆÜ—G‘G—O‘O r�OÓ*ˆ	Ü˜ Y°UÖ;rB   zdf, cov, ref, tolr%  gÔøË}’M@rÎ  r.  rI  gŒNfh@rç  c                 ó”   — t        j                  d«      }t        j                  |||«      }t	        |j                  «       ||¬«       y )Nrd  r=  )r9   r¸   r-   r#   r   r§   )rV   rž  r¿   r=   ÚtolrQ  Úmvts          r@   Ú%test_entropy_vs_numerical_integrationz7TestMultivariateT.test_entropy_vs_numerical_integrationÓ
  s7   € ô
 �h‰h�u‹oˆÜ×"Ñ" 3¨¨RÓ0ˆÜ˜Ÿ™› s°Ö5rB   zdf, dim, ref, tol))r%  r
   gDdÿVWø?rÍ  )r.  r
   gU•“°Ýö?r=  )r¬  r
   g÷Ž/+¼ö?rÎ  )ç@Œµx¯Dr
   çZ_2äø³ö?rÍ  )ç}Ã”%­I²Tr
   r(  rÍ  )r%  r%  gz©°g#.@rÍ  )r)  r%  gD¬ë:f,@r=  )r'  r%  ç1÷>÷`,@rÍ  )r)  r%  r*  rÍ  )r%  r.  g8—d¹?‰b@rÍ  )r)  r.  gç-YÒº¿a@rÎ  )r'  r.  çZGrš¼a@rÍ  )r)  r.  r+  rÍ  c                 ó�   — t        j                  t        j                  |«      |¬«      }t	        |j                  «       ||¬«       y )Nr  r=  )r-   r#   r9   rQ   r   r§   )rV   rž  rØ   r=   r$  r%  s         r@   Útest_extreme_entropyz&TestMultivariateT.test_extreme_entropyÜ
  s1   € ôF ×"Ñ"¬¯©°«¸Ô<ˆÜ˜Ÿ™› s°Ö5rB   c                 óª  — t        j                  g d¢g d¢g d¢g d¢g d¢g«      }||j                  z  }d}t        j                  j                  ||¬«      }t        d |¬«      j                  «       }t        ||d	¬
«       d}d}t        j                  j                  ||¬«      }t        j                  j                  ||¬«      }	t        ||	d¬
«       y )N)g¸…ëQ¸ö?g
×£p=
·?g\�Âõ(\ß¿çÃõ(\�ÂÅ?g®Gáz®ç?)g®Gázò¿g{®Gáz„¿g¸…ëQ¸æ?rm  gìQ¸…ëá¿)g…ëQ¸ñ?g)\�Âõ(Ü?gìQ¸…ëÑ¿g)\�Âõ(Ü¿g�Âõ(\�Ò?)g      ø¿g®Gázî¿gq=
×£på¿g\�Âõ(\ç?gš™™™™™ñ¿)r/  g{®Gáz´¿g\�Âõ(\÷?g{®GázÔ¿gÃõ(\�Âõ?r'  r  r}  rÍ  r=  iý  i   rj  )r9   rÇ   r“   r-   r#   r§   r   r   )
rV   Ú_Ar¿   rž  Úmul_t_entropyÚmul_norm_entropyÚdf1Údf2Ú	_entropy1Ú	_entropy2s
             r@   Útest_entropy_with_covariancez.TestMultivariateT.test_entropy_with_covariance  sÈ   € ô �X‰XÚ+Ú-Ú,Ú,Ú,ð
ó ˆð �2—4‘4‰iˆð ˆÜ×,Ñ,×4Ñ4¸3À2Ð4ÓFˆÜ.¨t¸Ô=×EÑEÓGÐÜ˜Ð'7¸eÕDð ˆØˆÜ×(Ñ(×0Ñ0°s¸sÐ0ÓCˆ	Ü×(Ñ(×0Ñ0°s¸sÐ0ÓCˆ	Ü˜	 9°4Ö8rB   ©F),rÊ   rË   rÌ   Ú	PDF_TESTSrM   rÑ   rÒ   r¾  rÀ  rÄ  rÊ  r6   rÎ  rÓ  rÖ  ÚDEFAULT_ARGS_TESTSrÝ  r9   rÇ   ÚARGS_SHAPES_TESTSrß  râ  r4  rè  r  rê  rÂ  rð  rò  rî  rû  r   rp  r
  r  rb  r  r  r  r"  rQ   r&  r-  r7  rÕ   rB   r@   r¶  r¶  	  s]  „ ð �ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFð	
ð 
ˆAˆð �ˆFØ�ˆFð	
ð
 	
ò	
ð1%òP %Ú$Ú$Ú$Ú$ð	
ò 	ò %Ú%Ú%ð	
ð 	
ò	
ð)ðK@€IðD ‡[�[×ÑÐ5°yÓAñ,ó Bð,ð
 ‡[�[×ÑÐ5°yÓAñ6ó Bð6ò,ò'ñ$ Ð4Ó5ñ$ó 6ð$ò&ò@ð 	$Ø Ø	��A�˜˜A˜Ð ¨¨1 v°°A°¸¸A¸Ð/?ÀÐCØ	��A�˜˜A˜Ð  Q¨ F¨a°¨V°a¸°VÐ,<¸aÐ@Ø
ˆQˆ��t˜a ˜V q¨! f¨q°!¨fÐ%5°qÐ9Ø
ˆQˆ��q˜1˜a˜& A q 6¨A¨q¨6Ð"2°AÐ6Ø
ˆQˆ�1�a�&˜1˜a˜&Ð! 4¨!¨Q¨°1°a°&¸1¸a¸&Ð1AÀ1ÐEØ
ˆQˆ�1�a�&˜1˜a˜&Ð! 1 q¨! f°°1¨v¸¸1°vÐ.>ÀÐBð	Ðð ‡[�[×ÑÐIØ/ó1ñ#ó1ð#ð 
ˆQ��B�4˜1˜#˜ Ð"Ø
ˆ�ˆs�A˜�t˜q˜c˜U AÐ&Ø	ˆ�‰�2�$‹˜˜Ÿ™ 1 #›¨¨B¨4°1°#°¸Ð:ðÐð ‡[�[×ÑÐIØ.ó0ñ&ó0ð&ò;ò2)òEð
 ‡[�[×Ñ˜V g¨|Ð%<Ó=Ø‡[�[×Ñ˜U¢LÓ1Ø‡[�[×Ñ˜T B¨¨B¯F©FÐ#3Ó4ñ+ó 5ó 2ó >ð+ò

4ð ‡[�[×Ñ˜U¢IÓ.ñ'ó /ð'ð ‡[�[×Ñ˜U¢IÓ.ñ+ó /ð+ó-ò$6ð ‡[�[×Ñ˜U¢MÓ2Ø‡[�[×Ñ˜Vò &Jó Kà‡[�[×Ñ˜Z¨%°¨Ó7ñ8ó 8óKó 3ð8ð2 ‡[�[×Ññ0ó ð0ò4-ò"Nò8ð$ ‡[�[×Ñ˜U FÓ+ñ-ó ,ð-ò*ð ‡[�[×Ñ˜T¢<Ó0ñ<ó 1ð<ð& ‡[�[×ÑÐ0Ø! 6 2§6¡6¨!¨Q£<Ð1CÀUÐKØ" H B§H¡H¨s°A¨h¸¸B¸Ð-@Ó$AØ/°ð7ð8ó9ñ6ó	9ð6ð
 ‡[�[×ÑØò	
óñ$6ó%ð$6ó(9rB   r¶  c                   ó”  — e Zd Zej                  j                  dddgddgddfddgddgdej                   fd	dgddgdej                   fddgd
dgdej                  fddgddggddgd
dggddgej                  ej                  gfd	dgd
dgdej                  fddgddgdej                  fddgddgdej                  fddgddgdej                  fddgddgdej                   fg
«      d„ «       Z	d„ Z
d„ Zd„ Zej                  j                  dg d¢dfg d¢dfddgdfdgdff«      d„ «       Zej                  j                  ddgdgddfddgddgddfddgddggddgddgggddgddgddggdd gdd!ggf ej                  g e¬"«       ej                  g e¬"«      dg fddgddgddfg d#¢g d$¢d%d&fg«      d'„ «       Zej                  j                  dddgddgdd(ggddd)gfdgdggdgdggddgd*d+gfdgdgggdgdggddgd*d+ggfdgdggdggggddgd*d+gggfg«      d,„ «       Zd-„ Zd.„ Zd/„ Zd0„ Zd1„ Zd2„ Zd3„ Zd4„ Zd5„ Zd6„ Zd7„ Zy8)9ÚTestMultivariateHypergeomzx, m, n, expectedrI   re   rc   r%  rf   g©¥¹Âêñ¿r   rÂ  éûÿÿÿr
   rH   rm   iúÿÿÿiöÿÿÿr  rÿ  rg   iùÿÿÿc                 óN   — t        j                  |||«      }t        ||d¬«       y )Nç�íµ ÷Æ°>r=  )r   r½  r   ©rV   r\   rï  r¼   r1  Úvalss         r@   rÂ  z%TestMultivariateHypergeom.test_logpmf"  s$   € ô6 &×,Ñ,¨Q°°1Ó5ˆÜ˜˜h¨TÖ2rB   c                 ó  — t        j                  ddgddgd¬«      }t        j                  dddd¬«      }t        ||d	¬
«       t        j                  ddgddgd¬«      }t        j                  dddd¬«      }t        ||d	¬
«       y )NrI   r
   r%  rc   re   )r\   rï  r¼   é   )r  rá   r¼   r–  rç  r=  rf   é   )r   rÇ  r"   r   rÈ  s      r@   Útest_reduces_hypergeomz0TestMultivariateHypergeom.test_reduces_hypergeom@  s|   € ô &×)Ñ)¨Q°¨F°r¸1°gÀÔCˆÜ�}‰}˜q B¨!¨rÔ2ˆÜ˜˜d¨Õ.ä%×)Ñ)¨Q°¨F°r¸2°hÀ"ÔEˆÜ�}‰}˜q B¨"°Ô3ˆÜ˜˜d¨Ö.rB   c                 óž   — t        ddgd¬«      }|j                  dd¬«      }t        |j                  d«      |j                  «       d	¬
«       y )NrI   rc   re   ©rï  r¼   r)  rÓ  r�   r   rR  r=  ©r   r¡   r   r¨   ©rV   rÀ   r¡   s      r@   rê  z"TestMultivariateHypergeom.test_rvsK  s@   € ô $ q¨! f°Ô2ˆØ�f‰f˜$¨SˆfÓ1ˆÜ˜Ÿ™ › R§W¡W£Y°TÖ:rB   c                 óª   — t        ddgddggddg¬«      }|j                  dd¬	«      }t        |j                  d
«      |j                  «       d¬«       y )NrI   rc   r%  re   rÛ  rH  ©r)  rH   rÓ  r�   r   rR  r=  rI  rJ  s      r@   Útest_rvs_broadcastingz/TestMultivariateHypergeom.test_rvs_broadcastingR  sK   € Ü#¨¨1 v°°2¨wÐ&7¸A¸q¸6ÔBˆØ�f‰f˜)°#ˆfÓ6ˆÜ˜Ÿ™ › R§W¡W£Y°TÖ:rB   zm, n)r   r   r  r   r   )r   r   r   r   r   c                 ó¢   — t        j                  ||«      }t        j                  |«      }|j	                  «       }|||dk7  <   t        ||«       y )Nr   )r   r¡   r9   r:   rŒ  r   )rV   rï  r¼   r<   Úres_exs        r@   Útest_rvs_gh16171z*TestMultivariateHypergeom.test_rvs_gh16171W  sE   € ô
 %×(Ñ(¨¨AÓ.ˆÜ�J‰J�q‹MˆØ—‘“ˆØˆˆq�A‰v‰Ü�S˜&Õ!rB   g z÷lÂâÔ?rÄ  rÛ  gQ°µ­Ù?gEçÙ³¤|?gé�
¸çyÞ?r/  rÝ  )rc   rd   rf   rd   g‘z²p†?c                 óN   — t        j                  |||«      }t        ||d¬«       y ©Nri  r=  ©r   rÇ  r   rA  s         r@   râ  z"TestMultivariateHypergeom.test_pmfb  s$   € ô" &×)Ñ)¨!¨Q°Ó2ˆÜ˜˜h¨TÖ2rB   rD  gõ­ æÎÕ?rÄ   rÅ   c                 óN   — t        j                  |||«      }t        ||d¬«       y rR  rS  rA  s         r@   rä  z/TestMultivariateHypergeom.test_pmf_broadcastingv  s$   € ô &×)Ñ)¨!¨Q°Ó2ˆÜ˜˜h¨TÖ2rB   c                 óh   — t        j                  g d¢d¬«      }g d¢g d¢g d¢g}t        ||d¬«       y )	N)rI   rf   r%  rÿ  rH  )g«×Âf_�ä?çÁ&BUúÐ¿ç–ˆCx¬@Ø¿)rV  g�gsƒ>dò?çZ¤ásKì¿)rW  rX  gö¿3å5ô?rç  r=  ©r   r¿   r   )rV   rç  r�  s      r@   rè  z"TestMultivariateHypergeom.test_covƒ  s2   € Ü%×)Ñ)ªJ¸"Ô=ˆÚ6Ú6Ú6ð8ˆô 	˜˜d¨Ö.rB   c                 óV  — t        j                  ddgddggddg¬«      }dd	gd	dggd
dgdd
ggg}t        ||d¬«       t        j                  dgdggddg¬«      }dggdggg}t        ||d¬«       t        j                  ddgddg¬«      }dd	gd	dggddgddggg}t        ||d¬«       y )Nrf   rÛ  r%  rD  rÄ  rÿ  rH  gÍÌÌÌÌÌð?gÍÌÌÌÌÌð¿gö(\�Âõø?gö(\�Âõø¿rç  r=  re   rc   rÅ   g333333é?g333333é¿rY  rê  s          r@   rï  z/TestMultivariateHypergeom.test_cov_broadcastingŠ  sã   € Ü%×)Ñ)¨a°¨V°b¸"°XÐ,>À1ÀbÀ'ÔJˆØ˜� ¨ Ð.Ø˜� ¨ Ð.ð0ˆä˜˜d¨Õ.ä%×)Ñ)¨a¨S°1°#¨J¸1¸a¸&ÔAˆØ��˜"˜˜ÐˆÜ˜˜d¨Õ.ä%×)Ñ)¨Q°¨F°q¸"°gÔ>ˆØ˜� ¨ Ð.Ø˜'Ð" W¨fÐ$5Ð6ð8ˆä˜˜d¨Ö.rB   c                 ó‚   — t        j                  ddgd¬«      }t        j                  ddd¬«      }t        ||d¬«       y )	Nr%  rc   re   rH  rD  ©rá   r¼   r–  rç  r=  )r   r:  r"   r   )rV   Úvar0Úvar1s      r@   Útest_varz"TestMultivariateHypergeom.test_var™  s6   € ä%×)Ñ)¨R°¨G°qÔ9ˆÜ�}‰}˜r Q¨"Ô-ˆÜ˜˜d¨Ö.rB   c                 ó®  — t        j                  ddgddg¬«      }t        j                  ddgd¬«      }t        j                  ddgd¬«      }t        |d   |d¬«       t        |d	   |d¬«       t        j                  ddgdd
ggddg¬«      }ddgddgg}t        ||d¬«       t        j                  dgdggddg¬«      }dgdgg}t        ||d¬«       y )Nr%  rc   re   rÄ  rH  r   rç  r=  r
   rÅ  gÌ�3—eYæ?g�I›ª{¤õ?rÅ   )r   r:  r   )rV   r]  r^  Úvar2Úvar3Úvar4Úvar5Úvar6s           r@   Útest_var_broadcastingz/TestMultivariateHypergeom.test_var_broadcastingŸ  sâ   € Ü%×)Ñ)¨R°¨G¸¸1°vÔ>ˆÜ%×)Ñ)¨R°¨G°qÔ9ˆÜ%×)Ñ)¨R°¨G°qÔ9ˆÜ˜˜Q™ ¨DÕ1Ü˜˜Q™ ¨DÕ1ä%×)Ñ)¨b°!¨W°r¸2°hÐ,?ÀAÀqÀ6ÔJˆØ˜IÐ&¨°8Ð(<Ð=ˆÜ˜˜d¨Õ.ä%×)Ñ)¨a¨S°2°$¨K¸A¸r¸7ÔCˆØ��r�dˆ|ˆÜ˜˜d¨Ö.rB   c                 óÞ   — t        j                  ddgd¬«      }t        j                  ddd¬«      }t        |d   |d¬	«       t        j                  d
dgd¬«      }ddg}t        ||d¬	«       y )Nr%  rc   re   rH  rD  r\  r   rç  r=  rÿ  rÄ  g      @rL  )r   r¨   r"   r   ©rV   Úmean0rú  rŒ  Úmean3s        r@   rû  z#TestMultivariateHypergeom.test_mean®  sf   € ä&×+Ñ+¨r°1¨g¸Ô;ˆÜ—‘  q¨BÔ/ˆÜ˜˜a™ %¨dÕ3ä&×+Ñ+¨r°1¨g¸Ô<ˆØ˜jÐ)ˆÜ˜˜u¨4Ö0rB   c                 ón   — t        j                  ddgddggddg¬«      }ddgd	d
gg}t        ||d¬«       y )NrI   rc   r%  re   rÄ  rH  rñ   rò   gUUUUUU@gUUUUUU@rç  r=  )r   r¨   r   )rV   ri  rú  s      r@   rý  z0TestMultivariateHypergeom.test_mean_broadcasting¸  sE   € Ü&×+Ñ+°°1¨v¸¸A°wÐ.?ÀAÀqÀ6ÔJˆØ˜HÐ%¨
°IÐ'>Ð?ˆÜ˜˜u¨4Ö0rB   c                 óV  — t        j                  g d¢d¬«      }t        |g d¢«       t        j                  g d¢d¬«      }t        |t        j                  t        j                  t        j                  g«       t        j                  g d¢g d¢gd¬«      }t        |t        j                  t        j                  t        j                  gg d¢gd	¬
«       t        j                  t        j                  g t        ¬«      d¬«      }t        |g «       t        |j                  dk(  «       y )Nrh   r   rH  ©rÅ   rÅ   rÅ   ©r
   r   r   rH   r½  )rÄ   rÅ   rÄ   ç—ÔFFõg<r=  r/  ©r   )
r   r¨   r   r9   rv  r   rÇ   Úintr   r;   rh  s        r@   Útest_mean_edge_casesz.TestMultivariateHypergeom.test_mean_edge_cases½  sÅ   € Ü&×+Ñ+ªi¸1Ô=ˆÜ�UšLÔ)ä&×+Ñ+ªi¸1Ô=ˆÜ�UœRŸV™V¤R§V¡V¬R¯V©VÐ4Ô5ä&×+Ñ+ªyº)Ð.DÈÔJˆÜ˜¤§¡¬¯©´·±Ð 8º,ÐGØ"õ	$ô '×+Ñ+¬b¯h©h°rÄÔ.EÈÔKˆÜ�U˜BÔÜ�—‘˜uÑ$Õ%rB   c                 óZ  — t        j                  g d¢d¬«      }t        |g d¢d¬«       t        j                  g d¢d¬«      }t        |t        j
                  t        j
                  t        j
                  g«       t        j                  g d¢g d	¢gd¬«      }t        |t        j
                  t        j
                  t        j
                  gg d¢gd
¬«       t        j                  t	        j                  g t        ¬«      d¬«      }t        |g «       t        |j                  dk(  «       y )Nrh   r   rH  rm  g¼‰Ø—²Òœ<r=  rn  rH   r½  ro  r/  rp  )
r   r:  r   r   r9   rv  rÇ   rq  r   r;   )rV   r]  r^  ra  rb  s        r@   Útest_var_edge_casesz-TestMultivariateHypergeom.test_var_edge_casesÌ  sÇ   € Ü%×)Ñ)ªI¸Ô;ˆÜ˜šl°Õ7ä%×)Ñ)ªI¸Ô;ˆÜ�TœBŸF™F¤B§F¡F¬B¯F©FÐ3Ô4ä%×)Ñ)ªYº	Ð,BÀaÔHˆÜ˜¤§¡¬¯©´·±Ð7ºÐFØ"õ	$ô &×)Ñ)¬B¯H©H°R¼sÔ,CÀqÔIˆÜ�T˜2ÔÜ�—
‘
˜eÑ#Õ$rB   c                 óÞ  — t        j                  g d¢d¬«      }g d¢g d¢g d¢g}t        ||d¬«       t        j                  g d¢d¬«      }g d¢g d¢g d¢g}t        ||«       t        j                  t	        j
                  g t        ¬	«      d¬«      }t	        j
                  g t        j                  ¬	«      j                  dd«      }t        ||d¬«       t        |j                  d
k(  «       y )Nrn  r
   rH  rm  ro  r=  rh   r   r/  rO  )r   r¿   r   r   r9   rÇ   rq  rÞ  r*  r   r;   )rV   Úcov0rç  rë  rì  rí  rî  s          r@   Útest_cov_edge_casesz-TestMultivariateHypergeom.test_cov_edge_casesÛ  s¯   € Ü%×)Ñ)ªI¸Ô;ˆÚšlªLÐ9ˆÜ˜˜d¨Õ/ä%×)Ñ)ªI¸Ô;ˆÚšlªLÐ9ˆÜ�T˜4Ô ä%×)Ñ)¬B¯H©H°R¼sÔ,CÀqÔIˆÜ�x‰x˜¤"§*¡*Ô-×5Ñ5°a¸Ó;ˆÜ˜˜d¨Õ/Ü�—
‘
˜fÑ$Õ%rB   c                 ó6  — t         j                  j                  d«       d}g d¢}g d¢g d¢g d¢g d¢g d¢g}t        j                  |t        ¬	«      }t        ||«      }t        |j                  |«      t        j                  |||«      «       t        |j                  |«      t        j                  |||«      «       t        |j                  «       t        j                  ||«      «       t        |j                  «       t        j                  ||«      «       y )
Nrð   rÿ  )rf   rÛ  r  é   r   r  r  r  r  r/  )r9   rŒ   r    r:   rq  r   r   rÇ  r½  r:  r¿   )rV   r¼   rï  r\   Ú
mhg_frozens        r@   rb  z%TestMultivariateHypergeom.test_frozené  sÖ   € ä
�	‰	�‰�tÔØˆÚˆÚšMª=Úš<ð)ˆä�J‰J�q¤Ô$ˆÜ+¨A¨qÓ1ˆ
Ü˜
Ÿ™ qÓ)Ü.×2Ñ2°1°a¸Ó;ô	=ä˜
×)Ñ)¨!Ó,Ü.×5Ñ5°a¸¸AÓ>ô	@ä˜
Ÿ™Ó(Ô*@×*DÑ*DÀQÈÓ*JÔKÜ˜
Ÿ™Ó(Ô*@×*DÑ*DÀQÈÓ*JÕKrB   c                 ó°  — t        t        t        j                  ddd«       t        t        t        j                  ddgd«       t        t        t        j                  ddgdgd«       t        t        t        j                  ddgddgd«       t        t        t        j                  ddgddgd«       t        t        t        j                  ddgddgd«       y )	Nrc   r%  re   g      @rÐ  rD  g      %@g      /@)rì   rN   r   rÇ  Ú	TypeErrorr7  s    r@   Útest_invalid_paramsz-TestMultivariateHypergeom.test_invalid_paramsù  sµ   € Ü”jÔ"8×"<Ñ"<¸aÀÀQÔGÜ”jÔ"8×"<Ñ"<¸aÀ"ÀÀqÔIÜ”jÔ"8×"<Ñ"<¸qÀ!¸fÀrÀdÈAÔNÜ”iÔ!7×!;Ñ!;¸cÀ3¸ZØ˜2�h ô	#ä”iÔ!7×!;Ñ!;¸aÀ¸VØ˜T�l Aô	'ä”iÔ!7×!;Ñ!;¸aÀ¸VØ˜2�h õ	%rB   N)rÊ   rË   rÌ   rM   rÑ   rÒ   r9   r  rv  rÂ  rF  rê  rM  rP  rÇ   rq  râ  rä  rè  rï  r_  rf  rû  rý  rr  rt  rw  rb  r}  rÕ   rB   r@   r=  r=  !  s|  „ Ø‡[�[×ÑØð �ˆV�a˜�W˜a Ð+à�ˆV�a˜�W˜a "§&¡& Ð)à�!ˆW�q˜"�g˜q 2§6¡6 'Ð*à�ˆV�b˜"�X˜q "§&¡&Ð)à�!ˆf�q˜!�fÐ  R ¨2¨s¨)Ð4Ø�ˆV�b—f‘f˜bŸf™fÐ%ð'ð �!ˆW�r˜2�h  2§6¡6Ð*à�ˆW�r˜1�g˜r 2§6¡6Ð*à�ˆW�r˜2�h  B§F¡FÐ+à�ˆV�a˜�W˜b "§&¡&Ð)à�ˆV�a˜�W˜a "§&¡& Ð)ð+	
óñ43ó5ð43ò	/ò;ò;ð
 ‡[�[×Ñ˜VÚ	˜1Ð¢°Ð3Ø
ˆQˆ�ˆ�q�c˜1�Xð&ó ñ"ó	ð"ð ‡[�[×ÑØàˆS�1�#�q˜!ÐØ�ˆV�a˜�W˜a Ð+à�1ˆv˜˜1�vÐ " a ¨1¨a¨&Ð 1Ð2Ø�ˆW˜˜1�v  1˜vÐ&Ø˜+Ð&¨¨I¨Ð7ð9ð ˆR�X‰X�b Ô$ h b§h¡h¨r¸Ô&=¸qÀ"ÐEØ�ˆV�a˜�V˜Q Ð"âš	 1 jÐ1ð	
óñ 3ó!ð 3ð ‡[�[×ÑØà�ˆV�q˜"�g  B˜xÐ(¨!¨i¸Ð-CÐDØˆc�A�3ˆZ˜1˜# ˜s˜ a¨ V¨b°"¨XÐ6Øˆs�Q�Cˆjˆ\˜Q˜C ! ˜:¨¨1 v°°R°¨zÐ:Øˆc�A�3ˆZ˜Q˜C˜5˜'˜ Q¨ F¨r°2¨h¨Z¨LÐ9ð		
óñ3óð3ò/ò/ò/ò/ò1ò1ò
&ò%ò&òLó 	%rB   r=  c                   óT  — e Zd Zd„ Zd„ Zej                  j                  dd«      d„ «       Zd„ Z	ej                  j                  dd«      ej                  j                  d	d«      d
„ «       «       Z
ej                  j                  dd«      d„ «       Zd„ Zej                  j                  dd«      d„ «       Zej                  j                  dd«      d„ «       Zej                  j                  dd«      d„ «       Zej                  j                  dd«      ej                  j                  dg dgf«      ej                  j                  dg dgf«      d„ «       «       «       Zej                  j                  dd«      d„ «       Zd„ Zej                  j                  dd«      d„ «       Zy)ÚTestRandomTablec                 ó@   — t         j                  j                  d«      S )Nl   ÖO˜f½E)r9   rŒ   r�   r7  s    r@   Úget_rngzTestRandomTable.get_rng  s   € Ü�y‰y×$Ñ$Ð%7Ó8Ð8rB   c                 ó^  — d}t        j                  t        |¬«      5  t        ddggddg«       d d d «       d}t        j                  t        |¬«      5  t        ddgddgg«       d d d «       d}t        j                  t        |¬«      5  t        ddgddg«       d d d «       d}t        j                  t        |¬«      5  t        ddgdd	g«       d d d «       d
}t        j                  t        |¬«      5  t        ddgddg«       d d d «       d}t        j                  t        |¬«      5  t        ddgg d¢«       d d d «       d}t        j                  t        |¬«      5  t        ddgg d¢«       d d d «       ddg}g d¢}t        j                  ddgg d¢«      \  }}}t        ||«       t        ||«       |t        j                  |«      k(  sJ ‚y # 1 sw Y   �Œ¨xY w# 1 sw Y   �Œ~xY w# 1 sw Y   �ŒUxY w# 1 sw Y   �Œ,xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÙxY w# 1 sw Y   Œ¯xY w)Nz`row` must be one-dimensionalrF   r
   rH   z`col` must be one-dimensionalz*each element of `row` must be non-negativerg   z*each element of `col` must be non-negativerj   z'sums over `row` and `col` must be equalr   z(each element of `row` must be an integerçÍÌÌÌÌÌ @)r
   r
   rH   z(each element of `col` must be an integer)rW  rW  r
   rI   ©rH   r
   r
   )rM   r	   rN   r&   Ú_process_parametersr   r9   r‘   )rV   rW   ÚrowÚcolr(  r±  r¼   s          r@   Útest_process_parametersz'TestRandomTable.test_process_parameters	  s÷  € Ø1ˆÜ�]‰]œ:¨WÔ5ñ 	+Ü˜1˜a˜&˜ A q 6Ô*÷	+ð 2ˆÜ�]‰]œ:¨WÔ5ñ 	+Ü˜!˜Q˜ 1 a & Ô*÷	+ð ?ˆÜ�]‰]œ:¨WÔ5ñ 	*Ü˜!˜R˜ 1 a &Ô)÷	*ð ?ˆÜ�]‰]œ:¨WÔ5ñ 	*Ü˜!˜Q˜ ! R Ô)÷	*ð <ˆÜ�]‰]œ:¨WÔ5ñ 	)Ü˜!˜Q˜ ! Q Ô(÷	)ð =ˆÜ�]‰]œ:¨WÔ5ñ 	0Ü˜#˜s˜¢YÔ/÷	0ð =ˆÜ�]‰]œ:¨WÔ5ñ 	0Ü˜!˜Q˜¢Ô/÷	0ð �!ˆfˆÚˆÜ×2Ñ2°A°q°6º9ÓE‰ˆˆ1ˆaÜ�S˜!ÔÜ�S˜!ÔØ”B—F‘F˜3“KÒÐÑ÷A	+ñ 	+ú÷	+ñ 	+ú÷	*ñ 	*ú÷	*ñ 	*ú÷	)ñ 	)ú÷	0ð 	0ú÷	0ð 	0úsS   žGÁG#ÂG0ÃG=Ã8H
Ä.HÅ$H#ÇG Ç#G-Ç0G:Ç=HÈ
HÈH È#H,zscale,method))r
   Úboyett)r.  Ú	patefieldc                 óä   — t        j                  ddg«      |z  }t        j                  g d¢«      |z  }t        }|j                  |||d¬«      }|j                  ||d d¬«      }t	        ||«       y )Nr
   rI   r„  ©Úmethodrž   )r9   rÇ   r&   r¡   r   )rV   rK  r�  r†  r‡  Úctr1  Úgots           r@   Útest_process_rvs_method_on_Nonez/TestRandomTable.test_process_rvs_method_on_None-  si   € ô �h‰h˜˜1�vÓ Ñ&ˆÜ�h‰h’yÓ! EÑ)ˆäˆØ—6‘6˜#˜s¨6À�6ÓBˆØ�f‰f�S˜# d¸ˆfÓ;ˆä�X˜sÕ#rB   c                 ó¨   — ddg}g d¢}d}t        j                  t        |¬«      5  t        j                  ||d¬«       d d d «       y # 1 sw Y   y xY w)Nr
   rI   r„  z$'foo' not recognized, must be one ofrF   Úfoo)r�  )rM   r	   rN   r&   r¡   )rV   r†  r‡  rW   s       r@   Ú$test_process_rvs_method_bad_argumentz4TestRandomTable.test_process_rvs_method_bad_argument9  sL   € Ø�!ˆfˆÚˆð 9ˆÜ�]‰]œ:¨WÔ5ñ 	5Ü×Ñ˜S #¨eÕ4÷	5÷ 	5ñ 	5ús   ¦AÁAr  )TFrø   c                 ó¢  ‡‡‡‡— | j                  «       }ddgŠg d¢Št        j                  ‰‰dd|¬«      }|rt        ‰‰«      nt        }t        ||rdnd«      Š|s	‰Šˆˆˆfd	„Š|rˆfd
„n‰}t	        j
                  |dd¬«      \  }} ||«      }	t        |	t        |«      z  |d¬«        |t        |d   «      «      }
t        |
|	d   «       |j                  d|j                  dd  z   «      } ||«      }	|	j                  dk(  sJ ‚t        |	j                  d   «      D ]A  }t        |	j                  d   «      D ]$  }|	||f   }|||f   } ||«      }t        ||«       Œ& ŒC g d¢g d¢g}t        t	        j                  |d¬«      ‰«        ||«      }	|	dk(  sJ ‚g d¢g d¢g}t        t	        j                  |d¬«      ‰«        ||«      }	|	dk(  sJ ‚d}t        j                  t         |¬«      5   |dg«       d d d «       d}t        j                  t         |¬«      5   |dgg«       d d d «       d}t        j                  t         |¬«      5   |t        j"                  gg«       d d d «       d}t        j                  t         |¬«      5   |dgg«       d d d «       d}t        j                  t         |¬«      5   |g d¢g«       d d d «       d }t        j                  t         |¬«      5   |ddgd!d"gg«       d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   ŒêxY w# 1 sw Y   Œ¸xY w# 1 sw Y   Œ”xY w# 1 sw Y   ŒoxY w# 1 sw Y   y xY w)#NrH   rd   ©r
   rI   re   r)  r‰  ©r�   r�  rž   r½  rÇ  c                 ó   •—  ‰| ‰‰«      S r8   rÕ   )r\   r‡  Úoriginal_methodr†  s    €€€r@   r�  z/TestRandomTable.test_pmf_logpmf.<locals>.methodS  s   ø€ Ù& q¨#¨sÓ3Ð3rB   c                 ó:   •— t        j                   ‰| «      «      S r8   )r9   r1  )r\   r�  s    €r@   r]   z1TestRandomTable.test_pmf_logpmf.<locals>.<lambda>U  s   ø€ œŸ™¡ q£	Ó*€ rB   r   T©r†   Úreturn_countsrš   r=  )r%  r.  r
   )r   r
   r
   )rH   r
   rI   rg   r…   ré   )r
   rH   rH   rj   z$`x` must be at least two-dimensionalrF   z%`x` must contain only integral valuesrW  z)`x` must contain only non-negative valuesz"shape of `x` must agree with `row`rL   z"shape of `x` must agree with `col`rI   re   )r�  r&   r¡   rq   r9   Úuniquer   r’   rÏ   r   r*  r;   r
  r‘   rM   r	   rN   rv  )rV   r  rø   r–   r¡   ÚobjrÇ  Ú
unique_rvsÚcountsrÏ  Úp2Úrvs_ndrB  rC  ÚpijÚrvijÚqijr\   rW   r‡  r�  r˜  r†  s                      @@@@r@   Útest_pmf_logpmfzTestRandomTable.test_pmf_logpmfB  s(  û€ ð �l‰l‹nˆØ�!ˆfˆÚˆÜ×Ñ˜s C¨dØ&.¸SôBˆñ )/Œl˜3 Ô$´LˆÜ˜©#™h°5Ó9ˆÙØ$ˆOö4á/2Ô*¸ˆäŸY™Y s°À$ÔGÑˆ
�Fñ �
‹OˆÜ˜œC ›H™ f°3Õ7ñ ”�j ‘mÓ$Ó%ˆÜ�R˜˜1™Ôð —‘˜Y¨¯©°1°2¨Ñ6Ó7ˆÙ�‹KˆØ�w‰w˜)Ò#Ð#Ð#Ü�q—w‘w˜q‘zÓ"ò 	'ˆAÜ˜1Ÿ7™7 1™:Ó&ò '�Ø˜˜1˜‘g�Ø˜a ˜d‘|�Ù˜$“i�Ü˜S #Õ&ñ	'ð	'ò š	Ð"ˆÜ”R—V‘V˜A BÔ'¨Ô-Ù�‹FˆØ�AŠvˆˆvò š	Ð"ˆÜ”R—V‘V˜A BÔ'¨Ô-Ù�‹FˆØ�AŠvˆˆvð 9ˆÜ�]‰]œ:¨WÔ5ñ 	Ù��ŒH÷	ð :ˆÜ�]‰]œ:¨WÔ5ñ 	Ù�#��ŒL÷	ð :ˆÜ�]‰]œ:¨WÔ5ñ 	Ù”"—&‘&��
ŒO÷	ð >ˆÜ�]‰]œ:¨WÔ5ñ 	Ù�"��ŒK÷	ð 7ˆÜ�]‰]œ:¨WÔ5ñ 	Ù’�Ô÷	ð 7ˆÜ�]‰]œ:¨WÔ5ñ 	Ù�!�Q�Ø�Q�ðô ÷	ð 	÷)	ñ 	ú÷	ð 	ú÷	ð 	ú÷	ð 	ú÷	ð 	ú÷	ð 	úsH   Ç2
LÈ!LÉL!ÊL-Ê?L9Ë0MÌLÌLÌ!L*Ì-L6Ì9MÍMr�  )r‰  rŠ  c                 óò  — | j                  «       }ddg}g d¢}t        j                  ||d||¬«      }t        j                  ||«      }t	        t        j                  |«      t        j                  |«      «       t        |j                  d«      |d¬«       t	        |j                  d	¬
«      t        j                  |d«      «       t	        |j                  d¬
«      t        j                  |d«      «       y )NrH   rd   r•  r)  r–  r   rA  r†  rg   r…   rL  rj   )r)  rI   )	r�  r&   r¡   r¨   r   r9   r‘   r   Úbroadcast_to)rV   r�  r–   r†  r‡  r¡   r¨   s          r@   Útest_rvs_meanzTestRandomTable.test_rvs_mean’  s¸   € ð �l‰l‹nˆØ�!ˆfˆÚˆÜ×Ñ˜s C¨d¸6Ø,/ô1ˆä× Ñ   cÓ*ˆÜ”R—V‘V˜D“\¤2§6¡6¨#£;Ô/Ü˜Ÿ™ › T°Õ5Ü�S—W‘W "�WÓ%¤r§¡°s¸IÓ'FÔGÜ�S—W‘W "�WÓ%¤r§¡°s¸IÓ'FÕGrB   c                 ó  — | j                  «       }ddg}g d¢}t        j                  ||dd|¬«      }t        j                  ||dd|¬«      }t        j                  |d¬	«      }t        j                  |d¬	«      }t        ||d
¬«       y )NrH   rd   r•  rœ  r‰  r–  rŠ  r   r…   ç{®Gáz”?r†  )r�  r&   r¡   r9   r:  r   )rV   r–   r†  r‡  r  r  rç  r�  s           r@   Útest_rvs_covzTestRandomTable.test_rvs_cov¡  s   € ð �l‰l‹nˆØ�!ˆfˆÚˆÜ×Ñ  S¨u¸XØ-0ô2ˆä×Ñ  S¨u¸[Ø-0ô2ˆä�v‰v�d Ô#ˆÜ�v‰v�d Ô#ˆÜ˜˜d¨Ö.rB   c           	      ó(  — ddg}g d¢}t        j                  |||| j                  «       ¬«      }|j                  dk(  sJ ‚t        j                  ||d|| j                  «       ¬«      }|j                  dk(  sJ ‚t	        ||d	   «       t        j                  ||d	|| j                  «       ¬«      }|j                  d
k(  sJ ‚t        j                  ||d|| j                  «       ¬«      }|j                  dk(  sJ ‚t        j                  ||d|| j                  «       ¬«      }|j                  dk(  sJ ‚t        |j                  ddd«      |d¬«       d}	t        j                  t        |	¬«      5  t        j                  ||d|| j                  «       ¬«       d d d «       t        j                  t        |	¬«      5  t        j                  ||t        j                  || j                  «       ¬«       d d d «       y # 1 sw Y   ŒdxY w# 1 sw Y   y xY w)NrH   rd   r•  rŒ  r·  r
   r–  rL   r   )r   rH   rI   r  )r  rH   rI   )re   rc   )re   rc   rH   rI   rI   rÍ  r=  z/`size` must be a non-negative integer or `None`rF   rg   )r&   r¡   r�  r;   r   r   r*  rM   r	   rN   r9   rv  )
rV   r�  r†  r‡  rÀ   Úrv2Úrv3Úrv4Úrv5rW   s
             r@   Útest_rvs_sizezTestRandomTable.test_rvs_size¯  sÓ  € à�!ˆfˆÚˆô ×Ñ˜c 3¨vØ+/¯<©<«>ô;ˆà�x‰x˜6Ò!Ð!Ð!ô ×Ñ˜s C¨a¸Ø,0¯L©L«Nô<ˆà�y‰y˜IÒ%Ð%Ð%Ü�R˜˜Q™Ô ô ×Ñ˜s C¨a¸Ø,0¯L©L«Nô<ˆà�y‰y˜IÒ%Ð%Ð%ô ×Ñ˜s C¨b¸Ø,0¯L©L«Nô<ˆà�y‰y˜JÒ&Ð&Ð&ä×Ñ˜s C¨f¸VØ,0¯L©L«Nô<ˆà�y‰y˜LÒ(Ð(Ð(ä˜Ÿ™ B¨¨1Ó-¨s¸Õ?ð DˆÜ�]‰]œ:¨WÔ5ñ 	:Ü×Ñ˜S #¨B°vØ*.¯,©,«.õ:÷	:ô �]‰]œ:¨WÔ5ñ 	:Ü×Ñ˜S #¬B¯F©F¸6Ø*.¯,©,«.õ:÷	:ð 	:÷		:ð 	:ú÷	:ð 	:ús   Å0)G<Æ<7HÇ<HÈHc                 óø   — ddg}g d¢}t         }|j                  ||d|| j                  «       ¬«      }t        j                  |dd¬«      \  }}|j                  |||«      }t        |t        |«      z  |d	¬
«       y )NrH   rd   r•  rÆ  r–  r   Trš  rª  r=  )r&   r¡   r�  r9   rœ  rÇ  r   r’   )	rV   r�  r†  r‡  rŽ  r¡   rž  rŸ  rÏ  s	            r@   Útest_rvs_methodzTestRandomTable.test_rvs_methodÙ  s|   € ð �!ˆfˆÚˆäˆØ�f‰f�S˜# F°6Ø"&§,¡,£.ð ó 2ˆô  ŸY™Y s°À$ÔGÑˆ
�Fð �F‰F�:˜s CÓ(ˆÜ˜œC ›H™ f°4Ö8rB   c                 óø   — g d¢}g d¢}t        ||«      }|j                  d|| j                  «       ¬«      }t        j                  dt        |«      t        |«      f«      }g d¢g d¢g d¢g|d<   t        ||«       y )Nr¾  )r
   r   r   r   r)  rŒ  )r   r   r   r   .©r&   r¡   r�  r9   r¸   r’   r   ©rV   r�  r†  r‡  rƒ  rÀ   r1  s          r@   Útest_rvs_with_zeros_in_col_rowz.TestRandomTable.test_rvs_with_zeros_in_col_rowî  so   € âˆÚˆÜ˜˜cÓ"ˆØ�U‰U�4 °T·\±\³^ˆUÓDˆÜ—8‘8˜T¤3 s£8¬S°«XÐ6Ó7ˆÚ%Ú%Ú%ð'ˆ�‰ô 	�R˜Õ"rB   )Nr‰  rŠ  r‡  r   r†  c                 óÌ   — t        ||«      }|j                  d|| j                  «       ¬«      }t        j                  dt        |«      t        |«      f«      }t        ||«       y )Nr%  rŒ  rµ  r¶  s          r@   Útest_rvs_with_edge_casesz(TestRandomTable.test_rvs_with_edge_casesú  sQ   € ô ˜˜cÓ"ˆØ�U‰U�2˜f°4·<±<³>ˆUÓBˆÜ—8‘8˜R¤ S£¬3¨s«8Ð4Ó5ˆÜ�R˜Õ"rB   rÛ   r�  c                 ó®  — dd l mc m} t        j                  ddgt        j
                  ¬«      }t        j                  g d¢t        j
                  ¬«      }t        |d|› �«      }t        j                  |«      } ||||d| j                  «       «      }|j                  dt        |«      t        |«      fk(  sJ ‚t        j                  |«      |k(  sJ ‚y )Nr   r
   rI   r/  r„  Ú	rvs_rcont)Úscipy.stats._rcontr-   Ú_rcontr9   rÇ   Úint64rq   r‘   r�  r;   r’   )rV   rÛ   r½  r†  r‡  r¡   ÚntotÚresults           r@   Útest_rvs_rcontzTestRandomTable.test_rvs_rcont  s¤   € ÷ 	,Ð+ä�h‰h˜˜1�v¤R§X¡XÔ.ˆÜ�h‰h’y¬¯©Ô1ˆä�f 	¨!¨˜oÓ.ˆä�v‰v�c‹{ˆÙ�S˜#˜t Q¨¯©«Ó7ˆà�|‰| ¤3 s£8¬S°«XÐ6Ò6Ð6Ð6Ü�v‰v�f‹~ Ò%Ð%Ñ%rB   c                 ó”  — ddg}g d¢}t        ||| j                  «       ¬«      }|j                  «       }t        j                  ||«      }t	        ||j                  «       «       t        j
                  |||«      }t	        ||j                  |«      «       t        j                  |||«      }t	        ||j                  |«      «       y )NrH   rd   r•  rŸ   )r&   r�  r¡   r¨   r   rÇ  r½  )rV   r†  r‡  rƒ  r“  r1  s         r@   rb  zTestRandomTable.test_frozen  sž   € Ø�!ˆfˆÚˆÜ˜˜c¨¯©«Ô7ˆà—‘“ˆä×$Ñ$ S¨#Ó.ˆÜ�X˜qŸv™v›xÔ(ä×#Ñ# F¨C°Ó5ˆÜ�X˜qŸu™u V›}Ô-ä×&Ñ& v¨s°CÓ8ˆÜ�X˜qŸx™x¨Ó/Õ0rB   c                 óÚ   — ddg}g d¢}t        ||| j                  «       ¬«      }t        j                  ||d|| j                  «       ¬«      }|j                  d|¬«      }t        ||«       y )NrH   rd   r•  rŸ   r%  r–  )r�   r�  )r&   r�  r¡   r   )rV   r�  r†  r‡  rƒ  r1  r�  s          r@   Útest_rvs_frozenzTestRandomTable.test_rvs_frozen$  sb   € à�!ˆfˆÚˆÜ˜˜c¨¯©«Ô7ˆä×#Ñ# C¨°2¸fØ15·±³ôAˆà�e‰e˜ FˆeÓ+ˆÜ�X˜sÕ#rB   N)rÊ   rË   rÌ   r�  rˆ  rM   rÑ   rÒ   r�  r“  r¥  r¨  r«  r±  r³  r·  r¹  rÁ  rb  rÄ  rÕ   rB   r@   r  r    s×  „ ò9ò" ðH ‡[�[×Ñ˜^Ø@óBñ$óBð$ò5ð ‡[�[×Ñ˜X }Ó5Ø‡[�[×Ñ˜U MÓ2ñLó 3ó 6ðLð\ ‡[�[×Ñ˜XÐ'>Ó?ñHó @ðHò/ð ‡[�[×Ñ˜XÐ'>Ó?ñ':ó @ð':ðR ‡[�[×Ñ˜XÐ'>Ó?ñ9ó @ð9ð( ‡[�[×Ñ˜XÐ'>Ó?ñ	#ó @ð	#ð ‡[�[×Ñ˜XÐ'DÓEØ‡[�[×Ñ˜U R¨!¨ IÓ.Ø‡[�[×Ñ˜U R¨!¨ IÓ.ñ#ó /ó /ó Fð#ð ‡[�[×Ñ˜S &Ó)ñ&ó *ð&ò 1ð  ‡[�[×Ñ˜XÐ'>Ó?ñ$ó @ñ$rB   r  c                 ó  — | j                   }d| _          | j                  |ddiŽ t        j                  | «      } | j                  |ddiŽ}t        j                  |«      } |j                  |ddiŽ}t        ||«       || _         y )Nrð   r�   rÄ  )rž   r¡   ÚpickleÚdumpsÚloadsr   )Údistfnr>   rÖ  rã   Úr0Ú	unpickledÚr1s          r@   Úcheck_picklingrÍ  0  sƒ   € ð
 ×Ñ€Dà€FÔØ€F‡J�J�Ð˜1ÒÜ�‰�VÓ€AØ	ˆ�‰�TÐ	" Ñ	"€Bä—‘˜Q“€IØ	ˆ�‰˜Ð	% 1Ñ	%€BÜ��RÔð €FÕrB   c                  ó&  — t        j                  d«      } d| d<   d| d<   t        dgt        t        j                  dg«      fgt
        d| fgt        d| fgt        dg d	¢fgt        d
gt        d
gg}|D ]  \  }}t        ||«       t        ||«       Œ y )NrI   rI  rè   r   rÕ   rÄ   r%  rc   rl  rd  )r9   rQ   r   r   rÇ   r   r   r   r   r   r4   rÍ  )rK  ÚdistsrÉ  r>   s       r@   Útest_random_state_propertyrÐ  D  s£   € Ü�F‰F�1‹I€EØ€Eˆ$�KØ€Eˆ$�Kä	˜bÐ!Ü	”R—X‘X˜r˜d“^Ð&Ð'Ü	�2�u�+ÐÜ	�b˜%�[Ð!Ü	�qš/Ð*Ð+Ü	�dÐÜ	˜dÐ#ð€Eð ò %‰ˆ�Ü# F¨DÔ1Ü�v˜tÕ$ñ%rB   c                   óä  — e Zd Zej                  j                  dg d¢«      ej                  j                  dg d¢«      d„ «       «       Zej                  j                  dddg«      ej                  j                  dg d	¢«      d
„ «       «       Zd„ Zd„ Z	d„ Z
ej                  j                  dddg«      d„ «       Zej                  j                  dddg«      d„ «       Zej                  j                  dej                  ej                  g«      d„ «       Zej                  j                  dej                  ej                  g«      d„ «       Zej                  j                  d ej&                  g d¢«       ej&                  g d¢«      ddf ej&                  g d¢«       ej&                  g d¢«      ddf ej&                  g d¢«       ej&                  g d¢«      ddf ej&                  g d¢«       ej&                  g d¢«      dd f ej&                  g d¢«       ej&                   ej(                  d!«       ej(                  d"«      dg«      d#d$f ej&                  g d¢«       ej&                  g d¢«      d#d%f ej&                  g d&¢«       ej&                  g d&¢«      d#d'f ej&                  g d&¢«       ej&                   ej(                  d!«       ej(                  d"«      dddg«      d#d(f ej&                  g d&¢«       ej&                   ej(                  d)«       ej(                  d*«      dddg«      d#d+fg	«      d,„ «       Zej                  j                  d ej&                  g d¢«       ej&                  g d¢«      dd-f ej&                  g d¢«       ej&                  g d¢«      dd.f ej&                  g d¢«       ej&                  g d¢«      dd/f ej&                  g d¢«       ej&                  g d¢«      dd0f ej&                  g d¢«       ej&                   ej(                  d!«       ej(                  d"«      dg«      d#d1f ej&                  g d¢«       ej&                  g d¢«      d#d2f ej&                  g d&¢«       ej&                  g d&¢«      d#d3f ej&                  g d&¢«       ej&                   ej(                  d!«       ej(                  d"«      dddg«      d#d4f ej&                  g d&¢«       ej&                   ej(                  d)«       ej(                  d*«      dddg«      d#d5fg	«      d6„ «       Zej                  j                  d7g d8¢«      d9„ «       Zej                  j                  dej                  ej                  g«      d:„ «       Zd;„ Zej                  j                  dg d<¢«      ej                  j                  d=g d>¢«      d?„ «       «       Zd@„ ZdA„ ZdB„ ZyC)DÚTestVonMises_FisherrØ   )rH   rI   re   rd   r�   r’  c                 óæ  — t         j                  j                  d«      }t        j                  |fdt        j                  |«      z  «      }t        |d|¬«      }|j                  |«      }t        j                  |«      t        j                  |«      }}|j                  |||¬«      j                  }	|j                  |	k(  sJ ‚t         j                  j                  |d¬«      }
t        |
d«       y )Nr”  r
   rŸ   r€   rg   r…   rÄ   )r9   rŒ   r�   rl  rø  r(   r¡   r¸   rQ   r   r;   rº   r   r   )rV   rØ   r�   r–   rí   Úvmf_distrè  r¨   r¿   r–  r—  s              r@   r2  z TestVonMises_Fisher.test_samplesW  s»   € ô �i‰i×#Ñ#Ð$7Ó8ˆÜ�W‰W�c�W˜a¤§¡¨£™nÓ-ˆÜ" 2 q¨sÔ3ˆØ—,‘,˜tÓ$ˆÜ—H‘H˜S“M¤2§6¡6¨#£;ˆcˆØ×0Ñ0°°sÀÐ0ÓF×LÑLˆØ�}‰} Ò.Ð.Ð.Ü—	‘	—‘˜w¨R�Ó0ˆÜ˜˜rÕ"rB   rc   rÄ  Úkappa)g  4&õkCr'  gêŒ 9Y>)Fc                 óÚ   — t         j                  j                  d«      }t        j                  |fdt        j                  |«      z  «      }t        |||¬«      }|j                  d«       y )Nr”  r
   rŸ   r%  )r9   rŒ   r�   rl  rø  r(   r¡   )rV   rØ   rÕ  r–   rí   rÔ  s         r@   Ú test_sampling_high_concentrationz4TestVonMises_Fisher.test_sampling_high_concentratione  sQ   € ô �i‰i×#Ñ#Ð$7Ó8ˆÜ�W‰W�c�W˜a¤§¡¨£™nÓ-ˆÜ" 2 u°3Ô7ˆØ�‰�RÕrB   c                 óª   — t        j                  d«      }d}t        j                  t        |¬«      5  t        |d«       d d d «       y # 1 sw Y   y xY w)Nr‘  z%'mu' must have one-dimensional shape.rF   r
   ©r9   rP   rM   r	   rN   r(   ©rV   rí   r€  s      r@   Útest_two_dimensional_muz+TestVonMises_Fisher.test_two_dimensional_mun  sA   € Ü�W‰W�V‹_ˆØ5ˆÜ�]‰]œ:¨SÔ1ñ 	#Ü˜B Ô"÷	#÷ 	#ñ 	#úó   ³A	Á	Ac                 óª   — t        j                  d«      }d}t        j                  t        |¬«      5  t        |d«       d d d «       y # 1 sw Y   y xY w)Nrd  z%'mu' must be a unit vector of norm 1.rF   r
   rÙ  rÚ  s      r@   Útest_wrong_norm_muz&TestVonMises_Fisher.test_wrong_norm_mut  sA   € Ü�W‰W�U‹^ˆØ5ˆÜ�]‰]œ:¨SÔ1ñ 	#Ü˜B Ô"÷	#÷ 	#ñ 	#úrÜ  c                 óª   — t        j                  d«      }d}t        j                  t        |¬«      5  t        |d«       d d d «       y # 1 sw Y   y xY w)NrÚ  z$'mu' must have at least two entries.rF   r
   rÙ  rÚ  s      r@   Útest_one_entry_muz%TestVonMises_Fisher.test_one_entry_muz  sA   € Ü�W‰W�U‹^ˆØ4ˆÜ�]‰]œ:¨SÔ1ñ 	#Ü˜B Ô"÷	#÷ 	#ñ 	#úrÜ  rg   )rc   rI   c                 ó„   — d}t        j                  t        |¬«      5  t        ddg|«       d d d «       y # 1 sw Y   y xY w)Nz"'kappa' must be a positive scalar.rF   r
   r   ©rM   r	   rN   r(   ©rV   rÕ  r€  s      r@   Útest_kappa_validationz)TestVonMises_Fisher.test_kappa_validation€  s8   € à2ˆÜ�]‰]œ:¨SÔ1ñ 	+Ü˜Q ˜F EÔ*÷	+÷ 	+ñ 	+úó   ž6¶?r   rÅ   c                 ó„   — d}t        j                  t        |¬«      5  t        ddg|«       d d d «       y # 1 sw Y   y xY w)NzŸFor 'kappa=0' the von Mises-Fisher distribution becomes the uniform distribution on the sphere surface. Consider using 'scipy.stats.uniform_direction' instead.rF   r
   r   râ  rã  s      r@   Útest_kappa_zeroz#TestVonMises_Fisher.test_kappa_zero†  s<   € ðˆô �]‰]œ:¨SÔ1ñ 	+Ü˜Q ˜F EÔ*÷	+÷ 	+ñ 	+úrå  r�  c                 ó®   — t        j                  g d¢«      }d}t        j                  t        |¬«      5   ||ddgd«       d d d «       y # 1 sw Y   y xY w)N©rÄ   rÅ   r   znThe dimensionality of the last axis of 'x' must match the dimensionality of the von Mises Fisher distribution.rF   r
   r   ©r9   rÇ   rM   r	   rN   ©rV   r�  r\   r€  s       r@   Útest_invalid_shapes_pdf_logpdfz2TestVonMises_Fisher.test_invalid_shapes_pdf_logpdf�  sN   € ô �H‰H’[Ó!ˆðˆô �]‰]œ:¨SÔ1ñ 	!Ù�1�q˜!�f˜aÔ ÷	!÷ 	!ñ 	!úó   µAÁAc                 ó®   — t        j                  ddg«      }d}t        j                  t        |¬«      5   ||ddgd«       d d d «       y # 1 sw Y   y xY w)NrI  rÅ   ú8'x' must be unit vectors of norm 1 along last dimension.rF   r
   r   rê  rë  s       r@   Útest_unnormalized_inputz+TestVonMises_Fisher.test_unnormalized_inputš  sN   € ô �H‰H�c˜2�YÓˆØHˆÜ�]‰]œ:¨SÔ1ñ 	!Ù�1�q˜!�f˜aÔ ÷	!÷ 	!ñ 	!úrí  zx, mu, kappa, reference)rÄ   rÅ   rÅ   r¸  g÷0ñµ_´?ré  )rÅ   rÅ   rÄ   g»ô7m0_´?r.  gLI‹«»Ô/@gFíK:h*7g\�Âõ(\ï?rª  iÐ  gó3pˆBæ£>gÐ7Kõäs@)rÄ   rÅ   rÅ   rÅ   rÅ   go´Éé½¿ø@gW+x\Á(?rk  r›   gSô‹³ð-c                 óV   — t        ||«      j                  |«      }t        ||d¬«       y )Nr=  r=  )r(   r¥   r   )rV   r\   rí   rÕ  Ú	referencer¥   s         r@   Útest_pdf_accuracyz%TestVonMises_Fisher.test_pdf_accuracy®  s'   € ô4 ˜b %Ó(×,Ñ,¨QÓ/ˆÜ˜˜Y¨UÖ3rB   gÅ[d6U?Àgþ1*¤‰?ÀgÑJ8“j#@g©=f«äNXÀg][«­,Àg1V‡V@g‰|¿˜'@gm¢FÚ&!Àg–ÈeÏóhÀc                 óV   — t        ||«      j                  |«      }t        ||d¬«       y )NrÎ  r=  )r(   r¦   r   )rV   r\   rí   rÕ  rò  r¦   s         r@   Útest_logpdf_accuracyz(TestVonMises_Fisher.test_logpdf_accuracyØ  s'   € ô4 !  UÓ+×2Ñ2°1Ó5ˆÜ˜ 	°Ö6rB   zdim, kappa, reference))rI   r¸  g®©·£‰?@)rI   r.  g¡•p&ÕFü¿)rc   rš  gT†;Ó·&À)rÄ  r
   go›–ØZ@c                 ó®   — t        j                  |fdt        j                  |«      z  «      }t        ||«      j	                  «       }t        ||d¬«       y )Nr
   g›+¡†›„=r=  )r9   rl  rø  r(   r§   r   )rV   rØ   rÕ  rò  rí   r§   s         r@   Útest_entropy_accuracyz)TestVonMises_Fisher.test_entropy_accuracy  sC   € ô �W‰W�c�W˜a¤§¡¨£™nÓ-ˆÜ! " eÓ,×4Ñ4Ó6ˆÜ˜ °Ö7rB   c           	      ó¦  — d}t         j                  j                  d«      }t        d«      j	                  ||¬«      }t        j
                  ddt        j                  d«      z  «      }d} ||||«      }|j                  |k(  sJ ‚t        |d   «      D ]:  }t        |d   «      D ]'  }	 ||||	d d …f   ||«      }
t        |
|||	f   d	¬
«       Œ) Œ< y )Nr‘  r”  rI   r·   rÚ  r
   rc   r   rÍ  r=  )
r9   rŒ   r�   r'   r¡   rl  rø  r;   r
  r   )rV   r�  Ú	testshaper–   r\   rí   rÕ  Ú
result_allrB  rC  Úcurrent_vals              r@   rE  z%TestVonMises_Fisher.test_broadcasting  sÜ   € ð ˆ	Ü�i‰i×#Ñ#Ð$7Ó8ˆÜ˜aÓ ×$Ñ$ Y¸SÐ$ÓAˆÜ�W‰W�U˜AœbŸg™g a›j™LÓ)ˆØˆÙ˜A˜r 5Ó)ˆ
Ø×Ñ 9Ò,Ð,Ð,Ü�y ‘|Ó$ò 	KˆAÜ˜9 Q™<Ó(ò K�Ù$ Q q¨!ªQ w¡Z°°UÓ;�Ü ¨Z¸¸1¸Ñ-=ÀEÖJñKñ	KrB   c                 óV  — t         j                  j                  d«      }t        j                  ddg«      }t        j                  |d   |d   «      }d}t        ||«      }t        ||¬«      }t        d«      j                  d|¬«      }t        j                  |d d …df   |d d …df   «      }t        |j                  «       |j                  «       «       t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       y )	Nr”  r   r
   r  )rQ  rÕ  rH   r%  r·   )r9   rŒ   r�   rÇ   r�  r(   r*   r'   r¡   r   r§   r¥   r¦   )	rV   r–   rí   Úmu_anglerÕ  ÚvmfÚvonmises_distÚvectorsr¤  s	            r@   Útest_vs_vonmises_2dz'TestVonMises_Fisher.test_vs_vonmises_2d  sï   € ô �i‰i×#Ñ#Ð$7Ó8ˆÜ�X‰X�q˜!�fÓˆÜ—:‘:˜b ™e R¨¡UÓ+ˆØˆÜ˜b %Ó(ˆÜ  X°UÔ;ˆÜ# AÓ&×*Ñ*¨2¸CÐ*Ó@ˆÜ—‘˜G¢A q D™M¨7²1°a°4©=Ó9ˆÜ˜×-Ñ-Ó/°·±³Ô?Ü˜×)Ñ)¨&Ó1°3·7±7¸7Ó3CÔDÜ˜×,Ñ,¨VÓ4°c·j±jÀÓ6IÕJrB   )rH   rI   rd   zkappa, mu_tol, kappa_tol))r
   rA  rA  )r%  rR  rR  )r.  ç{®Gázt?rª  )r)  r<  rª  c                 ó�  — t        j                  |fdt        j                  |«      z  «      }t        ||«      }t         j                  j                  d«      }d}|j                  ||¬«      }	t        j                  |	«      \  }
}t        j                  |j                  |
«      «      }t        |d|d¬«       t        |||¬«       y )	Nr
   r”  rœ  r·   rÅ   r   rÿ  r=  )r9   rl  rø  r(   rŒ   r�   r¡   rÇ  Úarccosr  r   )rV   rØ   rÕ  Úmu_tolÚ	kappa_tolrí   rÔ  r–   rÒ  rè  Úmu_fitÚ	kappa_fitÚangular_errors                r@   Útest_fit_accuracyz%TestVonMises_Fisher.test_fit_accuracy,  sŸ   € ô �W‰W�c�W˜a¤§¡¨£™nÓ-ˆÜ" 2 uÓ-ˆÜ�i‰i×#Ñ#Ð$7Ó8ˆØˆ	Ø—,‘,˜y°s�,Ó;ˆÜ+×/Ñ/°Ó8Ñˆ�	ÜŸ	™	 "§&¡&¨£.Ó1ˆÜ˜ r°¸QÕ?Ü˜˜y¨yÖ9rB   c                 ó¼   — t        j                  d«      }d}t        j                  t        |¬«      5  t        j                  |«       d d d «       y # 1 sw Y   y xY w)NrÚ  z'x' must be two dimensional.rF   )r9   r¸   rM   r	   rN   r(   rÇ  ©rV   r\   r€  s      r@   Ú#test_fit_error_one_dimensional_dataz7TestVonMises_Fisher.test_fit_error_one_dimensional_data=  sE   € Ü�H‰H�U‹OˆØ,ˆÜ�]‰]œ:¨SÔ1ñ 	#Ü×Ñ Ô"÷	#÷ 	#ñ 	#úó   ³AÁAc                 ó¼   — t        j                  d«      }d}t        j                  t        |¬«      5  t        j                  |«       d d d «       y # 1 sw Y   y xY w)Nr¶  rï  rF   )r9   rP   rM   r	   rN   r(   rÇ  r  s      r@   Ú test_fit_error_unnormalized_dataz4TestVonMises_Fisher.test_fit_error_unnormalized_dataC  sE   € Ü�G‰G�F‹OˆØHˆÜ�]‰]œ:¨SÔ1ñ 	#Ü×Ñ Ô"÷	#÷ 	#ñ 	#úr  c                 ó  — t        j                  g d¢«      }d}t        ||«      }t        ||d¬«      }|j                  d¬«      }t        j                  ||d¬«      }|j                  «       }t	        ||«       t	        ||«       y )N)r   r   r
   rc   r3  rŸ   r·   )r9   rÇ   r(   r¡   r   )rV   rí   rÕ  r  rX  r  r  rY  s           r@   rš  z,TestVonMises_Fisher.test_frozen_distributionI  ss   € Ü�X‰X’iÓ ˆØˆÜ   UÓ+ˆÜ% b¨%°cÔ:ˆà�z‰z sˆzÓ+ˆÜ×"Ñ" 2 u¸3Ô?ˆØ�‰Ó ˆä�T˜4Ô Ü�T˜4Õ rB   N)rÊ   rË   rÌ   rM   rÑ   rÒ   r2  r×  rÛ  rÞ  rà  rä  rç  r(   r¥   r¦   rì  rð  r9   rÇ   rø  ró  rõ  r÷  rE  r  r
  r  r  rš  rÕ   rB   r@   rÒ  rÒ  V  s  „ Ø‡[�[×Ñ˜U¢LÓ1Ø‡[�[×Ñ˜VÒ%9Ó:ñ
#ó ;ó 2ð
#ð ‡[�[×Ñ˜U Q¨ FÓ+Ø‡[�[×Ñ˜WÒ&8Ó9ñó :ó ,ðò#ò#ò#ð ‡[�[×Ñ˜W r¨6 lÓ3ñ+ó 4ð+ð
 ‡[�[×Ñ˜W q¨" gÓ.ñ+ó /ð+ð ‡[�[×Ñ˜X¨×(;Ñ(;Ø(7×(>Ñ(>ð(@ó Añ!óAð!ð ‡[�[×Ñ˜X¨×(;Ñ(;Ø(7×(>Ñ(>ð(@ó Añ!óAð!ð$ ‡[�[×ÑÐ6Ø'˜rŸx™xªÓ5°x°r·x±xÂÓ7MØ#Ð%7ð9à'˜rŸx™xªÓ4°h°b·h±hº|Ó6LØ#Ð%8ð:à'˜rŸx™xªÓ5°x°r·x±xÂÓ7MØ"Ð$6ð8à'˜rŸx™xªÓ4°h°b·h±hº|Ó6LØ"Ð$9ð;à'˜rŸx™xªÓ5Ø'˜rŸx™x¨¨¯©°«¸¸¿¹À»ÀrÐ(JÓKØ#Ð%:ð<ð  (˜rŸx™xªÓ4°h°b·h±hº|Ó6LØ#Ð%6ð8à'˜rŸx™xÒ(<Ó=Ø'˜rŸx™xÒ(<Ó=Ø#Ð%7ð9ð  (˜rŸx™xÒ(<Ó=Ø'˜rŸx™x¨¨¯©°«¸¸¿¹À»ÀrØ)*¨Bð)0ó  1à#Ð%;ð=ð  (˜rŸx™xÒ(<Ó=Ø'˜rŸx™x¨¨¯©°«°w°r·w±w¸s³|ÀRØ)*¨Bð)0ó  1à#Ð%;ð=ð)>ó?ñ24ó3?ð24ð" ‡[�[×ÑÐ6Ø'˜rŸx™xªÓ5°x°r·x±xÂÓ7MØ#Ð%8ð:à'˜rŸx™xªÓ4°h°b·h±hº|Ó6LØ#Ð%8ð:à'˜rŸx™xªÓ5°x°r·x±xÂÓ7MØ"Ð$5ð7à'˜rŸx™xªÓ4°h°b·h±hº|Ó6LØ"Ð$6ð8à'˜rŸx™xªÓ5Ø'˜rŸx™x¨¨¯©°«¸¸¿¹À»ÀrÐ(JÓKØ#Ð%8ð:ð  (˜rŸx™xªÓ4°h°b·h±hº|Ó6LØ#Ð%6ð8à'˜rŸx™xÒ(<Ó=Ø'˜rŸx™xÒ(<Ó=Ø#Ð%7ð9ð  (˜rŸx™xÒ(<Ó=Ø'˜rŸx™x¨¨¯©°«¸¸¿¹À»ÀrØ)*¨Bð)0ó  1à#Ð%7ð9ð  (˜rŸx™xÒ(<Ó=Ø'˜rŸx™x¨¨¯©°«°w°r·w±w¸s³|ÀRØ)*¨Bð)0ó  1à#Ð%8ð:ð);ó<ñ27ó3<ð27ð$ ‡[�[×ÑÐ4ò:ó;ñ
8ó;ð
8ð
 ‡[�[×Ñ˜X¨×(;Ñ(;Ø(7×(>Ñ(>ð(@ó AñKóAðKòKð ‡[�[×Ñ˜U¢IÓ.Ø‡[�[×ÑÐ7ò2ó3ñ
	:ó3ó /ð	:ò#ò#ó!rB   rÒ  c                   ó`  — e Zd Zed„ «       Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  dddg«      d	„ «       Ze	j                  j                  dd
dg«      d„ «       Zd„ Zd„ Ze	j                  j                  dddg«      d„ «       Ze	j                  j                  dg d¢«      d„ «       Zy)ÚTestDirichletMultinomialc                 óÆ   — t         j                  j                  d«      }|j                  ddd¬«      }|j	                  dd|df¬«      }|j                  d¬	«      }|||||fS )
Nì   ðt7ž)r   r.  rH   r€   r
   r  rg   r…   )r9   rŒ   r�   r   Úintegersr‘   )rV   rï  r–   r¤  r\   r¼   s         r@   Ú
get_paramsz#TestDirichletMultinomial.get_paramsX  sc   € ä�i‰i×#Ñ#Ð$5Ó6ˆØ—‘˜A˜s¨�Ó+ˆØ�L‰L˜˜B a¨ VˆLÓ,ˆØ�E‰E�rˆE‹NˆØ�A�u˜a Ð"Ð"rB   c                 ó¨  — t         j                  j                  d«      }|j                  ddd«      }|j	                  ddd«      }t        j
                  |d¬«      }t        ||«      }t        |j                  |«      t        j                  |||«      «       t        |j                  |«      t        j                  |||«      «       t        |j                  «       t        j                  ||«      «       t        |j                  «       t        j                  ||«      «       t        |j                  «       t        j                  ||«      «       y )Nr  r   r.  r%  rg   r…   )r9   rŒ   r�   r   r  r‘   r)   r   r½  rÇ  r¨   r:  r¿   )rV   r–   r¤  r\   r¼   rƒ  s         r@   rb  z$TestDirichletMultinomial.test_frozen`  sõ   € Ü�i‰i×#Ñ#Ð$5Ó6ˆà—‘˜A˜s BÓ'ˆØ�L‰L˜˜B Ó#ˆÜ�F‰F�1˜2Ôˆä! %¨Ó+ˆÜ�Q—X‘X˜a“[Ô"7×">Ñ">¸qÀ%ÈÓ"KÔLÜ�Q—U‘U˜1“XÔ4×8Ñ8¸¸EÀ1ÓEÔFÜ�Q—V‘V“XÔ4×9Ñ9¸%ÀÓCÔDÜ�Q—U‘U“WÔ3×7Ñ7¸¸qÓAÔBÜ�Q—U‘U“WÔ3×7Ñ7¸¸qÓAÕBrB   c                 óþ  — t        j                  g d¢«      }t        j                  |«      }t        j                  g d¢«      }t        j                  |||«      }t        j
                  |||«      }d}t        ||«       t        |t        j                  |«      «       |j                  |j                  cxk(  rdk(  sJ ‚ J ‚t         j                  j                  d«      }|j                  ddd«      }|j                  ddd«      }t        j                  |d	¬
«      }t        ||«      j	                  |«      }t        j
                  |||«      }d}t        ||«       t        |t        j                  |«      «       y )NrL   ©rI   re   rc   gp.¸U.¸µ?rÕ   r  r   r.  r%  rg   r…   g+»©œTº<)r9   rÇ   r‘   r)   rÇ  r½  r   rø   r;   rŒ   r�   r   r  )rV   r\   r¼   r¤  r<   Úlogresr=   r–   s           r@   Útest_pmf_logpmf_against_Rz2TestDirichletMultinomial.test_pmf_logpmf_against_Rn  s.  € ô
 �H‰H’YÓˆÜ�F‰F�1‹IˆÜ—‘šÓ#ˆÜ#×'Ñ'¨¨5°!Ó4ˆÜ&×-Ñ-¨a°¸Ó:ˆØ!ˆÜ˜˜SÔ!Ü˜¤§¡ s£Ô,Ø�y‰y˜FŸL™LÔ.¨BÒ.Ð.Ñ.Ð.Ð.ô �i‰i×#Ñ#Ð$5Ó6ˆØ—‘˜A˜s BÓ'ˆØ�L‰L˜˜B Ó#ˆÜ�F‰F�1˜2ÔˆÜ# E¨1Ó-×1Ñ1°!Ó4ˆÜ&×-Ñ-¨a°¸Ó:ˆØ"ˆÜ˜˜SÔ!Ü˜¤§¡ s£Õ,rB   c                 ó:  — | j                  d«      \  }}}}}|dz  }t        t        ||«      j                  |«      d«       t        t        ||«      j	                  |«      t
        j                   «       | j                  d«      \  }}}}}|j                  d¬«      dkD  }t        j                  ||   dz  «      ||<   t        t        ||«      j                  |«      |   d«       t        t        ||«      j	                  |«      |   t
        j                   «       t        j                  t        ||«      j                  |«      |    dkD  «      sJ ‚t        j                  t        ||«      j	                  |«      |    t
        j                   kD  «      sJ ‚y )Nr
   r   r%  r€   rI  rH   )
r  r   r)   rÇ  r½  r9   r  rŒ   Úroundr'  )rV   r–   rï  r¤  r¼   r\   rB  s          r@   Útest_pmf_logpmf_supportz0TestDirichletMultinomial.test_pmf_logpmf_support�  s`  € ð #Ÿo™o¨aÓ0ÑˆˆQ��q˜!Ø	ˆQ‰ˆÜÔ*¨5°!Ó4×8Ñ8¸Ó;¸QÔ?ÜÔ*¨5°!Ó4×;Ñ;¸AÓ>ÄÇÁÀÔHà"Ÿo™o¨bÓ1ÑˆˆQ��q˜!Ø�J‰J˜BˆJÓ #Ñ%ˆÜ�x‰x˜˜!™˜q™Ó!ˆˆ!‰ÜÔ*¨5°!Ó4×8Ñ8¸Ó;¸AÑ>ÀÔBÜÔ*¨5°!Ó4×;Ñ;¸AÓ>¸qÑAÄBÇFÁFÀ7ÔKÜ�v‰vÔ+¨E°1Ó5×9Ñ9¸!Ó<¸a¸RÑ@À1ÑDÔEÐEÐEÜ�v‰vÔ+¨E°1Ó5×<Ñ<¸QÓ?ÀÀÑCÄrÇvÁvÀgÑMÔNÐNÑNrB   c                 óð  — d}dg}t        j                  |g«      }t        ||«      }t        |j	                  |«      d«       t        |j	                  |dz   «      d«       t        |j                  |«      d«       t        |j                  |dz   «      t         j                   «       t        |j                  «       |«       t        |j                  «       d«       t        |j                  «       d«       y )Nrd   r%  r
   r   )
r9   r:   r)   r   rÇ  r½  r  r¨   r:  r¿   )rV   r¼   r¤  r\   rÈ   s        r@   Útest_dimensionality_onez0TestDirichletMultinomial.test_dimensionality_one�  s°   € àˆØ�ˆÜ�J‰J˜�s‹OˆÜ$ U¨AÓ.ˆä�T—X‘X˜a“[ !Ô$Ü�T—X‘X˜a ™c“] AÔ&Ü�T—[‘[ “^ QÔ'Ü�T—[‘[  1¡Ó%¬¯© wÔ/Ü�T—Y‘Y“[ !Ô$Ü�T—X‘X“Z Ô#Ü�T—X‘X“Z Õ#rB   Úmethod_namerÇ  r½  c                 ó  — | j                  d«      \  }}}}}t        t        ||«      |«      }t        t        j                  |g|j
                  ¢­Ž |«      } ||«      }	 ||j
                  d   «      }
t        |	|
«       y ©Nr.  r   ©r  rq   r)   r-   Ú	betabinomr“   r   ©rV   r"  r–   rï  r¤  r¼   r\   r�  Ú
ref_methodr<   r=   s              r@   Útest_against_betabinom_pmfz3TestDirichletMultinomial.test_against_betabinom_pmf¬  sr   € à"Ÿo™o¨cÓ2ÑˆˆQ��q˜!äÔ.¨u°aÓ8¸+ÓFˆÜœUŸ_™_¨QÐ9°·±Ò9¸;ÓGˆ
á�Q‹iˆÙ˜Ÿ™˜Q™Ó ˆÜ˜˜SÕ!rB   r¨   r:  c                 óô   — | j                  d«      \  }}}}}t        t        ||«      |«      }t        t        j                  |g|j
                  ¢­Ž |«      } |«       d d …df   }	 |«       }
t        |	|
«       y r$  r%  r'  s              r@   Útest_against_betabinom_momentsz7TestDirichletMultinomial.test_against_betabinom_moments·  sm   € à"Ÿo™o¨cÓ2ÑˆˆQ��q˜!äÔ.¨u°aÓ8¸+ÓFˆÜœUŸ_™_¨QÐ9°·±Ò9¸;ÓGˆ
á‹h’q˜!�t‰nˆÙ‹lˆÜ˜˜SÕ!rB   c                 ó®  — t         j                  j                  d«      }d}|j                  dd«      }|j                  |¬«      dz  }t	        ||«      }d}|j                  ||¬«      }|j                  |||¬«      }t        |j                  «       t        j                  |d¬	«      d
¬«       t        |j                  «       t        j                  |d¬	«      d¬«       |j                  «       j                  |j                  «       j                  cxk(  r|fk(  sJ ‚ J ‚|j                  «       }	|	j                  ||fk(  sJ ‚t        |	t        j                  |j                  «      d¬«       t        t        j                  |	«      |j                  «       «       t        j                  t         j"                  j%                  |	«      d   dkD  «      sJ ‚y )Nr  rc   r
   r.  r€   r%  rÆ  r   r…   r  r=  rR  rª  )r9   rŒ   r�   r  r)   r   r   r   r¨   r:  r;   r¿   r“   r   rp   r'  rÆ   rº   r»   )
rV   r–   rØ   r¼   r¤  rÈ   rï  rÏ  r\   r¿   s
             r@   r/  z%TestDirichletMultinomial.test_momentsÂ  sc  € Ü�i‰i×#Ñ#Ð$5Ó6ˆØˆØ�L‰L˜˜CÓ ˆØ—
‘
 �
Ó$ rÑ)ˆÜ$ U¨AÓ.ˆð ˆØ�M‰M˜% aˆMÓ(ˆØ�O‰O˜A˜q qˆOÓ)ˆä˜Ÿ	™	›¤R§W¡W¨Q°QÔ%7¸dÕCÜ˜Ÿ™›
¤B§F¡F¨1°1Ô$5¸DÕAØ�y‰y‹{× Ñ  D§H¡H£J×$4Ñ$4Ô>¸¸Ò>Ð>Ñ>Ð>Ð>à�h‰h‹jˆØ�y‰y˜S #˜JÒ&Ð&Ð&Ü˜œRŸV™V A§C¡C›[¨tÕ4Ü”R—W‘W˜S“\ 4§8¡8£:Ô.Ü�v‰v”e—l‘l×'Ñ'¨Ó,¨QÑ/°!Ñ3Ô4Ð4Ñ4rB   c                 ó€  — t        j                  g d¢«      }t        j                  |«      }t        j                  g d¢«      }d}t        t        |¬«      5  t        j                  g d¢||«       d d d «       t        t        |¬«      5  t        j                  g d¢||«       d d d «       d}t        t        |¬«      5  t        j                  |g d¢|«       d d d «       t        t        |¬«      5  t        j                  |g d	¢|«       d d d «       d
}t        t        |¬«      5  t        j                  ||d«       d d d «       t        t        |¬«      5  t        j                  ||d«       d d d «       t        j                  g d¢«      }t        j                  g d¢«      }d}t        t        |¬«      5  t        j                  |||j                  «       «       d d d «       y # 1 sw Y   �ŒyxY w# 1 sw Y   �ŒSxY w# 1 sw Y   �Œ+xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÞxY w# 1 sw Y   Œ¹xY w# 1 sw Y   y xY w)NrL   r  z,`x` must contain only non-negative integers.rF   )r
   rg   rI   )r
   rƒ  rI   z*`alpha` must contain only positive values.)rI   r   re   )rI   rg   re   z`n` must be a positive integer.gÍÌÌÌÌŒH@r   )r
   rH   rI   re   z&`x` and `alpha` must be broadcastable.)r9   rÇ   r‘   rì   rN   r)   r½  )rV   Úx0Ún0Úalpha0Útextr\   r¤  s          r@   rX   z.TestDirichletMultinomial.test_input_validationØ  sË  € ä�X‰X’iÓ ˆÜ�V‰V�B‹ZˆÜ—‘š)Ó$ˆà=ˆÜœ:¨TÔ2ñ 	AÜ!×(Ñ(ª°V¸RÔ@÷	Aäœ:¨TÔ2ñ 	BÜ!×(Ñ(ª°f¸bÔA÷	Bð <ˆÜœ:¨TÔ2ñ 	<Ü!×(Ñ(¨ªY¸Ô;÷	<äœ:¨TÔ2ñ 	=Ü!×(Ñ(¨ªZ¸Ô<÷	=ð 1ˆÜœ:¨TÔ2ñ 	;Ü!×(Ñ(¨¨V°TÔ:÷	;äœ:¨TÔ2ñ 	8Ü!×(Ñ(¨¨V°QÔ7÷	8ô �H‰H’\Ó"ˆÜ—‘šÓ#ˆØ7ˆÜœ:¨TÔ2ñ 	<Ü!×(Ñ(¨¨E°1·5±5³7Ô;÷	<ð 	<÷)	Añ 	Aú÷	Bñ 	Bú÷	<ñ 	<ú÷	=ñ 	=ú÷	;ð 	;ú÷	8ð 	8ú÷	<ð 	<úsT   ÁG(Â
G5Â?HÃ2HÄ'HÅH(Æ9&H4Ç(G2Ç5G?ÈHÈHÈH%È(H1È4H=r�  c           	      ó^  — t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  dgdgdgg«      }t        j                  g d¢g d	¢g«      j                  d
«      }t        t        |«      } ||||«      }|j
                  dk(  sJ ‚t        t        |«      «      D ]…  }t        t        |«      «      D ]l  }t        t        |«      «      D ]S  }||||f   }	 |||   j                  «       ||   j                  «       ||   j                  «       «      }
t        |	|
«       ŒU Œn Œ‡ y )Nr  rq  ©rc   rc   rf   ©rÄ  rÛ  r%  rd   rf   rÄ  rL   )rH   rH   rI   )rH   r
   r
   rI   )rH   rI   re   )
r9   rÇ   r*  rq   r)   r;   r
  r’   r¤   r   )rV   r�  r¤  r¼   r\   r<   rB  rC  r  Úres_ijkr=   s              r@   Útest_broadcasting_pmfz.TestDirichletMultinomial.test_broadcasting_pmfö  s  € ä—‘š)¢Y²	º:ÐFÓGˆÜ�H‰H�q�c˜A˜3  �_Ó%ˆÜ�H‰H’i¢Ð+Ó,×4Ñ4°\ÓBˆÜÔ.°Ó7ˆÙ�Q˜˜qÓ!ˆØ�y‰y˜IÒ%Ð%Ð%Ü”s˜1“v“ò 	2ˆAÜœ3˜q›6“]ò 2�Üœs 5›zÓ*ò 2�AØ! ! Q¨ '™l�GÙ   1¡§¡£°°q±×1AÑ1AÓ1CÀQÀqÁTÇ\Á\Ã^ÓT�CÜ# G¨SÕ1ñ2ñ2ñ	2rB   )r¨   r:  r¿   c                 ó¼  — t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  dgdgdgg«      }t        t        |«      } |||«      }|dk7  r|j                  d	k(  sJ ‚	 t        t        |«      «      D ]Y  }t        t        |«      «      D ]@  }|||f   } |||   j                  «       ||   j                  «       «      }	t        ||	«       ŒB Œ[ y )
Nr  rq  r3  r4  rd   rf   rÄ  r¿   )rI   re   rI   )	r9   rÇ   rq   r)   r;   r
  r’   r¤   r   )
rV   r"  r¤  r¼   r�  r<   rC  r  r5  r=   s
             r@   Útest_broadcasting_momentsz2TestDirichletMultinomial.test_broadcasting_moments  sÐ   € ä—‘š)¢Y²	º:ÐFÓGˆÜ�H‰H�q�c˜A˜3  �_Ó%ˆÜÔ.°Ó<ˆÙ�U˜AÓˆØ)4¸Ò)=ˆs�y‰y˜IÒ%ÐOÐOÀ<Ü”s˜1“v“ò 	.ˆAÜœ3˜u›:Ó&ò .�Ø˜a ˜d™)�Ù˜U 1™X×-Ñ-Ó/°°1±·±³Ó@�Ü ¨Õ-ñ.ñ	.rB   N)rÊ   rË   rÌ   Úclassmethodr  rb  r  r  r!  rM   rÑ   rÒ   r)  r+  r/  rX   r6  r8  rÕ   rB   r@   r  r  W  sØ   „ Øñ#ó ð#òCò-ò>Oò $ð ‡[�[×Ñ˜]¨U°HÐ,=Ó>ñ"ó ?ð"ð ‡[�[×Ñ˜]¨V°U¨OÓ<ñ"ó =ð"ò5ò,<ð< ‡[�[×Ñ˜X¨¨xÐ'8Ó9ñ2ó :ð2ð ‡[�[×Ñ˜]Ò,BÓCñ
.ó Dñ
.rB   r  c                   ó:  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  ej                  j                  d«      d„ «       «       Zej                  j                  dej                  ej                   ej"                  ej$                  g«      d	„ «       Zy
)ÚTestNormalInverseGammac           	      óL  ‡— t         j                  j                  d«      }|j                  d«      \  }}}}t        j                  ||||«      Št        j
                  d|z  |dt        j                  ||z  |z  «      z  ¬«      }t        j                  ddd«      }t        ˆfd	„d
t         j                  |f¬«      }|j                  |«      }	t        |j                  |	«       ‰j                  d|¬«      }t        j                  |d
   |j                  «      \  }
}|dkD  sJ ‚y )Nì   �&( re   rH   r
   rP  r>  rc   r  c                 ó(   •— ‰j                  || «      S r8   ©r¥   )r£  r\   Únorm_inv_gammas     €r@   r]   z8TestNormalInverseGamma.test_marginal_x.<locals>.<lambda>!  ó   ø€  ^×%7Ñ%7¸¸2Ó%>€ rB   r   ©r>   rœ  r�   rš   )r9   rŒ   r�   r-   Únormal_inverse_gammarù  rø  rJ  r.   r  r¥   r   r	  r¡   Úks_1sampr°   )rV   r–   rí   Úlmbdar«  r¬  rù  r\   r<   r=   rÚ   rž  r@  s               @r@   Útest_marginal_xz&TestNormalInverseGamma.test_marginal_x  s÷   ø€ ô �i‰i×#Ñ# JÓ/ˆØŸ*™* Q›-‰ˆˆE�1�aä×3Ñ3°B¸¸qÀ!ÓDˆÜ�G‰G�A�a‘C˜R q¬¯©°°U±¸Q±Ó)?Ñ'?Ô@ˆô �K‰K˜˜A˜rÓ"ˆÜÓ>ÀÄ2Ç6Á6ÐQRÐPTÔUˆØ�e‰e�A‹hˆÜ˜Ÿ™ cÔ*ð × Ñ  e¸#Ð Ó>ˆÜ—N‘N 3 q¡6¨1¯5©5Ó1‰	ˆˆ6Ø˜Š|Ð‰|rB   c                 ó*  ‡— t         j                  j                  d«      }|j                  d«      \  }}}}t        j                  ||||«      Št        j
                  ||¬«      }t        j                  ddd«      }t        ˆfd„t         j                   t         j                  |f¬«      }|j                  |«      }	t        |j                  |	«       ‰j                  d|¬	«      }t        j                  |d
   |j                  «      \  }
}|dkD  sJ ‚y )Nr=  re   r´  rš   r%  c                 ó(   •— ‰j                  | |«      S r8   r?  )r\   r£  r@  s     €r@   r]   z9TestNormalInverseGamma.test_marginal_s2.<locals>.<lambda>6  rA  rB   rB  rœ  r�   r
   )r9   rŒ   r�   r-   rC  r   rJ  r.   r  r¥   r   r	  r¡   rD  r°   )rV   r–   rí   rE  r«  r¬  Ú	inv_gammar£  r<   r=   rÚ   rž  r@  s               @r@   Útest_marginal_s2z'TestNormalInverseGamma.test_marginal_s2*  sã   ø€ ô �i‰i×#Ñ# JÓ/ˆØŸ*™* Q›-‰ˆˆE�1�aä×3Ñ3°B¸¸qÀ!ÓDˆÜ—N‘N 1¨AÔ.ˆ	ô �[‰[˜˜b "Ó%ˆÜÓ>ÜŸ™�w¤§¡¨b¨Uô4ˆà�m‰m˜BÓˆÜ˜Ÿ™ cÔ*ð × Ñ  e¸#Ð Ó>ˆÜ—N‘N 3 q¡6¨9¯=©=Ó9‰	ˆˆ6Ø˜Š|Ð‰|rB   c                 óz  — t         j                  j                  d«      }|j                  d«      dz
  \  }}}}|j                  d¬«      dz
  \  }}t        j                  ||||«      j                  ||«      }t        j                  j                  ||||||«      }	t        |t        j                  |	«      «       y )Nr=  )re   r  r]  )rH   r  r€   )	r9   rŒ   r�   r-   rC  r¥   r¦   r   r1  )
rV   r–   rí   rE  r«  r¬  r\   r£  r<   r=   s
             r@   Útest_pdf_logpdfz&TestNormalInverseGamma.test_pdf_logpdf@  sŸ   € ä�i‰i×#Ñ# JÓ/ˆØŸ*™* WÓ-°Ñ4‰ˆˆE�1�aØ—
‘
 �
Ó(¨4Ñ/‰ˆˆ2Ü×(Ñ(¨¨U°A°qÓ9×=Ñ=¸aÀÓDˆÜ×(Ñ(×/Ñ/°°2°r¸5À!ÀQÓGˆÜ˜œRŸV™V C›[Õ)rB   c                 óº  — t         j                  j                  d«      }|j                  d«      \  }}}}|j                  d«      \  }}t        j                  t         j
                  |||«      j                  ||«      }t        |t         j
                  «       t        j                  |d||«      j                  ||«      }t        |t         j
                  «       t        j                  ||d|«      j                  ||«      }t        |t         j
                  «       t        j                  |||d«      j                  ||«      }t        |t         j
                  «       t        j                  ||||«      j                  |d«      }t        |d«       t        j                  |dt         j
                  g||«      j                  |d«      }t        |t         j
                  «       t        j                  |d||«      j                  «       }t        |t         j
                  t         j
                  f«       t        j                  ||d|«      j                  «       }t        |t         j
                  t         j
                  f«       t        j                  t        d¬«      5  t        j                  |||d«      j                  «        d d d «       y # 1 sw Y   y xY w)Nr=  re   rH   rg   r   zDomain error in arguments...rF   )r9   rŒ   r�   r-   rC  rv  r¥   r   r¨   r:  rM   r	   rN   r¡   )	rV   r–   rí   rE  r«  r¬  r\   r£  r<   s	            r@   Útest_invalid_and_special_casesz5TestNormalInverseGamma.test_invalid_and_special_casesI  s  € ä�i‰i×#Ñ# JÓ/ˆØŸ*™* Q›-‰ˆˆE�1�aØ—
‘
˜1“‰ˆˆ2ä×(Ñ(¬¯©°¸¸1Ó=×AÑAÀ!ÀRÓHˆÜ�Sœ"Ÿ&™&Ô!ä×(Ñ(¨¨R°°AÓ6×:Ñ:¸1¸bÓAˆÜ�Sœ"Ÿ&™&Ô!ä×(Ñ(¨¨U°A°qÓ9×=Ñ=¸aÀÓDˆÜ�Sœ"Ÿ&™&Ô!ä×(Ñ(¨¨U°A°rÓ:×>Ñ>¸qÀ"ÓEˆÜ�Sœ"Ÿ&™&Ô!ä×(Ñ(¨¨U°A°qÓ9×=Ñ=¸aÀÓDˆÜ�S˜!Ôô ×(Ñ(¨¨b´"·&±&¨\¸1¸aÓ@×DÑDÀQÈÓKˆÜ�Sœ"Ÿ&™&Ô!ä×(Ñ(¨¨R°°AÓ6×;Ñ;Ó=ˆÜ�Sœ2Ÿ6™6¤2§6¡6Ð*Ô+ä×(Ñ(¨¨U°B¸Ó:×>Ñ>Ó@ˆÜ�Sœ2Ÿ6™6¤2§6¡6Ð*Ô+ä�]‰]œ:Ð-KÔLñ 	?Ü×&Ñ& r¨5°!°RÓ8×<Ñ<Ô>÷	?÷ 	?ñ 	?ús   Ê!'KËKc                 ó  — t         j                  j                  d«      }|j                  d«      }|j                  d«      dz   }|j                  d«      }|j                  d«      }|j                  d«      }|j                  d«      }t        j                  ||||«      }t        j
                  ||||||«      }	|	D �
cg c]  }
t        j                  |
«      ‘Œ }}
|j                  ||«      }|j                  |	d   j                  k(  sJ ‚t        |j                  «       t        j                  j                  |Ž «       |j                  ||«      }|j                  |	d   j                  k(  sJ ‚t        |j                  «       t        j                  j                  |Ž «       t        j
                  ||||«      }	|	D �
cg c]  }
t        j                  |
«      ‘Œ }}
|j                  «       }|d   j                  |	d   j                  k(  sJ ‚t        |d   j                  «       |d	   j                  «       ft        j                  j                  |Ž «       |j                  «       }|d   j                  |	d   j                  k(  sJ ‚t        |d   j                  «       |d	   j                  «       ft        j                  j                  |Ž «       d
}t         j                  j                  d«      }|j                  ||¬«      }t         j                  j                  d«      }d}t        j                  j                  |||dœŽ}t        |d   j                  |«      |d	   j                  |«      f|«       y c c}
w c c}
w )Nr=  rH   )rI   r
   )re   r
   r
   )rc   r
   r
   r
   )rd   r
   r
   r
   r
   )rf   r
   r
   r
   r
   r
   r   r
   )rd   rc   re   rI   rH   l   ¬�M‹r�   )rd   éx   )r9   rŒ   r�   r-   rC  Úbroadcast_arraysr´  r¥   r;   r   r¦   r¨   r:  r¡   r*  )rV   r–   r¬  r«  rE  rí   r£  r\   rÈ   ÚbroadcastedÚarrÚbroadcasted_raveledr<   r�   r;   r=   s                   r@   rE  z(TestNormalInverseGamma.test_broadcastingk  sü  € ô �i‰i×#Ñ# JÓ/ˆØ�J‰J�q‹MˆØ�J‰J�vÓ Ñ"ˆØ—
‘
˜9Ó%ˆØ�Z‰Z˜Ó%ˆØ�Z‰Z˜Ó(ˆØ�J‰JÐ)Ó*ˆÜ×)Ñ)¨"¨e°Q¸Ó:ˆô ×)Ñ)¨!¨R°°U¸A¸qÓAˆØ8CÖD°œrŸx™x¨�}ÐDÐÐDà�h‰h�q˜"‹oˆØ�y‰y˜K¨™N×0Ñ0Ò0Ð0Ð0Ü˜Ÿ	™	›Ü×2Ñ2×6Ñ6Ð8KÐLô	Nð �k‰k˜!˜RÓ ˆØ�y‰y˜K¨™N×0Ñ0Ò0Ð0Ð0Ü˜Ÿ	™	›Ü×2Ñ2×9Ñ9Ð;NÐOô	Qô ×)Ñ)¨"¨e°Q¸Ó:ˆØ8CÖD°œrŸx™x¨�}ÐDÐÐDà�i‰i‹kˆØ�1‰v�|‰|˜{¨1™~×3Ñ3Ò3Ð3Ð3Ü˜˜Q™Ÿ™›¨¨Q©¯©«Ð8Ü×2Ñ2×7Ñ7Ð9LÐMô	Oð �h‰h‹jˆØ�1‰v�|‰|˜{¨1™~×3Ñ3Ò3Ð3Ð3Ü˜˜Q™Ÿ™›¨¨Q©¯©«Ð8Ü×2Ñ2×6Ñ6Ð8KÐLô	Nð ˆÜ�i‰i×#Ñ# MÓ2ˆØ�h‰h˜D¨sˆhÓ3ˆÜ�i‰i×#Ñ# MÓ2ˆØˆÜ×(Ñ(×,Ñ,Ð.AÈØ:=ò?ˆä˜˜Q™Ÿ™¨Ó.°°A±·±¸uÓ0EÐFÈÕLùòE Eùò Es   Â?M=ÇNr%  c                 ó  ‡— t         j                  j                  d«      }|j                  d«      \  }}}}|dz  }t        j                  ||||«      Š‰j                  «       }t        ˆfd„t         j                   t         j                  dt         j                  «      }t        |d   |d   d¬«       t        ˆfd„t         j                   t         j                  dt         j                  «      }t        |d	   |d   d¬«       y )
Nr=  re   rH   c                 ó.   •— ‰j                  || «      |z  S r8   r?  ©r£  r\   rÈ   s     €r@   r]   z5TestNormalInverseGamma.test_moments.<locals>.<lambda>©  s   ø€  D§H¡H¨Q°£O°aÑ$7€ rB   r   r@  r=  c                 ó.   •— ‰j                  || «      | z  S r8   r?  rW  s     €r@   r]   z5TestNormalInverseGamma.test_moments.<locals>.<lambda>¬  s   ø€  D§H¡H¨Q°£O°bÑ$8€ rB   r
   )	r9   rŒ   r�   r-   rC  r¨   r1   r  r   )	rV   r–   rí   rE  r«  r¬  r<   r=   rÈ   s	           @r@   r/  z#TestNormalInverseGamma.test_momentsž  sÂ   ø€ ô �i‰i×#Ñ# JÓ/ˆØŸ*™* Q›-‰ˆˆE�1�aØ	ˆQ‰ˆä×)Ñ)¨"¨e°Q¸Ó:ˆØ�i‰i‹kˆäÓ7¼"¿&¹&¸Ä"Ç&Á&È!ÌRÏVÉVÓTˆÜ˜˜A™  A¡¨TÕ2äÓ8¼2¿6¹6¸'Ä2Ç6Á6È1ÌbÏfÉfÓUˆÜ˜˜A™  A¡¨TÖ2rB   r0  c                 ó^  — t         j                  dk  rt        j                  d«       t         j                  j                  d«      }|j                  ddd¬«      j                  |«      \  }}}}}}t        j                  d|«      }	t        j                  ||||«      }
|
j                  «       d	   j                  |	k(  sJ ‚|
j                  «       d
   j                  |	k(  sJ ‚|
j                  «       d	   j                  |	k(  sJ ‚|
j                  «       d
   j                  |	k(  sJ ‚|
j                  «       d	   j                  |	k(  sJ ‚|
j                  «       d
   j                  |	k(  sJ ‚|
j                  ||«      j                  |	k(  sJ ‚|
j!                  ||«      j                  |	k(  sJ ‚y )NÚ2z*Scalar dtypes only respected after NEP 50.r=  rI   r%  rd   r€   rÄ   r   r
   )r9   Ú__version__rM   rˆ   rŒ   r�   r   ÚastypeÚresult_typer-   rC  r¡   r0  r¨   r:  r¦   r¥   )rV   r0  r–   r\   r£  rí   rE  r«  r¬  Ú	dtype_outrÈ   s              r@   Ú
test_dtypez!TestNormalInverseGamma.test_dtype¯  sr  € ä�>‰>˜CÒÜ�K‰KÐDÔEÜ�i‰i×#Ñ# JÓ/ˆØ!$§¡¨Q°¸ Ó!;×!BÑ!BÀ5Ó!IÑˆˆ2ˆr�5˜!˜QÜ—N‘N 3¨Ó.ˆ	Ü×)Ñ)¨"¨e°Q¸Ó:ˆØ�x‰x‹z˜!‰}×"Ñ" iÒ/Ð/Ð/Ø�x‰x‹z˜!‰}×"Ñ" iÒ/Ð/Ð/Ø�y‰y‹{˜1‰~×#Ñ# yÒ0Ð0Ð0Ø�y‰y‹{˜1‰~×#Ñ# yÒ0Ð0Ð0Ø�x‰x‹z˜!‰}×"Ñ" iÒ/Ð/Ð/Ø�x‰x‹z˜!‰}×"Ñ" iÒ/Ð/Ð/Ø�{‰{˜1˜bÓ!×'Ñ'¨9Ò4Ð4Ð4Ø�x‰x˜˜2‹×$Ñ$¨	Ò1Ð1Ñ1rB   N)rÊ   rË   rÌ   rF  rJ  rL  rN  rE  rM   rÑ   rp  Ú	fail_slowr/  rÒ   r9   Úint32Úfloat16Úfloat32rÞ  r_  rÕ   rB   r@   r;  r;    s’   „ òò*ò,*ò ?òD1Mðf ‡[�[×ÑØ‡[�[×Ñ˜2Óñ3ó ó ð3ð ‡[�[×Ñ˜W r§x¡x°·±¸R¿Z¹ZÈÏÉÐ&TÓUñ2ó Vñ2rB   r;  r8  )\Ú__doc__rÆ  Únumpy.testingr   r   r   r   r   r   rM   r	   rì   Útest_continuous_basicr   Únumpyr9   Úscipy.linalgrÆ   Úscipy.stats._multivariater   r   r   Úscipy.statsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   Úscipy.integrater.   r/   r0   r1   r2   Úscipy.specialr3   Úcommon_testsr4   Ú	data._mvtr5   Úunittest.mockr6   rA   rD   rÝ   rä   ræ   rø  r4  r‰  r‹  r¹  r  r1  rS  rr  r‘  r©  r¶  r=  r  rÍ  rÐ  rÒ  r  r;  rÕ   rB   r@   ú<module>rp     s~  ðñó ÷7÷ 7ó Ý *å 9ã ã ÷Cñ C÷:÷ :÷ :÷ :÷ :÷ :÷ :ó :÷ 0Ý å $ß <Ó <Ý &å 5Ý å ò'÷]!ñ ]!ó@ò÷@
)ñ @
)÷FH*ñ H*÷VF1ñ F1òR-÷&i9ñ i9÷Vj#ñ j#÷Xa(ñ a(÷HC:ñ C:÷Lo&ñ o&÷dd#ñ d#÷N6+ñ 6+÷r9#ñ 9#÷x9ñ 9÷Da%ñ a%÷Hh$ñ h$òV	ò(%÷$~!ñ ~!÷By.ñ y.÷xk2ò k2rB   