§
    ¢éUgV ã                   ó.  — 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l6m7Z7m8Z8m9Z9 ddl:m;Z; ddl<m=Z= ddl>m?Z? ddl@mAZA d„ ZB G d„ d¦  «        ZCd9d„ZDd„ ZE G d„ d¦  «        ZF G d„ d¦  «        ZG G d„ d¦  «        ZHd„ ZI G d„ d¦  «        ZJ G d„ d ¦  «        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/„ d0¦  «        ZS G d1„ d2¦  «        ZTd3„ ZUd4„ ZV G d5„ d6¦  «        ZW G d7„ d8¦  «        ZXdS ):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)ÚrombÚqmc_quadÚtplquad)Úmultigammaln)Úcheck_random_state_property)Ú_qsimvtv)Úpatchc                 ó¬   — t          j        | ¦  «        t          j        |¦  «        }} t          | |g|¢R i |¤Ž t          | j        |j        ¦  «         d S ©N)ÚnpÚasarrayr   r   Úshape)ÚresÚrefÚargsÚkwargss       úb/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/stats/tests/test_multivariate.pyÚassert_closer?   *   sU   € ÝŒz˜#‰Œ¥¤
¨3¡¤ˆ€CÝ�C˜Ð.˜tÐ.Ð.Ð. vÐ.Ð.Ð.Ý�”˜Cœ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                             dedd…         ¦  «        d„ ¦   «         Zej                             d ee¦  «        ¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         Zej                             dd e¦   «         ddg¦  «        ej                             d ee¦  «        ¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             d e¦   «         dg¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         Zd„ Zej                             d¦  «        d„ ¦   «         Zd„ ZdS )ÚTestCovariancec                 ó  — d}t          j        t          |¬¦  «        5  t          j        t          j        d¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          j        t          j        d¦  «        t          j        d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          j        d¦  «         d d d ¦  «         n# 1 swxY w Y   d	}t          j        t          |¬¦  «        5  t          j	        t          j        d¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d
}t          j        t          |¬¦  «        5  t          j
        dt          j        d¦  «        f¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          j
        t          j        d¦  «        df¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          j
        g d¢t          j        d¦  «        f¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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
   rF   rG   )Úpytestr	   Ú
ValueErrorr+   ÚCovViaPrecisionr7   ÚonesÚeyeÚCovViaDiagonalÚCovViaCholeskyÚCovViaEigendecomposition©ÚselfÚmessages     r>   Útest_input_validationz$TestCovariance.test_input_validation2   s:  € àNˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	4ð 	4ÝÔ'­¬°©
¬
Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð EˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Ið 	IÝÔ'­¬¨q©	¬	½b¼fÀQ¹i¼iÐHÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið LˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	1ð 	1ÝÔ& xÑ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð NˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	3ð 	3ÝÔ&¥r¤w¨q¡z¤zÑ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð IˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Hð 	HÝÔ0°(½B¼FÀ1¹I¼IÐ1FÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð AˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Ið 	IÝÔ0µ"´'¸!±*´*¸hÐ1GÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið NˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	Ið 	IÝÔ0°)°)°)½R¼VÀA¹Y¼YÐ1GÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið 	Ið 	Is}   ž'AÁAÁAÁ9;C Ã CÃCÃ(D	Ä	DÄDÄ1'E$Å$E(Å+E(Æ)GÇGÇGÇ))HÈH"È%H"É+I>É>JÊJc                 ó$   — t          | d¬¦  «        S )NT©Úallow_singular)r   )Úxs    r>   ú<lambda>zTestCovariance.<lambda>T   s   € Ý%)¨!¸DÐ%AÑ%AÔ%Að r@   )ÚDiagonalÚ	PrecisionÚCholeskyÚEigendecompositionÚPSDrJ   )é   r
   rG   )r
   é   é   )rG   rc   é   )r
   r   rG   )ra   éÿÿÿÿr   )re   ra   r   ©r   r   r   )údiagonal full rankzgeneral full rankzdiagonal singularzgeneral singularr
   N)r   éþÿÿÿre   rh   Úcov_type_namere   c                 óØ  — t          j        g d¢¦  «        }g d¢}t          t          d|› �¦  «        }| j        |         }t          t
          d|                     ¦   «         › �¦  «        } | ||¦  «        ¦  «        } | ||¦  «        ¦  «        }t          |¦  «        t          |¦  «        k    sJ ‚t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         d S )NrJ   )éüÿÿÿrF   ra   ÚCovViaÚfrom_)
r7   ÚdiagÚgetattrr+   Ú_covariance_preprocessingr,   ÚlowerÚtyper   Úwhiten)	rT   ri   ÚArZ   Úcov_typeÚpreprocessingÚfactoryr:   r;   s	            r>   Útest_factorieszTestCovariance.test_factories`   sà   € åŒG�I�I�IÑÔˆØˆJˆJˆå�;Ð(@°Ð(@Ð(@ÑAÔAˆØÔ6°}ÔEˆÝ�*Ð&E¨m×.AÒ.AÑ.CÔ.CÐ&EÐ&EÑFÔFˆàˆg�m�m AÑ&Ô&Ñ'Ô'ˆØˆh�}�} QÑ'Ô'Ñ(Ô(ˆÝ�C‰yŒy�D ™IœIÒ%Ð%Ð%Ð%Ý˜Ÿ
š
 1™œ s§z¢z°!¡}¤}Ñ5Ô5Ð5Ð5Ð5r@   Úmatrix_typec                 ól  — 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                             d¦  «        }	|	                     d¬¦  «        }
|                     |
¦  «        }|
|j        z  }t          ||z  ||z  ¦  «         t)          |d	¦  «        r'd
|vr#t          |                     |¦  «        |
¦  «         |	                     d¬¦  «        }
|                     |
¦  «        }|
|j        z  }t          |dz                       d¬¦  «        |dz                       d¬¦  «        ¦  «         t)          |d	¦  «        r'd
|vr#t          |                     |¦  «        |
¦  «         t)          |d	¦  «        rN|                     t          j        t1          |¦  «        ¦  «        ¦  «        }t          |j        |z  |¦  «         d S d S )Nrl   ú does not support ú	 matricesTrX   ì   ÐVGi’VžK rG   ©ÚsizeÚ	_colorizeÚsingular©rF   rc   rG   rF   re   ©Úaxis)Ú
_cov_typesrK   ÚskipÚ	_matricesro   r+   rp   r   r?   Úlog_pdetr   Úrankr9   r7   r8   rH   ÚrandomÚdefault_rngrs   ÚUÚhasattrÚcolorizeÚsumrO   ÚlenÚT)rT   ry   ri   rU   rt   ru   rv   ÚpsdÚ
cov_objectÚrngrZ   r:   r;   s                r>   Útest_covariancezTestCovariance.test_covariancen   sŸ  € ð˜Mð ð ¸[ð ð ð ˆà ¤°Ô <Ð<Ð<ÝŒK˜Ñ Ô Ð àŒN˜;Ô'ˆÝ�;Ð(@°Ð(@Ð(@ÑAÔAˆØÔ6°}ÔEˆå�1 TÐ*Ñ*Ô*ˆð �X˜m˜m¨AÑ.Ô.Ñ/Ô/ˆ
Ý�ZÔ(¨#¬,Ñ7Ô7Ð7Ý�Z”_ c¤hÑ/Ô/Ð/Ý�ZÔ%¥r¤z°!¡}¤}Ô':Ñ;Ô;Ð;Ý�ZÔ*­B¬J°q©M¬MÑ:Ô:Ð:õ Œi×#Ò#Ð$7Ñ8Ô8ˆØ�JŠJ˜AˆJÑÔˆØ×Ò Ñ"Ô"ˆØ�#”%‰iˆå�S˜3‘Y  c¡	Ñ*Ô*Ð*Ý�:˜{Ñ+Ô+ð 	6°
À+Ð0MÐ0Må˜×,Ò,¨SÑ1Ô1°1Ñ5Ô5Ð5ð �JŠJ˜IˆJÑ&Ô&ˆØ×Ò Ñ"Ô"ˆØ�#”%‰iˆÝ�c˜1‘f—\’\ r�\Ñ*Ô*¨S°!©V¯LªL¸b¨LÑ,AÔ,AÑBÔBÐBÝ�:˜{Ñ+Ô+ð 	6°
À+Ð0MÐ0MÝ˜×,Ò,¨SÑ1Ô1°1Ñ5Ô5Ð5õ �:˜{Ñ+Ô+ð 	)Ø×%Ò%¥b¤f­S°©V¬V¡n¤nÑ5Ô5ˆCÝ˜œ ™ aÑ(Ô(Ð(Ð(Ð(ð	)ð 	)r@   r   r‚   c                 óz  — d|› d|› d�}|| j         |         vrt          j        |¦  «         | j        |         }t	          t
          d|› �¦  «        }| j        |         }g d¢} | ||¦  «        ¦  «        }	t          }
t          ||d¬¦  «        }t          ||	d¬¦  «        }t          j	         
                    d¦  «        }|                     |||¬¦  «        }t          j	         
                    d¦  «        }|
                     ||	||¬	¦  «        }t          j	         
                    d¦  «        } |
||	|¬
¦  «                             |¬¦  «        }t          |	t
          j        ¦  «        rEt          |t          j        |¦  «        ¦  «         t          |t          j        |¦  «        ¦  «         nDt!          |j        |j        ¦  «         t!          |j        |j        ¦  «         t          ||¦  «         t          |
                     |||	¦  «        |                     |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         t          |
                     |||	¦  «        |                     |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         t          |
                     ||	¦  «        |                     ¦   «         ¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nrl   r{   r|   ©çš™™™™™¹?çš™™™™™É?ç333333Ó?TrX   r}   r~   ©r   Úrandom_state©Úseed)r…   rK   r†   r‡   ro   r+   rp   r   r7   rŠ   r‹   ÚrvsÚ
isinstanceÚ	CovViaPSDr?   Úsqueezer   r9   ÚpdfÚlogpdfÚentropy)rT   r   ry   ri   rU   rt   ru   rv   Úmeanr“   ÚmvnÚdist0Údist1r”   rZ   Úx1Úx2s                    r>   Útest_mvn_with_covariancez'TestCovariance.test_mvn_with_covarianceŸ   sÌ  € ð˜Mð ð ¸[ð ð ð ˆà ¤°Ô <Ð<Ð<ÝŒK˜Ñ Ô Ð àŒN˜;Ô'ˆÝ�;Ð(@°Ð(@Ð(@ÑAÔAˆØÔ6°}ÔEˆàˆˆˆØ�X˜m˜m¨AÑ.Ô.Ñ/Ô/ˆ
Ý!ˆÝ# D¨!¸DÐAÑAÔAˆÝ# D¨*ÀTÐJÑJÔJˆåŒi×#Ò#Ð$7Ñ8Ô8ˆØ×#Ò# D¨!°$Ð#Ñ7Ô7ˆÝŒi×#Ò#Ð$7Ñ8Ô8ˆØ�WŠW�T˜:¨D¸sˆWÑCÔCˆÝŒi×#Ò#Ð$7Ñ8Ô8ˆØˆS��z¨Ð,Ñ,Ô,×0Ò0°dÐ0Ñ;Ô;ˆÝ�j¥+Ô"7Ñ8Ô8ð 	!Ý˜�RœZ¨™]œ]Ñ+Ô+Ð+Ý˜�RœZ¨™]œ]Ñ+Ô+Ð+Ð+å˜œ 1¤7Ñ+Ô+Ð+Ý˜œ 1¤7Ñ+Ô+Ð+Ý˜˜RÑ Ô Ð å�S—W’W˜Q  jÑ1Ô1°5·9²9¸Q±<´<Ñ@Ô@Ð@Ý�U—Y’Y˜q‘\”\ 5§9¢9¨Q¡<¤<Ñ0Ô0Ð0Ý�S—Z’Z  4¨Ñ4Ô4°e·l²lÀ1±o´oÑFÔFÐFÝ�U—\’\ !‘_”_ e§l¢l°1¡o¤oÑ6Ô6Ð6Ý�S—[’[  zÑ2Ô2°E·M²M±O´OÑDÔDÐDÝ�U—]’]‘_”_ e§m¢m¡o¤oÑ6Ô6Ð6Ð6Ð6r@   c                 ó  — d}| j         |         }t          t          d|› �¦  «        }| j        |         }g d¢} | ||¦  «        ¦  «        }t          }	t	          ||d¬¦  «        }
t	          ||d¬¦  «        }t
          j                             d¦  «        }|                     |||¬¦  «        }t          |	 	                    |||¦  «        |
 	                    |¦  «        ¦  «         t          | 	                    |¦  «        |
 	                    |¦  «        ¦  «         t          |	 
                    |||¦  «        |
 
                    |¦  «        ¦  «         t          | 
                    |¦  «        |
 
                    |¦  «        ¦  «         d S )Nrg   rl   r—   TrX   r}   r~   )r‡   ro   r+   rp   r   r7   rŠ   r‹   r?   ÚcdfÚlogcdf)rT   r   ri   ry   rt   ru   rv   r¦   r“   r§   r¨   r©   r”   rZ   s                 r>   Útest_mvn_with_covariance_cdfz+TestCovariance.test_mvn_with_covariance_cdfÇ   s[  € ð +ˆØŒN˜;Ô'ˆÝ�;Ð(@°Ð(@Ð(@ÑAÔAˆØÔ6°}ÔEˆàˆˆˆØ�X˜m˜m¨AÑ.Ô.Ñ/Ô/ˆ
Ý!ˆÝ# D¨!¸DÐAÑAÔAˆÝ# D¨*ÀTÐJÑJÔJˆåŒi×#Ò#Ð$7Ñ8Ô8ˆØ×#Ò# D¨!°$Ð#Ñ7Ô7ˆå�S—W’W˜Q  jÑ1Ô1°5·9²9¸Q±<´<Ñ@Ô@Ð@Ý�U—Y’Y˜q‘\”\ 5§9¢9¨Q¡<¤<Ñ0Ô0Ð0Ý�S—Z’Z  4¨Ñ4Ô4°e·l²lÀ1±o´oÑFÔFÐFÝ�U—\’\ !‘_”_ e§l¢l°1¡o¤oÑ6Ô6Ð6Ð6Ð6r@   c                 óŽ   — d}t          j        t          |¬¦  «        5  t          ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nz7The `Covariance` class cannot be instantiated directly.rD   )rK   r	   ÚNotImplementedErrorr,   rS   s     r>   Útest_covariance_instantiationz,TestCovariance.test_covariance_instantiationá   sŠ   € ØKˆÝŒ]Õ.°gÐ>Ñ>Ô>ð 	ð 	Ý‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ž:º>Á>zignore::RuntimeWarningc                 óš  — t          j        g d¢¦  «        }|j        d         }t          j        |¦  «        }t	          j        t          d¬¦  «        5  t          ||¦  «                             ¦   «          d d d ¦  «         n# 1 swxY w Y   d}t           j	         
                    |¦  «        }t           j	         
                    |¦  «        }t          j        t           j                             |¦  «        ¦  «        }t          ||¦  «        }|                     |¬¦  «        }	t          j        |||¬¦  «        }
t          |	|
¦  «         d S )N)r
   rF   g:Œ0âŽyE¾r   zThe input matrix must be...rD   l   .ypGw ©rœ   )r7   rn   r9   ÚzerosrK   r	   rL   r   rŸ   rŠ   r‹   r,   Úfrom_eigendecompositionÚlinalgÚeighr   )rT   rt   Únr¦   rž   Úrng1Úrng2ÚcovÚrvr:   r;   s              r>   Útest_gh9942zTestCovariance.test_gh9942æ   sV  € õ
 ŒG�M�M�MÑ"Ô"ˆØŒG�AŒJˆÝŒx˜‰{Œ{ˆõ Œ]�:Ð-JÐKÑKÔKð 	/ð 	/Ý  aÑ(Ô(×,Ò,Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð #ˆÝŒy×$Ò$ TÑ*Ô*ˆÝŒy×$Ò$ TÑ*Ô*ˆÝÔ0µ´·²ÀÑ1BÔ1BÑCÔCˆÝ   sÑ+Ô+ˆØ�fŠf $ˆfÑ'Ô'ˆÝ!Ô% d¨C¸dÐCÑCÔCˆÝ�S˜#ÑÔÐÐÐs   Á#BÂBÂ	Bc                 ó’  — t          j        d¦  «        }t          j        t          j        d¦  «        t          j        d¦  «        f¦  «        }t          j                             ||¬¦  «        }| 	                    d ¬¦  «        }t          ||¦  «         t          j        j                             t          j        ddg¦  «        t          j        ddgddgg¦  «        f¦  «        }t          j                             ||¬¦  «        }| 	                    d ¬¦  «        }|d         |d         k    sJ ‚|d         |d         k    sJ ‚d S )	NrF   ©r¦   r½   r~   ç      ð?ç        g      y@r   r
   )r7   rN   r,   r·   r¶   rO   Úscipyr-   r   rŸ   r   Úarray)rT   r¦   r½   ÚdistrŸ   s        r>   Útest_gh19197zTestCovariance.test_gh19197ý   s!  € õ
 Œw�q‰zŒzˆÝÔ0µ"´(¸1±+´+½r¼vÀa¹y¼yÐ1IÑJÔJˆÝŒ{×.Ò.°D¸cÐ.ÑBÔBˆØ�hŠh˜DˆhÑ!Ô!ˆÝ�S˜$ÑÔÐåŒkÔ$×<Ò<ÝŒX�r˜2�hÑÔ¥¤¨B°¨8°b¸$°ZÐ*@Ñ!AÔ!AÐBñDô DˆåŒ{×.Ò.°D¸cÐ.ÑBÔBˆØ�hŠh˜DˆhÑ!Ô!ˆØ�1Œv˜˜aœÒ Ð Ð Ð Ø�1Œv˜˜aœÒ Ð Ð Ð Ð Ð r@   )Ú__name__Ú
__module__Ú__qualname__rV   r7   rn   r¸   ÚinvÚcholeskyr¹   rp   rÅ   ÚlistÚ_all_covariance_typesr‡   r…   rK   ÚmarkÚparametrizerx   r•   Útupler¬   r°   r³   Úfilterwarningsr¿   rÇ   © r@   r>   rB   rB   0   sÉ  € € € € € ðIð Ið Ið< .0¬WØ.0¬i¬mØ-/¬YÔ-?Ø79´y´~ð)Bð )Bð	!Cð !CÐð %˜BœH T TÐ*CÑ%DÔ%DÑEÔEÐØ'. r¤w¨y¨y¨yÑ'9Ô'9Ø'0 y y°)°)°)¸Y¸Y¸YÐ&GØ&- b¤g¨i¨i¨iÑ&8Ô&8Ø&0 j j°*°*°*¸i¸i¸iÐ%HðJð J€Ið )>Ø'<¸Q¸R¸RÔ'@Ø'<¸[¸[¸[Ô'IØ&;¸B¸C¸CÔ&@ðBð B€Jð
 „[×Ò˜_Ð.CÀCÀRÀCÔ.HÑIÔIð6ð 6ñ JÔIð6ð „[×Ò˜]¨D¨D°©O¬OÑ<Ô<Ø„[×Ò˜_Ð.CÑDÔDð-)ð -)ñ EÔDñ =Ô<ð-)ð^ „[×Ò˜V d¨E¨E©G¬G°Q¸	Ð%BÑCÔCØ„[×Ò˜]¨D¨D°©O¬OÑ<Ô<Ø„[×Ò˜_Ð.CÑDÔDð#7ð #7ñ EÔDñ =Ô<ñ DÔCð#7ðJ „[×Ò˜V e e¡g¤g¨yÐ%9Ñ:Ô:Ø„[×Ò˜_Ð.CÑDÔDð7ð 7ñ EÔDñ ;Ô:ð7ð0ð ð ð
 „[×ÒÐ 8Ñ9Ô9ðð ñ :Ô9ðð,!ð !ð !ð !ð !r@   rB   Fc                 ó  — |                      | | f¦  «        }||j        z  }t          j                             |¦  «        \  }}|r|                     | ¬¦  «        dk    }d||<   |t          j        |¦  «        z  |j        z  }|S )Nr~   r   )rŠ   r‘   r7   r¸   r¹   Únormalrn   )	ÚdimÚevalsr”   r�   rt   Ú_ÚvÚ	zero_eigsr½   s	            r>   Ú_random_covariancerÛ     sƒ   € ð 	�
Š
�C˜�:ÑÔ€AØ	ˆAŒC‰€AÝŒ9�>Š>˜!ÑÔ�D€A€qØð Ø—J’J C�JÑ(Ô(¨1Ò,ˆ	ØˆˆiÑØ
�bŒg�e‰nŒnÑ
˜qœsÑ
"€CØ€Jr@   c                 óŒ   — t           j                             | | ¦  «        }t          j                             |¦  «        \  }}}|S r6   )r7   rŠ   ÚrandnrÄ   r¸   Úsvd)rº   ÚMÚuÚsrÙ   s        r>   Ú_sample_orthonormal_matrixrâ     s7   € Ý
Œ	�Š˜˜1ÑÔ€AÝŒl×Ò˜qÑ!Ô!�G€A€qˆ!Ø€Hr@   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                             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                             d#d$¦  «        d%„ ¦   «         Z)d&„ Z*ej                             d' ej+        d(¦  «         ej+        d)¦  «        g¦  «        d*„ ¦   «         Z,ej                             d+ ej+        d,¦  «         ej+        d-¦  «         ej+        d.¦  «        g¦  «        d/„ ¦   «         Z-d0„ Z.d1„ Z/d2„ Z0d3S )4ÚTestMultivariateNormalc                 óf  — 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||¦  «         d S )NrG   rF   ©r   r
   ©r   r
   rF   )r7   ÚarangeÚidentityÚassert_raisesrL   r   r£   r®   )rT   Úmur½   s      r>   Útest_input_shapez'TestMultivariateNormal.test_input_shape%  sŠ   € ÝŒY�q‰\Œ\ˆÝŒk˜!‰nŒnˆÝ•jÕ"5Ô"9¸6À2ÀsÑKÔKÐKÝ•jÕ"5Ô"9¸9ÀbÈ#ÑNÔNÐNÝ•jÕ"5Ô"9¸6À2ÀsÑKÔKÐKÝ•jÕ"5Ô"9¸9ÀbÈ#ÑNÔNÐNÐNÐNr@   c                 óp  — t           j                             d¦  «         d\  }}}t          j        |||¦  «        }t          |j        d¦  «         t           j                             d¦  «        }t           j                             d¦  «        }t          j        t           j                             d¦  «        ¦  «        }t          j        |||¦  «        }t          |j        d¦  «         d\  }}}t          j	        |||¦  «        }t          |j        d¦  «         t           j                             d¦  «        }t           j                             d¦  «        }t          j        t           j                             d¦  «        ¦  «        }t          j	        |||¦  «        }t          |j        d¦  «         d S )NéÒ  )ç      ø?g333333û?ç      @r   ra   )
r7   rŠ   rž   r   r£   r   ÚndimrÝ   Úabsr®   )rT   rZ   r¦   r½   r£   r®   s         r>   Útest_scalar_valuesz)TestMultivariateNormal.test_scalar_values-  sX  € Ý
Œ	�Š�tÑÔÐð %‰ˆˆ4�Ý!Ô% a¨¨sÑ3Ô3ˆÝ�S”X˜qÑ!Ô!Ð!õ ŒI�OŠO˜AÑÔˆÝŒy�Š˜qÑ!Ô!ˆÝŒf•R”Y—_’_ QÑ'Ô'Ñ(Ô(ˆÝ!Ô% a¨¨sÑ3Ô3ˆÝ�S”X˜qÑ!Ô!Ð!ð %‰ˆˆ4�Ý!Ô% a¨¨sÑ3Ô3ˆÝ�S”X˜qÑ!Ô!Ð!õ ŒI�OŠO˜AÑÔˆÝŒy�Š˜qÑ!Ô!ˆÝŒf•R”Y—_’_ QÑ'Ô'Ñ(Ô(ˆÝ!Ô% a¨¨sÑ3Ô3ˆÝ�S”X˜qÑ!Ô!Ð!Ð!Ð!r@   c                 ó¾  — t           j                             d¦  «         t           j                             d¦  «        }t           j                             d¦  «        }t          j        t           j                             d¦  «        ¦  «        }t          j        |||¦  «        }t          j        |||¦  «        }t          |t          j	        |¦  «        ¦  «         d S ©Nrî   ra   )
r7   rŠ   rž   rÝ   rò   r   r¤   r£   r   Úlog©rT   rZ   r¦   r½   Úd1Úd2s         r>   Útest_logpdfz"TestMultivariateNormal.test_logpdfH  óŸ   € å
Œ	�Š�tÑÔÐÝŒI�OŠO˜AÑÔˆÝŒy�Š˜qÑ!Ô!ˆÝŒf•R”Y—_’_ QÑ'Ô'Ñ(Ô(ˆÝ Ô'¨¨4°Ñ5Ô5ˆÝ Ô$ Q¨¨cÑ2Ô2ˆÝ˜�BœF 2™JœJÑ'Ô'Ð'Ð'Ð'r@   c                 ó²  — t           j                             d¦  «         t           j                             d¦  «        }t	          j        |¦  «        }t	          j        |¦  «        }t	          j        |d d¦  «        }t	          j        |d d¦  «        }t          |t          j        |¦  «        ¦  «         t          |t          j        |¦  «        ¦  «         d S ©Nrî   ra   r
   )	r7   rŠ   rž   rÝ   r   r¤   r£   r   rö   ©rT   rZ   rø   rù   Úd3Úd4s         r>   Útest_logpdf_default_valuesz1TestMultivariateNormal.test_logpdf_default_valuesR  ó©   € õ 	Œ	�Š�tÑÔÐÝŒI�OŠO˜AÑÔˆÝ Ô'¨Ñ*Ô*ˆÝ Ô$ QÑ'Ô'ˆå Ô'¨¨4°Ñ3Ô3ˆÝ Ô$ Q¨¨aÑ0Ô0ˆÝ˜�BœF 2™JœJÑ'Ô'Ð'Ý˜�BœF 2™JœJÑ'Ô'Ð'Ð'Ð'r@   c                 ó¾  — t           j                             d¦  «         t           j                             d¦  «        }t           j                             d¦  «        }t          j        t           j                             d¦  «        ¦  «        }t          j        |||¦  «        }t          j        |||¦  «        }t          |t          j	        |¦  «        ¦  «         d S rõ   )
r7   rŠ   rž   rÝ   rò   r   r¯   r®   r   rö   r÷   s         r>   Útest_logcdfz"TestMultivariateNormal.test_logcdf_  rû   r@   c                 ó²  — t           j                             d¦  «         t           j                             d¦  «        }t	          j        |¦  «        }t	          j        |¦  «        }t	          j        |d d¦  «        }t	          j        |d d¦  «        }t          |t          j        |¦  «        ¦  «         t          |t          j        |¦  «        ¦  «         d S rý   )	r7   rŠ   rž   rÝ   r   r¯   r®   r   rö   rþ   s         r>   Útest_logcdf_default_valuesz1TestMultivariateNormal.test_logcdf_default_valuesi  r  r@   c                 ó~  — t           j                             d¦  «         d}t           j                             |¦  «        }t	          d|dz   ¦  «        D ]h}t           j                             ||¦  «        }t          j        ||j        ¦  «        }t          ||d¬¦  «        }t          |j	        j
        |¦  «         Œid S )Nrî   rc   r
   TrX   )r7   rŠ   rž   rÝ   ÚrangeÚdotr‘   r   r   r“   r‰   )rT   rº   r¦   Úexpected_rankrá   r½   Údistns          r>   Ú	test_rankz TestMultivariateNormal.test_rankv  s¦   € å
Œ	�Š�tÑÔÐØˆÝŒy�Š˜qÑ!Ô!ˆÝ" 1 a¨!¡e™_œ_ð 	?ð 	?ˆMÝ”	—’  =Ñ1Ô1ˆAÝ”&˜˜AœC‘.”.ˆCÝ'¨¨cÀ$ÐGÑGÔGˆEÝ˜Ô)Ô.°Ñ>Ô>Ð>Ð>ð		?ð 	?r@   c           	      ó  — t          dd¦  «        D �]ò}t          j                             |¦  «        }t          d|¦  «        D �]¾}t          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        |¦  «         |                     |d |…         ¦  «        }|                     |¦  «        }|                     |
¦  «        }t          ||¦  «         t          ||¦  «         |                     |d |…         ¦  «        }|                     |¦  «        }|                     |
¦  «        }t          ||¦  «         t          ||¦  «         |
|d d …df         z   }|                     |¦  «        }|                     |¦  «        }t          |d¦  «         t          |t          j         ¦  «         �ŒÀ�Œôd S )Nr
   ra   TrX   re   rÃ   )r  r7   rŠ   rÝ   r	  r‘   r¶   râ   r   r   r“   r‰   r£   r   r¤   Úinf)rT   rº   ÚzÚkrá   Úcov_kkÚcov_nnrZ   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�  sÎ  € å�q˜!‘”ð 0	6ñ 0	6ˆAÝ”	—’ Ñ"Ô"ˆAÝ˜1˜a‘[”[ð .6ñ .6�å”I—O’O A qÑ)Ô)�Ýœ  1¤3™œ�õ œ 1 a &Ñ)Ô)�Ø!'��r˜�r˜2˜A˜2�v‘õ ”H˜Q‘K”K�Ø˜"˜1˜"œ��"�1�"‘õ /¨qÑ1Ô1�Ýœ ¥2¤6¨&°!´#Ñ#6Ô#6Ñ7Ô7�Ý”F˜1˜a‘L”L�õ /­r¬x¸©{¬{¸FØ>BðDñ Dô D�å.­r¬x¸©{¬{¸FØ>BðDñ Dô D�å.­r¬x¸©{¬{¸FØ>BðDñ Dô D�å˜XÔ0Ô5°qÑ9Ô9Ð9Ý˜XÔ0Ô5°qÑ9Ô9Ð9Ý˜XÔ0Ô5°qÑ9Ô9Ð9Ø!Ÿš a¨¨¨¤eÑ,Ô,�Ø!Ÿš a™œ�Ø!Ÿš a™œ�Ý ¨Ñ/Ô/Ð/Ý ¨Ñ/Ô/Ð/Ø$ŸOšO¨A¨b¨q¨b¬EÑ2Ô2�	Ø$ŸOšO¨AÑ.Ô.�	Ø$ŸOšO¨AÑ.Ô.�	Ý 	¨9Ñ5Ô5Ð5Ý 	¨9Ñ5Ô5Ð5ð ˜Q˜q˜q˜q "˜uœX™�Ø&Ÿlšl¨6Ñ2Ô2�Ø!)§¢°Ñ!8Ô!8�õ ˜[¨#Ñ.Ô.Ð.Ý˜^­b¬f¨WÑ5Ô5Ð5Ñ5ñ].6ð0	6ð 0	6r@   c                 óL  — 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k    ¦  «        sJ ‚t          j        |||d¬¦  «        }	t          |	j
        |¦  «         t          j        |	t          j         k    ¦  «        sJ ‚Œü�Œd S )	Né
   rF   rb   r
   ©r¦   r½   r   T)r¦   r½   rY   rÃ   )r  r7   r¶   râ   r	  r‘   r   rŸ   r£   r   r   Úallr¤   r  )
rT   r  rº   ÚrÚmnrà   ÚvrÚXr£   r¤   s
             r>   Útest_degenerate_arrayz,TestMultivariateNormal.test_degenerate_arrayµ  s?  € ð ˆÝ�q˜!‘”ð 	0ñ 	0ˆAÝ˜1˜a‘[”[ð 0ð 0�Ý”X˜a‘[”[�Ý.¨qÑ1Ô1°!°!°!°R°a°R°%Ô8�Ý”V˜A˜qœs‘^”^�Ý'Ô+°¸À!ÐDÑDÔD�å)Ô-¨a°b¸bØ=AðCñ Cô C�å˜SœX qÑ)Ô)Ð)Ý”v˜c CšiÑ(Ô(Ð(Ð(Ð(å,Ô3°A¸BÀBØCGðIñ Iô I�å˜Vœ[¨!Ñ,Ô,Ð,Ý”v˜f­¬ wÒ.Ñ/Ô/Ð/Ð/Ð/Ð/ñ0ð	0ð 	0r@   c                 óf  — d}d}d}t          j        ||z  ¦  «        }||z   }t          j        ||ft          ¬¦  «        }t          j        ||¦  «         d|| d …| d …f<   t          t          j                             |¦  «        d¦  «         t          t          j                             |d |…d |…f         ¦  «        t           j	        ¦  «         t          t           j                             |d |…d |…f         ¦  «        d|f¦  «         t          |¦  «        }t          |j        |¦  «         d S )Ng     @�@éd   rF   ©Údtyper   r
   )r7   Úexpr¶   ÚfloatÚfill_diagonalr   rÄ   r¸   Údetr  r   Úslogdetr   rˆ   )rT   Úlarge_total_logÚnposÚnzeroÚlarge_entryrº   r½   r’   s           r>   Útest_large_pseudo_determinantz4TestMultivariateNormal.test_large_pseudo_determinantË  s-  € ð
 !ˆØˆØˆÝ”f˜_¨tÑ3Ñ4Ô4ˆØ�5‰LˆÝŒh˜˜1�v¥UÐ+Ñ+Ô+ˆÝ
Ô˜˜kÑ*Ô*Ð*Ø !ˆˆUˆFˆGˆG�e�V�W�WÐÑõ 	•U”\×%Ò% cÑ*Ô*¨AÑ.Ô.Ð.Ý•U”\×%Ò% c¨%¨4¨%°°$°¨,Ô&7Ñ8Ô8½"¼&ÑAÔAÐAÝ�œ	×)Ò)¨#¨e¨t¨e°U°d°U¨lÔ*;Ñ<Ô<Ø˜OÐ,ñ	.ô 	.ð 	.õ �3‰iŒiˆÝ˜œ oÑ6Ô6Ð6Ð6Ð6r@   c                 ó¸  — t           j                             d¦  «         d}t           j                             ||¦  «        }t          j        ||j        ¦  «        }t           j                             |¦  «        }t           j                             dd|¦  «        }t          j        |||¦  «        }t          j        |||¦  «        }t          d¦  «        D ]‚}t          d¦  «        D ]p}	t          j        |||	f         ||¦  «        }
t          |
|||	f         ¦  «         t          j        |||	f         ||¦  «        }
t          |
|||	f         d¬¦  «         ŒqŒƒd S )Nrî   rc   rF   rG   çü©ñÒMbP?©Úrtol)r7   rŠ   rž   rÝ   r	  r‘   r   r£   r®   r  r   )rT   rº   Údatar½   r¦   r)  Údesired_pdfÚdesired_cdfÚiÚjÚactuals              r>   Útest_broadcastingz(TestMultivariateNormal.test_broadcastingã  sM  € Ý
Œ	�Š�tÑÔÐØˆõ Œy�Š˜q !Ñ$Ô$ˆÝŒf�T˜4œ6Ñ"Ô"ˆÝŒy�Š˜qÑ!Ô!ˆõ ŒI�OŠO˜A˜q !Ñ$Ô$ˆõ *Ô-¨a°°sÑ;Ô;ˆÝ)Ô-¨a°°sÑ;Ô;ˆÝ�q‘”ð 	Eð 	EˆAÝ˜1‘X”Xð Eð E�Ý,Ô0°°1°a°4´¸$ÀÑDÔD�Ý ¨°A°a°CÔ(8Ñ9Ô9Ð9å,Ô0°°1°a°4´¸$ÀÑDÔD�Ý ¨°A°a°CÔ(8¸tÐDÑDÔDÐDÐDðEð	Eð 	Er@   c                 ó6  — t          j        ddd¦  «        }d\  }}|dz  }t          j        |||¦  «        }t	          j        |||¦  «        }t          ||¦  «         t          j        |||¦  «        }t	          j        |||¦  «        }t          ||¦  «         d S )Nr   rF   r#  )ç333333ó?çÍÌÌÌÌÌì?ç      à?)r7   Úlinspacer   r£   r   r   r®   )rT   rZ   r¦   r½   Úscalerø   rù   s          r>   Útest_normal_1Dz%TestMultivariateNormal.test_normal_1Dû  s�   € õ ŒK˜˜1˜bÑ!Ô!ˆØ‰	ˆˆcØ�S‘ˆÝŒX�a˜˜uÑ%Ô%ˆÝ Ô$ Q¨¨cÑ2Ô2ˆÝ˜˜BÑÔÐåŒX�a˜˜uÑ%Ô%ˆÝ Ô$ Q¨¨cÑ2Ô2ˆÝ˜˜BÑÔÐÐÐr@   c                 óŒ  — 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¬¦  «         d S )Nrð   g      @rG  r™   ç333333ã?i  rb   r
   r   rF   rƒ   ©r   r   )ÚlocrI  )r
   r
   ç{®Gáz„?©r<  Úatol)
r7   rÅ   rH  ÚmeshgridÚemptyr   r£   r.   r   r   )rT   r¦   r½   rº   ÚdeltarÙ   ÚxvÚyvÚposr£   Úmargin_xÚmargin_yÚgauss_xÚgauss_ys                 r>   Útest_marginalizationz+TestMultivariateNormal.test_marginalization	  sj  € õ Œx˜˜c˜
Ñ#Ô#ˆÝŒh˜˜S˜	 C¨ 9Ð-Ñ.Ô.ˆØˆØ�Q˜‘U‘ˆåŒK˜˜1˜aÑ Ô ˆÝ”˜Q Ñ"Ô"‰ˆˆBÝŒh˜˜1˜a�yÑ!Ô!ˆØˆˆAˆAˆAˆqˆqˆq�!ˆG‰ØˆˆAˆAˆAˆqˆqˆq�!ˆG‰Ý!Ô% c¨4°Ñ5Ô5ˆõ ˜˜U¨Ð+Ñ+Ô+ˆÝ˜˜U¨Ð+Ñ+Ô+ˆõ ”(˜1 $ q¤'°°T´¸cÑ1AÐBÑBÔBˆÝ”(˜1 $ q¤'°°T´¸cÑ1AÐBÑBÔBˆÝ˜ '°¸4Ð@Ñ@Ô@Ð@Ý˜ '°¸4Ð@Ñ@Ô@Ð@Ð@Ð@r@   c                 óú  — t           j                             d¦  «         t           j                             d¦  «        }t           j                             d¦  «        }t          j        t           j                             d¦  «        ¦  «        }t          ||¦  «        }t          |                     |¦  «        t          j        |||¦  «        ¦  «         t          |                     |¦  «        t          j        |||¦  «        ¦  «         t          | 	                    |¦  «        t          j	        |||¦  «        ¦  «         t          | 
                    |¦  «        t          j
        |||¦  «        ¦  «         d S rõ   )r7   rŠ   rž   rÝ   rò   r   r   r£   r¤   r®   r¯   )rT   rZ   r¦   r½   Únorm_frozens        r>   Útest_frozenz"TestMultivariateNormal.test_frozen"  s:  € å
Œ	�Š�tÑÔÐÝŒI�OŠO˜AÑÔˆÝŒy�Š˜qÑ!Ô!ˆÝŒf•R”Y—_’_ QÑ'Ô'Ñ(Ô(ˆÝ)¨$°Ñ4Ô4ˆÝ˜Ÿš¨Ñ*Ô*Õ,?Ô,CÀAÀtÈSÑ,QÔ,QÑRÔRÐRÝ˜×*Ò*¨1Ñ-Ô-Ý+Ô2°1°d¸CÑ@Ô@ñ	Bô 	Bð 	Bå˜Ÿš¨Ñ*Ô*Õ,?Ô,CÀAÀtÈSÑ,QÔ,QÑRÔRÐRÝ˜×*Ò*¨1Ñ-Ô-Ý+Ô2°1°d¸CÑ@Ô@ñ	Bô 	Bð 	Bð 	Bð 	Br@   rH   rF   r
   c                 óæ   — t          j        d¦  «        }t          j        d¦  «        }t          ||¦  «        }t          j        |j        |¦  «        sJ ‚t          j        |j        |¦  «        sJ ‚d S )N©rF   rF   )r7   rN   rO   r   Úallcloser¦   r½   )rT   rH   r¦   Úcov_should_ber^  s        r>   Ú2test_frozen_multivariate_normal_exposes_attributeszITestMultivariateNormal.test_frozen_multivariate_normal_exposes_attributes0  sh   € õ Œw�t‰}Œ}ˆÝœ˜q™	œ	ˆÝ)¨$°
Ñ;Ô;ˆÝŒ{˜;Ô+¨TÑ2Ô2Ð2Ð2Ð2ÝŒ{˜;œ?¨MÑ:Ô:Ð:Ð:Ð:Ð:Ð:r@   c           
      óÆ  — t           j                             d¦  «         d}t           j                             ||¦  «        }t          j        ||j        ¦  «        }t          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        ¦  «         d S )
Nrî   rd   rG  rÂ   r   çH¯¼šò×z>re   çñhãˆµøä>)Úcond)r7   rŠ   rž   rÝ   r	  r‘   rÄ   r¸   r¹   Úfullrn   r   Úpinvr   rˆ   r�   rö   )	rT   rº   rZ   r½   rá   rà   rh  r’   Úpsd_pinvs	            r>   Útest_pseudodet_pinvz*TestMultivariateNormal.test_pseudodet_pinv>  s  € õ 	Œ	�Š�tÑÔÐØˆÝŒI�OŠO˜A˜qÑ!Ô!ˆÝŒf�Q˜œ‰nŒnˆÝŒ|× Ò  Ñ%Ô%‰ˆˆ1ÝŒG�A�s‰OŒOˆØˆˆ!‰Øˆˆ"‰ÝŒf�Q�œ�rœw q™zœz¨1¬3Ñ/Ô/Ñ0Ô0ˆð ˆÝ�3˜TÐ"Ñ"Ô"ˆÝ˜œ tÐ,Ñ,Ô,ˆõ 	˜œ¥b¤f­R¬V°A°c°r°c´F©^¬^Ñ&<Ô&<Ñ=Ô=Ð=õ 	˜œ˜ xÔ'8Ñ9Ô9Ð9Ð9Ð9r@   c                 óL   — g d¢g d¢g}t          t          t          |¦  «         d S )NrJ   ©rc   ra   rb   ©rê   rL   r   ©rT   r½   s     r>   Útest_exception_nonsquare_covz3TestMultivariateNormal.test_exception_nonsquare_covX  s,   € Øˆyˆy˜)˜)˜)Ð$ˆÝ•j¥$¨Ñ,Ô,Ð,Ð,Ð,r@   c                 óº   — ddgdt           j        gg}t          t          t          |¦  «         ddgdt           j        gg}t          t          t          |¦  «         d S )Nr
   r   )r7   Únanrê   rL   r   r  )rT   Úcov_nanÚcov_infs      r>   Útest_exception_nonfinite_covz3TestMultivariateNormal.test_exception_nonfinite_cov\  sT   € Ø�q�6˜A�rœv˜;Ð'ˆÝ•j¥$¨Ñ0Ô0Ð0Ø�q�6˜A�rœv˜;Ð'ˆÝ•j¥$¨Ñ0Ô0Ð0Ð0Ð0r@   c                 óL   — ddgddgg}t          t          t          |¦  «         d S )Nr
   r   re   ro  rp  s     r>   Útest_exception_non_psd_covz1TestMultivariateNormal.test_exception_non_psd_covb  s,   € Ø�1ˆv˜˜2�wÐˆÝ•j¥$¨Ñ,Ô,Ð,Ð,Ð,r@   c                 óÐ  — t           j                             d¦  «         t           j                             d¦  «        }t           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 ¦  «         d S # 1 swxY w Y   d S )	Nrî   ra   )ra   ra   rÂ   rÃ   z0When `allow_singular is False`, the input matrixrD   ©r½   )r7   rŠ   rž   rÝ   rN   r¸   ÚLinAlgErrorrê   r   r£   r¤   r®   r¯   rK   r	   )rT   rZ   r¦   r½   ÚeÚmsgs         r>   Útest_exception_singular_covz2TestMultivariateNormal.test_exception_singular_covf  sx  € Ý
Œ	�Š�tÑÔÐÝŒI�OŠO˜AÑÔˆÝŒy�Š˜qÑ!Ô!ˆÝŒg�f‰oŒoˆÝŒIÔ!ˆÝ�aÕ,¨d°CÑ8Ô8Ð8Ý�aÕ,Ô0°!°T¸3Ñ?Ô?Ð?Ý�aÕ,Ô3°Q¸¸cÑBÔBÐBÝ�aÕ,Ô0°!°T¸3Ñ?Ô?Ð?Ý�aÕ,Ô3°Q¸¸cÑBÔBÐBð �Bˆx˜"˜b˜Ð"ˆØ@ˆÝŒ]�2œ9Ô0¸Ð<Ñ<Ô<ð 	)ð 	)Ý CÐ(Ñ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s   Ä=EÅEÅ"Ec                 ó   — 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¬¦  «         d S )N)g¥0Ò÷Q-?gox'‚¤V?g[S,¸� t?gäúóDB…?g³èc_.¹Œ?r   rF   ra   rG   )r
   rG   rF   Úd©r
   rF   r   )rF   ra   rG  )r   rG  rG   ç»½×Ùß|Û=©rQ  )gwÐk:¢E]?gë®Ì™ýZ›?g¶0Ëñµ?gLÿß8»?gA¿G*ÀÐ?gñhãˆµøô>)gòIÙ‰?gˆï—Gå­?gÆ�)å‰Ç?gÄ—h»Ú?g•™óEEå?r
   rg  )	r7   rÅ   rH  Úcosr‘   r   r£   r   r®   )rT   Úr_pdfrZ   r  r  r&  r¦   r½   r£   Úr_cdfr®   Úr_cdf2Úr2Úmean2Úcov2Úcdf2s                   r>   Útest_R_valuesz$TestMultivariateNormal.test_R_valuesy  sº  € õ ”ð 6ð 6ð 6ñ 7ô 7ˆõ ŒK˜˜1˜aÑ Ô ˆØ�‰E�A‰IˆØ•”�q‘	”	‰MˆÝŒH�a˜˜A�YÑÔÔ!ˆåŒx˜	˜	˜	 3Ñ'Ô'ˆÝŒh˜	˜	˜	 : : :¨z¨z¨zÐ:¸CÑ@Ô@ˆå!Ô% a¨¨sÑ3Ô3ˆÝ˜˜U¨Ð/Ñ/Ô/Ð/õ ”ð 6ð 6ð 6ñ 7ô 7ˆõ "Ô% a¨¨sÑ3Ô3ˆÝ˜˜U¨Ð.Ñ.Ô.Ð.õ ”ð 3ð 3ð 3ñ 4ô 4ˆõ ŒX�q˜!�fÑÔÔˆå”˜!˜Q˜ Ñ%Ô%ˆÝŒx˜!˜Q˜ ! Q Ð(¨#Ñ.Ô.ˆå"Ô& r¨5°$Ñ7Ô7ˆÝ˜˜f¨4Ð0Ñ0Ô0Ð0Ð0Ð0r@   c                 óÆ   — t          j        d¦  «        }t          j        d¦  «        }t          ||d¬¦  «        }|                     ¦   «         }t	          |ddg¦  «         d S )NrF   ©rF   rF   TrX   r   )r7   r¶   r   rŸ   r   )rT   r¦   rH   ÚmodelÚsamples        r>   Ú,test_multivariate_normal_rvs_zero_covariancezCTestMultivariateNormal.test_multivariate_normal_rvs_zero_covariance¹  sY   € ÝŒx˜‰{Œ{ˆÝ”X˜fÑ%Ô%ˆ
Ý# D¨*ÀTÐJÑJÔJˆØ—’‘”ˆÝ�V˜a ˜VÑ$Ô$Ð$Ð$Ð$r@   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¬¦  «        }|                     |¦  «        }t	          |j        |f¦  «         d S )	Ni,  rc   r
   r$  rF   r˜   r   rÁ   )r   rŸ   r7   r¶   r   r9   rÅ   )rT   ÚNr€  r�  rà   s        r>   Útest_rvs_shapez%TestMultivariateNormal.test_rvs_shapeÀ  sÌ   € ð ˆØˆÝ$Ô(­b¬h°q©k¬k¸qÀqÐIÑIÔIˆÝ�V”\ A q 6Ñ*Ô*Ð*å$Ô(¨dÝ-/¬X¸¸2°wÀÀQÀÐ6HÑ-IÔ-IØ./ð1ñ 1ô 1ˆõ 	�V”\ A q 6Ñ*Ô*Ð*å Q¨AÐ.Ñ.Ô.ˆØ—’�q‘”ˆÝ�V”\ A 5Ñ)Ô)Ð)Ð)Ð)r@   c                 óÆ  — t           j                             d¦  «         d}t           j                             |¦  «        }t           j                             ||¦  «        }t          j        ||j        ¦  «        }d}t          j        |||¦  «        }t          t          j	        |j        ¦  «        |d¬¦  «         t          | 
                    d¦  «        |d¬¦  «         d S )Né  rG   éˆ  r˜   r;  r   )r7   rŠ   rž   rÝ   r	  r‘   r   rŸ   r   r½   r¦   )rT   rº   r¦   rß   r½   r   r�  s          r>   Útest_large_samplez(TestMultivariateNormal.test_large_sampleÑ  sµ   € õ 	Œ	�Š�tÑÔÐàˆÝŒy�Š˜qÑ!Ô!ˆÝŒI�OŠO˜A˜qÑ!Ô!ˆÝŒf�Q˜œ‰nŒnˆØˆå$Ô(¨¨s°DÑ9Ô9ˆå�œ˜vœxÑ(Ô(¨#°DÐ9Ñ9Ô9Ð9Ý˜Ÿš A™œ¨°4Ð8Ñ8Ô8Ð8Ð8Ð8r@   c                 ó´  — t           j                             d¦  «         d}t           j                             |¦  «        }t           j                             ||¦  «        }t          j        ||j        ¦  «        }t          ||¦  «        }t          |                     ¦   «         t          j        ||¦  «        ¦  «         t           j	         
                    |¦  «        d         }d|t          j        dt           j        z  ¦  «        dz   z  t          j        t          j        |¦  «        ¦  «        z   z  }t          ||                     ¦   «         ¦  «         d S )Nr–  rG   r   rG  rF   r
   )r7   rŠ   rž   rÝ   r	  r‘   r   r   r¥   r¸   Úeigrö   Úpir�   )rT   rº   r¦   rß   r½   r¾   ÚeigsÚdesireds           r>   Útest_entropyz#TestMultivariateNormal.test_entropyâ  sþ   € Ý
Œ	�Š�tÑÔÐàˆÝŒy�Š˜qÑ!Ô!ˆÝŒI�OŠO˜A˜qÑ!Ô!ˆÝŒf�Q˜œ‰nŒnˆå   sÑ+Ô+ˆõ 	˜BŸJšJ™LœLÕ*=Ô*EÀdÈCÑ*PÔ*PÑQÔQÐQõ Œy�}Š}˜SÑ!Ô! !Ô$ˆØ˜1¥¤ q­2¬5¡yÑ 1Ô 1°AÑ 5Ñ6½¼ÅÄÀtÁÄÑ9MÔ9MÑMÑNˆÝ˜G R§Z¢Z¡\¤\Ñ2Ô2Ð2Ð2Ð2r@   c                 ó”   — t          j        g d¢¦  «        }d}t          t          j        t	          |¦  «        ¦  «        |¦  «         d S )N©r
   r
   r
   rG  )r7   rÅ   r   r/  r   )rT   Úalphar�  s      r>   Útest_lnBzTestMultivariateNormal.test_lnBô  s@   € Ý”˜˜˜Ñ#Ô#ˆØˆå�BœF¥4¨¡;¤;Ñ/Ô/°Ñ9Ô9Ð9Ð9Ð9r@   c                 ó¦  — t           j                             d¦  «        }ddg}t          j        d¦  «        }|                     d¦  «        dz  dz
  }|                     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          ||¦  «         d S )Nì   FòYc@Y r   rF   )rc   rG   rF   rb   rG   ©Úlower_limit.r
   re   rƒ   )r7   rŠ   r‹   rO   r   r®   Úconcatenater   )rT   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ú  sX  € åŒi×#Ò#Ð$7Ñ8Ô8ˆØ�1ˆvˆÝŒf�Q‰iŒiˆØ�JŠJ�yÑ!Ô! !Ñ# aÑ'ˆØ�JŠJ�yÑ!Ô! !Ñ# aÑ'ˆå"Ô& q¨$°ÀÐCÑCÔCˆå#Ô'¨¨4°Ñ5Ô5ˆÝ#Ô'¨¨4°Ñ5Ô5ˆÝŒn˜a  Q q S œk¨1¨S°!°A°#¨X¬;Ð7¸bÐAÑAÔAˆÝŒn˜a  Q q S œk¨1¨S°!°A°#¨X¬;Ð7¸bÐAÑAÔAˆÝ%Ô)¨#¨t°SÑ9Ô9ˆÝ%Ô)¨#¨t°SÑ9Ô9ˆØ�u‰}˜wÑ&¨Ñ0ˆå˜˜dÑ#Ô#Ð#Ð#Ð#r@   c                 óÀ  — t           j                             d¦  «        }|                     d¦  «        }|                     d¦  «        }||j        z  }|                     d¦  «        dz  dz
  }|                     d¦  «        dz  dz
  }t	          j        ||||¬¦  «        }t	          ||¦  «                             ||¬¦  «        }t          j        t	          j        ||||¬¦  «        ¦  «        }t          j        t	          ||¦  «                             ||¬¦  «        ¦  «        }	t          ||d¬¦  «         t          ||d¬¦  «         t          |	|d¬¦  «         d S )	Nr¤  rG   ©rG   rG   ©rF   rG   rb   r¥  ç-Cëâ6?r;  )	r7   rŠ   r‹   r‘   r   r®   r/  r¯   r   )
rT   r”   r¦   r½   r¨  r©  rª  r‹  Úcdf3Úcdf4s
             r>   Ú%test_cdf_with_lower_limit_consistencyz<TestMultivariateNormal.test_cdf_with_lower_limit_consistency  sJ  € åŒi×#Ò#Ð$7Ñ8Ô8ˆØ�zŠz˜!‰}Œ}ˆØ�jŠj˜Ñ Ô ˆØ�C”E‰kˆØ�JŠJ�vÑÔ˜qÑ  1Ñ$ˆØ�JŠJ�vÑÔ˜qÑ  1Ñ$ˆå"Ô& q¨$°ÀÐCÑCÔCˆÝ" 4¨Ñ-Ô-×1Ò1°!ÀÐ1ÑCÔCˆÝŒvÕ)Ô0°°D¸#È1ÐMÑMÔMÑNÔNˆÝŒvÕ)¨$°Ñ4Ô4×;Ò;¸AÈ1Ð;ÑMÔMÑNÔNˆå˜˜d¨Ð.Ñ.Ô.Ð.Ý˜˜d¨Ð.Ñ.Ô.Ð.Ý˜˜d¨Ð.Ñ.Ô.Ð.Ð.Ð.r@   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  ¦  «         d S )	NrG   r   rf   ©r
   r   r
   ©r   r
   r   ©r
   re   re   r
   r¥  r   ©r7   r¶   rO   rÅ   r   r®   r   )rT   r¦   r½   r©  r¨  Úexpected_signsr®   s          r>   Útest_cdf_signsz%TestMultivariateNormal.test_cdf_signs   s£   € åŒx˜‰{Œ{ˆÝŒf�Q‰iŒiˆØˆYˆY˜	˜	˜	 9 9 9¨i¨i¨iÐ8ˆØˆYˆY˜	˜	˜	 9 9 9¨i¨i¨iÐ8ˆåœ . . .Ñ1Ô1ˆÝ!Ô% a¨¨sÀÐBÑBÔBˆÝ˜˜S œV NÑ2Ñ3Ô3Ð3Ð3Ð3r@   c                 ó   — t          j        dt          j        g d¢¦  «        z  ¦  «        }t          j        |¦  «        }d}t          j        t          |¬¦  «        5  t          j	        ddg|¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          ddg|¦  «         d d d ¦  «         n# 1 swxY w Y   g d¢}t          j
        |g d¢|¦  «        }t          t          j
        ||¬¦  «        |¦  «         t          j
        |g d	¢|¦  «        }t          t          j
        |d|¬¦  «        |¦  «         d S )
Nr
   rJ   z7`cov` represents a covariance matrix in 3 dimensions...rD   r   )rG  rG  rG  rf   rz  r   )r7   rn   rÅ   r+   rM   rK   r	   rL   r   r¥   r£   r   )rT   ÚPr“   rU   rZ   r;   s         r>   Útest_mean_covz$TestMultivariateNormal.test_mean_cov+  s¿  € åŒG�A�œ   Ñ+Ô+Ñ+Ñ,Ô,ˆÝ Ô0°Ñ3Ô3ˆ
àKˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	<ð 	<ÝÔ'¨¨A¨°
Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<õ Œ]�:¨WÐ5Ñ5Ô5ð 	4ð 	4Ý  A ¨
Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð ˆOˆOˆÝ!Ô% a¨¨¨°JÑ?Ô?ˆÝÕ(Ô,¨Q°JÐ?Ñ?Ô?ÀÑEÔEÐEå!Ô% a¨¨¨°JÑ?Ô?ˆÝÕ(Ô,¨Q°°zÐBÑBÔBÀCÑHÔHÐHÐHÐHs$   ÁBÂBÂBÂ'CÃC
ÃC
c                 ó¢   — ddg}d}t          j        t          |¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr
   rG   z`x` must be two-dimensional.rD   )rK   r	   rL   r   Úfit)rT   r=  Ú	error_msgs      r>   Útest_fit_wrong_fit_data_shapez4TestMultivariateNormal.test_fit_wrong_fit_data_shape>  sš   € Ø�1ˆvˆØ2ˆ	ÝŒ]�:¨YÐ7Ñ7Ô7ð 	*ð 	*ÝÔ# DÑ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*s   ¢AÁAÁArÖ   )rG   ra   c                 óJ  — t           j                             d¦  «        }|                     d|f¦  «        }t          j        |¦  «        \  }}t          j        |d¬¦  «        t          j        |j        d¬¦  «        }}t          ||d¬¦  «         t          ||d¬¦  «         d S )	Nì   ¼@‡,„Q| r,  r   rƒ   )ÚddofçVçž¯Ò<rƒ  r;  )	r7   rŠ   r‹   r   rÄ  r¦   r½   r‘   r   )rT   rÖ   r”   rZ   Úmean_estÚcov_estÚmean_refÚcov_refs           r>   Útest_fit_correctnessz+TestMultivariateNormal.test_fit_correctnessD  s›   € åŒi×#Ò#Ð$4Ñ5Ô5ˆØ�JŠJ˜˜S�zÑ"Ô"ˆÝ/Ô3°AÑ6Ô6Ñˆ�'ÝœG A¨AÐ.Ñ.Ô.µ´°q´sÀÐ0CÑ0CÔ0C�'ˆÝ˜ (°Ð7Ñ7Ô7Ð7Ý˜ ¨uÐ5Ñ5Ô5Ð5Ð5Ð5r@   c                 óÐ   — t          j        dd¦  «        }d}t          j        d¦  «        }t          j        |||¬¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )N)rF   r
   rG   rÂ   )Úfix_meanÚfix_cov)r7   ri  Ú
atleast_2dr   rÄ  r   )rT   r=  Ú
mean_fixedÚ	cov_fixedr¦   r½   s         r>   Útest_fit_both_parameters_fixedz5TestMultivariateNormal.test_fit_both_parameters_fixedM  so   € ÝŒw�v˜qÑ!Ô!ˆØˆ
Ý”M "Ñ%Ô%ˆ	Ý'Ô+¨D¸:Ø4=ð?ñ ?ô ?‰	ˆˆcå�T˜:Ñ&Ô&Ð&Ý�S˜)Ñ$Ô$Ð$Ð$Ð$r@   rÑ  rŽ  ©rG   c                 óÂ   — d}t          j        t          |¬¦  «        5  t          j        t          j        d¦  «        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzd`fix_mean` must be a one-dimensional array the same length as the dimensionality of the vectors `x`.rD   rF   ©rÑ  ©rK   r	   rL   r   rÄ  r7   rO   )rT   rÑ  r}  s      r>   Ú"test_fit_fix_mean_input_validationz9TestMultivariateNormal.test_fit_fix_mean_input_validationV  sµ   € ðCˆåŒ]�:¨SÐ1Ñ1Ô1ð 	Bð 	BÝÔ#¥B¤F¨1¡I¤I¸ÐAÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bó   ž)AÁAÁArÒ  ra  )rG   rF   )rc   rc   c                 óÂ   — d}t          j        t          |¬¦  «        5  t          j        t          j        d¦  «        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzn`fix_cov` must be a two-dimensional square array of same side length as the dimensionality of the vectors `x`.rD   rG   ©rÒ  rÚ  )rT   rÒ  r}  s      r>   Ú+test_fit_fix_cov_input_validation_dimensionzBTestMultivariateNormal.test_fit_fix_cov_input_validation_dimension^  s¶   € ðˆõ Œ]�:¨SÐ1Ñ1Ô1ð 	@ð 	@ÝÔ#¥B¤F¨1¡I¤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 ¦  «         d S # 1 swxY w Y   d S )Nz2`fix_cov` must be symmetric positive semidefinite.rD   rÂ   rÃ   g      ð¿rF   rÞ  )rK   r	   rL   r7   rÅ   r   rÄ  rO   )rT   rÅ  rÒ  s      r>   Ú*test_fit_fix_cov_not_positive_semidefinitezATestMultivariateNormal.test_fit_fix_cov_not_positive_semidefiniteh  sÎ   € ØHˆ	ÝŒ]�:¨YÐ7Ñ7Ô7ð 	@ð 	@Ý”h  R ¨2¨s¨)Ð4Ñ5Ô5ˆGÝÔ#¥B¤F¨1¡I¤I°wÐ?Ñ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð 	@ð 	@s   žAA.Á.A2Á5A2c                 ó   — t           j                             d¦  «        }|                     d¦  «        }|                     d¦  «        }t          j        ||j        ¦  «        }t          j        ||d|¬¦  «        }t          j        |¦  «        \  }}t          j        |||¬¦  «         	                    ¦   «         }t          j        ||¬¦  «        \  }	}
t          |	|¦  «         t          j        ||	|
¬¦  «         	                    ¦   «         }||k     sJ ‚|                     d¦  «        }dt          j        ||j        ¦  «        z  }|
|z   }t          j        ||	|¬¦  «         	                    ¦   «         }||k     sJ ‚d S )	NrÈ  rG   r³  r,  ©r¦   r½   r   rœ   rÁ   rÙ  ç:Œ0âŽyE>)r7   rŠ   r‹   r	  r‘   r   rŸ   rÄ  r¤   r�   r   )rT   r”   rN  rt   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_meann  sŠ  € ÝŒi×#Ò#Ð$4Ñ5Ô5ˆØ�jŠj˜‰mŒmˆØ�JŠJ�vÑÔˆÝŒf�Q˜œ‰nŒnˆÝ%Ô)¨s¸À#Ø7:ð<ñ <ô <ˆå1Ô5°gÑ>Ô>Ñˆ	�8Ý'Ô.¨w¸YØ3;ð=ñ =ô =ß=@ºS¹U¼Uð 	å/Ô3°GÀcÐJÑJÔJÑˆ�'Ý�X˜sÑ#Ô#Ð#Ý&Ô-¨g¸HØ29ð;ñ ;ô ;ß;>º3¹5¼5ð 	ð ˜)Ò#Ð#Ð#Ð#ð �JŠJ�vÑÔˆØ•2”6˜!˜QœS‘>”>Ñ!ˆØ !™ˆÝ-Ô4°WØ:BØ9FðHñ Hô H÷ 8;²s±u´uð 	ð  Ò(Ð(Ð(Ð(Ð(Ð(r@   c                 ó  — t           j                             d¦  «        }|                     d¦  «        }|                     d¦  «        }t          j        ||j        ¦  «        }t          j        ||d|¬¦  «        }t          j        |¦  «        \  }}t          j        |||¬¦  «         	                    ¦   «         }t          j        ||¬¦  «        \  }	}
t          |	t          j        |d¬	¦  «        ¦  «         t          |
|¦  «         t          j        ||	|
¬¦  «         	                    ¦   «         }||k     sJ ‚|	d
|                     d¦  «        z  z   }t          j        |||
¬¦  «         	                    ¦   «         }||k     sJ ‚d S )NrÈ  rG   r³  r,  rã  rÁ   rÞ  r   rƒ   rä  )r7   rŠ   r‹   r	  r‘   r   rŸ   rÄ  r¤   r�   r   r¦   )rT   r”   rN  rt   r½   rå  ræ  rç  rè  ré  rê  rë  Úmean_perturbedrî  s                 r>   Útest_fit_fix_covz'TestMultivariateNormal.test_fit_fix_cov‹  s•  € ÝŒi×#Ò#Ð$4Ñ5Ô5ˆØ�jŠj˜‰mŒmˆØ�JŠJ�vÑÔˆÝŒf�Q˜œ‰nŒnˆÝ%Ô)¨s¸Ø/2ÀðFñ Fô Fˆå1Ô5°gÑ>Ô>Ñˆ	�8Ý'Ô.¨w¸YØ3;ð=ñ =ô =ß=@ºS¹U¼Uð 	å/Ô3°GÀSÐIÑIÔIÑˆ�'Ý�X�rœw w°QÐ7Ñ7Ô7Ñ8Ô8Ð8Ý�W˜cÑ"Ô"Ð"Ý&Ô-¨g¸HØ29ð;ñ ;ô ;ß;>º3¹5¼5ð 	ð ˜)Ò#Ð#Ð#Ð#ð " D¨3¯:ª:°a©=¬=Ñ$8Ñ8ˆÝ-Ô4°WØ:HØ9@ðBñ Bô B÷ 8;²s±u´uð 	ð  Ò(Ð(Ð(Ð(Ð(Ð(r@   N)1rÈ   rÉ   rÊ   rì   ró   rú   r  r  r  r  r!  r*  r8  rC  rJ  r\  r_  rK   rÏ   rÐ   r7   rO   r,   Úfrom_diagonalrd  rl  rq  rv  rx  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ä   $  sf  € € € € € ðOð Oð Oð"ð "ð "ð6(ð (ð (ð(ð (ð (ð(ð (ð (ð(ð (ð (ð	?ð 	?ð 	?ð26ð 26ð 26ðh0ð 0ð 0ð,7ð 7ð 7ð0Eð Eð Eð0 ð  ð  ðAð Að Að2Bð Bð Bð „[×ÒØàˆBŒF�1‰IŒIØ$ˆJÔ$ a¨ VÑ,Ô,ð	
ñô ð;ð ;ñô ð;ð:ð :ð :ð4-ð -ð -ð1ð 1ð 1ð-ð -ð -ð)ð )ð )ð&>1ð >1ð >1ð@%ð %ð %ð*ð *ð *ð"9ð 9ð 9ð"3ð 3ð 3ð$:ð :ð :ð$ð $ð $ð(/ð /ð /ð$	4ð 	4ð 	4ðIð Ið Ið&*ð *ð *ð „[×Ò˜U FÑ+Ô+ð6ð 6ñ ,Ô+ð6ð%ð %ð %ð „[×Ò˜Z¨(¨"¬(°6Ñ*:Ô*:Ø*2¨"¬(°5©/¬/ð*;ñ <ô <ðBð Bñ<ô <ðBð „[×Ò˜Y¨¨¬°%©¬Ø)1¨¬°&Ñ)9Ô)9Ø)1¨¬°&Ñ)9Ô)9ð);ñ <ô <ð@ð @ñ<ô <ð@ð@ð @ð @ð)ð )ð )ð:)ð )ð )ð )ð )r@   rä   c                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚTestMatrixNormalc           
      ó\  — 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¦  «        |¦  «         d S )Nrc   rG   rš   rG  çffffffæ?)ra   rc   rG   r#  )r7   ri  ré   rê   rL   r   r¶   r‘   r¸   r{  rŸ   rN   )rT   Únum_rowsÚnum_colsrß   rŒ   ÚVr|  s          r>   Útest_bad_inputzTestMatrixNormal.test_bad_input©  sÎ  € àˆØˆÝŒG�X˜hÐ'¨Ñ-Ô-ˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆõ 	•j¥-µ´¸'Ñ1BÔ1BÑCÔCÐCÝ•j¥-°µB´H¸R±L´LÀ!ÑDÔDÐDÝ•j¥-°°Aµr´xÀ±|´|ÑDÔDÐDÝ•j¥-°°A°qÑ9Ô9Ð9Ý•j¥-°°A°qÑ9Ô9Ð9Ý•j¥-°´°a¸Ñ;Ô;Ð;åŒIÔ!ˆå�a�Ô*Ø˜�BœG X¨xÐ$8Ñ9Ô9ñ	;ô 	;ð 	;å�a�Ô*Ø�œ (¨HÐ!5Ñ6Ô6¸ñ	;ô 	;ð 	;õ 	�a�¨¨1­b¬g°xÀÐ6JÑ.KÔ.KÑLÔLÐLÝ�a�¨­2¬7°H¸hÐ3GÑ+HÔ+HÈ!ÑLÔLÐLÐLÐLr@   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
        |¦  «         d S )Nrc   rG   rš   rG  r÷  r
   ©r¦   ÚrowcovÚcolcov)r¦   )rþ  )rÿ  )r¦   rÿ  )r¦   rþ  )rþ  rÿ  )r7   ri  ré   r¶   r   r   rŸ   r9   rþ  rÿ  r¦   )rT   rø  rù  rß   rŒ   rú  ÚZÚZrÚZcÚIrÚIcÚI1s               r>   Útest_default_inputsz$TestMatrixNormal.test_default_inputsÃ  s:  € àˆØˆÝŒG�X˜hÐ'¨Ñ-Ô-ˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆÝŒH�h Ð)Ñ*Ô*ˆÝŒX�x �mÑ$Ô$ˆÝŒX�q˜(�mÑ$Ô$ˆÝŒ[˜Ñ"Ô"ˆÝŒ[˜Ñ"Ô"ˆÝŒ[˜‰^Œ^ˆå•]Ô&¨A°aÀÐBÑBÔBÔHØ Ð)ñ	+ô 	+ð 	+å•]Ô&¨AÐ.Ñ.Ô.Ô4Ø Ð)ñ	+ô 	+ð 	+å•]Ô&¨aÐ0Ñ0Ô0Ô6Ø �]ñ	$ô 	$ð 	$å•]Ô&¨aÐ0Ñ0Ô0Ô6Ø˜�]ñ	$ô 	$ð 	$å•]Ô&¨A°aÐ8Ñ8Ô8Ô>Ø Ð)ñ	+ô 	+ð 	+å•]Ô&¨A°aÐ8Ñ8Ô8Ô>Ø Ð)ñ	+ô 	+ð 	+å•]Ô&¨a¸Ð:Ñ:Ô:Ô@Ø Ð)ñ	+ô 	+ð 	+õ 	•]¨Ð*Ñ*Ô*Ô1°2Ñ6Ô6Ð6Ý•]¨Ð*Ñ*Ô*Ô1°2Ñ6Ô6Ð6Ý•]¨!Ð,Ñ,Ô,Ô1°2Ñ6Ô6Ð6Ý•]¨!Ð,Ñ,Ô,Ô3°RÑ8Ô8Ð8Ý•]¨!Ð,Ñ,Ô,Ô1°2Ñ6Ô6Ð6Ý•]¨!Ð,Ñ,Ô,Ô3°RÑ8Ô8Ð8Ý•]¨°!Ð4Ñ4Ô4Ô;¸RÑ@Ô@Ð@Ý•]¨°!Ð4Ñ4Ô4Ô;¸RÑ@Ô@Ð@Ý•]¨!°AÐ6Ñ6Ô6Ô;¸QÑ?Ô?Ð?Ð?Ð?r@   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  ¦  «         d S )Nrc   rG   rš   r™   r˜   rý  )r7   ri  ré   r   r   rþ  rÿ  )
rT   rø  rù  rß   ÚUvÚUsÚVvÚVsr  r  s
             r>   Útest_covariance_expansionz*TestMatrixNormal.test_covariance_expansionê  s*  € àˆØˆÝŒG�X˜xÐ(¨#Ñ.Ô.ˆÝŒW�X˜sÑ#Ô#ˆØˆÝŒW�X˜sÑ#Ô#ˆØˆåŒ[˜Ñ"Ô"ˆÝŒ[˜Ñ"Ô"ˆå•]¨°"¸RÐ@Ñ@Ô@ÔGØ˜‘Vñ	ô 	ð 	å•]¨°"¸RÐ@Ñ@Ô@ÔGØ˜‘Vñ	ô 	ð 	å•]¨°"¸RÐ@Ñ@Ô@ÔGØ˜‘Vñ	ô 	ð 	å•]¨°"¸RÐ@Ñ@Ô@ÔGØ˜‘Vñ	ô 	ð 	ð 	ð 	r@   c                 ó  — t          dd¦  «        D �]m}t          dd¦  «        D �]X}t          j        ||fd¦  «        }dt          j        |¦  «        z  t          j        ||fd¦  «        z   }dt          j        |¦  «        z  t          j        ||fd¦  «        z   }t	          |||¬¦  «        }|                     d¬¦  «        }t	          j        |||d¬	¦  «        }t          ||¦  «         |                     d¬¦  «        }	|                     |	¦  «        }
t	          j        |	|||¬¦  «        }t          |
|¦  «         |                     |	¦  «        }t	          j        |	|||¬¦  «        }t          ||¦  «         �ŒZ�Œod S )
Nr
   ra   rš   rG  r÷  rý  rî   rµ   )r¦   rþ  rÿ  rœ   )	r  r7   ri  ré   r   rŸ   r   r£   r¤   )rT   r@  rA  rß   rŒ   rú  ÚfrozenÚrvs1Úrvs2r)  Úpdf1Úpdf2Úlogpdf1Úlogpdf2s                 r>   Útest_frozen_matrix_normalz*TestMatrixNormal.test_frozen_matrix_normal   s�  € Ý�q˜‘”ð 	/ñ 	/ˆAÝ˜1˜Q‘Z”Zð /ñ /�Ý”G˜Q˜q˜E 3Ñ'Ô'�Ø�"œ+ a™.œ.Ñ(­2¬7°A°a°5¸#Ñ+>Ô+>Ñ>�Ø�"œ+ a™.œ.Ñ(­2¬7°A°a°5¸#Ñ+>Ô+>Ñ>�å&¨A°aÀÐBÑBÔB�à—z’z¨t�zÑ4Ô4�Ý$Ô(¨a¸À!Ø6:ð<ñ <ô <�å˜T 4Ñ(Ô(Ð(à—J’J¨D�JÑ1Ô1�à—z’z !‘}”}�Ý$Ô(¨°¸1ÀQÐGÑGÔG�Ý˜T 4Ñ(Ô(Ð(à Ÿ-š-¨Ñ*Ô*�Ý'Ô.¨q°qÀÈ1ÐMÑMÔM�Ý˜W gÑ.Ô.Ð.Ñ.ñ)/ð	/ð 	/r@   c                 óŽ  — 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	          |||¬¦  «        }|                     d¬¦  «        }|                     |¦  «        }|                     |¦  «        }	|                     ¦   «         }
|j	         
                    ¦   «         }|j	         
                    ¦   «         }t          j        ||¦  «        }t          j        |||¬	¦  «        }t          j        |||¬	¦  «        }t          j        ||¬	¦  «        }t          ||d
¬¦  «         t          |	|d
¬¦  «         t          |
|¦  «         �ŒŸ�Œ´d S )Nr
   ra   rš   rG  r÷  rý  rî   rµ   rÁ   r‚  r;  )r  r7   ri  ré   r   rŸ   r£   r¤   r¥   r‘   ÚflattenÚkronr   r   )rT   r@  rA  rß   rŒ   rú  r  r)  r  r  Úentropy1ÚvecXÚvecMr½   r  r  Úentropy2s                    r>   Útest_matches_multivariatez*TestMatrixNormal.test_matches_multivariate  s§  € õ �q˜‘”ð 	4ñ 	4ˆAÝ˜1˜Q‘Z”Zð 4ñ 4�Ý”G˜Q˜q˜E 3Ñ'Ô'�Ø�"œ+ a™.œ.Ñ(­2¬7°A°a°5¸#Ñ+>Ô+>Ñ>�Ø�"œ+ a™.œ.Ñ(­2¬7°A°a°5¸#Ñ+>Ô+>Ñ>�å&¨A°aÀÐBÑBÔB�Ø—J’J¨D�JÑ1Ô1�Ø—z’z !‘}”}�Ø Ÿ-š-¨Ñ*Ô*�Ø!Ÿ>š>Ñ+Ô+�à”s—{’{‘}”}�Ø”s—{’{‘}”}�Ý”g˜a ‘l”l�Ý*Ô.¨t¸$ÀCÐHÑHÔH�Ý-Ô4°TÀÈ#ÐNÑNÔN�Ý.Ô6¸DÀcÐJÑJÔJ�å  d°Ð7Ñ7Ô7Ð7Ý ¨°uÐ=Ñ=Ô=Ð=Ý ¨(Ñ3Ô3Ð3Ñ3ñ)4ð	4ð 	4r@   c           	      óX  — 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          |||¬¦  «        }|                     |d¬	¦  «        }|                     |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¦  «         | 	                    |
¦  «        }t          |j        d|f¦  «         t          d¦  «        D ]M}t          |¦  «        D ];}t          j	        |
||f         |||¬¦  «        }t          ||||f         d¦  «         Œ<ŒNd S )Nrc   rG   rš   rG  r÷  r#  rý  rî   r›   iá  r   rƒ   rF   r‚  )r7   ri  ré   r   rŸ   r§  Únewaxisr   r9   r¤   r  r   )rT   rø  rù  rß   rŒ   rú  r“  r  ÚX1ÚX2r)  Úarray_logpdfr@  rA  Úseparate_logpdfs                  r>   Útest_array_inputz!TestMatrixNormal.test_array_input2  sÖ  € àˆØˆÝŒG�X˜hÐ'¨Ñ-Ô-ˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØˆå A¨a¸Ð:Ñ:Ô:ˆØ�ZŠZ˜Q¨TˆZÑ2Ô2ˆØ�ZŠZ˜Q¨TˆZÑ2Ô2ˆÝŒN˜B�rœz¨!¨!¨!¨A¨A¨A¨a¨a¨aÐ/Ô0°µB´J¸q¸q¸qÀÀÀÀ1À1À1Ð4DÔ1EÐFÈQÐOÑOÔOˆÝ�Q”W˜q ! X¨xÐ8Ñ9Ô9Ð9à—}’} QÑ'Ô'ˆÝ�\Ô'¨!¨Q¨Ñ0Ô0Ð0Ý�q‘”ð 	Kð 	KˆAÝ˜1‘X”Xð Kð K�Ý"/Ô"6°q¸¸1¸´vÀAØ>?Èð#Kñ #Kô #K�å °¸aÀ¸cÔ1BÀEÑJÔJÐJÐJðKð	Kð 	Kr@   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          |||¬¦  «        }|                     |d¬	¦  «        }t          j        |d
¬¦  «        }	t          |	|d¬¦  «         t          j        |                     ||z  |¦  «        j	        ¦  «        }
t          |
|d¬¦  «         t          j        t          j
        |dd¦  «                             ||z  |¦  «        j	        ¦  «        }t          ||d¬¦  «         d S )Nrc   rG   rš   rG  r÷  éè  rý  rî   r›   r   rƒ   r˜   rƒ  r
   rF   )r7   ri  ré   r   rŸ   r¦   r   r½   Úreshaper‘   Úswapaxes)rT   rø  rù  rß   rŒ   rú  r“  r  r)  Úsample_meanÚsample_colcovÚsample_rowcovs               r>   Útest_momentszTestMatrixNormal.test_momentsI  sb  € àˆØˆÝŒG�X˜hÐ'¨Ñ-Ô-ˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØˆå A¨a¸Ð:Ñ:Ô:ˆØ�JŠJ˜A¨DˆJÑ1Ô1ˆå”g˜a QÐ'Ñ'Ô'ˆÝ˜ Q¨SÐ1Ñ1Ô1Ð1åœ˜qŸyšy¨¨8©°HÑ=Ô=Ô?Ñ@Ô@ˆÝ˜ q¨sÐ3Ñ3Ô3Ð3åœ�rœ{¨1¨Q¨qÑ1Ô1×9Ò9Ø89¸(¹
À8ñ Mô  MÜMNñPô Pˆå˜ q¨sÐ3Ñ3Ô3Ð3Ð3Ð3r@   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                             d¦  «        d¬	¦  «        }t          j        d
dgddggddgddggg¦  «        }t          ||¦  «         d S )Nr
   rF   rG   rc   re   ra   r#  r   )r¦   rþ  rÿ  rœ   r   g¡6‚ÿø?gÇ€À Üó¿g‚¡c´Ï¿@g—ì"ç'ë@gI2Í–é@g^½€Òjy%@gøDn3Á@gëž|\3@)r   rŸ   r7   rÅ   rŠ   r‹   r   )rT   rB  Úexpecteds      r>   Útest_sampleszTestMatrixNormal.test_samples_  sÝ   € õ Ô"Ý”˜A˜q˜6 A q 6Ð*Ñ+Ô+Ý”8˜a ˜W r¨1 gÐ.Ñ/Ô/Ý”8˜a ˜V a¨ WÐ-Ñ.Ô.Ýœ×.Ò.¨qÑ1Ô1Øð
ñ 
ô 
ˆõ ”8ØÐ!2Ð3ØÐ!1Ð2ð4àÐ!2Ð3ØÐ!1Ð2ð4ð5ñ
ô 
ˆõ 	˜ Ñ)Ô)Ð)Ð)Ð)r@   N)rÈ   rÉ   rÊ   rû  r  r  r  r  r$  r,  r/  rÓ   r@   r>   rõ  rõ  §  s–   € € € € € ðMð Mð Mð4%@ð %@ð %@ðNð ð ð,/ð /ð /ð04ð 4ð 4ð4Kð Kð Kð.4ð 4ð 4ð,*ð *ð *ð *ð *r@   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dS )ÚTestDirichletc           	      óÌ  — t           j                             d¦  «         t           j                             dd¦  «        }t           j                             dd|¦  «        }t          |¦  «        }t          |                     ¦   «         t          j        |¦  «        ¦  «         t          |                     ¦   «         t          j        |¦  «        ¦  «         t          | 	                    ¦   «         t          j	        |¦  «        ¦  «         d}t          |¦  «        D ]Æ}t           j                             dd|¦  «        }|t          j        |¦  «        z  }t          |                     |d d…         ¦  «        t          j        |d d…         |¦  «        ¦  «         t          |                     |d d…         ¦  «        t          j        |d d…         |¦  «        ¦  «         ŒÇd S ©Nr–  r
   é    ç•Ö&è.>r,  r#  re   )r7   rŠ   rž   Úrandintr   r   r   Úvarr¦   r¥   r  r�   r£   r¤   ©rT   rº   r¡  r€  Ú	num_testsr@  rZ   s          r>   Útest_frozen_dirichletz#TestDirichlet.test_frozen_dirichlett  s€  € Ý
Œ	�Š�tÑÔÐåŒI×Ò˜a Ñ$Ô$ˆÝ”	×!Ò! &¨#¨qÑ1Ô1ˆå�eÑÔˆå�Q—U’U‘W”W�iœm¨EÑ2Ô2Ñ3Ô3Ð3Ý�Q—V’V‘X”X�yœ~¨eÑ4Ô4Ñ5Ô5Ð5Ý�Q—Y’Y‘[”[¥)Ô"3°EÑ":Ô":Ñ;Ô;Ð;Øˆ	Ý�yÑ!Ô!ð 	Lð 	LˆAÝ”	×!Ò! &¨#¨qÑ1Ô1ˆAØ•”˜‘”‰NˆAÝ˜Ÿš˜q  " œv™œ­	¬°a¸¸¸´f¸eÑ(DÔ(DÑEÔEÐEÝ˜Ÿš ! C R C¤&Ñ)Ô)­9Ô+;¸A¸c¸r¸c¼FÀEÑ+JÔ+JÑKÔKÐKÐKð		Lð 	Lr@   c                 óP  — t           j                             d¦  «         t          j        g d¢¦  «        }t           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…         |¦  «         d S )Nr–  ©rÂ   ç       @ç      @rd   r~   )rd   rG   re   )r7   rŠ   rž   rÅ   r   r   r9   rê   rL   r£   r¤   r‘   ©rT   r¡  rZ   s      r>   Ú"test_numpy_rvs_shape_compatibilityz0TestDirichlet.test_numpy_rvs_shape_compatibility†  sê   € Ý
Œ	�Š�tÑÔÐÝ”˜˜˜Ñ)Ô)ˆÝŒI×Ò ¨AÐÑ.Ô.ˆÝ�Q”W˜fÑ%Ô%Ð%Ý•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=ÝŒ�a”c˜5Ñ!Ô!Ð!ÝŒ�a”c˜#˜2˜#”h Ñ&Ô&Ð&ÝÔ˜œ˜eÑ$Ô$Ð$ÝÔ˜œ˜S˜b˜Sœ 5Ñ)Ô)Ð)Ð)Ð)r@   c                 óB  — t           j                             d¦  «         g d¢}t           j                             t          j        d|¦  «        d¬¦  «        j        }t          t          t          j        ||¦  «         t          t          t          j	        ||¦  «         d S )Nr–  )rÂ   rÃ   r>  r5  rd   r~   ©
r7   rŠ   rž   r   Úmaximumr‘   rê   rL   r£   r¤   r?  s      r>   Útest_alpha_with_zerosz#TestDirichlet.test_alpha_with_zeros’  s{   € Ý
Œ	�Š�tÑÔÐØ��ˆåŒI×Ò¥¤
¨4°Ñ 7Ô 7¸aÐÑ@Ô@ÔBˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=r@   c                 óB  — t           j                             d¦  «         g d¢}t           j                             t          j        d|¦  «        d¬¦  «        j        }t          t          t          j        ||¦  «         t          t          t          j	        ||¦  «         d S )Nr–  )rÂ   g       Àr>  r5  rd   r~   rB  r?  s      r>   Ú test_alpha_with_negative_entriesz.TestDirichlet.test_alpha_with_negative_entriesš  s}   € Ý
Œ	�Š�tÑÔÐØ Ð Ð ˆåŒI×Ò¥¤
¨4°Ñ 7Ô 7¸aÐÑ@Ô@ÔBˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=r@   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¦  «        ¦  «         d S )N©rÂ   r=  r>  ç      @©r˜   rÃ   r™   r÷  )rÂ   rÂ   rÂ   rÂ   rb   )r7   rÅ   r   r£   r¤   r   rö   r?  s      r>   Útest_data_with_zerosz"TestDirichlet.test_data_with_zeros¢  s°   € Ý”Ð-Ð-Ð-Ñ.Ô.ˆÝŒHÐ)Ð)Ð)Ñ*Ô*ˆÝŒ�a˜ÑÔÐÝÔ˜˜EÑ"Ô"Ð"Ý”Ð-Ð-Ð-Ñ.Ô.ˆÝ�IœM¨!¨UÑ3Ô3°QÑ7Ô7Ð7Ý�IÔ,¨Q°Ñ6Ô6½¼¸q¹	¼	ÑBÔBÐBÐBÐBr@   c                 óâ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          t          t          j        ||¦  «         t          t          t          j        ||¦  «         d S )N)rÂ   rG  r>  rI  rJ  ©r7   rÅ   rê   rL   r   r£   r¤   r?  s      r>   Ú$test_data_with_zeros_and_small_alphaz2TestDirichlet.test_data_with_zeros_and_small_alpha«  óa   € Ý”Ð-Ð-Ð-Ñ.Ô.ˆÝŒHÐ)Ð)Ð)Ñ*Ô*ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=r@   c                 óâ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          t          t          j        ||¦  «         t          t          t          j        ||¦  «         d S )NrH  )r˜   çš™™™™™¹¿rš   r÷  rM  r?  s      r>   Útest_data_with_negative_entriesz-TestDirichlet.test_data_with_negative_entries±  sa   € Ý”Ð-Ð-Ð-Ñ.Ô.ˆÝŒHÐ*Ð*Ð*Ñ+Ô+ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=r@   c                 óâ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          t          t          j        ||¦  «         t          t          t          j        ||¦  «         d S )NrH  )r˜   çš™™™™™ñ?rš   r÷  rM  r?  s      r>   Ú test_data_with_too_large_entriesz.TestDirichlet.test_data_with_too_large_entries·  rO  r@   c                 óà   — t          j        g d¢¦  «        }t          j        dd¦  «        }t          t          t
          j        ||¦  «         t          t          t
          j        ||¦  «         d S )Nr<  )rF   rd   rd   g’$I’$I²?©r7   rÅ   ri  rê   rL   r   r£   r¤   r?  s      r>   Útest_data_too_deep_cz"TestDirichlet.test_data_too_deep_c½  sY   € Ý”˜˜˜Ñ)Ô)ˆÝŒG�I˜vÑ&Ô&ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=r@   c                 óè   — t          j        ddgddgg¦  «        }t          j        dd¦  «        }t          t          t
          j        ||¦  «         t          t          t
          j        ||¦  «         d S )NrÂ   r=  r>  rI  )rF   rF   rd   ç      Ð?rW  r?  s      r>   Útest_alpha_too_deepz!TestDirichlet.test_alpha_too_deepÃ  sb   € Ý”˜3 ˜* s¨C jÐ1Ñ2Ô2ˆÝŒG�I˜uÑ%Ô%ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=r@   c                 ó°   — t          j        g d¢¦  «        }t          j        dd¦  «        }t          j        ||¦  «         t          j        ||¦  «         d S )Nr<  ©rG   rd   çUUUUUUÕ?)r7   rÅ   ri  r   r£   r¤   r?  s      r>   Útest_alpha_correct_depthz&TestDirichlet.test_alpha_correct_depthÉ  sQ   € Ý”˜˜˜Ñ)Ô)ˆÝŒG�F˜EÑ"Ô"ˆÝŒ�a˜ÑÔÐÝÔ˜˜EÑ"Ô"Ð"Ð"Ð"r@   c                 óà   — t          j        g d¢¦  «        }t          j        dd¦  «        }t          t          t
          j        ||¦  «         t          t          t
          j        ||¦  «         d S )Nr<  r]  rG  rW  r?  s      r>   Útest_non_simplex_dataz#TestDirichlet.test_non_simplex_dataÏ  sY   € Ý”˜˜˜Ñ)Ô)ˆÝŒG�F˜EÑ"Ô"ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=r@   c                 óà   — t          j        g d¢¦  «        }t          j        dd¦  «        }t          t          t
          j        ||¦  «         t          t          t
          j        ||¦  «         d S )NrH  )rF   rd   rG  rW  r?  s      r>   Útest_data_vector_too_shortz(TestDirichlet.test_data_vector_too_shortÕ  ó\   € Ý”Ð-Ð-Ð-Ñ.Ô.ˆÝŒG�F˜EÑ"Ô"ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=r@   c                 óà   — t          j        g d¢¦  «        }t          j        dd¦  «        }t          t          t
          j        ||¦  «         t          t          t
          j        ||¦  «         d S )NrH  )ra   rd   r™   rW  r?  s      r>   Útest_data_vector_too_longz'TestDirichlet.test_data_vector_too_longÛ  rd  r@   c                 óB  — t          j        g d¢¦  «        }t          |¦  «        }g d¢}g d¢}g d¢g d¢g d¢g}t          |                     ¦   «         |¦  «         t          |                     ¦   «         |¦  «         t          |                     ¦   «         |¦  «         d S )N)rÂ   çš™™™™™é?r™   ©rG  çš™™™™™Ù?r˜   )çUUUUUUµ?ç{®Gáz´?ç¸…ëQ¸ž?)rk  ç±¿ç‘¿)rn  rl  çOè´�N‹¿)ro  rp  rm  )r7   rÅ   r   r   r¦   r7  r½   )rT   r¡  r€  Úexpected_meanÚexpected_varÚexpected_covs         r>   Útest_mean_var_covzTestDirichlet.test_mean_var_cová  sª   € õ ”˜˜˜Ñ(Ô(ˆÝ�eÑÔˆà'˜˜ˆØ-Ð-Ð-ˆà.Ð.Ð.Ø.Ð.Ð.Ø/Ð/Ð/ð
ˆõ 	" !§&¢&¡(¤(¨MÑ:Ô:Ð:Ý! !§%¢%¡'¤'¨<Ñ8Ô8Ð8Ý! !§%¢%¡'¤'¨<Ñ8Ô8Ð8Ð8Ð8r@   c                 óŽ  — t          j        dg¦  «        }t          |¦  «        }t          |                     ¦   «         j        d¦  «         t          |                     ¦   «         j        d¦  «         t          |                     dg¦  «        j        d¦  «         t          |                     dg¦  «        j        d¦  «         d S )Nr™   r   rÂ   )	r7   rÅ   r   r   r¦   rñ   r7  r£   r¤   )rT   r¡  r€  s      r>   ró   z TestDirichlet.test_scalar_valuesó  s˜   € Ý”˜#˜‘”ˆÝ�eÑÔˆõ 	�Q—V’V‘X”X”] AÑ&Ô&Ð&Ý�Q—U’U‘W”W”\ 1Ñ%Ô%Ð%å�Q—U’U˜B˜4‘[”[Ô% qÑ)Ô)Ð)Ý�Q—X’X˜r˜d‘^”^Ô(¨!Ñ,Ô,Ð,Ð,Ð,r@   c                 óø  — t           j                             d¦  «         t           j                             dd¦  «        }t           j                             dd|¦  «        }t          |¦  «        }d}t          |¦  «        D ]x}t           j                             dd|¦  «        }|t          j        |¦  «        z  }t          | 	                    |d d…         ¦  «        | 	                    |¦  «        ¦  «         Œyd S r3  )
r7   rŠ   rž   r6  r   r   r  r�   r   r£   r8  s          r>   Ú test_K_and_K_minus_1_calls_equalz.TestDirichlet.test_K_and_K_minus_1_calls_equalþ  sÔ   € õ 	Œ	�Š�tÑÔÐåŒI×Ò˜a Ñ$Ô$ˆÝ”	×!Ò! &¨#¨qÑ1Ô1ˆå�eÑÔˆØˆ	Ý�yÑ!Ô!ð 	9ð 	9ˆAÝ”	×!Ò! &¨#¨qÑ1Ô1ˆAØ•”˜‘”‰NˆAÝ §¢ a¨¨¨¤f¡¤¨q¯uªu°Q©x¬xÑ8Ô8Ð8Ð8ð	9ð 	9r@   c                 óž  — t           j                             d¦  «         t           j                             dd¦  «        }t           j                             dd|¦  «        }t          |¦  «        }d}d}d }t          |¦  «        D ]Ç}t          |¦  «        D ]U}t           j                             dd|¦  «        }	|	t          j        |	¦  «        z  }	|�t          j        ||	f¦  «        }ŒS|	}ŒV| 	                    |j
        ¦  «        }
d }|D ]1}| 	                    |¦  «        }|�t          j        ||¦  «        }Œ/|}Œ2t          |
|¦  «         ŒÈd S )Nr–  r
   r4  r5  r,  r#  ra   )r7   rŠ   rž   r6  r   r   r  r�   Úvstackr£   r‘   Úappendr   )rT   rº   r¡  r€  r9  Únum_multipleÚxmr@  rì  rZ   ÚrmÚrsÚxsr&  s                 r>   Útest_multiple_entry_callsz'TestDirichlet.test_multiple_entry_calls  sK  € å
Œ	�Š�tÑÔÐåŒI×Ò˜a Ñ$Ô$ˆÝ”	×!Ò! &¨#¨qÑ1Ô1ˆÝ�eÑÔˆàˆ	ØˆØˆÝ�yÑ!Ô!ð 	.ð 	.ˆAÝ˜<Ñ(Ô(ð ð �Ý”I×%Ò% f¨c°1Ñ5Ô5�Ø•R”V˜A‘Y”Y‘�Ø�>Ýœ B¨ 7Ñ+Ô+�B�Bà�B�BØ—’�r”t‘”ˆBØˆBØð ð �Ø—E’E˜"‘I”I�Ø�>Ýœ 2 qÑ)Ô)�B�Bà�B�BÝ% b¨"Ñ-Ô-Ð-Ð-ð!	.ð 	.r@   c                 óÊ  — t           j                             d¦  «         t           j                             ddd¦  «        }t	          |¦  «        }t          |d         |d         ¦  «        }d}t          |¦  «        D ]q}t           j                             ddd¦  «        }|t          j        |¦  «        z  }t          | 	                    |¦  «        | 	                    |g¦  «        ¦  «         Œrt          | 
                    ¦   «         | 
                    ¦   «         d         ¦  «         t          |                     ¦   «         |                     ¦   «         d         ¦  «         d S )Nr–  r5  r,  rF   r   r
   r#  )r7   rŠ   rž   r   r   r   r  r�   r   r£   r¦   r7  )rT   r¡  r€  r©  r9  r@  rZ   s          r>   Útest_2D_dirichlet_is_betaz'TestDirichlet.test_2D_dirichlet_is_beta*  s  € Ý
Œ	�Š�tÑÔÐå”	×!Ò! &¨#¨qÑ1Ô1ˆÝ�eÑÔˆÝ��q”˜5 œ8Ñ$Ô$ˆàˆ	Ý�yÑ!Ô!ð 	6ð 	6ˆAÝ”	×!Ò! &¨#¨qÑ1Ô1ˆAØ•”˜‘”‰NˆAÝ §¢ a¡¤¨!¯%ª%°°©*¬*Ñ5Ô5Ð5Ð5å˜AŸFšF™HœH a§f¢f¡h¤h¨q¤kÑ2Ô2Ð2Ý˜AŸEšE™GœG Q§U¢U¡W¤W¨Q¤ZÑ0Ô0Ð0Ð0Ð0r@   N)rÈ   rÉ   rÊ   r:  r@  rD  rF  rK  rN  rR  rU  rX  r[  r_  ra  rc  rf  rt  ró   rw  r€  r‚  rÓ   r@   r>   r1  r1  r  s7  € € € € € ðLð Lð Lð$
*ð 
*ð 
*ð>ð >ð >ð>ð >ð >ðCð Cð Cð>ð >ð >ð>ð >ð >ð>ð >ð >ð>ð >ð >ð>ð >ð >ð#ð #ð #ð>ð >ð >ð>ð >ð >ð>ð >ð >ð9ð 9ð 9ð$	-ð 	-ð 	-ð9ð 9ð 9ð.ð .ð .ð:1ð 1ð 1ð 1ð 1r@   r1  c                  óP  — t          j        ddg¦  «        } t          j        dgg¦  «        }t          t          t          | |¦  «         	 t	          | |¦  «         d S # t          $ r?}d}t          t          |¦  «        d t          |¦  «        …         |¦  «         Y d }~d S d }~ww xY w)NrÃ   rÂ   zDimension mismatch)r7   rÅ   rê   rL   r   r   Ústrr�   )rë   Úsigmar|  r}  s       r>   Ú,test_multivariate_normal_dimensions_mismatchr†  ;  sµ   € õ 
Œ�3˜�*Ñ	Ô	€BÝŒH�s�e�WÑÔ€Eå•*Õ1°2°uÑ=Ô=Ð=ð
-Ý˜B Ñ&Ô&Ð&Ð&Ð&øÝð -ð -ð -Ø"ˆÝ•S˜‘V”V˜I�S ™XœX˜IÔ&¨Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,øøøøð-øøøs   Á
A Á
B%Á&4B Â B%c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestWishartc                 óh  — t          j        dd¬¦  «        }ddgt          j        d¦  «        t           j        d         t          j        dd¬¦  «        g}|D ]F}t          d|¦  «        }t	          |j        |¦  «         t	          |j        j        |j        ¦  «         ŒGt          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 ]F}t          d|¦  «        }t	          |j        |¦  «         t	          |j        j        |j        ¦  «         ŒGt          t          t          dt          j	        d¦  «        ¦  «         t          dt          j	        d¦  «        ¦  «         t          j        dd¬¦  «        }t          t          t          d|¦  «         d S )Nr
   rF   ©Úndminr   ©r
   rF   rT  rG   )
r7   rÅ   Úr_r   r   rI  r9   rê   rL   rO   )rT   Ú
true_scaleÚscalesrI  Úws        r>   Útest_scale_dimensionsz!TestWishart.test_scale_dimensionsO  s¬  € õ ”X˜a qÐ)Ñ)Ô)ˆ
àØˆCÝŒH�Q‰KŒKÝŒE�!ŒHÝŒH�Q˜aÐ Ñ Ô ð
ˆð ð 	:ð 	:ˆEÝ˜˜5Ñ!Ô!ˆAÝ˜œ *Ñ-Ô-Ð-Ý˜œœ¨
Ô(8Ñ9Ô9Ð9Ð9õ ”X  !˜uØ ! !˜uð&ñ 'ô 'ˆ
ð ˆqˆEÝŒE�#ŒJÝŒH�q˜�eØ˜�eðñ ô ð
ˆð ð 	:ð 	:ˆEÝ˜˜5Ñ!Ô!ˆAÝ˜œ *Ñ-Ô-Ð-Ý˜œœ¨
Ô(8Ñ9Ô9Ð9Ð9õ 	•j¥'¨1­b¬f°Q©i¬iÑ8Ô8Ð8õ 	�•R”V˜A‘Y”YÑÔÐõ ”˜ !Ð$Ñ$Ô$ˆÝ•j¥'¨1¨eÑ4Ô4Ð4Ð4Ð4r@   c           
      ó’  — ddgt          j        d¦  «        t           j        d         t          j        dd¬¦  «        t          j        dgd¬¦  «        g}t          dd¦  «        }|                     t          j        dd¬¦  «        ¦  «        }|D ]%}t          |                     |¦  «        |¦  «         Œ&g d¢t           j        d         t          j        g d¢d¬¦  «        g}t          dd¦  «        }|                     t          j        g d¢d¬¦  «        ¦  «        }|D ]%}t          |                     |¦  «        |¦  «         Œ&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¦  «        ¦  «        }|                     t          j        ddgddgg¦  «        d d …d d …t           j        f         ¦  «        }|D ]%}t          |                     |¦  «        |¦  «         Œ&d S )Nr
   rF   rŠ  rG   rJ   rŽ  r   )r7   rÅ   r�  r   r£   r   r  rO   )rT   r)  r�  ÚdensityrZ   s        r>   Útest_quantile_dimensionsz$TestWishart.test_quantile_dimensionsz  sQ  € ð
 ØˆCÝŒH�Q‰KŒKÝŒE�!ŒHÝŒH�Q˜aÐ Ñ Ô ÝŒH�a�S Ð"Ñ"Ô"ð
ˆõ �A�a‰LŒLˆØ—%’%�œ ¨!Ð,Ñ,Ô,Ñ-Ô-ˆØð 	,ð 	,ˆAÝ˜Ÿš˜q™œ 7Ñ+Ô+Ð+Ð+ð ˆGˆGÝŒE�%ŒLÝŒH�W�W�W AÐ&Ñ&Ô&ð
ˆõ �A�a‰LŒLˆØ—%’%�œ   °Ð2Ñ2Ô2Ñ3Ô3ˆØð 	,ð 	,ˆAÝ˜Ÿš˜q™œ 7Ñ+Ô+Ð+Ð+ð
 ØˆqˆEÝŒH�Q‰KŒKÝŒE�#ŒJÝŒH�q˜�eØ˜�eðñ ô åŒH�q˜�eØ˜�eðñ ô Ø˜a˜a   ¥"¤*˜nô.ð	
ˆõ �A•b”f˜Q‘i”iÑ Ô ˆØ—%’%�œ 1 Q %Ø#$ Q %ð")ñ *ô *Ø*+¨!¨!¨A¨A¨A­b¬j¨.ô:ñ ;ô ;ˆàð 	,ð 	,ˆAÝ˜Ÿš˜q™œ 7Ñ+Ô+Ð+Ð+ð	,ð 	,r@   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        |¦  «        }|                     |¦  «         Œ•t          j        |¦  «        j        }ddt          j	        ddd¦  «        fd||fg}|D �]"\  }}}t          ||¦  «        }t          |                     ¦   «         t          j        ||¦  «        ¦  «         t          |                     ¦   «         t          j        ||¦  «        ¦  «         t          |                     ¦   «         t          j        ||¦  «        ¦  «         t          |                     ¦   «         t          j        ||¦  «        ¦  «         t          |                     |¦  «        t          j        |||¦  «        ¦  «         �Œ$d S ©	Nrc   r
   rF   re   ©r  ra   r#  r˜   )r7   rn   rè   Útril_indicesr	  r‘   r  rz  rÅ   rH  r   r   r7  r¦   Úmoder¥   r£   )	rT   rÖ   rI  r)  r@  rZ   Ú
parametersÚdfr�  s	            r>   r_  zTestWishart.test_frozen«  s  € ð ˆÝ”�œ	 #™œ qÑ(Ñ)Ô)ˆÝ,.¬I°c¸SÀ¹U±mÀqÑ6HÑ,IÔ,Iˆ�bŒo˜c RÐ(Ñ(Ô(Ñ)Ý”�u”w Ñ&Ô&ˆð ˆÝ�q‘”ð 	ð 	ˆAÝ”�œ	 #™œ¨¨!©¨a¡xÑ/Ñ0Ô0ˆAÝ,.¬I°c¸SÀ¹U±mÀqÑ6HÑ,IÔ,IˆA�bŒo˜c RÐ(Ñ(Ô(Ñ)Ý”�q”s˜A‘”ˆAØ�HŠH�Q‰KŒKˆKˆKÝŒH�Q‰KŒKŒMˆð �•B”K  R¨Ñ+Ô+Ð,Ø�˜ˆNð
ˆ
ð
 )ð 	>ñ 	>‰NˆR�˜Ý˜˜EÑ"Ô"ˆAÝ˜Ÿš™œ¥'¤+¨b°%Ñ"8Ô"8Ñ9Ô9Ð9Ý˜Ÿš™œ¥7¤<°°EÑ#:Ô#:Ñ;Ô;Ð;Ý˜Ÿš™œ¥7¤<°°EÑ#:Ô#:Ñ;Ô;Ð;Ý˜Ÿš™œ¥g¤o°b¸%Ñ&@Ô&@ÑAÔAÐAÝ˜Ÿš˜q™œ¥7¤;¨q°"°eÑ#<Ô#<Ñ=Ô=Ð=Ñ=ð	>ð 	>r@   c                 óÖ  — d}d}t          j        |¦  «        }d|d<   d|d<   t          ||¦  «        }t           j                             d¦  «         t          j        ||¦  «        }t           j                             d¦  «         |                     ¦   «         }t           j                             d¦  «         t           j                             d¬¦  «        }t           j        t           j                             |¦  «        t           j                             |dz
  ¦  «        t           j                             |d	z
  ¦  «        f         dz  }t          j	        |¦  «        }	||	t          j
        |d
¬¦  «        <   t           j                             |¦  «        }
|
                     |	¦  «        }t          j        ||j        ¦  «        }t          ||¦  «         t          ||¦  «         d S )NrG   r#  rG  ræ   ©r
   r   iêÈ r~   r
   rF   re   r—  )r7   rO   r   rŠ   rž   rŸ   rÕ   r�  Ú	chisquarern   r˜  r¸   rÌ   r	  r‘   r   )rT   rÖ   r›  rI  r�  Úw_rvsÚfrozen_w_rvsÚcovariancesÚ	variancesrt   ÚDÚDAÚmanual_w_rvss                r>   Útest_wishart_2D_rvszTestWishart.test_wishart_2D_rvsË  s›  € ØˆØˆõ ”�s‘”ˆØˆˆc‰
Øˆˆc‰
õ �B˜ÑÔˆõ 	Œ	�Š�vÑÔÐÝ”˜B Ñ&Ô&ˆÝ
Œ	�Š�vÑÔÐØ—u’u‘w”wˆõ 	Œ	�Š�vÑÔÐÝ”i×&Ò&¨AÐ&Ñ.Ô.ˆÝ”EÝŒI×Ò Ñ#Ô#ÝŒI×Ò  1¡Ñ%Ô%ÝŒI×Ò  1¡Ñ%Ô%ð'ô
ð ñ	ˆ	õ ŒG�IÑÔˆØ(3ˆ�"Œ/˜# Ð
$Ñ
$Ô
$Ñ%õ ŒI×Ò˜uÑ%Ô%ˆØ�UŠU�1‰XŒXˆÝ”v˜b "¤$Ñ'Ô'ˆõ 	˜˜|Ñ,Ô,Ð,Ý˜ lÑ3Ô3Ð3Ð3Ð3r@   c                 ó&  — t           j                             d¦  «         d}d}t          j        |¦  «        }t          j        dddt
          ¬¦  «        }t          j        ddd¬¦  «        }|D �]!}t          ||¦  «        }t          |¦  «        }t          | 
                    ¦   «         | 
                    ¦   «         ¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         |                     |¬	¦  «        }	|f}
d
}t          d|
||	¦  «         �Œ#d S )Néž^ éô  r
   r#  rF   r-  r˜   ©Únumr~   rO  r   )r7   rŠ   rž   rO   rè   r0  rH  r   r   r   r7  r¦   r¥   r£   rŸ   r   )rT   ÚsnrÖ   rI  Údf_ranger)  r›  r�  ÚcrŸ   r<   r¡  s               r>   Útest_1D_is_chisquaredz!TestWishart.test_1D_is_chisquared÷  sN  € õ
 	Œ	�Š�vÑÔÐàˆØˆÝ”�s‘”ˆå”9˜Q  A­UÐ3Ñ3Ô3ˆÝŒK˜˜B 2Ð&Ñ&Ô&ˆØð 	=ñ 	=ˆBÝ˜˜EÑ"Ô"ˆAÝ�R‘”ˆAõ ˜AŸEšE™GœG Q§U¢U¡W¤WÑ-Ô-Ð-Ý˜AŸFšF™HœH a§f¢f¡h¤hÑ/Ô/Ð/Ý˜AŸIšI™KœK¨¯ª©¬Ñ5Ô5Ð5õ ˜AŸEšE !™HœH a§e¢e¨A¡h¤hÑ/Ô/Ð/ð —%’%˜R�%‘.”.ˆCØ�5ˆDØˆEÝ" 6¨4°¸Ñ<Ô<Ð<Ñ<ð!	=ð 	=r@   c                 óH  — t           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                             |¦  «                             |¦  «         	                    ¦   «         }t          ||¦  «        }t          ||¬	¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          j        d
dd¬¦  «        }	t          |                     |	¦  «        |                     |	¦  «        ¦  «         |                     |¬¦  «        }
|d|f}d}t'          d|||
¦  «         d S )Nr¨  r©  r#  rc   r
   rb   re   r—  ©rI  r˜   rª  r~   r   rO  r   )r7   rŠ   rž   rn   rè   r˜  r	  r‘   rN   r¢   r   r   r   r7  r¦   r¥   rH  r£   rŸ   r   )rT   r¬  r›  rÖ   rI  Ú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˜a 2Ð&Ñ&Ô&Ñ'Ý”�u”w Ñ&Ô&ˆå”˜˜Q˜Ñ Ô ˆØ”g—k’k %Ñ(Ô(×,Ò,¨UÑ3Ô3×;Ò;Ñ=Ô=ˆÝ�B˜Ñ$Ô$ˆÝ�˜;Ð'Ñ'Ô'ˆõ 	˜Ÿš™œ §¢¡¤Ñ)Ô)Ð)Ý˜Ÿš™œ !§&¢&¡(¤(Ñ+Ô+Ð+Ý˜Ÿ	š	™œ Q§Y¢Y¡[¤[Ñ1Ô1Ð1õ ŒK˜˜B 2Ð&Ñ&Ô&ˆÝ˜Ÿš˜a™œ !§%¢%¨¡(¤(Ñ+Ô+Ð+ð �eŠe˜ˆe‰nŒnˆØ�1�[Ð!ˆØˆÝ˜v t¨U°CÑ8Ô8Ð8Ð8Ð8r@   N)	rÈ   rÉ   rÊ   r‘  r”  r_  r¦  r¯  r´  rÓ   r@   r>   rˆ  rˆ  N  sr   € € € € € ð)5ð )5ð )5ðV/,ð /,ð /,ðb>ð >ð >ð@*4ð *4ð *4ðX=ð =ð =ð>!9ð !9ð !9ð !9ð !9r@   rˆ  c                   óz  — e Zd Zd„ Zd„ Zd„ Zej                             dddg¦  «        d„ ¦   «         Z	d„ Z
d	„ Zej                             ddd
g¦  «        d„ ¦   «         Zd„ Zej                             dddg¦  «        d„ ¦   «         Zd„ Zej                             ddd
g¦  «        d„ ¦   «         Zd„ Zd„ Zd„ ZdS )ÚTestMultinomialc                 ó`  — 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¬¦  «         d S )N©rG   rc   rd   ©rš   r÷  g&Múty»÷¿rä  r;  rG   rc   r   rš   r÷  rh   )r   Úlogpmfr   r7   r  rs  )rT   Úvals1Úvals2Úvals3Úvals4s        r>   Útest_logpmfzTestMultinomial.test_logpmf:  s¿   € ÝÔ" 5¨!¨ZÑ8Ô8ˆÝ˜Ð1¸Ð=Ñ=Ô=Ð=åÔ" A q 6¨1¨r°2¨hÑ7Ô7ˆØ�œ˜ÒÐÐÐåÔ" A q 6¨1¨r°2¨hÑ7Ô7ˆØ˜ŠzˆzˆzˆzåÔ" A q 6¨1¨r°1¨gÑ6Ô6ˆÝ˜�rœv¨DÐ1Ñ1Ô1Ð1Ð1Ð1r@   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¬¦  «         d S )Nr¸  rd   r¹  rG   rš   rä  r;  )rb   é   é   ©r˜   rF  rb   r˜   )r   rº  r!   r   Úpmf©rT   Úval1Úval2s      r>   Útest_reduces_binomialz%TestMultinomial.test_reduces_binomialG  s�   € õ Ô! &¨!¨ZÑ8Ô8ˆÝŒ|˜A˜q #Ñ&Ô&ˆÝ˜˜d¨Ð.Ñ.Ô.Ð.åŒ˜v r¨:Ñ6Ô6ˆÝŒy˜˜B Ñ$Ô$ˆÝ˜˜d¨Ð.Ñ.Ô.Ð.Ð.Ð.r@   c                 óŽ   — dg d¢}}ddddddd	dd
ddœ
}|D ].}t          t          j        |||¦  «        ||         d¬¦  «         Œ/d S )NrG   )g      À?rZ  g      ä?g     @Ï?g     ÀÂ?g      ž?g      `?g     ÀÒ?g      ¾?g      ˆ?g      ˜?g      �?)
)r   r   rG   )r
   r   rF   )rF   r   r
   )rG   r   r   rç   r   ©rF   r
   r   )r   rF   r
   r�  )r   rG   r   ç›+¡†›„=rƒ  )r   r   rÄ  )rT   rº   ÚpÚr_valsrZ   s        r>   Útest_RzTestMultinomial.test_RR  s„   € ð Ð$Ð$Ð$ˆ1ˆØ(°[Ø(°[Ø(°[Ø(°[Ø(°[ð	Bð Bˆð
 ð 	Mð 	MˆAÝ�KœO¨A¨q°!Ñ4Ô4°f¸Q´iÀeÐLÑLÔLÐLÐLð	Mð 	Mr@   rº   r   rG   c                 óÔ   — t          j        |dgdz  dd¬¦  «        }t          j                             d¦  «        }|                      |dgdz  d¬¦  «        }t          ||¦  «         d S )NrZ  rG   rd   é{   r›   r~   )r   rŸ   r7   rŠ   ÚRandomStater   )rT   rº   Úsc_rvsÚrndmÚnp_rvss        r>   Útest_rvs_npzTestMultinomial.test_rvs_npc  sm   € õ ”  T F¨1¡H°1À3ÐGÑGÔGˆÝŒy×$Ò$ SÑ)Ô)ˆØ×!Ò! ! d V¨A¡X°AÐ!Ñ6Ô6ˆÝ�V˜VÑ$Ô$Ð$Ð$Ð$r@   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 ‚d S )N)ra   ra   ©r
   r
   rä  r;  r¸  rd   r¹  gö5’á
Í?rG   r   rÁ  re   é	   rÃ  g’¹*7î ?gÄÒ<WÆŒÛ?©r   rF   r-  rc   rF   ©rG   rG   r   rb   )gUUUUUUå?r^  r   gß¦îáÌ?rf   rÊ  )r   rÄ  r   r7   rS  Úfloat64r   )	rT   Úvals0r»  r¼  rZ   r½  r¾  Úvals5Úvals6s	            r>   Útest_pmfzTestMultinomial.test_pmfk  s¯  € Ý”  a¨Ñ.Ô.ˆÝ˜˜q tÐ,Ñ,Ô,Ð,å”  q¨(Ñ3Ô3ˆÝ˜Ð1¸Ð=Ñ=Ô=Ð=å” 1 Q %¨¨1¨ °"°a°¸1¸a¸&Ð0AÐ BÀAØ (ñ*ô *ˆå˜ ¨IÐ 6¸¸A¸Ð?ÀdÐKÑKÔKÐKåŒH�U¥"¤*Ð-Ñ-Ô-ˆÝ”  1 hÑ/Ô/ˆÝ�U�BœH R­r¬zÐ:Ñ:Ô:Ñ;Ô;Ð;å”  1  q¨(Ñ3Ô3ˆÝ˜˜q tÐ,Ñ,Ô,Ð,å” 	 	 	¨1Ð.?Ð.?Ð.?Ñ@Ô@ˆÝ˜˜~°DÐ9Ñ9Ô9Ð9å” 	 	 	¨1Ð.?Ð.?Ð.?Ñ@Ô@ˆØ˜Šzˆzˆzˆzå” 	 	 	¨1Ð.?Ð.?Ð.?Ñ@Ô@ˆØ˜Šzˆzˆzˆzˆzˆzr@   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
¬¦  «         d S )Nr
   rF   rG   r˜   rF  r™   rh  g´Èv¾ŸÏ?gú~j¼t“Ø?rä  r;  rc   r   )r   rÄ  r   )rT   rÜ  r»  r¼  r½  r¾  s         r>   Útest_pmf_broadcastingz%TestMultinomial.test_pmf_broadcasting†  sM  € Ý”  A ¨¨R°¨H°r¸2°hÐ+?Ñ@Ô@ˆÝ˜  d˜|°$Ð7Ñ7Ô7Ð7å”  A ¨¨A¨°°R°Ñ9Ô9ˆÝ˜  a˜y¨tÐ4Ñ4Ô4Ð4å” 1 a &¨1¨a¨&Ð!1Ð 2°A¸¸B°xÑ@Ô@ˆÝ˜  q 	˜{°Ð6Ñ6Ô6Ð6å”  A ¨1¨#°¨s¨¨°r¸2°hÑ?Ô?ˆÝ˜ $ ¨!¨ ˜°TÐ:Ñ:Ô:Ð:å” ! Q ¨!¨A¨ °Q°C°5°'°¸RÀ¸HÑEÔEˆÝ˜ 4¨ )  ˜°TÐ:Ñ:Ô:Ð:Ð:Ð:r@   ra   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¬¦  «         d S )	N)r™   rš   rG  r™   rh  rš   rG  r÷  rä  r;  ©r   r½   r   )rT   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¨Ð.Ñ.Ô.Ð.Ð.Ð.r@   c                 ót  — 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	¬
¦  «         d S )Nra   r˜   rF  r™   rh  gÍÌÌÌÌÌÜ?gÍÌÌÌÌÌÜ¿gš™™™™™é¿rä  r;  rc   g
×£p=
×?g
×£p=
×¿rš   r÷  rj  rL  gáz®Gáê?gáz®Gáê¿rE  g333333ó¿rã  ©rT   rä  rŠ  Úcov3Úcov4Úcov5Úcov6s          r>   Útest_cov_broadcastingz%TestMultinomial.test_cov_broadcastingž  s  € ÝŒ˜q B¨ 8¨b°"¨XÐ"6Ñ7Ô7ˆØ�t�˜d C˜[Ð)¨R°¨I¸¸R°yÐ+AÐBˆÝ˜˜d¨Ð.Ñ.Ô.Ð.åŒ  1˜v¨¨B xÑ0Ô0ˆØ�t�˜t S˜kÐ*¨c°4¨[¸4À¸+Ð,FÐGˆÝ˜˜d¨Ð.Ñ.Ô.Ð.åŒ  1˜v¨¨R¨°2°r°(Ð';Ñ<Ô<ˆØ˜8Ð$ x°Ð&9Ð:Ø˜8Ð$ x°Ð&9Ð:ð<ˆå˜˜d¨Ð.Ñ.Ô.Ð.Ð.Ð.r@   rF   c                 ó~   — t          j        |ddg¦  «        }t          |t          j        |d¦  «        d¬¦  «         d S ©Nr™   rh  rä  r;  ©r   r¥   r   r!   )rT   rº   Úent0s      r>   rž  zTestMultinomial.test_entropy¬  sA   € õ Ô" 1 r¨2 hÑ/Ô/ˆÝ˜�eœm¨A¨rÑ2Ô2¸Ð>Ñ>Ô>Ð>Ð>Ð>r@   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¬¦  «         d S )NrF   rG   r™   rš   rä  r;  rd   rÁ  r÷  rj  rL  rï  )rT   rð  Úent1Úent2s       r>   Útest_entropy_broadcastingz)TestMultinomial.test_entropy_broadcasting³  sL  € ÝÔ" A q 6¨B°¨8Ñ4Ô4ˆÝ˜�uœ}¨Q°Ñ3Ô3µU´]À1ÀbÑ5IÔ5IÐJØ!ð	#ñ 	#ô 	#ð 	#õ Ô" A q 6¨R°¨H°r¸2°hÐ+?Ñ@Ô@ˆÝ˜�uœ}¨Q°Ñ3Ô3µU´]À1ÀbÑ5IÔ5IÐJØ!ð	#ñ 	#ô 	#ð 	#õ Ô" Q C¨!¨ :°°R°¸2¸r¸(Ð/CÑDÔDˆÝ˜Ýœ-¨¨2Ñ.Ô.µ´¸aÀÑ0DÔ0DÐEÝœ-¨¨2Ñ.Ô.µ´¸aÀÑ0DÔ0DÐEðGà!ð	#ñ 	#ô 	#ð 	#ð 	#ð 	#r@   c                 óh   — t          j        |ddg¦  «        }t          ||dz  |dz  gd¬¦  «         d S rî  ©r   r¦   r   )rT   rº   Úmean1s      r>   Ú	test_meanzTestMultinomial.test_meanÂ  s?   € åÔ   R¨ HÑ-Ô-ˆÝ˜  "¡ a¨¡d˜|°$Ð7Ñ7Ô7Ð7Ð7Ð7r@   c                 óh   — t          j        ddgddg¦  «        }t          |ddgddggd	¬
¦  «         d S )Nra   rb   r™   rh  rÂ   rI  g433333ó?g433333@rä  r;  rö  )rT   r÷  s     r>   Útest_mean_broadcastingz&TestMultinomial.test_mean_broadcastingÇ  sD   € ÝÔ  ! Q ¨"¨b¨Ñ2Ô2ˆÝ˜  t ¨t°T¨lÐ;À$ÐGÑGÔGÐGÐGÐGr@   c                 ó  — t           j                             d¦  «         d}d}g d¢g d¢g d¢g d¢g d¢g}t          j        |t           j        ¬	¦  «        }t          ||¦  «        }t          |                     |¦  «        t          j        |||¦  «        ¦  «         t          |                     |¦  «        t          j        |||¦  «        ¦  «         t          | 	                    ¦   «         t          j	        ||¦  «        ¦  «         d S )
Nrî   é   )r˜   r™   rš   rj  ©r   r   r   rü  ©r   r   r
   é   ©r   r
   r
   r#  ©r
   r
   r
   rØ  ©r
   r
   rF   rÁ  r-  )
r7   rŠ   rž   r8   rÛ  r   r   rÄ  rº  r¥   )rT   rº   ÚpvalsrZ   Ú	mn_frozens        r>   r_  zTestMultinomial.test_frozenË  sï   € å
Œ	�Š�tÑÔÐØˆØ ˆØˆZˆZ˜
˜
˜
 : : :¨i¨i¨i¸	¸	¸	ÐBˆÝŒJ�q¥¤
Ð+Ñ+Ô+ˆÝ  5Ñ)Ô)ˆ	Ý˜	Ÿš aÑ(Ô(­+¬/¸!¸QÀÑ*FÔ*FÑGÔGÐGÝ˜	×(Ò(¨Ñ+Ô+­[Ô-?ÀÀ1ÀeÑ-LÔ-LÑMÔMÐMÝ˜	×)Ò)Ñ+Ô+­[Ô-@ÀÀEÑ-JÔ-JÑKÔKÐKÐKÐKr@   c                 ó*  — d}t           j                             d¦  «        }|                     |¦  «        }d|d<   |t          j        |¦  «        z  }t          j        |¦  «        }t          j        |||¦  «        }t          j        |¦  «        sJ ‚d S )NéX   l   iŒRZØY g ÂëþKH´9re   )r7   rŠ   r‹   r�   rN   r   rº  Úisfinite)rT   rº   r”   rÌ  rZ   rº  s         r>   Útest_gh_11860zTestMultinomial.test_gh_11860×  s…   € ð
 ˆÝŒi×#Ò#Ð$7Ñ8Ô8ˆØ�JŠJ�q‰MŒMˆØˆˆ"‰Ø	�RŒV�A‰YŒY‰ˆÝŒG�A‰JŒJˆÝÔ# A q¨!Ñ,Ô,ˆÝŒ{˜6Ñ"Ô"Ð"Ð"Ð"Ð"Ð"r@   N)rÈ   rÉ   rÊ   r¿  rÈ  rÎ  rK   rÏ   rÐ   rÕ  rß  rá  rå  rì  rž  rô  rø  rú  r_  r  rÓ   r@   r>   r¶  r¶  9  s{  € € € € € ð2ð 2ð 2ð	/ð 	/ð 	/ðMð Mð Mð" „[×Ò˜S 1 a &Ñ)Ô)ð%ð %ñ *Ô)ð%ðð ð ð6;ð ;ð ;ð  „[×Ò˜S 1 a &Ñ)Ô)ð/ð /ñ *Ô)ð/ð/ð /ð /ð „[×Ò˜S 1 a &Ñ)Ô)ð?ð ?ñ *Ô)ð?ð#ð #ð #ð „[×Ò˜S 1 a &Ñ)Ô)ð8ð 8ñ *Ô)ð8ðHð Hð Hð
Lð 
Lð 
Lð#ð #ð #ð #ð #r@   r¶  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú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        |¦  «        }|                     |¦  «         Œ•t          j        |¦  «        j        }ddt          j	        ddd¦  «        fd||fg}|D ]ì\  }}}t          ||¦  «        }t          |                     ¦   «         t          j        ||¦  «        ¦  «         t          |                     ¦   «         t          j        ||¦  «        ¦  «         t          |                     ¦   «         t          j        ||¦  «        ¦  «         t          |                     |¦  «        t          j        |||¦  «        ¦  «         Œíd S r–  )r7   rn   rè   r˜  r	  r‘   r  rz  rÅ   rH  r   r   r7  r¦   r™  r   r£   )	rT   rÖ   rI  r)  r@  rZ   rš  r›  Úiws	            r>   r_  zTestInvwishart.test_frozenæ  sü  € ð
 ˆÝ”�œ	 #™œ qÑ(Ñ)Ô)ˆÝ,.¬I°c¸3¸q¹5±kÀ!±mÑ,DÔ,Dˆ�bŒo˜c RÐ(Ñ(Ô(Ñ)Ý”�u”w Ñ&Ô&ˆð ˆÝ�q‘”ð 	ð 	ˆAÝ”�œ	 #™œ¨¨!©¨a¡xÑ/Ñ0Ô0ˆAÝ,.¬I°c¸3¸q¹5±kÀ!±mÑ,DÔ,DˆA�bŒo˜c RÐ(Ñ(Ô(Ñ)Ý”�q”s˜A‘”ˆAØ�HŠH�Q‰KŒKˆKˆKÝŒH�Q‰KŒKŒMˆð �•B”K  R¨Ñ+Ô+Ð,Ø�˜ˆNð
ˆ
ð
 )ð 	Eð 	E‰NˆR�˜Ý˜B Ñ&Ô&ˆBÝ˜Ÿš™œ¥:¤>°"°eÑ#<Ô#<Ñ=Ô=Ð=Ý˜Ÿš™œ¥J¤O°B¸Ñ$>Ô$>Ñ?Ô?Ð?Ý˜Ÿš™œ¥J¤O°B¸Ñ$>Ô$>Ñ?Ô?Ð?Ý˜BŸFšF 1™IœI¥z¤~°a¸¸UÑ'CÔ'CÑDÔDÐDÐDð	Eð 	Er@   c                 ó:  — t           j                             d¦  «         d}d}t          j        |¦  «        }t          j        dddt
          ¬¦  «        }t          j        dd	d	¬
¦  «        }|D �]+}t          ||¦  «        }t          |dz  d¬¦  «        }t          | 
                    ¦   «         | 
                    ¦   «         ¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         |                     |¬¦  «        }	|dz  ddf}
d}t          d|
||	¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         �Œ-d S )Nr¨  r©  r
   ra   é   rF   r-  r˜   r#  rª  rG  r±  r~   r   rO  r   )r7   rŠ   rž   rO   rè   r0  rH  r   r   r   r7  r¦   r£   rŸ   r   r¥   )rT   r¬  rÖ   rI  r­  r)  r›  r  ÚigrŸ   r<   r¡  s               r>   Útest_1D_is_invgammaz"TestInvwishart.test_1D_is_invgamma  sc  € õ
 	Œ	�Š�vÑÔÐàˆØˆÝ”�s‘”ˆå”9˜Q  A­UÐ3Ñ3Ô3ˆÝŒK˜˜B 2Ð&Ñ&Ô&ˆØð 	8ñ 	8ˆBÝ˜B Ñ&Ô&ˆBÝ˜"˜Q™$ dÐ+Ñ+Ô+ˆBõ ˜BŸFšF™HœH b§f¢f¡h¤hÑ/Ô/Ð/Ý˜BŸGšG™IœI r§w¢w¡y¤yÑ1Ô1Ð1õ ˜BŸFšF 1™IœI r§v¢v¨a¡y¤yÑ1Ô1Ð1ð —&’&˜b�&‘/”/ˆCØ�q‘D˜!˜T�?ˆDØˆEÝ" :¨t°U¸CÑ@Ô@Ð@õ ˜BŸJšJ™LœL¨"¯*ª*©,¬,Ñ7Ô7Ð7Ñ7ð%	8ð 	8r@   c                 ó
  — d}d}t          j        |¦  «        }d|d<   d|d<   t          ||¦  «        }t           j                             d¦  «         t          j        ||¦  «        }t           j                             d¦  «         |                     ¦   «         }t           j                             d¦  «         t           j                             d¬¦  «        }t           j        t           j                             |dz
  ¦  «        t           j                             |d	z
  ¦  «        t           j                             |¦  «        f         dz  }t          j	        |¦  «        }	||	t          j
        |d
¬¦  «        <   t           j                             |¦  «        }
t           j                             |	j        |
j        ¦  «        j        }t          j        ||j        ¦  «        }t!          ||¦  «         t!          ||¦  «         d S )NrG   r#  rG  ræ   r�  iHG	 r~   rF   r
   re   r—  )r7   rO   r   rŠ   rž   rŸ   rÕ   r�  rž  rn   r˜  r¸   rÌ   Úsolver‘   r	  r   )rT   rÖ   r›  rI  r  Úiw_rvsÚfrozen_iw_rvsr¡  r¢  rt   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×&Ò&¨AÐ&Ñ.Ô.ˆÝ”EÝŒI×Ò  1¡Ñ%Ô%ÝŒI×Ò  1¡Ñ%Ô%ÝŒI×Ò Ñ#Ô#ð%ô
ð ñ	ˆ	õ ŒG�IÑÔˆØ(3ˆ�"Œ/˜# Ð
$Ñ
$Ô
$Ñ%õ ŒI×Ò˜uÑ%Ô%ˆÝŒI�OŠO˜AœC ¤Ñ%Ô%Ô'ˆÝœ˜q !¤#™œˆõ 	˜ Ñ.Ô.Ð.Ý˜ }Ñ5Ô5Ð5Ð5Ð5r@   c                 óv  — d}d}dD �]0}t          j        t          j        |¦  «        dz   ¦  «        }t          j        ||dz
  z  dz  ¦  «        |t          j        |d¬¦  «        <   t          j        |j        |¦  «        }t          ||¦  «        }|                     ¦   «         }|                     ¦   «         }||z  dz  }| 	                    |d	¬
¦  «        }	|	                     d¬¦  «        }
||dz   z  dz  }d|z  }t          j        d|dz  z
  ¦  «        }t          j        |
|z
  |z  d|¬¦  «        sJ ‚�Œ2dS )z1Test that sample mean consistent with known mean.r#  é N  )r
   ra   r
   rF   re   r—  rG  rî   r›   r   rƒ   rO  rƒ  N)r7   rn   rè   r˜  r	  r‘   r   r¦   r7  rŸ   r   Úppfrb  )rT   r›  Úsample_sizerÖ   rI  rÆ   Ú	Xmean_expÚXvar_expÚ	Xmean_stdr)  Ú	Xmean_estÚntestsÚ	fail_rateÚmax_diffs                 r>   Útest_sample_meanzTestInvwishart.test_sample_meanU  sR  € ð ˆØˆØð 	ñ 	ˆCÝ”G�BœI c™NœN¨QÑ.Ñ/Ô/ˆEÝ02´	¸#ÀÀqÁ¹/ÈAÑ:MÑ0NÔ0NˆE•"”/ #¨Ð,Ñ,Ô,Ñ-Ý”F˜5œ7 EÑ*Ô*ˆEå˜b %Ñ(Ô(ˆDØŸ	š	™œˆIØ—x’x‘z”zˆHØ! KÑ/°#Ñ5ˆIà—’˜k¸�Ñ=Ô=ˆAØŸš A˜™œˆIà˜# ™'‘] AÑ%ˆFØ˜v™ˆIÝ”x  I°¡MÑ 1Ñ2Ô2ˆHÝ”;Ø˜YÑ&¨)Ñ3ØØðñ ô ð ð ð ñ ð!	ð 	r@   c                 óz  — 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                             |¦  «        \  }}t           j                             |¦  «        \  }}t           j                             ||¦  «        }	|dz  |z  ||z  dz  t          j        d¦  «        z  z
  t          |dz  |¦  «        z
  ||z   dz   dz  |z  z
  d|	 
                    ¦   «         z  z
  }
t          ||
¦  «         dS )zRegression test for gh-8844.)rF   r
   r   rG  )r
   rF   rG  rG  )r   rG  rG   r
   )rG  rG  r
   rF   )rØ  rd   rG   r
   )rd   rØ  ra   r
   )rG   ra   rÁ  rF   )r
   r
   rF   rØ  rb   r   rF   r
   rG  N)r7   rÅ   r   r¤   r9   r¸   r3  r  rö   r1   Útracer   )rT   r)  ÚPsiÚnuÚprobrÌ  ÚsigÚlogdetXÚ	logdetPsirß   r.  s              r>   Útest_logpdf_4x4zTestInvwishart.test_logpdf_4x4p  sa  € åŒH�n�n�nØ&Ð&Ð&Ø$�n�nØ&Ð&Ð&ð(ñ )ô )ˆõ Œh˜˜˜Ø$˜˜Ø$˜˜Ø$˜˜ð&ñ 'ô 'ˆð ˆÝÔ   B¨Ñ,Ô,ˆàŒG�AŒJˆÝ”y×(Ò(¨Ñ+Ô+‰ˆˆWÝœ×*Ò*¨3Ñ/Ô/‰ˆˆYÝŒI�OŠO˜A˜sÑ#Ô#ˆØ˜‘T˜9Ñ$Ø˜!‘t˜A‘v�rœv a™yœyÑ(ñ)å" 2 a¡4¨Ñ+Ô+ñ,ð ˜A‘v ‘z 1‘n WÑ,ñ-ð ˜!Ÿ'š'™)œ)‘mñ	$ˆõ
 	˜˜hÑ'Ô'Ð'Ð'Ð'r@   N)rÈ   rÉ   rÊ   r_  r  r  r#  r,  rÓ   r@   r>   r
  r
  å  se   € € € € € ðEð Eð Eð@8ð 8ð 8ðB,6ð ,6ð ,6ð\ð ð ð6(ð (ð (ð (ð (r@   r
  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestSpecialOrthoGroupc                 óR  — t           j                             d¦  «         t          j        d¦  «        }t          j        g d¢g d¢g d¢g¦  «        }t          ||¦  «         t           j                             d¬¦  «        }t          j        d|¬¦  «        }t          ||¦  «         d S )Né  rG   )gð‘(fÎï¿g^A�È.§¿g*ãB’¡¹?)gñ:Ñdµ¯¨?gÖ‡2uóï¿gi�}ÕÂ›?)gR#xl™F¹?g‚�^`˜D ?gž×ÑÓï?r�   rµ   )r7   rŠ   rž   r   rŸ   rÅ   r   rÑ  )rT   rZ   r.  rœ   s       r>   Útest_reproducibilityz*TestSpecialOrthoGroup.test_reproducibilityŠ  s¯   € Ý
Œ	�Š�sÑÔÐÝÔ# AÑ&Ô&ˆÝ”8ÐCÐCÐCØBÐBÐBØAÐAÐAðCñ Dô Dˆõ 	" ! XÑ.Ô.Ð.å”y×,Ò,°#Ð,Ñ6Ô6ˆÝÔ# A°LÐAÑAÔAˆÝ! ! XÑ.Ô.Ð.Ð.Ð.r@   c                 ó  — t          t          t          j        d ¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S ©NrŽ  r
   rð   )rê   rL   r   rŸ   ©rT   s    r>   Útest_invalid_dimz&TestSpecialOrthoGroup.test_invalid_dim–  s`   € Ý•jÕ"5Ô"9¸4Ñ@Ô@Ð@Ý•jÕ"5Ô"9¸6ÑBÔBÐBÝ•jÕ"5Ô"9¸1Ñ=Ô=Ð=Ý•jÕ"5Ô"9¸3Ñ?Ô?Ð?Ð?Ð?r@   c                 ó    — d}t          |¦  «        }|                     d¬¦  «        }t          j        |d¬¦  «        }t          ||¦  «         d S )Nrd   rî   rµ   )r   rŸ   r   )rT   rÖ   r  r  r  s        r>   Útest_frozen_matrixz(TestSpecialOrthoGroup.test_frozen_matrixœ  sR   € ØˆÝ$ SÑ)Ô)ˆà�zŠz tˆzÑ,Ô,ˆÝ"Ô& s¸Ð>Ñ>Ô>ˆå�T˜4Ñ Ô Ð Ð Ð r@   c                 ó  — d„ t          dd¦  «        D ¦   «         }d„ |D ¦   «         }t          |dgdz  d¬¦  «         |D ]G}t          t          j        ||j        ¦  «        t          j        |j        d	         ¦  «        ¦  «         ŒHd S )
Nc                 óZ   — g | ](}t          d ¦  «        D ]}t          j        |¦  «        ‘ŒŒ)S r×  )r  r   rŸ   ©Ú.0rÖ   r@  s      r>   ú
<listcomp>z<TestSpecialOrthoGroup.test_det_and_ortho.<locals>.<listcomp>¦  sN   € ð !ð !ð !ØÝ˜Q‘x”xð!ð !àõ "Ô% cÑ*Ô*ð !ð !ð !ð !r@   rF   rü  c                 óL   — g | ]!}t           j                             |¦  «        ‘Œ"S rÓ   ©r7   r¸   r2  ©r;  rZ   s     r>   r<  z<TestSpecialOrthoGroup.test_det_and_ortho.<locals>.<listcomp>«  s&   € Ð-Ð-Ð- Q•”	—’˜aÑ Ô Ð-Ð-Ð-r@   rÂ   é   ç‚vIhÂ%<=r;  r   )r  r   r   r7   r	  r‘   rO   r9   )rT   r  ÚdetsrZ   s       r>   Útest_det_and_orthoz(TestSpecialOrthoGroup.test_det_and_ortho¥  s«   € ð!ð !Ý˜q ™œð!ñ !ô !ˆð
 .Ð-¨"Ð-Ñ-Ô-ˆÝ˜˜r˜d 2™g¨EÐ2Ñ2Ô2Ð2ð ð 	:ð 	:ˆAÝ%¥b¤f¨Q°´¡n¤nÝ&(¤f¨Q¬W°Q¬ZÑ&8Ô&8ñ:ô :ð :ð :ð	:ð 	:r@   c                 ó  ‡‡‡— d}d}d}t           j                             d¦  «         t          j        ||¬¦  «        ŠdŠˆfd„‰D ¦   «         Šˆfd„‰D ¦   «         }ˆfd	„|D ¦   «         }t          |gt          |¦  «        z  |¦  «         d S )
Nra   r&  çš™™™™™©?r0  r~   ©rM  rÙ  )r
   rc   r´  c                 óX   •‡‡— i | ]$\  ŠŠ‰‰ft          ˆˆfd „‰D ¦   «         ¦  «        “Œ%S )c                 ó,   •— g | ]}|‰         ‰         ‘ŒS rÓ   rÓ   ©r;  rZ   ÚecÚers     €€r>   r<  z>TestSpecialOrthoGroup.test_haar.<locals>.<dictcomp>.<listcomp>É  ó!   ø€ Ð!8Ð!8Ð!8° ! B¤%¨¤)Ð!8Ð!8Ð!8r@   ©Úsorted©r;  rJ  rK  r  s    @@€r>   ú
<dictcomp>z3TestSpecialOrthoGroup.test_haar.<locals>.<dictcomp>É  óE   øøø€ ÐLÐLÐL¹f¸bÀ"��R��&Ð!8Ð!8Ð!8Ð!8Ð!8°RÐ!8Ñ!8Ô!8Ñ9Ô9ÐLÐLÐLr@   c                 ó.   •— g | ]}‰D ]}||k    ¯||f‘ŒŒS rÓ   rÓ   ©r;  Úe0Úe1Úelss      €r>   r<  z3TestSpecialOrthoGroup.test_haar.<locals>.<listcomp>Ê  ó.   ø€ ÐAÐAÐA˜b°#ÐAÐA¨B¸¸bº¸�"�b�¸¸¸¸r@   c                 óZ   •— g | ]'\  }}t          ‰|         ‰|         ¦  «        d          ‘Œ(S r×  ©r   ©r;  Úp0Úp1Úprojs      €r>   r<  z3TestSpecialOrthoGroup.test_haar.<locals>.<listcomp>Ë  ó4   ø€ ÐJÐJÐJ¹¸¸R•H˜T "œX t¨B¤xÑ0Ô0°Ô3ÐJÐJÐJr@   )r7   rŠ   rž   r   rŸ   r   r�   ©	rT   rÖ   rå  Úks_probÚpairsÚks_testsrV  r]  r  s	         @@@r>   Ú	test_haarzTestSpecialOrthoGroup.test_haar³  s´   øøø€ ð ˆØˆØˆÝ
Œ	�Š�sÑÔÐÝ Ô$ S¨wÐ7Ñ7Ô7ˆð +ˆàLÐLÐLÐLÈÐLÑLÔLˆØAÐAÐAÐA CÐAÑAÔAˆØJÐJÐJÐJÀEÐJÑJÔJˆÝ˜7˜)¥C¨¡J¤JÑ.°Ñ9Ô9Ð9Ð9Ð9r@   N)rÈ   rÉ   rÊ   r1  r5  r7  rC  rc  rÓ   r@   r>   r.  r.  ‰  sb   € € € € € ð
/ð 
/ð 
/ð@ð @ð @ð!ð !ð !ð:ð :ð :ð:ð :ð :ð :ð :r@   r.  c                   ó¢   — e Zd Zd„ Zd„ Zd„ Zd„ Zej         	                    dg d¢¦  «        d„ ¦   «         Z
d„ Zej        j        d	„ ¦   «         Zd
S )ÚTestOrthoGroupc                 óp  — d}t           j                             |¦  «         t          j        d¦  «        }t          j        d|¬¦  «        }t          t           j                             |¦  «        d¦  «         t          j        g d¢g d¢g d¢g¦  «        }t          ||¦  «         t          ||¦  «         d S )Nr0  rG   rµ   re   )gÝÓÕ‹mØ?gÓ hÀ"·¿gE�¹‡„oí?)g~7Ý²Cüì?gž’>­Ä¿g0JÐ_èÙ¿)gÝ±Ø&�Ç¿gü ¤6qrï¿g`Xþ|[°”¿)
r7   rŠ   rž   r   rŸ   r   r¸   r2  rÅ   r   )rT   rž   rZ   r«   r.  s        r>   r1  z#TestOrthoGroup.test_reproducibilityÐ  s·   € ØˆÝ
Œ	�Š�tÑÔÐÝŒO˜AÑÔˆÝŒ_˜Q¨TÐ2Ñ2Ô2ˆå�BœIŸMšM¨!Ñ,Ô,¨bÑ1Ô1Ð1Ý”8Ð<Ð<Ð<Ø=Ð=Ð=Ø=Ð=Ð=ð?ñ @ô @ˆõ 	" ! XÑ.Ô.Ð.Ý! " hÑ/Ô/Ð/Ð/Ð/r@   c                 ó  — t          t          t          j        d ¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S r3  )rê   rL   r   rŸ   r4  s    r>   r5  zTestOrthoGroup.test_invalid_dimÝ  sX   € Ý•j¥+¤/°4Ñ8Ô8Ð8Ý•j¥+¤/°6Ñ:Ô:Ð:Ý•j¥+¤/°1Ñ5Ô5Ð5Ý•j¥+¤/°3Ñ7Ô7Ð7Ð7Ð7r@   c                 ó  — d}t          |¦  «        }t          |d¬¦  «        }|                     d¬¦  «        }t          j        |d¬¦  «        }|                     d¬¦  «        }t          ||¦  «         t          ||¦  «         d S )Nrd   rî   r�   rµ   r
   r~   )r   rŸ   r   ©rT   rÖ   r  Úfrozen_seedr  r  Úrvs3s          r>   r7  z!TestOrthoGroup.test_frozen_matrixã  s†   € ØˆÝ˜SÑ!Ô!ˆÝ! #¨DÐ1Ñ1Ô1ˆà�zŠz tˆzÑ,Ô,ˆÝŒ˜s°Ð6Ñ6Ô6ˆØ�Š AˆÑ&Ô&ˆå�T˜4Ñ Ô Ð Ý�T˜4Ñ Ô Ð Ð Ð r@   c           	      óŠ  — d„ t          dd¦  «        D ¦   «         }t          j        d„ |D ¦   «         ¦  «        }t          t          j        |¦  «        t          j        |j        ¦  «        d¬¦  «         |D ]L}|D ]G}t          t          j        ||j	        ¦  «        t          j
        |j        d         ¦  «        ¦  «         ŒHŒMd S )Nc                 óF   ‡— g | ]Šˆfd „t          d¦  «        D ¦   «         ‘ŒS )c                 ó8   •— g | ]}t          j        ‰¦  «        ‘ŒS rÓ   )r   rŸ   )r;  r@  rÖ   s     €r>   r<  z@TestOrthoGroup.test_det_and_ortho.<locals>.<listcomp>.<listcomp>ð  s3   ø€ ð #ð #ð #Øõ Œ˜sÑ#Ô#ð #ð #ð #r@   r#  )r  )r;  rÖ   s    @r>   r<  z5TestOrthoGroup.test_det_and_ortho.<locals>.<listcomp>ð  sP   ø€ ð &ð &ð &àð#ð #ð #ð #Ý˜b™	œ	ð#ñ #ô #ð &ð &ð &r@   rF   rü  c                 ó&   — g | ]}d „ |D ¦   «         ‘ŒS )c                 óL   — g | ]!}t           j                             |¦  «        ‘Œ"S rÓ   r>  r?  s     r>   r<  z@TestOrthoGroup.test_det_and_ortho.<locals>.<listcomp>.<listcomp>õ  s&   € Ð7Ð7Ð7¨q�"œ)Ÿ-š-¨Ñ*Ô*Ð7Ð7Ð7r@   rÓ   )r;  Úxxs     r>   r<  z5TestOrthoGroup.test_det_and_ortho.<locals>.<listcomp>õ  s'   € ÐEÐEÐE¸BÐ7Ð7°BÐ7Ñ7Ô7ÐEÐEÐEr@   rA  r;  r   )r  r7   rÅ   r   ÚfabsrN   r9   r   r	  r‘   rO   )rT   r  rB  rq  rZ   s        r>   rC  z!TestOrthoGroup.test_det_and_orthoï  sØ   € ð&ð &å˜q ™œð&ñ &ô &ˆõ
 ŒxÐEÐEÀ"ÐEÑEÔEÑFÔFˆÝ�œ ™œ¥r¤w¨t¬zÑ':Ô':ÀÐGÑGÔGÐGð ð 	>ð 	>ˆBØð >ð >�Ý)­"¬&°°A´C©.¬.Ý*,¬&°´¸´Ñ*<Ô*<ñ>ô >ð >ð >ð>ð	>ð 	>r@   rÖ   )rF   ra   r#  r  c                 óœ  — t           j                             d¦  «        }t          |¬¦  «        }|                     d|¬¦  «        }t
          j                             |¦  «        }t          j        |dk    ¦  «        }t          |¦  «        }t          j        ||¦  «        }|                     d¬¦  «        \  }	}
|	dcxk     r|
k     sn J ‚d S )	Nl   ø<`L«‰r ©rÖ   r—  r›   r   gffffffî?)Úconfidence_levelrG  )r7   rŠ   r‹   r   rŸ   rÄ   r¸   r2  r�   r�   r-   Ú	binomtestÚproportion_ci)rT   rÖ   r”   rÆ   rŸ   rB  r  rº   r:   ÚlowÚhighs              r>   Útest_det_distribution_gh18272z,TestOrthoGroup.test_det_distribution_gh18272þ  sÈ   € õ Œi×#Ò#Ð$7Ñ8Ô8ˆÝ˜sÐ#Ñ#Ô#ˆØ�hŠh˜D¨sˆhÑ3Ô3ˆÝŒ|×Ò Ñ$Ô$ˆÝŒF�4˜!’8ÑÔˆÝ�‰IŒIˆÝŒo˜a Ñ#Ô#ˆØ×%Ò%°tÐ%Ñ<Ô<‰	ˆˆTØ�SÐÐÒÐ˜4ÒÐÐÐÐÐÐÐr@   c                 ó  ‡‡‡— d}d}d}t           j                             d¦  «         t          j        ||¬¦  «        ŠdŠˆfd„‰D ¦   «         Šˆfd„‰D ¦   «         }ˆfd	„|D ¦   «         }t          |gt          |¦  «        z  |¦  «         d S )
Nra   r&  rE  i  r~   rF  c                 óX   •‡‡— i | ]$\  ŠŠ‰‰ft          ˆˆfd „‰D ¦   «         ¦  «        “Œ%S )c                 ó,   •— g | ]}|‰         ‰         ‘ŒS rÓ   rÓ   rI  s     €€r>   r<  z7TestOrthoGroup.test_haar.<locals>.<dictcomp>.<listcomp>!  rL  r@   rM  rO  s    @@€r>   rP  z,TestOrthoGroup.test_haar.<locals>.<dictcomp>!  rQ  r@   c                 ó.   •— g | ]}‰D ]}||k    ¯||f‘ŒŒS rÓ   rÓ   rS  s      €r>   r<  z,TestOrthoGroup.test_haar.<locals>.<listcomp>"  rW  r@   c                 óZ   •— g | ]'\  }}t          ‰|         ‰|         ¦  «        d          ‘Œ(S r×  rY  rZ  s      €r>   r<  z,TestOrthoGroup.test_haar.<locals>.<listcomp>#  r^  r@   )r7   rŠ   rž   r   rŸ   r   r�   r_  s	         @@@r>   rc  zTestOrthoGroup.test_haar  s³   øøø€ ð ˆØˆØˆÝ
Œ	�Š�sÑÔÐÝŒ_˜S wÐ/Ñ/Ô/ˆð +ˆàLÐLÐLÐLÈÐLÑLÔLˆØAÐAÐAÐA CÐAÑAÔAˆØJÐJÐJÐJÀEÐJÑJÔJˆÝ˜7˜)¥C¨¡J¤JÑ.°Ñ9Ô9Ð9Ð9Ð9r@   c                 ó8  ‡— t           j                             d¦  «         d„ }t          dd¦  «        D ]eŠd	ˆfd„	} ||¦  «        } |t          j        j        j        ¦  «        }t          j                             ||¦  «        \  }}t          d|¦  «         Œfd S )
Nr0  c                 ó²   — t           j                             t           j                             | | f¬¦  «        ¦  «        \  }}}t          j        ||¦  «        S ©Nr~   )r7   r¸   rÞ   rŠ   rÕ   r	  )rÖ   rà   Ú_srÙ   s       r>   Úrandom_orthoz<TestOrthoGroup.test_pairwise_distances.<locals>.random_ortho+  sB   € Ý”y—}’}¥R¤Y×%5Ò%5¸CÀ¸:Ð%5Ñ%FÔ%FÑGÔG‰HˆAˆr�1Ý”6˜!˜Q‘<”<Ðr@   rF   rb   r&  r‚  c                 ó¼   •‡ — t          j        ˆˆ fd„t          |¦  «        D ¦   «         ¦  «        }|t           j                             | ||j        ¬¦  «        z  }|S )Nc                 ól   •— g | ]0}t          j         ‰‰¬ ¦  «         ‰‰¬ ¦  «        z
  dz  ¦  «        ‘Œ1S )rt  rF   )r7   r�   )r;  rØ   rÖ   rŸ   s     €€r>   r<  z\TestOrthoGroup.test_pairwise_distances.<locals>.generate_test_statistics.<locals>.<listcomp>1  sQ   ø€ ð "ð "ð "àõ ”F˜C˜C C˜L™LœL¨3¨3°3¨<©<¬<Ñ7¸!Ñ;Ñ<Ô<ð"ð "ð "r@   r~   )r7   rÅ   r  rŠ   r   r9   )rŸ   r“  Úepsr-   rÖ   s   `   €r>   Úgenerate_test_statisticszHTestOrthoGroup.test_pairwise_distances.<locals>.generate_test_statistics0  sr   øø€ Ýœð "ð "ð "ð "ð "å" 1™XœXð"ñ "ô "ñ ô �ð
 �œ×*Ò*¨C¨4°¸5¼;Ð*ÑGÔGÑG�Ø�r@   rE  )r&  r‚  )
r7   rŠ   rž   r  rÄ   r-   r   rŸ   r   r   )rT   r„  rˆ  r.  rB  Ú_DrÌ  rÖ   s          @r>   Útest_pairwise_distancesz&TestOrthoGroup.test_pairwise_distances&  sÁ   ø€ õ 	Œ	�Š�sÑÔÐð	 ð 	 ð 	 õ ˜˜A‘;”;ð 	&ð 	&ˆCðð ð ð ð ð ð 0Ð/°Ñ=Ô=ˆHØ-Ð-­e¬kÔ.EÔ.IÑJÔJˆFå”K×(Ò(¨°6Ñ:Ô:‰EˆB�å˜c 1Ñ%Ô%Ð%Ð%ð	&ð 	&r@   N)rÈ   rÉ   rÊ   r1  r5  r7  rC  rK   rÏ   rÐ   rz  rc  ÚslowrŠ  rÓ   r@   r>   re  re  Ï  s²   € € € € € ð0ð 0ð 0ð8ð 8ð 8ð
!ð 
!ð 
!ð>ð >ð >ð „[×Ò˜U N N NÑ3Ô3ð
 ð 
 ñ 4Ô3ð
 ð:ð :ð :ð6 „[Ôð&ð &ñ Ôð&ð &ð &r@   re  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestRandomCorrelationc                 ó  — t           j                             d¦  «         d}t          j        |¦  «        }t          j        |d¬¦  «        }t          j        g d¢g d¢g d¢g d¢g¦  «        }t          ||¦  «         t          ||¦  «         d S )Nr0  ©rG  rh  rE  rï   rµ   )rÂ   ç¼Ñ“2©Ç¿ç–AµÁ‰è»?çý¢ý…Í¿)r�  rÂ   ç 4Ô($™Í?çR}ç%èÔ?)r‘  r“  rÂ   çqTn¢–æÆ¿)r’  r”  r•  rÂ   )r7   rŠ   rž   r   rŸ   rÅ   r   )rT   rœ  rZ   r«   r.  s        r>   r1  z*TestRandomCorrelation.test_reproducibilityB  s¥   € Ý
Œ	�Š�sÑÔÐØ!ˆÝÔ" 4Ñ(Ô(ˆÝÔ# D°sÐ;Ñ;Ô;ˆÝ”8ÐAÐAÐAØ@Ð@Ð@Ø@Ð@Ð@ØAÐAÐAðCñ Dô Dˆõ 	" ! XÑ.Ô.Ð.Ý! " hÑ/Ô/Ð/Ð/Ð/r@   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¢¦  «         d S )	NÚtestrð   r
   rF   rG   rc   g      à¿)r
   rF   r˜   )rê   rL   r   rŸ   r4  s    r>   Útest_invalid_eigsz'TestRandomCorrelation.test_invalid_eigsN  s¸   € Ý•jÕ"4Ô"8¸$Ñ?Ô?Ð?Ý•jÕ"4Ô"8¸&ÑAÔAÐAÝ•jÕ"4Ô"8¸#Ñ>Ô>Ð>Ý•jÕ"4Ô"8¸3¸%Ñ@Ô@Ð@Ý•jÕ"4Ô"8¸A¸a¸5À!ÀAÀ¸-ÑHÔHÐHÝ•jÕ"4Ô"8¸3À¸*ÑEÔEÐEÝ•jÕ"4Ô"8¸*¸*¸*ÑEÔEÐEÐEÐEr@   c                 ó
  — d}t          |¦  «        }t          |d¬¦  «        }t          j        |d¬¦  «        }|                     d¬¦  «        }|                     ¦   «         }t          ||¦  «         t          ||¦  «         d S )Nr�  r0  r�   rµ   )r   rŸ   r   )rT   rœ  r  rj  r  r  rk  s          r>   r7  z(TestRandomCorrelation.test_frozen_matrixW  sƒ   € Ø!ˆÝ# DÑ)Ô)ˆÝ(¨°CÐ8Ñ8Ô8ˆå!Ô% d¸Ð=Ñ=Ô=ˆØ�zŠz sˆzÑ+Ô+ˆØ�ŠÑ Ô ˆå�T˜4Ñ Ô Ð Ý�T˜4Ñ Ô Ð Ð Ð r@   c                 óØ  ‡
— d„ Š
t           j                             d¦  «         ˆ
fd„t          dd¦  «        D ¦   «         }|                     g d¢¦  «         d„ |D ¦   «         }d„ |D ¦   «         }d	„ |D ¦   «         }d
„ |D ¦   «         }t          ||dd¬¦  «         d„ |D ¦   «         }t          ||¦  «        D ]\  }}t          ||d¬¦  «         Œ|D ]}	t          |	|	j        d¬¦  «         Œd S )Nc                 ó,   — | |z  t          |¦  «        z  S r6   )r�   )r@  r|  s     r>   r   z3TestRandomCorrelation.test_definition.<locals>.normk  s   € Ø�Q‘3•s˜1‘v”v‘:Ðr@   rÐ  c                 ód   •— g | ],} ‰|t           j                             |¬ ¦  «        ¦  «        ‘Œ-S )r~   )r7   rŠ   r   )r;  r@  r   s     €r>   r<  z9TestRandomCorrelation.test_definition.<locals>.<listcomp>p  s8   ø€ ÐHÐHÐH°q���Q�œ	×)Ò)¨qÐ)Ñ1Ô1Ñ2Ô2ÐHÐHÐHr@   rF   rb   )rc   r   r   r   c                 ó4   — g | ]}d gt          |¦  «        z  ‘ŒS )rÂ   )r�   ©r;  r|  s     r>   r<  z9TestRandomCorrelation.test_definition.<locals>.<listcomp>s  s$   € Ð*Ð*Ð* ��•S˜‘V”V‘Ð*Ð*Ð*r@   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rÓ   )r   rŸ   rž  s     r>   r<  z9TestRandomCorrelation.test_definition.<locals>.<listcomp>t  s$   € Ð6Ð6Ð6¨AÕ Ô$ QÑ'Ô'Ð6Ð6Ð6r@   c                 óp   — g | ]3}t          j        t           j                             |¦  «        ¦  «        ‘Œ4S rÓ   )r7   rr  r¸   r2  r?  s     r>   r<  z9TestRandomCorrelation.test_definition.<locals>.<listcomp>z  s0   € Ð6Ð6Ð6¨a•”�œ	Ÿš aÑ(Ô(Ñ)Ô)Ð6Ð6Ð6r@   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rÓ   )r7   Úprodrž  s     r>   r<  z9TestRandomCorrelation.test_definition.<locals>.<listcomp>{  s    € Ð/Ð/Ð/ Q•b”g˜a‘j”jÐ/Ð/Ð/r@   rA  rP  c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rÓ   )r7   rn   r?  s     r>   r<  z9TestRandomCorrelation.test_definition.<locals>.<listcomp>  s    € Ð(Ð(Ð( •”˜‘”Ð(Ð(Ð(r@   r;  )r7   rŠ   rž   r  rz  r   Úzipr‘   )rT   rœ  rN   r  rB  Ú
dets_knownÚdiagsr¨  r©  rZ   r   s             @r>   Útest_definitionz%TestRandomCorrelation.test_definitionc  sC  ø€ ð	ð 	ð 	õ 	Œ	�Š�sÑÔÐàHÐHÐHÐH½EÀ!ÀQ¹K¼KÐHÑHÔHˆØ�Š�I�I�IÑÔÐà*Ð* TÐ*Ñ*Ô*ˆØ6Ð6°Ð6Ñ6Ô6ˆð 7Ð6°2Ð6Ñ6Ô6ˆØ/Ð/¨$Ð/Ñ/Ô/ˆ
Ý˜˜j¨u¸5ÐAÑAÔAÐAð )Ð( RÐ(Ñ(Ô(ˆÝ˜˜tÑ$Ô$ð 	.ð 	.‰DˆAˆqÝ˜A˜q uÐ-Ñ-Ô-Ð-Ð-ð ð 	0ð 	0ˆAÝ˜A˜qœs¨Ð/Ñ/Ô/Ð/Ð/ð	0ð 	0r@   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        |                     ¦   «         ¦  «        }t          ||j	         
                    |¦  «         
                    |¦  «        ¦  «         t          j        d	dgdd
ggt          ¬¦  «        }t          j        |                     ¦   «         ¦  «        }t          ||j	         
                    |¦  «         
                    |¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ddgddggt          ¬¦  «        }t          j        |                     ¦   «         ¦  «        }t          |d         d¦  «         t          j        ddgddggt          ¬¦  «        }t          j        |                     ¦   «         ¦  «        }t          |d         d¦  «         d S )Nr˜   r   r
   r-  Úignore)Úoverre   gœu ˆ<ä7~rF  rT  rF   rM  gMùk   @)r7   rÅ   r0  r   Ú_to_corrr   ÚerrstateÚ	nextafterÚcopyr‘   r	  )rT   rì  ÚgÚm0s       r>   Útest_to_corrz"TestRandomCorrelation.test_to_corr‡  sU  € õ ŒH�s˜A�h  A Ð'­uÐ5Ñ5Ô5ˆÝÔ'¨Ñ*Ô*ˆÝ˜�2œ8 a¨ V¨a°¨XÐ$6Ñ7Ô7Ñ8Ô8Ð8õ
 Œ[˜hÐ'Ñ'Ô'ð 		3ð 		3Ý”˜1˜a˜& 2 q 'Ð*Ñ+Ô+ˆAå”˜E 1˜:¨­2¬<¸¸1Ñ+=Ô+=Ð'>Ð?ÅuÐMÑMÔMˆBÝ"Ô+¨B¯GªG©I¬IÑ6Ô6ˆAÝ˜A˜qœsŸwšw r™{œ{Ÿš¨qÑ1Ô1Ñ2Ô2Ð2å”˜C ˜<¨%°¨Ð6½eÐDÑDÔDˆBÝ"Ô+¨B¯GªG©I¬IÑ6Ô6ˆAÝ˜A˜qœsŸwšw r™{œ{Ÿš¨qÑ1Ô1Ñ2Ô2Ð2ð		3ð 		3ð 		3ñ 		3ô 		3ð 		3ð 		3ð 		3ð 		3ð 		3ð 		3øøøð 		3ð 		3ð 		3ð 		3õ ŒX˜˜1�v  1˜vÐ&­eÐ4Ñ4Ô4ˆÝÔ'¨¯ª©	¬	Ñ2Ô2ˆÝ˜˜#œ Ñ"Ô"Ð"õ ŒX˜ !�} q¨! fÐ-µUÐ;Ñ;Ô;ˆÝÔ'¨¯ª©	¬	Ñ2Ô2ˆÝ˜˜#œ Ñ"Ô"Ð"Ð"Ð"s   Á3D2F1Æ1F5Æ8F5N)rÈ   rÉ   rÊ   r1  r˜  r7  r§  r±  rÓ   r@   r>   r�  r�  A  sc   € € € € € ð
0ð 
0ð 
0ðFð Fð Fð
!ð 
!ð 
!ð"0ð "0ð "0ðH#ð #ð #ð #ð #r@   r�  c                   ó>  — e Zd Zej                             dddg¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zd	„ Zej                             dg d
¢¦  «        d„ ¦   «         Z	dS )ÚTestUniformDirectionrÖ   r
   rG   r   ©Nr
   ra   )ra   rc   c                 ó–  — t           j                             d¦  «        }t          ||¬¦  «        }|                     |¦  «        }t          j        |¦  «        t          j        |¦  «        }}|                     |||¬¦  «        j        }|j        |k    sJ ‚t           j	         
                    |d¬¦  «        }	t          |	d¦  «         d S )Nì   Sid)_i4 r�   r~   re   rƒ   rÂ   )r7   rŠ   r‹   r'   rŸ   r¶   rO   r   r9   r¸   r   r   )
rT   rÖ   r   r”   Úuniform_direction_distrå  r¦   r½   Úexpected_shapeÚnormss
             r>   r/  z!TestUniformDirection.test_samples©  s¶   € õ Œi×#Ò#Ð$7Ñ8Ô8ˆÝ!2°3¸SÐ!AÑ!AÔ!AÐØ(×,Ò,¨TÑ2Ô2ˆÝ”H˜S‘M”M¥2¤6¨#¡;¤;ˆcˆØ×0Ò0°°sÀÐ0ÑFÔFÔLˆØŒ} Ò.Ð.Ð.Ð.Ý”	—’˜w¨R�Ñ0Ô0ˆÝ˜˜rÑ"Ô"Ð"Ð"Ð"r@   )Nr   rŽ  rð   c                 óš   — d}t          j        t          |¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzMDimension of vector must be specified, and must be an integer greater than 0.rD   )rK   r	   rL   r'   rŸ   )rT   rÖ   rU   s      r>   r5  z%TestUniformDirection.test_invalid_dim¶  s“   € ð<ˆåŒ]�:¨WÐ5Ñ5Ô5ð 	'ð 	'ÝÔ! #Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	's   žA Á AÁAc                 ó
  — d}t          |¦  «        }t          |d¬¦  «        }|                     d¬¦  «        }t          j        |d¬¦  «        }|                     ¦   «         }t          ||¦  «         t          ||¦  «         d S )Nra   r0  r�   rµ   )r'   rŸ   r   ri  s          r>   Útest_frozen_distributionz-TestUniformDirection.test_frozen_distribution½  sƒ   € ØˆÝ" 3Ñ'Ô'ˆÝ'¨°#Ð6Ñ6Ô6ˆà�zŠz sˆzÑ+Ô+ˆÝ Ô$ S°sÐ;Ñ;Ô;ˆØ�ŠÑ Ô ˆå�T˜4Ñ Ô Ð Ý�T˜4Ñ Ô Ð Ð Ð r@   )rF   ra   rÁ  c                 ó(  — t           j                             d¦  «        }t          ||¬¦  «        }|                     d¬¦  «        \  }}|||z  |z  z  }|t           j                             |¦  «        z  }t          ||z  dd¬¦  «         |                     d¬¦  «        }||z  }||z  }t          j        ||¦  «        }	|	t           j	        z  }	|	dt           j	        z  z  }	t          ¦   «         }
t          |	|
j        ¦  «        }|j        d	k    sJ ‚d S )
Nl   @9š¼Y sr�   rF   r~   r   rË  rƒ  é'  rE  )r7   rŠ   r‹   r'   rŸ   r¸   r   r   Úarctan2r›  r   r    r®   Úpvalue)rT   rÖ   r”   Úspherical_distÚv1Úv2rå  Ús1Ús2ÚanglesÚuniform_distÚkstest_results               r>   Útest_uniformz!TestUniformDirection.test_uniformÉ  s  € åŒi×#Ò#Ð$7Ñ8Ô8ˆÝ*¨3°SÐ9Ñ9Ô9ˆà×#Ò#¨Ð#Ñ+Ô+‰ˆˆBØ
ˆb�2‰g˜‰lÑˆØ
�bŒi�nŠn˜RÑ Ô Ñ ˆÝ˜˜R™ ¨Ð/Ñ/Ô/Ð/à ×$Ò$¨%Ð$Ñ0Ô0ˆØ�r‰\ˆØ�r‰\ˆÝ”˜B Ñ#Ô#ˆð 	•"”%‰ˆØ�!•B”E‘'Ñˆå‘y”yˆÝ˜v |Ô'7Ñ8Ô8ˆØÔ# dÒ*Ð*Ð*Ð*Ð*Ð*r@   N)
rÈ   rÉ   rÊ   rK   rÏ   rÐ   r/  r5  r¼  rÉ  rÓ   r@   r>   r³  r³  ¨  sÞ   € € € € € Ø„[×Ò˜U Q¨ FÑ+Ô+Ø„[×Ò˜VÐ%9Ð%9Ð%9Ñ:Ô:ð	#ð 	#ñ ;Ô:ñ ,Ô+ð	#ð „[×Ò˜UÐ$:Ð$:Ð$:Ñ;Ô;ð'ð 'ñ <Ô;ð'ð
!ð 
!ð 
!ð „[×Ò˜U I I IÑ.Ô.ð+ð +ñ /Ô.ð+ð +ð +r@   r³  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestUnitaryGroupc                 ó  — t           j                             d¦  «         t          j        d¦  «        }t          j        dd¬¦  «        }t          j        g d¢g d¢g d¢g¦  «        }t          ||¦  «         t          ||¦  «         d S )Nr0  rG   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Õ'Ó?)r7   rŠ   rž   r   rŸ   rÅ   r   )rT   rZ   r«   r.  s       r>   r1  z%TestUnitaryGroup.test_reproducibilityâ  s•   € Ý
Œ	�Š�sÑÔÐÝÔ˜aÑ Ô ˆÝÔ˜q¨sÐ3Ñ3Ô3ˆå”8ØIÐIÐIØHÐHÐHØKÐKÐKðMñ
ô 
ˆõ 	" ! XÑ.Ô.Ð.Ý! " hÑ/Ô/Ð/Ð/Ð/r@   c                 ó  — t          t          t          j        d ¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S r3  )rê   rL   r   rŸ   r4  s    r>   r5  z!TestUnitaryGroup.test_invalid_dimð  s\   € Ý•j¥-Ô"3°TÑ:Ô:Ð:Ý•j¥-Ô"3°VÑ<Ô<Ð<Ý•j¥-Ô"3°QÑ7Ô7Ð7Ý•j¥-Ô"3°SÑ9Ô9Ð9Ð9Ð9r@   c                 ó  — d}t          |¦  «        }t          |d¬¦  «        }|                     d¬¦  «        }t          j        |d¬¦  «        }|                     d¬¦  «        }t          ||¦  «         t          ||¦  «         d S )Nrd   r0  r�   rµ   r
   r~   )r   rŸ   r   ri  s          r>   r7  z#TestUnitaryGroup.test_frozen_matrixö  s‡   € ØˆÝ˜sÑ#Ô#ˆÝ# C¨cÐ2Ñ2Ô2ˆà�zŠz sˆzÑ+Ô+ˆÝÔ  °3Ð7Ñ7Ô7ˆØ�Š AˆÑ&Ô&ˆå�T˜4Ñ Ô Ð Ý�T˜4Ñ Ô Ð Ð Ð r@   c                 óö   — d„ t          dd¦  «        D ¦   «         }|D ][}t          t          j        ||                     ¦   «         j        ¦  «        t          j        |j        d         ¦  «        d¬¦  «         Œ\d S )Nc                 óZ   — g | ](}t          d ¦  «        D ]}t          j        |¦  «        ‘ŒŒ)S r×  )r  r   rŸ   r:  s      r>   r<  z3TestUnitaryGroup.test_unitarity.<locals>.<listcomp>	  sN   € ð !ð !ð !ØÝ˜Q‘x”xð!ð !àõ Ô Ñ$Ô$ð !ð !ð !ð !r@   rF   rü  r   rÊ  rƒ  )r  r   r7   r	  Úconjr‘   rO   r9   )rT   r  rZ   s      r>   Útest_unitarityzTestUnitaryGroup.test_unitarity	  s…   € ð!ð !Ý˜q ™œð!ñ !ô !ˆð
 ð 	Sð 	SˆAÝ�BœF 1 a§f¢f¡h¤h¤jÑ1Ô1µ2´6¸!¼'À!¼*Ñ3EÔ3EÈEÐRÑRÔRÐRÐRð	Sð 	Sr@   c                 ó¼  — d}d}t           j                             d¦  «         t          j        ||¬¦  «        }t          j        d„ |D ¦   «         ¦  «        }t          j        |j        |j        ¦  «        }t          | 
                    ¦   «         t          t           j         dt           j        z  ¦  «        j        ¦  «        }t          |j        dk    ¦  «         d S )Nra   r&  r0  r~   c                 óL   — g | ]!}t           j                             |¦  «        ‘Œ"S rÓ   )rÄ   r¸   Úeigvalsr?  s     r>   r<  z.TestUnitaryGroup.test_haar.<locals>.<listcomp>	  s(   € Ð>Ð>Ð>°a�%œ,×.Ò.¨qÑ1Ô1Ð>Ð>Ð>r@   rF   rE  )r7   rŠ   rž   r   rŸ   ry  r¿  ÚimagÚrealr    Úravelr   r›  r®   r   rÀ  )rT   rÖ   rå  r  rœ  rZ   r:   s          r>   rc  zTestUnitaryGroup.test_haar	  sµ   € ð
 ˆØˆÝ
Œ	�Š�sÑÔÐÝÔ˜s¨Ð1Ñ1Ô1ˆõ ŒyÐ>Ð>¸2Ð>Ñ>Ô>Ñ?Ô?ˆÝŒJ�t”y $¤)Ñ,Ô,ˆÝ�Q—W’W‘Y”Y¥­¬¨°µ"´%±Ñ 8Ô 8Ô <Ñ=Ô=ˆÝ�”
˜TÒ!Ñ"Ô"Ð"Ð"Ð"r@   N)rÈ   rÉ   rÊ   r1  r5  r7  rÒ  rc  rÓ   r@   r>   rË  rË  á  sb   € € € € € ð0ð 0ð 0ð:ð :ð :ð
!ð 
!ð 
!ðSð Sð Sð#ð #ð #ð #ð #r@   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                             de¦  «        d„ ¦   «         Ze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                             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                             d e¦  «        d#„ ¦   «         Zd$„ Zd%„ Zd&„ Zej                             d'd(d)g¦  «        ej                             d*g d+¢¦  «        ej                             d,d-d.ej        g¦  «        d/„ ¦   «         ¦   «         ¦   «         Zd0„ Zej                             d*g d1¢¦  «        d2„ ¦   «         Zej                             d*g d3¢¦  «        d4„ ¦   «         ZdTd6„Zd7„ Zej                             d*g d8¢¦  «        ej                             d9g d:¢¦  «        ej                             d;d5d<g¦  «        d=„ ¦   «         ¦   «         ¦   «         Zej        j         d>„ ¦   «         Z!d?„ Z"d@„ Z#dA„ Z$ej                             d*dB¦  «        dC„ ¦   «         Z%dD„ Z&ej                             d,g dE¢¦  «        dF„ ¦   «         Z'ej                             dGdH ej(        dd¦  «        dIdJfdK ej        dLdgddHgg¦  «        dMdNfg¦  «        dO„ ¦   «         Z)ej                             dPg dQ¢¦  «        dR„ ¦   «         Z*dS„ Z+dS )UÚTestMultivariateTr
   rF   rc   rG   ra   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î?)re   r
   é2   )rÂ   rG  rZ  )rG  rÂ   rQ  )rZ  rQ  rÂ   rÁ  )gJ#Ž¥RÉ<g^Ó±�Ê<gš‹L[É<gêN=à¼Ê<gü`$æ§ÁË<zx, loc, shape, df, ansc                 óv   — t          |||d¬¦  «        }|                     |¦  «        }t          ||¦  «         d S ©Nr   r�   )r#   r£   r   )rT   rZ   rN  r9   r›  ÚansrÆ   Úvals           r>   Útest_pdf_correctnessz&TestMultivariateT.test_pdf_correctnessf	  s=   € å˜c 5¨"°1Ð5Ñ5Ô5ˆØ�hŠh�q‰kŒkˆÝ! # sÑ+Ô+Ð+Ð+Ð+r@   c                 óÄ   — t          |||d¬¦  «        }|                     |¦  «        }|                     |¦  «        }t          t	          j        |¦  «        |¦  «         d S rß  )r#   r£   r¤   r   r7   rö   )	rT   rZ   rN  r9   r›  rà  rÆ   rÆ  rÇ  s	            r>   Útest_logpdf_correctz%TestMultivariateT.test_logpdf_correctl	  sT   € å˜c 5¨"°1Ð5Ñ5Ô5ˆØ�xŠx˜‰{Œ{ˆØ�{Š{˜1‰~Œ~ˆÝ!¥"¤&¨¡,¤,°Ñ5Ô5Ð5Ð5Ð5r@   c                 ó‚   — g d¢}t          j        |d¬¦  «        }t          j        |¦  «        }t          ||¦  «         d S )N)
rØ  rd   rc   r
   éýÿÿÿrØ  r   ræ  re   rG   r
   ©r›  )r#   r£   r$   r   )rT   rZ   rá  rà  s       r>   Útest_mvt_with_df_one_is_cauchyz0TestMultivariateT.test_mvt_with_df_one_is_cauchyt	  sE   € Ø-Ð-Ð-ˆÝÔ   qÐ)Ñ)Ô)ˆÝŒj˜‰mŒmˆÝ! # sÑ+Ô+Ð+Ð+Ð+r@   c                 óJ  — d}t          dddd¬¦  «        }|                     d¬¦  «        }t          |¦  «        \  }}||k    sJ ‚t          ddgd	d
gd
d	ggdd¬¦  «        }|                     d¬¦  «        }t          |¦  «        \  }}||k                         ¦   «         sJ ‚d S )Nr˜   r   r
   é † ©r›  rž   r~   rh   rG   r#  re   é*   )r#   rŸ   r%   r%  )rT   Ú	P_VAL_MINrÆ   rå  rØ   rÌ  s         r>   Ú&test_mvt_with_high_df_is_approx_normalz8TestMultivariateT.test_mvt_with_high_df_is_approx_normalz	  sÄ   € ð
 ˆ	å˜a  v°AÐ6Ñ6Ô6ˆØ—(’( �(Ñ'Ô'ˆÝ˜'Ñ"Ô"‰ˆˆ1Ø�I’���å˜r 1˜g¨¨R¨°2°r°(Ð';ÀØ#%ð'ñ 'ô 'ˆà—(’( �(Ñ'Ô'ˆÝ˜'Ñ"Ô"‰ˆˆ1Ø�Y’×#Ò#Ñ%Ô%Ð&Ð&Ð&Ð&Ð&r@   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 ‚d S )Nr   r
   rd   rë  rç  rF   )r#   r7   r  r    r   r£   Ú
call_countr¤   )rT   ÚmockrÆ   s      r>   Ú!test_mvt_with_inf_df_calls_normalz3TestMultivariateT.test_mvt_with_inf_df_calls_normalŒ	  s�   € å˜a ¥r¤v°AÐ6Ñ6Ô6ˆÝ˜$Õ :Ñ;Ô;Ð;Ð;Ð;ÝÔ˜1¥¤Ð(Ñ(Ô(Ð(ØŒ !Ò#Ð#Ð#Ð#ÝÔ˜a¥B¤FÐ+Ñ+Ô+Ð+ØŒ !Ò#Ð#Ð#Ð#Ð#Ð#r@   c                 óè  — d}t          j        |¦  «        }t          j        |¦  «        }d}t          j        |¦  «        }t          |||¦  «                             |¦  «        }t          j        |¦  «        sJ ‚t          |||¦  «                             |¦  «        }t          j        |¦  «        sJ ‚d}t           j                             ||f¦  «        }t          |||¦  «                             |¦  «        }|j        |fk    sJ ‚t          |||¦  «                             |¦  «        }|j        |fk    sJ ‚t          t          j        d¦  «        t          j        d¦  «        d¦  «         	                    ¦   «         }t          j        |¦  «        sJ ‚d}t          t          j        d¦  «        t          j        d¦  «        d¦  «         	                    |¬¦  «        }|j        |fk    sJ ‚d S )Nrc   ç      @rd   r
   r~   )
r7   r¶   rO   r#   r£   Úisscalarr¤   rŠ   r9   rŸ   )	rT   rÖ   rN  r9   r›  rZ   r:   Ú	n_samplesr   s	            r>   Útest_shape_correctnessz(TestMultivariateT.test_shape_correctness•	  sÁ  € ð ˆÝŒh�s‰mŒmˆÝ”�s‘”ˆØˆÝŒH�S‰MŒMˆÝ˜S %¨Ñ,Ô,×0Ò0°Ñ3Ô3ˆÝŒ{˜3ÑÔÐÐÐÝ˜S %¨Ñ,Ô,×3Ò3°AÑ6Ô6ˆÝŒ{˜3ÑÔÐÐÐð ˆ	ÝŒI×Ò˜i¨Ð-Ñ.Ô.ˆÝ˜S %¨Ñ,Ô,×0Ò0°Ñ3Ô3ˆØ”	˜i˜\Ò)Ð)Ð)Ð)Ý˜S %¨Ñ,Ô,×3Ò3°AÑ6Ô6ˆØ”	˜i˜\Ò)Ð)Ð)Ð)õ �RœX a™[œ[­"¬&°©)¬)°QÑ7Ô7×;Ò;Ñ=Ô=ˆÝŒ{˜3ÑÔÐÐÐð ˆÝ�RœX a™[œ[­"¬&°©)¬)°QÑ7Ô7×;Ò;ÀÐ;ÑFÔFˆØ”	˜d˜WÒ$Ð$Ð$Ð$Ð$Ð$r@   c                 ó–   — t          ¦   «         }t          |j        dg¦  «         t          |j        dgg¦  «         |j        dk    sJ ‚d S )Nr   r
   ©r#   r   rN  r9   r›  )rT   rÆ   s     r>   Útest_default_argumentsz(TestMultivariateT.test_default_argumentsµ	  sJ   € ÝÑÔˆÝ�T”X ˜sÑ#Ô#Ð#Ý�T”Z 1 # Ñ'Ô'Ð'Ø”˜1’�����r@   )NNNr   r
   r
   )NNrd   r   r
   rd   Nrd   z*loc, shape, df, loc_ans, shape_ans, df_ansc                 ó˜   — t          |||¬¦  «        }t          |j        |¦  «         t          |j        |¦  «         |j        |k    sJ ‚d S )N©rN  r9   r›  rù  ©rT   rN  r9   r›  Úloc_ansÚ	shape_ansÚdf_ansrÆ   s           r>   Útest_default_argsz#TestMultivariateT.test_default_argsÆ	  sU   € õ  #¨U°rÐ:Ñ:Ô:ˆÝ�T”X˜wÑ'Ô'Ð'Ý�T”Z Ñ+Ô+Ð+Ø”˜6Ò!Ð!Ð!Ð!Ð!Ð!r@   re   c                 ó¦   — t          |||¦  «        }t          |j        |¦  «         t          |j        |¦  «         t          |j        |¦  «         d S r6   rù  rý  s           r>   Ú&test_scalar_list_and_ndarray_argumentsz8TestMultivariateT.test_scalar_list_and_ndarray_argumentsÔ	  sQ   € õ ˜c 5¨"Ñ-Ô-ˆÝ�T”X˜wÑ'Ô'Ð'Ý�T”Z Ñ+Ô+Ð+Ý�T”W˜fÑ%Ô%Ð%Ð%Ð%r@   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          |||¬¦  «        ¤Ž d S )	Nr
   )rN  rF   rG   )rN  r9   re   rü  r   )rê   rL   r#   Údictr7   r¶   rO   )rT   rN  r9   r›  s       r>   Útest_argument_error_handlingz.TestMultivariateT.test_argument_error_handlingÝ	  s  € à�1ˆvˆhˆÝ•jÝ$ð	'ð 	'å ˜™œð	'ð 	'ð 	'ð
 �Q�˜!˜Q˜ ! Q Ð(ˆÝ•jÝ$ð	4ð 	4å ¨EÐ2Ñ2Ô2ð	4ð 	4ð 	4õ
 Œh�q‰kŒkˆÝ”�q‘	”	ˆØˆÝ•jÝ$ð	;ð 	;å ¨E°bÐ9Ñ9Ô9ð	;ð 	;ð 	;ð ˆÝ•jÝ$ð	;ð 	;å ¨E°bÐ9Ñ9Ô9ð	;ð 	;ð 	;ð 	;ð 	;r@   c                 ó\  — t           j                             d¦  «        }|                     d¬¦  «        }t          j        d¦  «        }t          ||dd¬¦  «        }t          ||dd¬¦  «        }|                     d¬¦  «        }|                     d¬¦  «        }t          ||¦  «         d S )Nrc   rG   r~   rF   rë  r#  )r7   rŠ   rÑ  r   rO   r#   rŸ   r   )rT   r”   rN  r9   r©   Údist2Úsamples1Úsamples2s           r>   r1  z&TestMultivariateT.test_reproducibilityö	  sŸ   € ÝŒi×#Ò# AÑ&Ô&ˆØ�kŠk˜qˆkÑ!Ô!ˆÝ”�q‘	”	ˆÝ˜s E¨a°aÐ8Ñ8Ô8ˆÝ˜s E¨a°aÐ8Ñ8Ô8ˆØ—9’9 "�9Ñ%Ô%ˆØ—9’9 "�9Ñ%Ô%ˆÝ�X˜xÑ(Ô(Ð(Ð(Ð(r@   c                 ó€   — t          ddgddgddggdd¬¦  «        }t          t          j        j        t
          fi |¤Ž d S )Nr   r
   F)rN  r9   r›  rY   )r  rê   r7   r¸   r{  r#   )rT   r<   s     r>   Útest_allow_singularz%TestMultivariateT.test_allow_singular 
  sK   € å˜˜1˜ q¨ e¨Q¨q¨E ]°qÈÐOÑOÔOˆÝ•b”iÔ+­^ÐDÐD¸tÐDÐDÐDÐDÐDr@   r   )r#  rG   )ra   rb   rc   rG   rÖ   )rF   rG   rc   ra   r›  rÂ   r=  c                 ó¾   — t          t          j        |¦  «        t          j        |¦  «        |¦  «        }|                     |¬¦  «        }|j        ||fz   k    sJ ‚d S r‚  )r#   r7   r¶   rO   rŸ   r9   )rT   r   rÖ   r›  rÆ   rŸ   s         r>   Útest_rvszTestMultivariateT.test_rvs
  sW   € õ �bœh s™mœm­R¬V°C©[¬[¸"Ñ=Ô=ˆØ�hŠh˜DˆhÑ!Ô!ˆØŒy˜D C 7™NÒ*Ð*Ð*Ð*Ð*Ð*r@   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  ¦  «         d S )
NrG   r#  r   rf   rº  r»  r¼  r¥  r   r½  )rT   r¦   r½   r›  r©  r¨  r¾  r®   s           r>   r¿  z TestMultivariateT.test_cdf_signs
  sª   € åŒx˜‰{Œ{ˆÝŒf�Q‰iŒiˆØˆØˆYˆY˜	˜	˜	 9 9 9¨i¨i¨iÐ8ˆØˆYˆY˜	˜	˜	 9 9 9¨i¨i¨iÐ8ˆåœ . . .Ñ1Ô1ˆÝ!Ô% a¨¨s°BÀAÐFÑFÔFˆÝ˜˜S œV NÑ2Ñ3Ô3Ð3Ð3Ð3r@   )r
   rF   ra   c                 ó0   — |                       |¦  «         d S r6   ©Úcdf_against_mvn_test©rT   rÖ   s     r>   Ú$test_cdf_against_multivariate_normalz6TestMultivariateT.test_cdf_against_multivariate_normal
  s   € ð 	×!Ò! #Ñ&Ô&Ð&Ð&Ð&r@   )rG   rb   rØ  c                 ó2   — |                       dd¦  «         d S )NrG   Tr  r  s     r>   Ú-test_cdf_against_multivariate_normal_singularz?TestMultivariateT.test_cdf_against_multivariate_normal_singular
  s    € ð 	×!Ò! ! TÑ*Ô*Ð*Ð*Ð*r@   Fc           	      ód  — t           j                             d¦  «        }d}d|                     dd|¬¦  «        z  }t	          ||||¦  «        }d|                     dd|¬¦  «        z  t          j        |                     |¬¦  «        ¦  «        z  }d|                     dd||f¬¦  «        z   |z   }d|                     dd||f¬¦  «        z  |z   }	t          j         	                    |	||d	|d
|¬¦  «        }
t          j
         	                    |	||d
|¬¦  «        }t          |
|d¬¦  «         d S )Nì   ]J>?a rG   r#  rh   r
   r~   re   rF   r¾  T)r›  r¦  rY   rœ   )rY   r¦  çü©ñÒMb@?rƒ  )r7   rŠ   r‹   r   rÛ   ÚsignrÕ   r-   r#   r®   r   r   )rT   rÖ   r�   r”   rº   r�  r½   r¦   r¨  r©  r:   r;   s               r>   r  z&TestMultivariateT.cdf_against_mvn_test#
  sB  € åŒi×#Ò# OÑ4Ô4ˆØˆà�—’˜B ¨�Ñ,Ô,Ñ,ˆÝ   a¨¨hÑ7Ô7ˆà�3—;’;˜r 1¨3�;Ñ/Ô/Ñ/µ"´'¸#¿*º*È#¸*Ñ:NÔ:NÑ2OÔ2OÑOˆØ�—’˜R ¨!¨S¨�Ñ2Ô2Ñ2Ð2°TÑ9ˆØ�—’˜B ¨¨C¨�Ñ1Ô1Ñ1°DÑ8ˆåÔ"×&Ò& q¨$°¸È1Ø6:Èð 'ñ Nô NˆåÔ'×+Ò+¨A¨t°SÈØ89ð ,ñ ;ô ;ˆå˜˜S tÐ,Ñ,Ô,Ð,Ð,Ð,r@   c                 óR  — t           j                             d¦  «        }d}d}|                     dt          j        |¦  «        ¬¦  «        }d}t
          j                             ||||t           j         |¬¦  «        }t
          j	                             |||t          j        |¦  «        ¦  «        }t
          j
                             ||t          j        |¦  «        ¦  «        }t          ||d¬	¦  «         t          j        t          j        ||z
  ¦  «        d
k    ¦  «        sJ ‚d S )Nr  rF   r   r#  )r   rI  rG   )r¦  rœ   r  rƒ  r:  )r7   rŠ   r‹   rÕ   Úsqrtr-   r#   r®   r  Útr   r   r%  rò   )	rT   r”   r½   r¦   rZ   r›  r:   r;   Ú	incorrects	            r>   Útest_cdf_against_univariate_tz/TestMultivariateT.test_cdf_against_univariate_t5
  sõ   € ÝŒi×#Ò# OÑ4Ô4ˆØˆØˆØ�JŠJ˜B¥b¤g¨c¡l¤lˆJÑ3Ô3ˆØˆåÔ"×&Ò& q¨$°°RÅbÄfÀWØ47ð 'ñ 9ô 9ˆåŒg�kŠk˜!˜R ¥r¤w¨s¡|¤|Ñ4Ô4ˆÝ”J—N’N 1 d­B¬G°C©L¬LÑ9Ô9ˆ	å˜˜S tÐ,Ñ,Ô,Ð,ÝŒv•b”f˜S 9™_Ñ-Ô-°Ò4Ñ5Ô5Ð5Ð5Ð5Ð5Ð5r@   )rF   rG   ra   r#  rž   )ì   no l   øm±, l   �sO l   €�U iOfYl    Ož_ r�   Tc           	      ó®  — |r|dk    rt          j        d¦  «         t          j                             |¦  «        }d|                     dd|¬¦  «        z  }t          ||||¦  «        }|                     |¦  «        }|                     |¦  «         }|                     |¦  «        }	|                     ¦   «         dz  }
t          j         	                    |	|||
|d¬	¦  «        }t          j
        d
¬¦  «        5  t          d|
|t          j        |z  |	|z
  |¦  «        d         }d d d ¦  «         n# 1 swxY w Y   t          ||dd¬¦  «         t          j         	                    |	|||
||d¬¦  «        }t          j
        d
¬¦  «        5  t          d|
|||z
  |	|z
  |¦  «        d         }d d d ¦  «         n# 1 swxY w Y   t          ||dd¬¦  «         d S )Nr   z4Agreement with qsimvtv is not great in singular caser#  rh   rF   r~   ra   T)rœ   rY   r©  )Úinvalidr  r   g-Cëâ6*?r:  ©rQ  r<  )r¦  rœ   rY   rµ  )rK   r†   r7   rŠ   r‹   r   rÛ   r-   r#   r®   r¬  r3   r  r   )rT   rÖ   rž   r�   r”   r�  r½   r¦   r¨  r©  r›  r:   r;   s                r>   Útest_cdf_against_qsimvtvz*TestMultivariateT.test_cdf_against_qsimvtvD
  sz  € ð
 ð 	P˜ 
Ò*Ð*ÝŒKÐNÑOÔOÐOÝŒi×#Ò# DÑ)Ô)ˆØ�—’˜B ¨�Ñ,Ô,Ñ,ˆÝ   a¨¨hÑ7Ô7ˆØ�zŠz˜#‰ŒˆØ�ZŠZ˜‰_Œ_ÐˆØ�JŠJ�s‰OŒOˆØ�ZŠZ‰\Œ\˜AÑˆõ Ô"×&Ò& q¨$°°RÀcØ6:ð 'ñ <ô <ˆåŒ[ Ð*Ñ*Ô*ð 	Gð 	GÝ˜5 " c­2¬6°!©8°Q¸±X¸sÑCÔCÀAÔFˆCð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gå˜˜S t°$Ð7Ñ7Ô7Ð7õ Ô"×&Ò& q¨$°°RÀQØ47Èð 'ñ Nô NˆåŒ[ Ð*Ñ*Ô*ð 	Gð 	GÝ˜5 " c¨1¨t©8°Q¸±X¸sÑCÔCÀAÔFˆCð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gå˜˜S t°$Ð7Ñ7Ô7Ð7Ð7Ð7s$   Ã:+D1Ä1D5Ä8D5Æ
!F7Æ7F;Æ>F;c           
      óò  ‡	‡
‡— d}t           j                             d¦  «        }d|                     dd|¬¦  «        z  }t	          |||d¬¦  «        Š	|                     |¦  «        Š|                     |¦  «         }|                     |¦  «        }|                     ¦   «         d	z  Š
t
          j                             |‰‰	‰
||¬
¦  «        }ˆ	ˆ
ˆfd„}t          |||t
          j	         
                    ||¬¦  «        ¬¦  «        }t          ||j        d¬¦  «         ˆ	ˆ
ˆfd„}t          ||d         |d         |d         |d         |d         |d         ¦  «        }t          ||d         d¬¦  «         d S )NrG   l   	!†y‚ r#  re   r
   r~   T)r�   ra   )rœ   r¦  c                 óR   •— t           j                             | j        ‰‰‰¦  «        S r6   )r-   r#   r£   r‘   )rZ   r½   r›  r¦   s    €€€r>   Ú	integrandzITestMultivariateT.test_cdf_against_generic_integrators.<locals>.integrandp
  s"   ø€ ÝÔ'×+Ò+¨A¬C°°s¸BÑ?Ô?Ð?r@   )r€  rž   )Úqrngr:  r;  c                  óZ   •— t           j                             | d d d…         ‰‰‰¦  «        S )Nre   )r-   r#   r£   )Úzyxr½   r›  r¦   s    €€€r>   r'  zITestMultivariateT.test_cdf_against_generic_integrators.<locals>.integrandv
  s*   ø€ ÝÔ'×+Ò+¨C°°°"°¬I°t¸SÀ"ÑEÔEÐEr@   r   rF   )r7   rŠ   r‹   r   rÛ   r-   r#   r®   r/   ÚqmcÚHaltonr   Úintegralr0   )rT   rÖ   r”   r�  r¨  r©  r:   r'  r;   r½   r›  r¦   s            @@@r>   Ú$test_cdf_against_generic_integratorsz6TestMultivariateT.test_cdf_against_generic_integratorsa
  s©  øøø€ ð ˆÝŒi×#Ò# NÑ3Ô3ˆØ�#—+’+˜b !¨#�+Ñ.Ô.Ñ.ˆÝ   a¨°tÐ<Ñ<Ô<ˆØ�zŠz˜#‰ŒˆØ�ZŠZ˜‰_Œ_ÐˆØ�JŠJ�s‰OŒOˆØ�ZŠZ‰\Œ\˜AÑˆåÔ"×&Ò& q¨$°°RÀcØ34ð 'ñ 6ô 6ˆð	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@õ �y ! Q­U¬Y×-=Ò-=ÀÈ#Ð-=Ñ-NÔ-NÐOÑOÔOˆÝ˜˜Sœ\°Ð5Ñ5Ô5Ð5ð	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fõ �i  1¤ q¨¤t¨Q¨q¬T°1°Q´4¸¸1¼¸qÀ¼tÑDÔDˆÝ˜˜S œV¨$Ð/Ñ/Ô/Ð/Ð/Ð/r@   c                 ó  — t           j                             d¦  «        }t          j        g d¢g d¢g d¢g¦  «        }d}t	          j        ||¬¦  «        }|                     g d¢|¬¦  «        }d	}t          ||d
¬¦  «         d S )Nl   ËJ½a )gço!ß@çSÛ<ÄõÞÍ?çÍ^SsûÑ@)r0  g’R·P…¬=@ç“jTŠ0@)r1  r2  g™ˆÐk`-3@gú WÀKÿ?©r9   r›  rf   rµ   g¡ø1æ®%Ð?r:  r;  )r7   rŠ   r‹   rÅ   r-   r#   r®   r   )rT   r”   r½   r›  rÆ   r:   r;   s          r>   Útest_against_matlabz%TestMultivariateT.test_against_matlab|
  s¢   € õ Œi×#Ò# JÑ/Ô/ˆÝŒhÐ?Ð?Ð?Ø?Ð?Ð?Ø?Ð?Ð?ðAñ Bô Bˆð  ˆÝÔ#¨#°"Ð5Ñ5Ô5ˆØ�hŠh�y�y�y¨sˆhÑ3Ô3ˆØˆÝ˜˜S tÐ,Ñ,Ô,Ð,Ð,Ð,r@   c                 ó
  — d}t           j                             |¦  «        }|                     d¬¦  «        }|                     d¬¦  «        |z   }t          j        d¦  «        }|                     ¦   «         }|||f}t           j                             |¦  «        }t           j                             |¦  «        }	t          j        |d|iŽ}
t          |
                     |¦  «        t          j        |g|¢R d|	iŽ¦  «         d S )Nl   2m rG   r~   rž   rœ   )	r7   rŠ   r‹   r   rO   r-   r#   r   r®   )rT   rž   r”   rN  rZ   r9   r›  r<   Ú
rng_frozenÚrng_unfrozenrÆ   s              r>   r_  zTestMultivariateT.test_frozen�
  s÷   € ØˆÝŒi×#Ò# DÑ)Ô)ˆØ�kŠk˜qˆkÑ!Ô!ˆØ�KŠK˜QˆKÑÔ #Ñ%ˆÝ”�q‘	”	ˆØ�ZŠZ‰\Œ\ˆØ�U˜BÐˆå”Y×*Ò*¨4Ñ0Ô0ˆ
Ý”y×,Ò,¨TÑ2Ô2ˆÝÔ# TÐ;°
Ð;Ð;ˆÝ�T—X’X˜a‘[”[Ý#Ô'¨ÐL¨DÐLÐLÐL¸|ÐLÐLñ	Nô 	Nð 	Nð 	Nð 	Nr@   c                 óÌ  ‡‡	‡
‡— d}d}t           j                             d¦  «        Š‰                     ||f¬¦  «        }||j        z  Š‰                     |¦  «        Š
‰                     ||fz   ¦  «        }‰                     ¦   «         dz  Š	t          j                             |‰
‰‰	‰¬¦  «        }ˆˆ	ˆ
ˆfd„}t          j        |d|¦  «        }t          ||d	d
¬¦  «         d S )Nrc   r´  r  r~   ra   rµ   c                 óZ   •— t          d‰‰t          j         | z  | ‰z
  ‰¦  «        d         S )Nr¾  r   )r3   r7   r  )rZ   r½   r›  r¦   r”   s    €€€€r>   Ú_cdf_1dz2TestMultivariateT.test_vectorized.<locals>._cdf_1d¨
  s,   ø€ Ý˜E 2 s­R¬V¨G°A©I°q¸±v¸sÑCÔCÀAÔFÐFr@   re   rµ  r:  r#  )	r7   rŠ   r‹   r‘   r-   r#   r®   Úapply_along_axisr   )rT   rÖ   rº   rt   rZ   r:   r:  r;   r½   r›  r¦   r”   s           @@@@r>   Útest_vectorizedz!TestMultivariateT.test_vectorizedœ
  s  øøøø€ ØˆØˆÝŒi×#Ò# OÑ4Ô4ˆØ�JŠJ˜S #˜JˆJÑ'Ô'ˆØ�!”#‰gˆØ�zŠz˜#‰ŒˆØ�JŠJ�q˜C˜6‘zÑ"Ô"ˆØ�ZŠZ‰\Œ\˜AÑˆåÔ"×&Ò& q¨$°°RÀcÐ&ÑJÔJˆð	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gõ Ô! '¨2¨qÑ1Ô1ˆÝ˜˜S t°$Ð7Ñ7Ô7Ð7Ð7Ð7r@   r]  c                 ó*  — t           j                             d¦  «        }t          j                             dgdg|dz
  z  z   ¬¦  «        }t          j        |¬¦  «                             dg|z  |¬¦  «        }d|dz   z  }t          ||d¬	¦  «         d S )
Nr  r
   rG  )r®  )r9   r   rµ   g-Cëâ6
?r;  )
r7   rŠ   r‹   rÄ   r¸   Útoeplitzr-   r#   r®   r   )rT   rÖ   r”   rt   r:   r;   s         r>   Útest_against_analyticalz)TestMultivariateT.test_against_analytical®
  s•   € åŒi×#Ò# OÑ4Ô4ˆÝŒL×!Ò! Q C¨3¨%°3¸±7Ñ*;Ñ$;Ð!Ñ<Ô<ˆÝÔ"¨Ð+Ñ+Ô+×/Ò/°°°c±	ÈÐ/ÑLÔLˆØ�3˜‘7‰mˆÝ˜˜S tÐ,Ñ,Ô,Ð,Ð,Ð,r@   c                 óÚ   — t          j        dd¦  «        }t           j        }t          j                             ||¬¦  «        }t          j                             d |¦  «        }||k    sJ ‚d S )NrG   r3  )r7   rO   r  r-   r#   r¥   r   )rT   r½   r›  Úmvt_entropyÚmvn_entropys        r>   Útest_entropy_inf_dfz%TestMultivariateT.test_entropy_inf_df¶
  sb   € ÝŒf�Q˜‰lŒlˆÝŒVˆÝÔ*×2Ò2¸ÀÐ2ÑDÔDˆÝÔ/×7Ò7¸¸cÑBÔBˆØ˜kÒ)Ð)Ð)Ð)Ð)Ð)r@   )r
   r#  r,  c                 ó¬   — t           j                             d|¬¦  «        }t           j                             |¬¦  «        }t	          ||d¬¦  «         d S )NrÂ   r3  rç  rA  r;  )r-   r#   r¥   r  r   )rT   r›  rA  Ú	t_entropys       r>   Útest_entropy_1dz!TestMultivariateT.test_entropy_1d½
  sM   € åÔ*×2Ò2¸ÀÐ2ÑCÔCˆÝ”G—O’O r�OÑ*Ô*ˆ	Ý˜ Y°UÐ;Ñ;Ô;Ð;Ð;Ð;r@   zdf, cov, ref, tolr#  gÔøË}’M@rË  r,  rG  gŒNfh@rä  c                 ó¢   — t          j        d¦  «        }t          j        |||¦  «        }t	          |                     ¦   «         ||¬¦  «         d S )Nra  r;  )r7   r¶   r-   r#   r   r¥   )rT   r›  r½   r;   ÚtolrN  Úmvts          r>   Ú%test_entropy_vs_numerical_integrationz7TestMultivariateT.test_entropy_vs_numerical_integrationÑ
  sH   € õ
 Œh�u‰oŒoˆÝÔ" 3¨¨RÑ0Ô0ˆÝ˜Ÿš™œ s°Ð5Ñ5Ô5Ð5Ð5Ð5r@   zdf, dim, ref, tol))r#  r
   gDdÿVWø?rÊ  )r,  r
   gU•“°Ýö?rA  )r©  r
   g÷Ž/+¼ö?rË  )ç@Œµx¯Dr
   çZ_2äø³ö?rÊ  )ç}Ã”%­I²Tr
   rL  rÊ  )r#  r#  gz©°g#.@rÊ  )r&  r#  gD¬ë:f,@rA  )rK  r#  ç1÷>÷`,@rÊ  )rM  r#  rN  rÊ  )r#  r,  g8—d¹?‰b@rÊ  )r&  r,  gç-YÒº¿a@rË  )rK  r,  çZGrš¼a@rÊ  )rM  r,  rO  rÊ  c                 óž   — t          j        t          j        |¦  «        |¬¦  «        }t	          |                     ¦   «         ||¬¦  «         d S )Nr3  r;  )r-   r#   r7   rO   r   r¥   )rT   r›  rÖ   r;   rH  rI  s         r>   Útest_extreme_entropyz&TestMultivariateT.test_extreme_entropyÚ
  sE   € õF Ô"­¬°©¬¸Ð<Ñ<Ô<ˆÝ˜Ÿš™œ s°Ð5Ñ5Ô5Ð5Ð5Ð5r@   c                 óÀ  — t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        }||j        z  }d}t          j                             ||¬¦  «        }t          d |¬¦  «                             ¦   «         }t          ||d	¬
¦  «         d}d}t          j                             ||¬¦  «        }t          j                             ||¬¦  «        }	t          ||	d¬
¦  «         d S )N)g¸…ëQ¸ö?g
×£p=
·?g\�Âõ(\ß¿çÃõ(\�ÂÅ?g®Gáz®ç?)g®Gázò¿g{®Gáz„¿g¸…ëQ¸æ?rj  gìQ¸…ëá¿)g…ëQ¸ñ?g)\�Âõ(Ü?gìQ¸…ëÑ¿g)\�Âõ(Ü¿g�Âõ(\�Ò?)g      ø¿g®Gázî¿gq=
×£på¿g\�Âõ(\ç?gš™™™™™ñ¿)rS  g{®Gáz´¿g\�Âõ(\÷?g{®GázÔ¿gÃõ(\�Âõ?rK  r3  rz  rÊ  r;  iý  i   rg  )r7   rÅ   r‘   r-   r#   r¥   r   r   )
rT   Ú_Ar½   r›  Úmul_t_entropyÚmul_norm_entropyÚdf1Údf2Ú	_entropy1Ú	_entropy2s
             r>   Útest_entropy_with_covariancez.TestMultivariateT.test_entropy_with_covariance   s  € õ ŒXØ+Ð+Ð+Ø-Ð-Ð-Ø,Ð,Ð,Ø,Ð,Ð,Ø,Ð,Ð,ð
ñ ô ˆð �2”4‰iˆð ˆÝÔ,×4Ò4¸3À2Ð4ÑFÔFˆÝ.¨t¸Ð=Ñ=Ô=×EÒEÑGÔGÐÝ˜Ð'7¸eÐDÑDÔDÐDð ˆØˆÝÔ(×0Ò0°s¸sÐ0ÑCÔCˆ	ÝÔ(×0Ò0°s¸sÐ0ÑCÔCˆ	Ý˜	 9°4Ð8Ñ8Ô8Ð8Ð8Ð8r@   ©F),rÈ   rÉ   rÊ   Ú	PDF_TESTSrK   rÏ   rÐ   râ  rä  rè  rî  r4   rò  r÷  rú  ÚDEFAULT_ARGS_TESTSr  r7   rÅ   ÚARGS_SHAPES_TESTSr  r  r1  r  r  r  r¿  r  r  r  r  r$  r‹  r.  r4  r_  r<  r?  rC  rF  rO   rJ  rQ  r[  rÓ   r@   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ÔAð,ð ,ñ BÔAð,ð
 „[×ÒÐ5°yÑAÔAð6ð 6ñ BÔAð6ð,ð ,ð ,ð'ð 'ð 'ð$ €UÐ4Ñ5Ô5ð$ð $ñ 6Ô5ð$ð&ð &ð &ð@ð ð ð 	$Ø Ø	��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ð#ð #ñ1ô 1ð#ð 
ˆQ��B�4˜1˜#˜ Ð"Ø
ˆ�ˆs�A˜�t˜q˜c˜U AÐ&Ø	ˆŒ�2�$‰Œ˜˜œ 1 #™œ¨¨B¨4°1°#°¸Ð:ðÐð „[×ÒÐIØ.ñ0ô 0ð&ð &ñ0ô 0ð&ð;ð ;ð ;ð2)ð )ð )ðEð Eð Eð
 „[×Ò˜V g¨|Ð%<Ñ=Ô=Ø„[×Ò˜U L L LÑ1Ô1Ø„[×Ò˜T B¨¨B¬FÐ#3Ñ4Ô4ð+ð +ñ 5Ô4ñ 2Ô1ñ >Ô=ð+ð

4ð 
4ð 
4ð „[×Ò˜U I I IÑ.Ô.ð'ð 'ñ /Ô.ð'ð „[×Ò˜U I I IÑ.Ô.ð+ð +ñ /Ô.ð+ð-ð -ð -ð -ð$6ð 6ð 6ð „[×Ò˜U M M MÑ2Ô2Ø„[×Ò˜Vð &Jð &Jð &Jñ Kô Kà„[×Ò˜Z¨%°¨Ñ7Ô7ð8ð 8ñ 8Ô7ñKô Kñ 3Ô2ð8ð2 „[Ôð0ð 0ñ Ôð0ð4-ð -ð -ð"Nð Nð Nð8ð 8ð 8ð$ „[×Ò˜U FÑ+Ô+ð-ð -ñ ,Ô+ð-ð*ð *ð *ð „[×Ò˜T < < <Ñ0Ô0ð<ð <ñ 1Ô0ð<ð& „[×ÒÐ0Ø! 6 2¤6¨!¨Q¡<¤<Ð1CÀUÐKØ" H B¤H¨s°A¨h¸¸B¸Ð-@Ñ$AÔ$AØ/°ð7ð8ñ9ô 9ð6ð 6ñ	9ô 9ð6ð
 „[×ÒØð	
ð 	
ð 	
ñô ð$6ð 6ñ%ô ð$6ð(9ð 9ð 9ð 9ð 9r@   rÚ  c                   ó:  — e Zd Ze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                             dg d¢dfg d¢dfddgdfdgdff¦  «        d„ ¦   «         Ze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                             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d8S )9ÚTestMultivariateHypergeomzx, m, n, expectedrG   rc   ra   r#  rd   g©¥¹Âêñ¿r   ræ  éûÿÿÿr
   rF   rk   iúÿÿÿiöÿÿÿrÿ  rü  re   iùÿÿÿc                 óV   — t          j        |||¦  «        }t          ||d¬¦  «         d S )Ng�íµ ÷Æ°>r;  )r   rº  r   ©rT   rZ   rì  rº   r.  Úvalss         r>   r¿  z%TestMultivariateHypergeom.test_logpmf   s3   € õ6 &Ô,¨Q°°1Ñ5Ô5ˆÝ˜˜h¨TÐ2Ñ2Ô2Ð2Ð2Ð2r@   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	¬
¦  «         d S )NrG   r
   r#  ra   rc   )rZ   rì  rº   é   )r  rß   rº   r“  rä  r;  rd   é   )r   rÄ  r"   r   rÅ  s      r>   Útest_reduces_hypergeomz0TestMultivariateHypergeom.test_reduces_hypergeom>  s¢   € õ &Ô)¨Q°¨F°r¸1°gÀÐCÑCÔCˆÝŒ}˜q B¨!¨rÐ2Ñ2Ô2ˆÝ˜˜d¨Ð.Ñ.Ô.Ð.å%Ô)¨Q°¨F°r¸2°hÀ"ÐEÑEÔEˆÝŒ}˜q B¨"°Ð3Ñ3Ô3ˆÝ˜˜d¨Ð.Ñ.Ô.Ð.Ð.Ð.r@   c                 óÈ   — t          ddgd¬¦  «        }|                     dd¬¦  «        }t          |                     d¦  «        |                     ¦   «         d	¬
¦  «         d S )NrG   ra   rc   ©rì  rº   r&  rÐ  r›   r   rO  r;  ©r   rŸ   r   r¦   ©rT   r¾   rŸ   s      r>   r  z"TestMultivariateHypergeom.test_rvsI  s\   € õ $ q¨! f°Ð2Ñ2Ô2ˆØ�fŠf˜$¨SˆfÑ1Ô1ˆÝ˜Ÿš ™œ R§W¢W¡Y¤Y°TÐ:Ñ:Ô:Ð:Ð:Ð:r@   c                 óÔ   — t          ddgddggddg¬¦  «        }|                     dd¬	¦  «        }t          |                     d
¦  «        |                     ¦   «         d¬¦  «         d S )NrG   ra   r#  rc   rØ  rk  ©r&  rF   rÐ  r›   r   rO  r;  rl  rm  s      r>   Útest_rvs_broadcastingz/TestMultivariateHypergeom.test_rvs_broadcastingP  sg   € Ý#¨¨1 v°°2¨wÐ&7¸A¸q¸6ÐBÑBÔBˆØ�fŠf˜)°#ˆfÑ6Ô6ˆÝ˜Ÿš ™œ R§W¢W¡Y¤Y°TÐ:Ñ:Ô:Ð:Ð:Ð:r@   zm, n)r   r   r  r   r   )r   r   r   r   r   c                 ó²   — t          j        ||¦  «        }t          j        |¦  «        }|                     ¦   «         }|||dk    <   t          ||¦  «         d S )Nr   )r   rŸ   r7   r8   r®  r   )rT   rì  rº   r:   Úres_exs        r>   Útest_rvs_gh16171z*TestMultivariateHypergeom.test_rvs_gh16171U  sS   € õ
 %Ô(¨¨AÑ.Ô.ˆÝŒJ�q‰MŒMˆØ—’‘”ˆØˆˆq�AŠv‰Ý�S˜&Ñ!Ô!Ð!Ð!Ð!r@   g z÷lÂâÔ?rÁ  rØ  gQ°µ­Ù?gEçÙ³¤|?gé�
¸çyÞ?r-  rÚ  )ra   rb   rd   rb   g‘z²p†?c                 óV   — t          j        |||¦  «        }t          ||d¬¦  «         d S ©Nrf  r;  ©r   rÄ  r   rd  s         r>   rß  z"TestMultivariateHypergeom.test_pmf`  s3   € õ" &Ô)¨!¨Q°Ñ2Ô2ˆÝ˜˜h¨TÐ2Ñ2Ô2Ð2Ð2Ð2r@   rg  gõ­ æÎÕ?rÂ   rÃ   c                 óV   — t          j        |||¦  «        }t          ||d¬¦  «         d S ru  rv  rd  s         r>   rá  z/TestMultivariateHypergeom.test_pmf_broadcastingt  s3   € õ &Ô)¨!¨Q°Ñ2Ô2ˆÝ˜˜h¨TÐ2Ñ2Ô2Ð2Ð2Ð2r@   c                 óp   — t          j        g d¢d¬¦  «        }g d¢g d¢g d¢g}t          ||d¬¦  «         d S )	N)rG   rd   r#  rü  rk  )g«×Âf_�ä?çÁ&BUúÐ¿ç–ˆCx¬@Ø¿)ry  g�gsƒ>dò?çZ¤ásKì¿)rz  r{  gö¿3å5ô?rä  r;  ©r   r½   r   )rT   rä  rŠ  s      r>   rå  z"TestMultivariateHypergeom.test_cov�  sZ   € Ý%Ô)¨J¨J¨J¸"Ð=Ñ=Ô=ˆØ6Ð6Ð6Ø6Ð6Ð6Ø6Ð6Ð6ð8ˆõ 	˜˜d¨Ð.Ñ.Ô.Ð.Ð.Ð.r@   c                 ój  — 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¬¦  «         d S )Nrd   rØ  r#  rg  rÁ  rü  rk  gÍÌÌÌÌÌð?gÍÌÌÌÌÌð¿gö(\�Âõø?gö(\�Âõø¿rä  r;  rc   ra   rÃ   g333333é?g333333é¿r|  rç  s          r>   rì  z/TestMultivariateHypergeom.test_cov_broadcastingˆ  s  € Ý%Ô)¨a°¨V°b¸"°XÐ,>À1ÀbÀ'ÐJÑJÔJˆØ˜� ¨ Ð.Ø˜� ¨ Ð.ð0ˆå˜˜d¨Ð.Ñ.Ô.Ð.å%Ô)¨a¨S°1°#¨J¸1¸a¸&ÐAÑAÔAˆØ��˜"˜˜ÐˆÝ˜˜d¨Ð.Ñ.Ô.Ð.å%Ô)¨Q°¨F°q¸"°gÐ>Ñ>Ô>ˆØ˜� ¨ Ð.Ø˜'Ð" W¨fÐ$5Ð6ð8ˆå˜˜d¨Ð.Ñ.Ô.Ð.Ð.Ð.r@   c                 óˆ   — t          j        ddgd¬¦  «        }t          j        ddd¬¦  «        }t          ||d¬¦  «         d S )	Nr#  ra   rc   rk  rg  ©rß   rº   r“  rä  r;  )r   r7  r"   r   )rT   Úvar0Úvar1s      r>   Útest_varz"TestMultivariateHypergeom.test_var—  sL   € å%Ô)¨R°¨G°qÐ9Ñ9Ô9ˆÝŒ}˜r Q¨"Ð-Ñ-Ô-ˆÝ˜˜d¨Ð.Ñ.Ô.Ð.Ð.Ð.r@   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¬¦  «         d S )Nr#  ra   rc   rÁ  rk  r   rä  r;  r
   rÂ  gÌ�3—eYæ?g�I›ª{¤õ?rÃ   )r   r7  r   )rT   r€  r�  Úvar2Úvar3Úvar4Úvar5Úvar6s           r>   Útest_var_broadcastingz/TestMultivariateHypergeom.test_var_broadcasting�  s  € Ý%Ô)¨R°¨G¸¸1°vÐ>Ñ>Ô>ˆÝ%Ô)¨R°¨G°qÐ9Ñ9Ô9ˆÝ%Ô)¨R°¨G°qÐ9Ñ9Ô9ˆÝ˜˜Qœ ¨DÐ1Ñ1Ô1Ð1Ý˜˜Qœ ¨DÐ1Ñ1Ô1Ð1å%Ô)¨b°!¨W°r¸2°hÐ,?ÀAÀqÀ6ÐJÑJÔJˆØ˜IÐ&¨°8Ð(<Ð=ˆÝ˜˜d¨Ð.Ñ.Ô.Ð.å%Ô)¨a¨S°2°$¨K¸A¸r¸7ÐCÑCÔCˆØ��r�dˆ|ˆÝ˜˜d¨Ð.Ñ.Ô.Ð.Ð.Ð.r@   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¬	¦  «         d S )Nr#  ra   rc   rk  rg  r  r   rä  r;  rü  rÁ  g      @rI  )r   r¦   r"   r   ©rT   Úmean0r÷  r‰  Úmean3s        r>   rø  z#TestMultivariateHypergeom.test_mean¬  sˆ   € å&Ô+¨r°1¨g¸Ð;Ñ;Ô;ˆÝ”  q¨BÐ/Ñ/Ô/ˆÝ˜˜aœ %¨dÐ3Ñ3Ô3Ð3å&Ô+¨r°1¨g¸Ð<Ñ<Ô<ˆØ˜jÐ)ˆÝ˜˜u¨4Ð0Ñ0Ô0Ð0Ð0Ð0r@   c                 óv   — t          j        ddgddggddg¬¦  «        }ddgd	d
gg}t          ||d¬¦  «         d S )NrG   ra   r#  rc   rÁ  rk  rï   rð   gUUUUUU@gUUUUUU@rä  r;  )r   r¦   r   )rT   rŒ  r÷  s      r>   rú  z0TestMultivariateHypergeom.test_mean_broadcasting¶  sW   € Ý&Ô+°°1¨v¸¸A°wÐ.?ÀAÀqÀ6ÐJÑJÔJˆØ˜HÐ%¨
°IÐ'>Ð?ˆÝ˜˜u¨4Ð0Ñ0Ô0Ð0Ð0Ð0r@   c                 ó@  — 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    ¦  «         d S )Nrf   r   rk  ©rÃ   rÃ   rÃ   ©r
   r   r   rF   rº  )rÂ   rÃ   rÂ   ç—ÔFFõg<r;  r-  ©r   )
r   r¦   r   r7   rs  r   rÅ   Úintr   r9   r‹  s        r>   Útest_mean_edge_casesz.TestMultivariateHypergeom.test_mean_edge_cases»  s  € Ý&Ô+¨i¨i¨i¸1Ð=Ñ=Ô=ˆÝ�U˜L˜L˜LÑ)Ô)Ð)å&Ô+¨i¨i¨i¸1Ð=Ñ=Ô=ˆÝ�U�RœV¥R¤V­R¬VÐ4Ñ5Ô5Ð5å&Ô+¨y¨y¨y¸)¸)¸)Ð.DÈÐJÑJÔJˆÝ˜¥¤­¬µ´Ð 8¸,¸,¸,ÐGØ"ð	$ñ 	$ô 	$ð 	$õ 'Ô+­b¬h°rÅÐ.EÑ.EÔ.EÈÐKÑKÔKˆÝ�U˜BÑÔÐÝ�”˜uÒ$Ñ%Ô%Ð%Ð%Ð%r@   c                 óD  — 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    ¦  «         d S )Nrf   r   rk  r�  g¼‰Ø—²Òœ<r;  r‘  rF   rº  r’  r-  r“  )
r   r7  r   r   r7   rs  rÅ   r”  r   r9   )rT   r€  r�  r„  r…  s        r>   Útest_var_edge_casesz-TestMultivariateHypergeom.test_var_edge_casesÊ  s  € Ý%Ô)¨I¨I¨I¸Ð;Ñ;Ô;ˆÝ˜˜l˜l˜l°Ð7Ñ7Ô7Ð7å%Ô)¨I¨I¨I¸Ð;Ñ;Ô;ˆÝ�T�BœF¥B¤F­B¬FÐ3Ñ4Ô4Ð4å%Ô)¨Y¨Y¨Y¸	¸	¸	Ð,BÀaÐHÑHÔHˆÝ˜¥¤­¬µ´Ð7¸¸¸ÐFØ"ð	$ñ 	$ô 	$ð 	$õ &Ô)­B¬H°R½sÐ,CÑ,CÔ,CÀqÐIÑIÔIˆÝ�T˜2ÑÔÐÝ�”
˜eÒ#Ñ$Ô$Ð$Ð$Ð$r@   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        ¬	¦  «                             dd¦  «        }t          ||d¬¦  «         t          |j
        d
k    ¦  «         d S )Nr‘  r
   rk  r�  r’  r;  rf   r   r-  rM  )r   r½   r   r   r7   rÅ   r”  rÛ  r'  r   r9   )rT   Úcov0rä  rè  ré  rê  rë  s          r>   Útest_cov_edge_casesz-TestMultivariateHypergeom.test_cov_edge_casesÙ  s  € Ý%Ô)¨I¨I¨I¸Ð;Ñ;Ô;ˆØ��˜l˜l˜l¨L¨L¨LÐ9ˆÝ˜˜d¨Ð/Ñ/Ô/Ð/å%Ô)¨I¨I¨I¸Ð;Ñ;Ô;ˆØ��˜l˜l˜l¨L¨L¨LÐ9ˆÝ�T˜4Ñ Ô Ð å%Ô)­B¬H°R½sÐ,CÑ,CÔ,CÀqÐIÑIÔIˆÝŒx˜¥"¤*Ð-Ñ-Ô-×5Ò5°a¸Ñ;Ô;ˆÝ˜˜d¨Ð/Ñ/Ô/Ð/Ý�”
˜fÒ$Ñ%Ô%Ð%Ð%Ð%r@   c                 óx  — t           j                             d¦  «         d}g d¢}g d¢g d¢g d¢g d¢g d¢g}t          j        |t          ¬	¦  «        }t          ||¦  «        }t          |                     |¦  «        t          j        |||¦  «        ¦  «         t          |                     |¦  «        t          j        |||¦  «        ¦  «         t          | 	                    ¦   «         t          j	        ||¦  «        ¦  «         t          | 
                    ¦   «         t          j
        ||¦  «        ¦  «         d S )
Nrî   rü  )rd   rØ  rÿ  é   rý  rþ  r   r  r  r-  )r7   rŠ   rž   r8   r”  r   r   rÄ  rº  r7  r½   )rT   rº   rì  rZ   Ú
mhg_frozens        r>   r_  z%TestMultivariateHypergeom.test_frozenç  s-  € å
Œ	�Š�tÑÔÐØˆØˆNˆNˆØˆ]ˆ]˜M˜M˜M¨=¨=¨=Øˆ\ˆ\˜<˜<˜<ð)ˆåŒJ�q¥Ð$Ñ$Ô$ˆÝ+¨A¨qÑ1Ô1ˆ
Ý˜
Ÿš qÑ)Ô)Ý.Ô2°1°a¸Ñ;Ô;ñ	=ô 	=ð 	=å˜
×)Ò)¨!Ñ,Ô,Ý.Ô5°a¸¸AÑ>Ô>ñ	@ô 	@ð 	@å˜
ŸšÑ(Ô(Õ*@Ô*DÀQÈÑ*JÔ*JÑKÔKÐKÝ˜
ŸšÑ(Ô(Õ*@Ô*DÀQÈÑ*JÔ*JÑKÔKÐKÐKÐKr@   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¦  «         d S )	Nra   r#  rc   g      @rô  rg  g      %@g      /@)rê   rL   r   rÄ  Ú	TypeErrorr4  s    r>   Útest_invalid_paramsz-TestMultivariateHypergeom.test_invalid_params÷  sÝ   € Ý•jÕ"8Ô"<¸aÀÀQÑGÔGÐGÝ•jÕ"8Ô"<¸aÀ"ÀÀqÑIÔIÐIÝ•jÕ"8Ô"<¸qÀ!¸fÀrÀdÈAÑNÔNÐNÝ•iÕ!7Ô!;¸cÀ3¸ZØ˜2�h ñ	#ô 	#ð 	#å•iÕ!7Ô!;¸aÀ¸VØ˜T�l Añ	'ô 	'ð 	'å•iÕ!7Ô!;¸aÀ¸VØ˜2�h ñ	%ô 	%ð 	%ð 	%ð 	%r@   N)rÈ   rÉ   rÊ   rK   rÏ   rÐ   r7   r  rs  r¿  ri  r  rp  rs  rÅ   r”  rß  rá  rå  rì  r‚  r‰  rø  rú  r•  r—  rš  r_  r   rÓ   r@   r>   ra  ra    sV  € € € € € Ø„[×ÒØð �ˆV�a˜�W˜a Ð+à�ˆV�a˜�W˜a "¤& Ð)à�!ˆW�q˜"�g˜q 2¤6 'Ð*à�ˆV�b˜"�X˜q "¤&Ð)à�!ˆf�q˜!�fÐ  R ¨2¨s¨)Ð4Ø�ˆV�b”f˜bœfÐ%ð'ð �!ˆW�r˜2�h  2¤6Ð*à�ˆW�r˜1�g˜r 2¤6Ð*à�ˆW�r˜2�h  B¤FÐ+à�ˆV�a˜�W˜b "¤&Ð)à�ˆV�a˜�W˜a "¤& Ð)ð+	
ñô ð43ð 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�b Ð$Ñ$Ô$ h b¤h¨r¸Ð&=Ñ&=Ô&=¸qÀ"ÐEØ�ˆV�a˜�V˜Q Ð"àˆYˆY˜	˜	˜	 1 jÐ1ð	
ñô ð 3ð 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ñô ð3ð/ð /ð /ð/ð /ð /ð/ð /ð /ð/ð /ð /ð1ð 1ð 1ð1ð 1ð 1ð
&ð &ð &ð%ð %ð %ð&ð &ð &ðLð Lð Lð 	%ð 	%ð 	%ð 	%ð 	%r@   ra  c                   ó†  — e Zd Zd„ Zd„ Zej                             dd¦  «        d„ ¦   «         Zd„ Z	ej                             dd¦  «        ej                             d	d¦  «        d
„ ¦   «         ¦   «         Z
ej                             dd¦  «        d„ ¦   «         Zd„ Zej                             dd¦  «        d„ ¦   «         Zej                             dd¦  «        d„ ¦   «         Zej                             dd¦  «        d„ ¦   «         Zej                             dd¦  «        ej                             dg dgf¦  «        ej                             dg dgf¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             dd¦  «        d„ ¦   «         Zd„ Zej                             dd¦  «        d„ ¦   «         ZdS )ÚTestRandomTablec                 ó@   — t           j                             d¦  «        S )Nl   ÖO˜f½E)r7   rŠ   r‹   r4  s    r>   Úget_rngzTestRandomTable.get_rng  s   € ÝŒy×$Ò$Ð%7Ñ8Ô8Ð8r@   c                 óÆ  — d}t          j        t          |¬¦  «        5  t          ddggddg¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          ddgddgg¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          ddgddg¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          ddgdd	g¦  «         d d d ¦  «         n# 1 swxY w Y   d
}t          j        t          |¬¦  «        5  t          ddgddg¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          ddgg d¢¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          ddgg d¢¦  «         d d d ¦  «         n# 1 swxY w Y   ddg}g d¢}t          j        ddgg d¢¦  «        \  }}}t          ||¦  «         t          ||¦  «         |t          j        |¦  «        k    sJ ‚d S )Nz`row` must be one-dimensionalrD   r
   rF   z`col` must be one-dimensionalz*each element of `row` must be non-negativere   z*each element of `col` must be non-negativerh   z'sums over `row` and `col` must be equalr   z(each element of `row` must be an integerçÍÌÌÌÌÌ @)r
   r
   rF   z(each element of `col` must be an integer)rT  rT  r
   rG   ©rF   r
   r
   )rK   r	   rL   r&   Ú_process_parametersr   r7   r�   )rT   rU   ÚrowÚcolr&  r®  rº   s          r>   Útest_process_parametersz'TestRandomTable.test_process_parameters  s6  € Ø1ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	+ð 	+Ý˜1˜a˜&˜ A q 6Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 2ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	+ð 	+Ý˜!˜Q˜ 1 a & Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð ?ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	*ð 	*Ý˜!˜R˜ 1 a &Ñ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð ?ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	*ð 	*Ý˜!˜Q˜ ! R Ñ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð <ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	)ð 	)Ý˜!˜Q˜ ! Q Ñ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð =ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	0ð 	0Ý˜#˜s˜ Y Y YÑ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð =ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	0ð 	0Ý˜!˜Q˜   Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð �!ˆfˆØˆiˆiˆÝÔ2°A°q°6¸9¸9¸9ÑEÔE‰ˆˆ1ˆaÝ�S˜!ÑÔÐÝ�S˜!ÑÔÐØ•B”F˜3‘K”KÒÐÐÐÐÐs}   žA Á AÁAÁ(B
Â
BÂBÂ2CÃCÃCÃ;DÄD Ä#D ÅE%Å%E)Å,E)ÆF.Æ.F2Æ5F2ÇG7Ç7G;Ç>G;zscale,method))r
   Úboyett)r,  Ú	patefieldc                 óü   — t          j        ddg¦  «        |z  }t          j        g d¢¦  «        |z  }t          }|                     |||d¬¦  «        }|                     ||d d¬¦  «        }t	          ||¦  «         d S )Nr
   rG   r§  ©Úmethodrœ   )r7   rÅ   r&   rŸ   r   )rT   rI  r°  r©  rª  Úctr.  Úgots           r>   Útest_process_rvs_method_on_Nonez/TestRandomTable.test_process_rvs_method_on_None+  s�   € õ Œh˜˜1�vÑÔ Ñ&ˆÝŒh�y�y�yÑ!Ô! EÑ)ˆåˆØ—6’6˜#˜s¨6À�6ÑBÔBˆØ�fŠf�S˜# d¸ˆfÑ;Ô;ˆå�X˜sÑ#Ô#Ð#Ð#Ð#r@   c                 ó°   — ddg}g d¢}d}t          j        t          |¬¦  «        5  t          j        ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr
   rG   r§  z$'foo' not recognized, must be one ofrD   Úfoo)r°  )rK   r	   rL   r&   rŸ   )rT   r©  rª  rU   s       r>   Ú$test_process_rvs_method_bad_argumentz4TestRandomTable.test_process_rvs_method_bad_argument7  s¬   € Ø�!ˆfˆØˆiˆiˆð 9ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	5ð 	5ÝÔ˜S #¨eÐ4Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð 	5ð 	5s   ¦AÁAÁAr  )TFrö   c                 ón  ‡‡‡‡— |                       ¦   «         }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         ¦  «         | 
                    d|j        dd …         z   ¦  «        } ||¦  «        }	|	j        dk    sJ ‚t          |	j        d         ¦  «        D ]N}t          |	j        d         ¦  «        D ]1}|	||f         }|||f         } ||¦  «        }t          ||¦  «         Œ2ŒOg 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 ¦  «         n# 1 swxY w Y   d}t          j        t           |¬¦  «        5   |dgg¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t           |¬¦  «        5   |t          j        gg¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t           |¬¦  «        5   |dgg¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t           |¬¦  «        5   |g d¢g¦  «         d d d ¦  «         n# 1 swxY w Y   d }t          j        t           |¬¦  «        5   |ddgd!d"gg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )#NrF   rb   ©r
   rG   rc   r&  r¬  ©r   r°  rœ   rº  rÄ  c                 ó   •—  ‰| ‰‰¦  «        S r6   rÓ   )rZ   rª  Úoriginal_methodr©  s    €€€r>   r°  z/TestRandomTable.test_pmf_logpmf.<locals>.methodQ  s   ø€ Ø&� q¨#¨sÑ3Ô3Ð3r@   c                 ó>   •— t          j         ‰| ¦  «        ¦  «        S r6   )r7   r/  )rZ   r°  s    €r>   r[   z1TestRandomTable.test_pmf_logpmf.<locals>.<lambda>S  s   ø€ �œ   q¡	¤	Ñ*Ô*€ r@   r   T©r„   Úreturn_countsr˜   r;  )r#  r,  r
   )r   r
   r
   )rF   r
   rG   re   rƒ   rç   )r
   rF   rF   rh   z$`x` must be at least two-dimensionalrD   z%`x` must contain only integral valuesrT  z)`x` must contain only non-negative valuesz"shape of `x` must agree with `row`rJ   z"shape of `x` must agree with `col`rG   rc   )r¤  r&   rŸ   ro   r7   Úuniquer   r�   rÍ   r   r'  r9   r  r�   rK   r	   rL   rs  )rT   r  rö   r”   rŸ   ÚobjrÄ  Ú
unique_rvsÚcountsrÌ  Úp2Úrvs_ndr@  rA  ÚpijÚrvijÚqijrZ   rU   rª  r°  r»  r©  s                      @@@@r>   Útest_pmf_logpmfzTestRandomTable.test_pmf_logpmf@  sÌ  øøøø€ ð �lŠl‰nŒnˆØ�!ˆfˆØˆiˆiˆÝÔ˜s C¨dØ&.¸SðBñ Bô Bˆð )/Ð@�l˜3 Ñ$Ô$Ð$µLˆÝ˜¨#Ð8˜h˜h°5Ñ9Ô9ˆØð 	4Ø$ˆOð4ð 4ð 4ð 4ð 4ð 4ð 4à/2Ð>Ð*Ð*Ð*Ð*Ð*¸ˆåœY s°À$ÐGÑGÔGÑˆ
�Fð ˆC�
‰OŒOˆÝ˜�C ™HœH™ f°3Ð7Ñ7Ô7Ð7ð ˆS•�j ”mÑ$Ô$Ñ%Ô%ˆÝ�R˜˜1œÑÔÐð —’˜Y¨¬°1°2°2¬Ñ6Ñ7Ô7ˆØˆC�‰KŒKˆØŒw˜)Ò#Ð#Ð#Ð#Ý�q”w˜q”zÑ"Ô"ð 	'ð 	'ˆAÝ˜1œ7 1œ:Ñ&Ô&ð 'ð '�Ø˜˜1˜”g�Ø˜a ˜d”|�Ø�c˜$‘i”i�Ý˜S #Ñ&Ô&Ð&Ð&ð	'ð ˆYˆY˜	˜	˜	Ð"ˆÝ•R”V˜A BÐ'Ñ'Ô'¨Ñ-Ô-Ð-ØˆC�‰FŒFˆØ�AŠvˆvˆvˆvð ˆYˆY˜	˜	˜	Ð"ˆÝ•R”V˜A BÐ'Ñ'Ô'¨Ñ-Ô-Ð-ØˆC�‰FŒFˆØ�AŠvˆvˆvˆvð 9ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	ð 	ØˆC��‰HŒHˆHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð :ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	ð 	ØˆC�#��‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð :ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	ð 	ØˆC•"”&��
‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð >ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	ð 	ØˆC�"��‰KŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 7ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	ð 	ØˆC����ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 7ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	ð 	ØˆC�!�Q�Ø�Q�ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	sl   È7IÉIÉIÉ8JÊJÊJÊ:KËK"Ë%K"ÌL Ì L$Ì'L$ÍM#Í#M'Í*M'ÎN*Î*N.Î1N.r°  )r¬  r­  c                 ó(  — |                       ¦   «         }ddg}g d¢}t          j        ||d||¬¦  «        }t          j        ||¦  «        }t	          t          j        |¦  «        t          j        |¦  «        ¦  «         t          |                     d¦  «        |d¬¦  «         t	          |                     d	¬
¦  «        t          j        |d¦  «        ¦  «         t	          |                     d¬
¦  «        t          j        |d¦  «        ¦  «         d S )NrF   rb   r¸  r&  r¹  r   rE  rƒ  re   rƒ   ro  rh   )r&  rG   )	r¤  r&   rŸ   r¦   r   r7   r�   r   Úbroadcast_to)rT   r°  r”   r©  rª  rŸ   r¦   s          r>   Útest_rvs_meanzTestRandomTable.test_rvs_mean�  sð   € ð �lŠl‰nŒnˆØ�!ˆfˆØˆiˆiˆÝÔ˜s C¨d¸6Ø,/ð1ñ 1ô 1ˆåÔ   cÑ*Ô*ˆÝ•R”V˜D‘\”\¥2¤6¨#¡;¤;Ñ/Ô/Ð/Ý˜Ÿš ™œ T°Ð5Ñ5Ô5Ð5Ý�S—W’W "�WÑ%Ô%¥r¤°s¸IÑ'FÔ'FÑGÔGÐGÝ�S—W’W "�WÑ%Ô%¥r¤°s¸IÑ'FÔ'FÑGÔGÐGÐGÐGr@   c                 ó  — |                       ¦   «         }ddg}g d¢}t          j        ||dd|¬¦  «        }t          j        ||dd|¬¦  «        }t          j        |d¬	¦  «        }t          j        |d¬	¦  «        }t          ||d
¬¦  «         d S )NrF   rb   r¸  r¾  r¬  r¹  r­  r   rƒ   ç{®Gáz”?rƒ  )r¤  r&   rŸ   r7   r7  r   )rT   r”   r©  rª  r  r  rä  rŠ  s           r>   Útest_rvs_covzTestRandomTable.test_rvs_covŸ  sª   € ð �lŠl‰nŒnˆØ�!ˆfˆØˆiˆiˆÝÔ  S¨u¸XØ-0ð2ñ 2ô 2ˆåÔ  S¨u¸[Ø-0ð2ñ 2ô 2ˆåŒv�d Ð#Ñ#Ô#ˆÝŒv�d Ð#Ñ#Ô#ˆÝ˜˜d¨Ð.Ñ.Ô.Ð.Ð.Ð.r@   c           	      óP  — ddg}g d¢}t          j        ||||                      ¦   «         ¬¦  «        }|j        dk    sJ ‚t          j        ||d||                      ¦   «         ¬¦  «        }|j        dk    sJ ‚t	          ||d	         ¦  «         t          j        ||d	||                      ¦   «         ¬¦  «        }|j        d
k    sJ ‚t          j        ||d||                      ¦   «         ¬¦  «        }|j        dk    sJ ‚t          j        ||d||                      ¦   «         ¬¦  «        }|j        dk    sJ ‚t          |                     ddd¦  «        |d¬¦  «         d}	t          j        t          |	¬¦  «        5  t          j        ||d||                      ¦   «         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |	¬¦  «        5  t          j        ||t          j        ||                      ¦   «         ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrF   rb   r¸  r¯  r´  r
   r¹  rJ   r   )r   rF   rG   r  )r  rF   rG   )rc   ra   )rc   ra   rF   rG   rG   rÊ  r;  z/`size` must be a non-negative integer or `None`rD   re   )r&   rŸ   r¤  r9   r   r   r'  rK   r	   rL   r7   rs  )
rT   r°  r©  rª  r¾   Úrv2Úrv3Úrv4Úrv5rU   s
             r>   Útest_rvs_sizezTestRandomTable.test_rvs_size­  sÍ  € à�!ˆfˆØˆiˆiˆõ Ô˜c 3¨vØ+/¯<ª<©>¬>ð;ñ ;ô ;ˆàŒx˜6Ò!Ð!Ð!Ð!õ Ô˜s C¨a¸Ø,0¯LªL©N¬Nð<ñ <ô <ˆàŒy˜IÒ%Ð%Ð%Ð%Ý�R˜˜QœÑ Ô Ð õ Ô˜s C¨a¸Ø,0¯LªL©N¬Nð<ñ <ô <ˆàŒy˜IÒ%Ð%Ð%Ð%õ Ô˜s C¨b¸Ø,0¯LªL©N¬Nð<ñ <ô <ˆàŒy˜JÒ&Ð&Ð&Ð&åÔ˜s C¨f¸VØ,0¯LªL©N¬Nð<ñ <ô <ˆàŒy˜LÒ(Ð(Ð(Ð(å˜Ÿš B¨¨1Ñ-Ô-¨s¸Ð?Ñ?Ô?Ð?ð DˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	:ð 	:ÝÔ˜S #¨B°vØ*.¯,ª,©.¬.ð:ñ :ô :ð :ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:õ Œ]�:¨WÐ5Ñ5Ô5ð 	:ð 	:ÝÔ˜S #­B¬F¸6Ø*.¯,ª,©.¬.ð:ñ :ô :ð :ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s$   Å:,F2Æ2F6Æ9F6Ç6HÈHÈ"Hc                 ó"  — ddg}g d¢}t           }|                     ||d||                      ¦   «         ¬¦  «        }t          j        |dd¬¦  «        \  }}|                     |||¦  «        }t          |t          |¦  «        z  |d	¬
¦  «         d S )NrF   rb   r¸  rê  r¹  r   Tr½  rÍ  r;  )r&   rŸ   r¤  r7   r¿  rÄ  r   r�   )	rT   r°  r©  rª  r±  rŸ   rÁ  rÂ  rÌ  s	            r>   Útest_rvs_methodzTestRandomTable.test_rvs_method×  sŸ   € ð �!ˆfˆØˆiˆiˆåˆØ�fŠf�S˜# F°6Ø"&§,¢,¡.¤.ð ñ 2ô 2ˆõ  œY s°À$ÐGÑGÔGÑˆ
�Fð �FŠF�:˜s CÑ(Ô(ˆÝ˜�C ™HœH™ f°4Ð8Ñ8Ô8Ð8Ð8Ð8r@   c                 ó(  — g d¢}g d¢}t          ||¦  «        }|                     d||                      ¦   «         ¬¦  «        }t          j        dt          |¦  «        t          |¦  «        f¦  «        }g d¢g d¢g d¢g|d<   t          ||¦  «         d S )Nr»  )r
   r   r   r   r&  r¯  )r   r   r   r   .©r&   rŸ   r¤  r7   r¶   r�   r   ©rT   r°  r©  rª  r€  r¾   r.  s          r>   Útest_rvs_with_zeros_in_col_rowz.TestRandomTable.test_rvs_with_zeros_in_col_rowì  sœ   € àˆiˆiˆØˆlˆlˆÝ˜˜cÑ"Ô"ˆØ�UŠU�4 °T·\²\±^´^ˆUÑDÔDˆÝ”8˜T¥3 s¡8¤8­S°©X¬XÐ6Ñ7Ô7ˆØ%˜˜Ø%˜˜Ø%˜˜ð'ˆ�‰õ 	�R˜Ñ"Ô"Ð"Ð"Ð"r@   )Nr¬  r­  rª  r   r©  c                 óü   — t          ||¦  «        }|                     d||                      ¦   «         ¬¦  «        }t          j        dt          |¦  «        t          |¦  «        f¦  «        }t          ||¦  «         d S )Nr#  r¯  rØ  rÙ  s          r>   Útest_rvs_with_edge_casesz(TestRandomTable.test_rvs_with_edge_casesø  sj   € õ ˜˜cÑ"Ô"ˆØ�UŠU�2˜f°4·<²<±>´>ˆUÑBÔBˆÝ”8˜R¥ S¡¤­3¨s©8¬8Ð4Ñ5Ô5ˆÝ�R˜Ñ"Ô"Ð"Ð"Ð"r@   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	        dt          |¦  «        t          |¦  «        fk    sJ ‚t          j        |¦  «        |k    sJ ‚d S )Nr   r
   rG   r-  r§  Ú	rvs_rcont)Úscipy.stats._rcontr-   Ú_rcontr7   rÅ   Úint64ro   r�   r¤  r9   r�   )rT   rÙ   rà  r©  rª  rŸ   ÚntotÚresults           r>   Útest_rvs_rcontzTestRandomTable.test_rvs_rcont  sÙ   € ð 	,Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+åŒh˜˜1�v¥R¤XÐ.Ñ.Ô.ˆÝŒh�y�y�y­¬Ð1Ñ1Ô1ˆå�f˜o¨!˜o˜oÑ.Ô.ˆåŒv�c‰{Œ{ˆØ��S˜#˜t Q¨¯ª©¬Ñ7Ô7ˆàŒ| ¥3 s¡8¤8­S°©X¬XÐ6Ò6Ð6Ð6Ð6ÝŒv�f‰~Œ~ Ò%Ð%Ð%Ð%Ð%Ð%r@   c                 óØ  — ddg}g d¢}t          |||                      ¦   «         ¬¦  «        }|                     ¦   «         }t          j        ||¦  «        }t	          ||                     ¦   «         ¦  «         t          j        |||¦  «        }t	          ||                     |¦  «        ¦  «         t          j        |||¦  «        }t	          ||                     |¦  «        ¦  «         d S )NrF   rb   r¸  r�   )r&   r¤  rŸ   r¦   r   rÄ  rº  )rT   r©  rª  r€  r�  r.  s         r>   r_  zTestRandomTable.test_frozen  sË   € Ø�!ˆfˆØˆiˆiˆÝ˜˜c¨¯ª©¬Ð7Ñ7Ô7ˆà—’‘”ˆåÔ$ S¨#Ñ.Ô.ˆÝ�X˜qŸvšv™xœxÑ(Ô(Ð(åÔ# F¨C°Ñ5Ô5ˆÝ�X˜qŸušu V™}œ}Ñ-Ô-Ð-åÔ& v¨s°CÑ8Ô8ˆÝ�X˜qŸxšx¨Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0r@   c                 ó  — ddg}g d¢}t          |||                      ¦   «         ¬¦  «        }t          j        ||d||                      ¦   «         ¬¦  «        }|                     d|¬¦  «        }t          ||¦  «         d S )NrF   rb   r¸  r�   r#  r¹  )r   r°  )r&   r¤  rŸ   r   )rT   r°  r©  rª  r€  r.  r²  s          r>   Útest_rvs_frozenzTestRandomTable.test_rvs_frozen"  sˆ   € à�!ˆfˆØˆiˆiˆÝ˜˜c¨¯ª©¬Ð7Ñ7Ô7ˆåÔ# C¨°2¸fØ15·²±´ðAñ Aô Aˆà�eŠe˜ FˆeÑ+Ô+ˆÝ�X˜sÑ#Ô#Ð#Ð#Ð#r@   N)rÈ   rÉ   rÊ   r¤  r«  rK   rÏ   rÐ   r³  r¶  rÈ  rË  rÎ  rÔ  rÖ  rÚ  rÜ  rä  r_  rç  rÓ   r@   r>   r¢  r¢    s€  € € € € € ð9ð 9ð 9ð" ð " ð " ðH „[×Ò˜^Ø@ñBô Bð$ð $ñBô Bð$ð5ð 5ð 5ð „[×Ò˜X }Ñ5Ô5Ø„[×Ò˜U MÑ2Ô2ðLð Lñ 3Ô2ñ 6Ô5ðLð\ „[×Ò˜XÐ'>Ñ?Ô?ðHð Hñ @Ô?ðHð/ð /ð /ð „[×Ò˜XÐ'>Ñ?Ô?ð':ð ':ñ @Ô?ð':ðR „[×Ò˜XÐ'>Ñ?Ô?ð9ð 9ñ @Ô?ð9ð( „[×Ò˜XÐ'>Ñ?Ô?ð	#ð 	#ñ @Ô?ð	#ð „[×Ò˜XÐ'DÑEÔEØ„[×Ò˜U R¨!¨ IÑ.Ô.Ø„[×Ò˜U R¨!¨ IÑ.Ô.ð#ð #ñ /Ô.ñ /Ô.ñ FÔEð#ð „[×Ò˜S &Ñ)Ô)ð&ð &ñ *Ô)ð&ð 1ð 1ð 1ð  „[×Ò˜XÐ'>Ñ?Ô?ð$ð $ñ @Ô?ð$ð $ð $r@   r¢  c                 óî   — | j         }d| _          | j        |ddiŽ t          j        | ¦  «        } | j        |ddiŽ}t          j        |¦  «        } |j        |ddiŽ}t          ||¦  «         || _         d S )Nrî   r   rÁ  )rœ   rŸ   ÚpickleÚdumpsÚloadsr   )Údistfnr<   rÓ  rá   Úr0Ú	unpickledÚr1s          r>   Úcheck_picklingrð  .  s“   € ð
 Ô€Dà€FÔØ€F„J�Ð˜1ÐÐÐÝŒ�VÑÔ€AØ	ˆŒ�TÐ	" Ð	"Ð	"€Bå”˜Q‘”€IØ	ˆŒ˜Ð	% 1Ð	%Ð	%€BÝ��RÑÔÐð €FÔÐÐr@   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          ||¦  «         Œ&d S )NrG   rG  ræ   r�  rÓ   rÂ   r#  ra   ri  ra  )r7   rO   r   r   rÅ   r   r   r   r   r   r2   rð  )rI  Údistsrì  r<   s       r>   Útest_random_state_propertyró  B  sÀ   € ÝŒF�1‰IŒI€EØ€Eˆ$�KØ€Eˆ$�Kå	˜bÐ!Ý	•R”X˜r˜d‘^”^Ð&Ð'Ý	�2�u�+ÐÝ	�b˜%�[Ð!Ý	�q˜/˜/˜/Ð*Ð+Ý	�dÐÝ	˜dÐ#ð€Eð ð %ð %‰ˆ�Ý# F¨DÑ1Ô1Ð1Ý�v˜tÑ$Ô$Ð$Ð$ð%ð %r@   c                   ó"  — e Zd Zej                             dg d¢¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         Zej                             dddg¦  «        ej                             dg d	¢¦  «        d
„ ¦   «         ¦   «         Zd„ Zd„ Z	d„ Z
ej                             dddg¦  «        d„ ¦   «         Zej                             dddg¦  «        d„ ¦   «         Zej                             dej        ej        g¦  «        d„ ¦   «         Zej                             dej        ej        g¦  «        d„ ¦   «         Ze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                             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                             d7g d8¢¦  «        d9„ ¦   «         Zej                             dej        ej        g¦  «        d:„ ¦   «         Zd;„ Zej                             dg d<¢¦  «        ej                             d=g d>¢¦  «        d?„ ¦   «         ¦   «         Zd@„ ZdA„ ZdB„ ZdCS )DÚTestVonMises_FisherrÖ   )rF   rG   rc   rb   r   r´  c                 óî  — t           j                             d¦  «        }t          j        |fdt          j        |¦  «        z  ¦  «        }t          |d|¬¦  «        }|                     |¦  «        }t          j        |¦  «        t          j        |¦  «        }}| 	                    |||¬¦  «        j
        }	|j
        |	k    sJ ‚t           j                             |d¬¦  «        }
t          |
d¦  «         d S )Nr¶  r
   r�   r~   re   rƒ   rÂ   )r7   rŠ   r‹   ri  r  r(   rŸ   r¶   rO   r   r9   r¸   r   r   )rT   rÖ   r   r”   rë   Úvmf_distrå  r¦   r½   r¸  r¹  s              r>   r/  z TestVonMises_Fisher.test_samplesU  sÔ   € õ Œi×#Ò#Ð$7Ñ8Ô8ˆÝŒW�c�W˜a¥¤¨¡¤™nÑ-Ô-ˆÝ" 2 q¨sÐ3Ñ3Ô3ˆØ—,’,˜tÑ$Ô$ˆÝ”H˜S‘M”M¥2¤6¨#¡;¤;ˆcˆØ×0Ò0°°sÀÐ0ÑFÔFÔLˆØŒ} Ò.Ð.Ð.Ð.Ý”	—’˜w¨R�Ñ0Ô0ˆÝ˜˜rÑ"Ô"Ð"Ð"Ð"r@   ra   rÁ  Úkappa)g  4&õkCrK  gêŒ 9Y>)Fc                 óè   — t           j                             d¦  «        }t          j        |fdt          j        |¦  «        z  ¦  «        }t          |||¬¦  «        }|                     d¦  «         d S )Nr¶  r
   r�   r#  )r7   rŠ   r‹   ri  r  r(   rŸ   )rT   rÖ   rø  r”   rë   r÷  s         r>   Ú test_sampling_high_concentrationz4TestVonMises_Fisher.test_sampling_high_concentrationc  se   € õ Œi×#Ò#Ð$7Ñ8Ô8ˆÝŒW�c�W˜a¥¤¨¡¤™nÑ-Ô-ˆÝ" 2 u°3Ð7Ñ7Ô7ˆØ�Š�RÑÔÐÐÐr@   c                 óº   — t          j        d¦  «        }d}t          j        t          |¬¦  «        5  t          |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrŽ  z%'mu' must have one-dimensional shape.rD   r
   ©r7   rN   rK   r	   rL   r(   ©rT   rë   r}  s      r>   Útest_two_dimensional_muz+TestVonMises_Fisher.test_two_dimensional_mul  s�   € ÝŒW�V‰_Œ_ˆØ5ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	#ð 	#Ý˜B Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ó   ²AÁAÁAc                 óº   — t          j        d¦  «        }d}t          j        t          |¬¦  «        5  t          |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nra  z%'mu' must be a unit vector of norm 1.rD   r
   rü  rý  s      r>   Útest_wrong_norm_muz&TestVonMises_Fisher.test_wrong_norm_mur  s�   € ÝŒW�U‰^Œ^ˆØ5ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	#ð 	#Ý˜B Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#rÿ  c                 óº   — t          j        d¦  «        }d}t          j        t          |¬¦  «        5  t          |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr×  z$'mu' must have at least two entries.rD   r
   rü  rý  s      r>   Útest_one_entry_muz%TestVonMises_Fisher.test_one_entry_mux  s�   € ÝŒW�U‰^Œ^ˆØ4ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	#ð 	#Ý˜B Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#rÿ  re   )ra   rG   c                 ó–   — d}t          j        t          |¬¦  «        5  t          ddg|¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz"'kappa' must be a positive scalar.rD   r
   r   ©rK   r	   rL   r(   ©rT   rø  r}  s      r>   Útest_kappa_validationz)TestVonMises_Fisher.test_kappa_validation~  s”   € à2ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	+ð 	+Ý˜Q ˜F EÑ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ó   ž>¾AÁAr   rÃ   c                 ó–   — d}t          j        t          |¬¦  «        5  t          ddg|¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzŸFor 'kappa=0' the von Mises-Fisher distribution becomes the uniform distribution on the sphere surface. Consider using 'scipy.stats.uniform_direction' instead.rD   r
   r   r  r  s      r>   Útest_kappa_zeroz#TestVonMises_Fisher.test_kappa_zero„  s˜   € ðˆõ Œ]�:¨SÐ1Ñ1Ô1ð 	+ð 	+Ý˜Q ˜F EÑ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+r  r°  c                 ó¼   — t          j        g d¢¦  «        }d}t          j        t          |¬¦  «        5   ||ddgd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©rÂ   rÃ   r   znThe dimensionality of the last axis of 'x' must match the dimensionality of the von Mises Fisher distribution.rD   r
   r   ©r7   rÅ   rK   r	   rL   ©rT   r°  rZ   r}  s       r>   Útest_invalid_shapes_pdf_logpdfz2TestVonMises_Fisher.test_invalid_shapes_pdf_logpdfŽ  s±   € õ ŒH�[�[�[Ñ!Ô!ˆðˆõ Œ]�:¨SÐ1Ñ1Ô1ð 	!ð 	!ØˆF�1�q˜!�f˜aÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ó   ´AÁAÁAc                 ó¼   — t          j        ddg¦  «        }d}t          j        t          |¬¦  «        5   ||ddgd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrG  rÃ   ú8'x' must be unit vectors of norm 1 along last dimension.rD   r
   r   r  r  s       r>   Útest_unnormalized_inputz+TestVonMises_Fisher.test_unnormalized_input˜  s­   € õ ŒH�c˜2�YÑÔˆØHˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	!ð 	!ØˆF�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\Á(?rh  r™   gSô‹³ð-c                 óp   — t          ||¦  «                             |¦  «        }t          ||d¬¦  «         d S )NrA  r;  )r(   r£   r   )rT   rZ   rë   rø  Ú	referencer£   s         r>   Útest_pdf_accuracyz%TestVonMises_Fisher.test_pdf_accuracy¬  s<   € õ4 ˜b %Ñ(Ô(×,Ò,¨QÑ/Ô/ˆÝ˜˜Y¨UÐ3Ñ3Ô3Ð3Ð3Ð3r@   gÅ[d6U?Àgþ1*¤‰?ÀgÑJ8“j#@g©=f«äNXÀg][«­,Àg1V‡V@g‰|¿˜'@gm¢FÚ&!Àg–ÈeÏóhÀc                 óp   — t          ||¦  «                             |¦  «        }t          ||d¬¦  «         d S )NrË  r;  )r(   r¤   r   )rT   rZ   rë   rø  r  r¤   s         r>   Útest_logpdf_accuracyz(TestVonMises_Fisher.test_logpdf_accuracyÖ  s<   € õ4 !  UÑ+Ô+×2Ò2°1Ñ5Ô5ˆÝ˜ 	°Ð6Ñ6Ô6Ð6Ð6Ð6r@   zdim, kappa, reference))rG   rµ  g®©·£‰?@)rG   r,  g¡•p&ÕFü¿)ra   r—  gT†;Ó·&À)rÁ  r
   go›–ØZ@c                 óÄ   — t          j        |fdt          j        |¦  «        z  ¦  «        }t          ||¦  «                             ¦   «         }t          ||d¬¦  «         d S )Nr
   g›+¡†›„=r;  )r7   ri  r  r(   r¥   r   )rT   rÖ   rø  r  rë   r¥   s         r>   Útest_entropy_accuracyz)TestVonMises_Fisher.test_entropy_accuracy  sY   € õ ŒW�c�W˜a¥¤¨¡¤™nÑ-Ô-ˆÝ! " eÑ,Ô,×4Ò4Ñ6Ô6ˆÝ˜ °Ð7Ñ7Ô7Ð7Ð7Ð7r@   c           	      óà  — d}t           j                             d¦  «        }t          d¦  «                             ||¬¦  «        }t          j        ddt          j        d¦  «        z  ¦  «        }d} ||||¦  «        }|j        |k    sJ ‚t          |d         ¦  «        D ]L}t          |d         ¦  «        D ]4}	 ||||	d d …f         ||¦  «        }
t          |
|||	f         d	¬
¦  «         Œ5ŒMd S )NrŽ  r¶  rG   rµ   r×  r
   ra   r   rÊ  r;  )
r7   rŠ   r‹   r'   rŸ   ri  r  r9   r  r   )rT   r°  Ú	testshaper”   rZ   rë   rø  Ú
result_allr@  rA  Úcurrent_vals              r>   rC  z%TestVonMises_Fisher.test_broadcasting  s  € ð ˆ	ÝŒi×#Ò#Ð$7Ñ8Ô8ˆÝ˜aÑ Ô ×$Ò$ Y¸SÐ$ÑAÔAˆÝŒW�U˜A�bœg a™jœj™LÑ)Ô)ˆØˆØ�V˜A˜r 5Ñ)Ô)ˆ
ØÔ 9Ò,Ð,Ð,Ð,Ý�y ”|Ñ$Ô$ð 	Kð 	KˆAÝ˜9 Qœ<Ñ(Ô(ð Kð K�Ø$˜f Q q¨!¨Q¨Q¨Q w¤Z°°UÑ;Ô;�Ý ¨Z¸¸1¸Ô-=ÀEÐJÑJÔJÐJÐJðKð	Kð 	Kr@   c                 óÒ  — t           j                             d¦  «        }t          j        ddg¦  «        }t          j        |d         |d         ¦  «        }d}t          ||¦  «        }t          ||¬¦  «        }t          d¦  «                             d|¬¦  «        }t          j        |d d …df         |d d …df         ¦  «        }t          | 
                    ¦   «         | 
                    ¦   «         ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         d S )	Nr¶  r   r
   r  )rN  rø  rF   r#  rµ   )r7   rŠ   r‹   rÅ   r¿  r(   r*   r'   rŸ   r   r¥   r£   r¤   )	rT   r”   rë   Úmu_anglerø  ÚvmfÚvonmises_distÚvectorsrÆ  s	            r>   Útest_vs_vonmises_2dz'TestVonMises_Fisher.test_vs_vonmises_2d  s3  € õ Œi×#Ò#Ð$7Ñ8Ô8ˆÝŒX�q˜!�fÑÔˆÝ”:˜b œe R¨¤UÑ+Ô+ˆØˆÝ˜b %Ñ(Ô(ˆÝ  X°UÐ;Ñ;Ô;ˆÝ# AÑ&Ô&×*Ò*¨2¸CÐ*Ñ@Ô@ˆÝ”˜G A A A q DœM¨7°1°1°1°a°4¬=Ñ9Ô9ˆÝ˜×-Ò-Ñ/Ô/°·²±´Ñ?Ô?Ð?Ý˜×)Ò)¨&Ñ1Ô1°3·7²7¸7Ñ3CÔ3CÑDÔDÐDÝ˜×,Ò,¨VÑ4Ô4°c·j²jÀÑ6IÔ6IÑJÔJÐJÐJÐJr@   )rF   rG   rb   zkappa, mu_tol, kappa_tol))r
   rE  rE  )r#  rO  rO  )r,  ç{®Gázt?rÍ  )r&  r:  rÍ  c                 ó²  — t          j        |fdt          j        |¦  «        z  ¦  «        }t          ||¦  «        }t           j                             d¦  «        }d}|                     ||¬¦  «        }	t          j        |	¦  «        \  }
}t          j        | 	                    |
¦  «        ¦  «        }t          |d|d¬¦  «         t          |||¬¦  «         d S )	Nr
   r¶  r¾  rµ   rÃ   r   r#  r;  )r7   ri  r  r(   rŠ   r‹   rŸ   rÄ  Úarccosr	  r   )rT   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�c�W˜a¥¤¨¡¤™nÑ-Ô-ˆÝ" 2 uÑ-Ô-ˆÝŒi×#Ò#Ð$7Ñ8Ô8ˆØˆ	Ø—,’,˜y°s�,Ñ;Ô;ˆÝ+Ô/°Ñ8Ô8Ñˆ�	Ýœ	 "§&¢&¨¡.¤.Ñ1Ô1ˆÝ˜ r°¸QÐ?Ñ?Ô?Ð?Ý˜˜y¨yÐ9Ñ9Ô9Ð9Ð9Ð9r@   c                 óÂ   — t          j        d¦  «        }d}t          j        t          |¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr×  z'x' must be two dimensional.rD   )r7   r¶   rK   r	   rL   r(   rÄ  ©rT   rZ   r}  s      r>   Ú#test_fit_error_one_dimensional_dataz7TestVonMises_Fisher.test_fit_error_one_dimensional_data;  sž   € ÝŒH�U‰OŒOˆØ,ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	#ð 	#ÝÔ Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ó   ²AÁAÁAc                 óÂ   — t          j        d¦  «        }d}t          j        t          |¬¦  «        5  t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr³  r  rD   )r7   rN   rK   r	   rL   r(   rÄ  r/  s      r>   Ú test_fit_error_unnormalized_dataz4TestVonMises_Fisher.test_fit_error_unnormalized_dataA  sž   € ÝŒG�F‰OŒOˆØHˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	#ð 	#ÝÔ Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#r1  c                 ó<  — t          j        g d¢¦  «        }d}t          ||¦  «        }t          ||d¬¦  «        }|                     d¬¦  «        }t          j        ||d¬¦  «        }|                     ¦   «         }t	          ||¦  «         t	          ||¦  «         d S )N)r   r   r
   ra   r0  r�   rµ   )r7   rÅ   r(   rŸ   r   )rT   rë   rø  r  rj  r  r  rk  s           r>   r¼  z,TestVonMises_Fisher.test_frozen_distributionG  sœ   € ÝŒX�i�i�iÑ Ô ˆØˆÝ   UÑ+Ô+ˆÝ% b¨%°cÐ:Ñ:Ô:ˆà�zŠz sˆzÑ+Ô+ˆÝÔ" 2 u¸3Ð?Ñ?Ô?ˆØ�ŠÑ Ô ˆå�T˜4Ñ Ô Ð Ý�T˜4Ñ Ô Ð Ð Ð r@   N)rÈ   rÉ   rÊ   rK   rÏ   rÐ   r/  rú  rþ  r  r  r  r
  r(   r£   r¤   r  r  r7   rÅ   r  r  r  r  rC  r$  r-  r0  r3  r¼  rÓ   r@   r>   rõ  rõ  T  s½  € € € € € Ø„[×Ò˜U L L LÑ1Ô1Ø„[×Ò˜VÐ%9Ð%9Ð%9Ñ:Ô:ð
#ð 
#ñ ;Ô:ñ 2Ô1ð
#ð „[×Ò˜U Q¨ FÑ+Ô+Ø„[×Ò˜WÐ&8Ð&8Ð&8Ñ9Ô9ðð ñ :Ô9ñ ,Ô+ðð#ð #ð #ð#ð #ð #ð#ð #ð #ð „[×Ò˜W r¨6 lÑ3Ô3ð+ð +ñ 4Ô3ð+ð
 „[×Ò˜W q¨" gÑ.Ô.ð+ð +ñ /Ô.ð+ð „[×Ò˜X¨Ô(;Ø(7Ô(>ð(@ñ Aô Að!ð !ñAô Að!ð „[×Ò˜X¨Ô(;Ø(7Ô(>ð(@ñ Aô Að!ð !ñAô Að!ð$ „[×ÒÐ6Ø'˜rœx¨¨¨Ñ5Ô5°x°r´xÀÀÀÑ7MÔ7MØ#Ð%7ð9à'˜rœx¨¨¨Ñ4Ô4°h°b´h¸|¸|¸|Ñ6LÔ6LØ#Ð%8ð:à'˜rœx¨¨¨Ñ5Ô5°x°r´xÀÀÀÑ7MÔ7MØ"Ð$6ð8à'˜rœx¨¨¨Ñ4Ô4°h°b´h¸|¸|¸|Ñ6LÔ6LØ"Ð$9ð;à'˜rœx¨¨¨Ñ5Ô5Ø'˜rœx¨¨¬°©¬¸¸¼À¹¼ÀrÐ(JÑKÔKØ#Ð%:ð<ð  (˜rœx¨¨¨Ñ4Ô4°h°b´h¸|¸|¸|Ñ6LÔ6LØ#Ð%6ð8à'˜rœxÐ(<Ð(<Ð(<Ñ=Ô=Ø'˜rœxÐ(<Ð(<Ð(<Ñ=Ô=Ø#Ð%7ð9ð  (˜rœxÐ(<Ð(<Ð(<Ñ=Ô=Ø'˜rœx¨¨¬°©¬¸¸¼À¹¼ÀrØ)*¨Bð)0ñ  1ô  1à#Ð%;ð=ð  (˜rœxÐ(<Ð(<Ð(<Ñ=Ô=Ø'˜rœx¨¨¬°©¬°w°r´w¸s±|´|ÀRØ)*¨Bð)0ñ  1ô  1à#Ð%;ð=ð)>ñ?ô ?ð24ð 4ñ3?ô ?ð24ð" „[×ÒÐ6Ø'˜rœx¨¨¨Ñ5Ô5°x°r´xÀÀÀÑ7MÔ7MØ#Ð%8ð:à'˜rœx¨¨¨Ñ4Ô4°h°b´h¸|¸|¸|Ñ6LÔ6LØ#Ð%8ð:à'˜rœx¨¨¨Ñ5Ô5°x°r´xÀÀÀÑ7MÔ7MØ"Ð$5ð7à'˜rœx¨¨¨Ñ4Ô4°h°b´h¸|¸|¸|Ñ6LÔ6LØ"Ð$6ð8à'˜rœx¨¨¨Ñ5Ô5Ø'˜rœx¨¨¬°©¬¸¸¼À¹¼ÀrÐ(JÑKÔKØ#Ð%8ð:ð  (˜rœx¨¨¨Ñ4Ô4°h°b´h¸|¸|¸|Ñ6LÔ6LØ#Ð%6ð8à'˜rœxÐ(<Ð(<Ð(<Ñ=Ô=Ø'˜rœxÐ(<Ð(<Ð(<Ñ=Ô=Ø#Ð%7ð9ð  (˜rœxÐ(<Ð(<Ð(<Ñ=Ô=Ø'˜rœx¨¨¬°©¬¸¸¼À¹¼ÀrØ)*¨Bð)0ñ  1ô  1à#Ð%7ð9ð  (˜rœxÐ(<Ð(<Ð(<Ñ=Ô=Ø'˜rœx¨¨¬°©¬°w°r´w¸s±|´|ÀRØ)*¨Bð)0ñ  1ô  1à#Ð%8ð:ð);ñ<ô <ð27ð 7ñ3<ô <ð27ð$ „[×ÒÐ4ð:ð :ð :ñ;ô ;ð
8ð 8ñ;ô ;ð
8ð
 „[×Ò˜X¨Ô(;Ø(7Ô(>ð(@ñ Aô AðKð KñAô AðKðKð Kð Kð „[×Ò˜U I I IÑ.Ô.Ø„[×ÒÐ7ð2ð 2ð 2ñ3ô 3ð
	:ð 	:ñ3ô 3ñ /Ô.ð	:ð#ð #ð #ð#ð #ð #ð!ð !ð !ð !ð !r@   rõ  c                   óx  — e Zd Zed„ ¦   «         Zd„ Zd„ Zd„ Zd„ Ze	j
                             dddg¦  «        d	„ ¦   «         Ze	j
                             dd
dg¦  «        d„ ¦   «         Zd„ Zd„ Ze	j
                             dddg¦  «        d„ ¦   «         Ze	j
                             dg d¢¦  «        d„ ¦   «         ZdS )ÚTestDirichletMultinomialc                 óÞ   — t           j                             d¦  «        }|                     ddd¬¦  «        }|                     dd|df¬¦  «        }|                     d¬	¦  «        }|||||fS )
Nì   ðt7ž)r   r,  rF   r~   r
   r  re   rƒ   )r7   rŠ   r‹   r   Úintegersr�   )rT   rì  r”   r¡  rZ   rº   s         r>   Ú
get_paramsz#TestDirichletMultinomial.get_paramsV  sl   € åŒi×#Ò#Ð$5Ñ6Ô6ˆØ—’˜A˜s¨�Ñ+Ô+ˆØ�LŠL˜˜B a¨ VˆLÑ,Ô,ˆØ�EŠE�rˆE‰NŒNˆØ�A�u˜a Ð"Ð"r@   c                 ó  — t           j                             d¦  «        }|                     ddd¦  «        }|                     ddd¦  «        }t          j        |d¬¦  «        }t          ||¦  «        }t          |                     |¦  «        t          j        |||¦  «        ¦  «         t          | 	                    |¦  «        t          j	        |||¦  «        ¦  «         t          | 
                    ¦   «         t          j
        ||¦  «        ¦  «         t          |                     ¦   «         t          j        ||¦  «        ¦  «         t          |                     ¦   «         t          j        ||¦  «        ¦  «         d S )Nr8  r   r,  r#  re   rƒ   )r7   rŠ   r‹   r   r9  r�   r)   r   rº  rÄ  r¦   r7  r½   )rT   r”   r¡  rZ   rº   r€  s         r>   r_  z$TestDirichletMultinomial.test_frozen^  s1  € ÝŒi×#Ò#Ð$5Ñ6Ô6ˆà—’˜A˜s BÑ'Ô'ˆØ�LŠL˜˜B Ñ#Ô#ˆÝŒF�1˜2ÐÑÔˆå! %¨Ñ+Ô+ˆÝ�Q—X’X˜a‘[”[Õ"7Ô">¸qÀ%ÈÑ"KÔ"KÑLÔLÐLÝ�Q—U’U˜1‘X”XÕ4Ô8¸¸EÀ1ÑEÔEÑFÔFÐFÝ�Q—V’V‘X”XÕ4Ô9¸%ÀÑCÔCÑDÔDÐDÝ�Q—U’U‘W”WÕ3Ô7¸¸qÑAÔAÑBÔBÐBÝ�Q—U’U‘W”WÕ3Ô7¸¸qÑAÔAÑBÔBÐBÐBÐBr@   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n J ‚t           j	         
                    d¦  «        }|                     ddd¦  «        }|                     ddd¦  «        }t          j        |d	¬
¦  «        }t          ||¦  «                             |¦  «        }t          j        |||¦  «        }d}t          ||¦  «         t          |t          j        |¦  «        ¦  «         d S )NrJ   ©rG   rc   ra   gp.¸U.¸µ?rÓ   r8  r   r,  r#  re   rƒ   g+»©œTº<)r7   rÅ   r�   r)   rÄ  rº  r   rö   r9   rŠ   r‹   r   r9  )rT   rZ   rº   r¡  r:   Úlogresr;   r”   s           r>   Útest_pmf_logpmf_against_Rz2TestDirichletMultinomial.test_pmf_logpmf_against_Rl  so  € õ
 ŒH�Y�Y�YÑÔˆÝŒF�1‰IŒIˆÝ”˜˜˜Ñ#Ô#ˆÝ#Ô'¨¨5°!Ñ4Ô4ˆÝ&Ô-¨a°¸Ñ:Ô:ˆØ!ˆÝ˜˜SÑ!Ô!Ð!Ý˜¥¤ s¡¤Ñ,Ô,Ð,ØŒy˜FœLÐ.Ð.Ò.Ð.¨BÒ.Ð.Ð.Ð.Ð.Ð.õ Œi×#Ò#Ð$5Ñ6Ô6ˆØ—’˜A˜s BÑ'Ô'ˆØ�LŠL˜˜B Ñ#Ô#ˆÝŒF�1˜2ÐÑÔˆÝ# E¨1Ñ-Ô-×1Ò1°!Ñ4Ô4ˆÝ&Ô-¨a°¸Ñ:Ô:ˆØ"ˆÝ˜˜SÑ!Ô!Ð!Ý˜¥¤ s¡¤Ñ,Ô,Ð,Ð,Ð,r@   c                 óÚ  — |                       d¦  «        \  }}}}}|dz  }t          t          ||¦  «                             |¦  «        d¦  «         t          t          ||¦  «                             |¦  «        t
          j         ¦  «         |                       d¦  «        \  }}}}}|                     d¬¦  «        dk    }t          j        ||         dz  ¦  «        ||<   t          t          ||¦  «                             |¦  «        |         d¦  «         t          t          ||¦  «                             |¦  «        |         t
          j         ¦  «         t          j	        t          ||¦  «                             |¦  «        |          dk    ¦  «        sJ ‚t          j	        t          ||¦  «                             |¦  «        |          t
          j         k    ¦  «        sJ ‚d S )Nr
   r   r#  r~   rG  rF   )
r:  r   r)   rÄ  rº  r7   r  rŠ   Úroundr%  )rT   r”   rì  r¡  rº   rZ   r@  s          r>   Útest_pmf_logpmf_supportz0TestDirichletMultinomial.test_pmf_logpmf_support‹  s®  € ð #Ÿošo¨aÑ0Ô0ÑˆˆQ��q˜!Ø	ˆQ‰ˆÝÕ*¨5°!Ñ4Ô4×8Ò8¸Ñ;Ô;¸QÑ?Ô?Ð?ÝÕ*¨5°!Ñ4Ô4×;Ò;¸AÑ>Ô>ÅÄÀÑHÔHÐHà"Ÿošo¨bÑ1Ô1ÑˆˆQ��q˜!Ø�JŠJ˜BˆJÑÔ #Ò%ˆÝŒx˜˜!œ˜q™Ñ!Ô!ˆˆ!‰ÝÕ*¨5°!Ñ4Ô4×8Ò8¸Ñ;Ô;¸AÔ>ÀÑBÔBÐBÝÕ*¨5°!Ñ4Ô4×;Ò;¸AÑ>Ô>¸qÔAÅBÄFÀ7ÑKÔKÐKÝŒvÕ+¨E°1Ñ5Ô5×9Ò9¸!Ñ<Ô<¸a¸RÔ@À1ÒDÑEÔEÐEÐEÐEÝŒvÕ+¨E°1Ñ5Ô5×<Ò<¸QÑ?Ô?ÀÀÔCÅrÄvÀgÒMÑNÔNÐNÐNÐNÐNÐNr@   c                 ó`  — d}dg}t          j        |g¦  «        }t          ||¦  «        }t          |                     |¦  «        d¦  «         t          |                     |dz   ¦  «        d¦  «         t          |                     |¦  «        d¦  «         t          |                     |dz   ¦  «        t           j         ¦  «         t          |                     ¦   «         |¦  «         t          |                     ¦   «         d¦  «         t          | 	                    ¦   «         d¦  «         d S )Nrb   r#  r
   r   )
r7   r8   r)   r   rÄ  rº  r  r¦   r7  r½   )rT   rº   r¡  rZ   rÆ   s        r>   Útest_dimensionality_onez0TestDirichletMultinomial.test_dimensionality_one›  sð   € àˆØ�ˆÝŒJ˜�s‰OŒ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”Z Ñ#Ô#Ð#Ý�T—X’X‘Z”Z Ñ#Ô#Ð#Ð#Ð#r@   Úmethod_namerÄ  rº  c                 ó$  — |                       d¦  «        \  }}}}}t          t          ||¦  «        |¦  «        }t          t          j        |g|j        ¢R Ž |¦  «        } ||¦  «        }	 ||j        d         ¦  «        }
t          |	|
¦  «         d S ©Nr,  r   ©r:  ro   r)   r-   Ú	betabinomr‘   r   ©rT   rE  r”   rì  r¡  rº   rZ   r°  Ú
ref_methodr:   r;   s              r>   Útest_against_betabinom_pmfz3TestDirichletMultinomial.test_against_betabinom_pmfª  s“   € à"Ÿošo¨cÑ2Ô2ÑˆˆQ��q˜!åÕ.¨u°aÑ8Ô8¸+ÑFÔFˆÝ�Uœ_¨QÐ9°´Ð9Ð9Ð9¸;ÑGÔGˆ
àˆf�Q‰iŒiˆØˆj˜œ˜QœÑ Ô ˆÝ˜˜SÑ!Ô!Ð!Ð!Ð!r@   r¦   r7  c                 ó  — |                       d¦  «        \  }}}}}t          t          ||¦  «        |¦  «        }t          t          j        |g|j        ¢R Ž |¦  «        } |¦   «         d d …df         }	 |¦   «         }
t          |	|
¦  «         d S rG  rH  rJ  s              r>   Útest_against_betabinom_momentsz7TestDirichletMultinomial.test_against_betabinom_momentsµ  s“   € à"Ÿošo¨cÑ2Ô2ÑˆˆQ��q˜!åÕ.¨u°aÑ8Ô8¸+ÑFÔFˆÝ�Uœ_¨QÐ9°´Ð9Ð9Ð9¸;ÑGÔGˆ
àˆf‰hŒh�q�q�q˜!�tŒnˆØˆj‰lŒlˆÝ˜˜SÑ!Ô!Ð!Ð!Ð!r@   c                 ó  — t           j                             d¦  «        }d}|                     dd¦  «        }|                     |¬¦  «        dz  }t	          ||¦  «        }d}|                     ||¬¦  «        }|                     |||¬¦  «        }t          |                     ¦   «         t          j        |d¬	¦  «        d
¬¦  «         t          | 	                    ¦   «         t          j	        |d¬	¦  «        d¬¦  «         |                     ¦   «         j
        | 	                    ¦   «         j
        cxk    r|fk    sn J ‚|                     ¦   «         }	|	j
        ||fk    sJ ‚t          |	t          j        |j        ¦  «        d¬¦  «         t          t          j        |	¦  «        | 	                    ¦   «         ¦  «         t          j        t           j                             |	¦  «        d         dk    ¦  «        sJ ‚d S )Nr8  ra   r
   r,  r~   r#  rê  r   rƒ   r%  r;  rO  rÍ  )r7   rŠ   r‹   r9  r)   r   r   r   r¦   r7  r9   r½   r‘   r   rn   r%  rÄ   r¸   r¹   )
rT   r”   rÖ   rº   r¡  rÆ   rì  rÌ  rZ   r½   s
             r>   r,  z%TestDirichletMultinomial.test_momentsÀ  s¸  € ÝŒi×#Ò#Ð$5Ñ6Ô6ˆØˆØ�LŠL˜˜CÑ Ô ˆØ—
’
 �
Ñ$Ô$ rÑ)ˆÝ$ U¨AÑ.Ô.ˆð ˆØ�MŠM˜% aˆMÑ(Ô(ˆØ�OŠO˜A˜q qˆOÑ)Ô)ˆå˜Ÿ	š	™œ¥R¤W¨Q°QÐ%7Ñ%7Ô%7¸dÐCÑCÔCÐCÝ˜Ÿš™
œ
¥B¤F¨1°1Ð$5Ñ$5Ô$5¸DÐAÑAÔAÐAØ�yŠy‰{Œ{Ô  D§H¢H¡J¤JÔ$4Ð>Ð>Ò>Ð>¸¸Ò>Ð>Ð>Ð>Ð>Ð>à�hŠh‰jŒjˆØŒy˜S #˜JÒ&Ð&Ð&Ð&Ý˜�RœV A¤C™[œ[¨tÐ4Ñ4Ô4Ð4Ý•R”W˜S‘\”\ 4§8¢8¡:¤:Ñ.Ô.Ð.ÝŒv•e”l×'Ò'¨Ñ,Ô,¨QÔ/°!Ò3Ñ4Ô4Ð4Ð4Ð4Ð4Ð4r@   c                 óÜ  — t          j        g d¢¦  «        }t          j        |¦  «        }t          j        g d¢¦  «        }d}t          t          |¬¦  «        5  t          j        g d¢||¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          |¬¦  «        5  t          j        g d¢||¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          t          |¬¦  «        5  t          j        |g d¢|¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          |¬¦  «        5  t          j        |g d	¢|¦  «         d d d ¦  «         n# 1 swxY w Y   d
}t          t          |¬¦  «        5  t          j        ||d¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          |¬¦  «        5  t          j        ||d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «        }t          j        g d¢¦  «        }d}t          t          |¬¦  «        5  t          j        |||                     ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrJ   r=  z,`x` must contain only non-negative integers.rD   )r
   re   rG   )r
   r¦  rG   z*`alpha` must contain only positive values.)rG   r   rc   )rG   re   rc   z`n` must be a positive integer.gÍÌÌÌÌŒH@r   )r
   rF   rG   rc   z&`x` and `alpha` must be broadcastable.)r7   rÅ   r�   rê   rL   r)   rº  )rT   Úx0Ún0Úalpha0ÚtextrZ   r¡  s          r>   rV   z.TestDirichletMultinomial.test_input_validationÖ  s)  € åŒX�i�i�iÑ Ô ˆÝŒV�B‰ZŒZˆÝ”˜)˜)˜)Ñ$Ô$ˆà=ˆÝ�:¨TÐ2Ñ2Ô2ð 	Að 	AÝ!Ô(¨¨¨°V¸RÑ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Aå�:¨TÐ2Ñ2Ô2ð 	Bð 	BÝ!Ô(¨¨¨°f¸bÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð <ˆÝ�:¨TÐ2Ñ2Ô2ð 	<ð 	<Ý!Ô(¨¨Y¨Y¨Y¸Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<å�:¨TÐ2Ñ2Ô2ð 	=ð 	=Ý!Ô(¨¨Z¨Z¨Z¸Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 1ˆÝ�:¨TÐ2Ñ2Ô2ð 	;ð 	;Ý!Ô(¨¨V°TÑ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;å�:¨TÐ2Ñ2Ô2ð 	8ð 	8Ý!Ô(¨¨V°QÑ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8õ ŒH�\�\�\Ñ"Ô"ˆÝ”˜˜˜Ñ#Ô#ˆØ7ˆÝ�:¨TÐ2Ñ2Ô2ð 	<ð 	<Ý!Ô(¨¨E°1·5²5±7´7Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s~   ÁA>Á>BÂBÂCÃCÃCÃ'DÄDÄDÄ-EÅEÅEÅ5FÆFÆFÆ9GÇG Ç#G È+)I!É!I%É(I%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¦  «                             d
¦  «        }t          t          |¦  «        } ||||¦  «        }|j        dk    sJ ‚t          t          |¦  «        ¦  «        D ]°}t          t          |¦  «        ¦  «        D ]‘}t          t          |¦  «        ¦  «        D ]r}||||f         }	 |||                              ¦   «         ||                              ¦   «         ||                              ¦   «         ¦  «        }
t          |	|
¦  «         ŒsŒ’Œ±d S )Nr=  rn  ©ra   ra   rd   ©rÁ  rØ  r#  rb   rd   rÁ  rJ   )rF   rF   rG   )rF   r
   r
   rG   )rF   rG   rc   )
r7   rÅ   r'  ro   r)   r9   r  r�   r¢   r   )rT   r°  r¡  rº   rZ   r:   r@  rA  r  Úres_ijkr;   s              r>   Útest_broadcasting_pmfz.TestDirichletMultinomial.test_broadcasting_pmfô  si  € å”˜)˜)˜) Y Y Y°	°	°	¸:¸:¸:ÐFÑGÔGˆÝŒH�q�c˜A˜3  �_Ñ%Ô%ˆÝŒH�i�i�i   Ð+Ñ,Ô,×4Ò4°\ÑBÔBˆÝÕ.°Ñ7Ô7ˆØˆf�Q˜˜qÑ!Ô!ˆØŒy˜IÒ%Ð%Ð%Ð%Ý•s˜1‘v”v‘”ð 	2ð 	2ˆAÝ�3˜q™6œ6‘]”]ð 2ð 2�Ý�s 5™zœzÑ*Ô*ð 2ð 2�AØ! ! Q¨ 'œl�GØ ˜&  1¤§¢¡¤°°q´×1AÒ1AÑ1CÔ1CÀQÀqÄTÇ\Â\Á^Ä^ÑTÔT�CÝ# G¨SÑ1Ô1Ð1Ð1ð2ð2ð	2ð 	2r@   )r¦   r7  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k    r|j        d	k    snnJ ‚t          t          |¦  «        ¦  «        D ]w}t          t          |¦  «        ¦  «        D ]X}|||f         } |||                              ¦   «         ||                              ¦   «         ¦  «        }	t          ||	¦  «         ŒYŒxd S )
Nr=  rn  rV  rW  rb   rd   rÁ  r½   )rG   rc   rG   )	r7   rÅ   ro   r)   r9   r  r�   r¢   r   )
rT   rE  r¡  rº   r°  r:   rA  r  rX  r;   s
             r>   Útest_broadcasting_momentsz2TestDirichletMultinomial.test_broadcasting_moments  s  € å”˜)˜)˜) Y Y Y°	°	°	¸:¸:¸:ÐFÑGÔGˆÝŒH�q�c˜A˜3  �_Ñ%Ô%ˆÝÕ.°Ñ<Ô<ˆØˆf�U˜AÑÔˆØ)4¸Ò)=Ð)=ˆsŒy˜IÒ%Ð%Ð%Ð%Ð%Ð%Ý•s˜1‘v”v‘”ð 	.ð 	.ˆAÝ�3˜u™:œ:Ñ&Ô&ð .ð .�Ø˜a ˜dœ)�Ø�f˜U 1œX×-Ò-Ñ/Ô/°°1´·²±´Ñ@Ô@�Ý ¨Ñ-Ô-Ð-Ð-ð.ð	.ð 	.r@   N)rÈ   rÉ   rÊ   Úclassmethodr:  r_  r?  rB  rD  rK   rÏ   rÐ   rL  rN  r,  rV   rY  r[  rÓ   r@   r>   r6  r6  U  s[  € € € € € Øð#ð #ñ „[ð#ðCð Cð Cð-ð -ð -ð>Oð Oð Oð $ð $ð $ð „[×Ò˜]¨U°HÐ,=Ñ>Ô>ð"ð "ñ ?Ô>ð"ð „[×Ò˜]¨V°U¨OÑ<Ô<ð"ð "ñ =Ô<ð"ð5ð 5ð 5ð,<ð <ð <ð< „[×Ò˜X¨¨xÐ'8Ñ9Ô9ð2ð 2ñ :Ô9ð2ð „[×Ò˜]Ð,BÐ,BÐ,BÑCÔCð
.ð 
.ñ DÔCð
.ð 
.ð 
.r@   r6  r\  )YÚ__doc__ré  Únumpy.testingr   r   r   r   r   r   rK   r	   rê   Útest_continuous_basicr   Únumpyr7   Ú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   Úscipy.specialr1   Úcommon_testsr2   Ú	data._mvtr3   Úunittest.mockr4   r?   rB   rÛ   râ   rä   rõ  r1  r†  rˆ  r¶  r
  r.  re  r�  r³  rË  rÚ  ra  r¢  rð  ró  rõ  r6  rÓ   r@   r>   ú<module>ri     sF  ððð ð €€€ð7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð €€€Ø *Ð *Ð *Ð *Ð *Ð *à 9Ð 9Ð 9Ð 9Ð 9Ð 9à Ð Ð Ð à Ð Ð Ð ðCð Cð Cð Cð Cð Cð Cð Cð Cð Cð:ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð 0Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø Ð Ð Ð Ð Ð à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø &Ð &Ð &Ð &Ð &Ð &à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð ð'ð 'ð 'ð]!ð ]!ð ]!ð ]!ð ]!ñ ]!ô ]!ð ]!ð@ð ð ð ðð ð ð@
)ð @
)ð @
)ð @
)ð @
)ñ @
)ô @
)ð @
)ðFH*ð H*ð H*ð H*ð H*ñ H*ô H*ð H*ðVF1ð F1ð F1ð F1ð F1ñ F1ô F1ð F1ðR-ð -ð -ð&i9ð i9ð i9ð i9ð i9ñ i9ô i9ð i9ðVj#ð j#ð j#ð j#ð j#ñ j#ô j#ð j#ðXa(ð a(ð a(ð a(ð a(ñ a(ô a(ð a(ðHC:ð C:ð C:ð C:ð C:ñ C:ô C:ð C:ðLo&ð o&ð o&ð o&ð o&ñ o&ô o&ð o&ðdd#ð d#ð d#ð d#ð d#ñ d#ô d#ð d#ðN6+ð 6+ð 6+ð 6+ð 6+ñ 6+ô 6+ð 6+ðr9#ð 9#ð 9#ð 9#ð 9#ñ 9#ô 9#ð 9#ðx9ð 9ð 9ð 9ð 9ñ 9ô 9ð 9ðDa%ð a%ð a%ð a%ð a%ñ a%ô a%ð a%ðHh$ð h$ð h$ð h$ð h$ñ h$ô h$ð h$ðV	ð ð ð(%ð %ð %ð$~!ð ~!ð ~!ð ~!ð ~!ñ ~!ô ~!ð ~!ðBy.ð y.ð y.ð y.ð y.ñ y.ô y.ð y.ð y.ð y.r@   