§
    fŠtjé ã                   óX  — d Z ddlZddlm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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5 dd
lm6Z6m7Z7 ddl8m9Z: ddlm;Z; ddl<m=Z=m>Z>m?Z? ddl<m@Z@mAZAmBZBmCZC ddlDmEZE ddlDmFZF ddlGmHZH ddlImJZJ ddlKmLZL d„ ZM G d„ d¦  «        ZNdId„ZOd„ ZPd„ ZQe G d„ d¦  «        ¦   «         ZRe G d„ d¦  «        ¦   «         ZS G d„ d¦  «        ZT G d „ d!¦  «        ZU G d"„ d#¦  «        ZV G d$„ d%¦  «        ZW G d&„ d'¦  «        ZXd(„ ZY G d)„ d*¦  «        ZZ G d+„ d,¦  «        Z[ G d-„ d.¦  «        Z\ G d/„ d0¦  «        Z] G d1„ d2¦  «        Z^ G d3„ d4¦  «        Z_ G d5„ d6¦  «        Z` G d7„ d8¦  «        Za G d9„ d:¦  «        Zb G d;„ d<¦  «        Zc G d=„ d>¦  «        Zdd?„ Zeejf         g                    d@¬A¦  «        dB„ ¦   «         Zh G dC„ dD¦  «        Zi G dE„ dF¦  «        Zj G dG„ dH¦  «        ZkdS )JzH
Test functions for multivariate normal, t, and related distributions.

é    N)Ú	dataclass)Ú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Úmatrix_t)Ú_covarianceÚ
Covariance)Ú	_norm_pdf)Ústats)ÚtanhsinhÚcubatureÚquad)ÚrombÚqmc_quadÚdblquadÚ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       úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/stats/tests/test_multivariate.pyÚassert_closerF   /   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   rM   rN   )Úpytestr
   Ú
ValueErrorr-   ÚCovViaPrecisionr>   ÚonesÚeyeÚCovViaDiagonalÚCovViaCholeskyÚCovViaEigendecomposition©ÚselfÚmessages     rE   Útest_input_validationz$TestCovariance.test_input_validation7   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    rE   ú<lambda>zTestCovariance.<lambda>Y   s   € Ý%)¨!¸DÐ%AÑ%AÔ%Að rG   )ÚDiagonalÚ	PrecisionÚCholeskyÚEigendecompositionÚPSDrQ   )é   r   rN   )r   é   é   )rN   rj   é   )r   r   rN   )rh   éÿÿÿÿr   )rl   rh   r   ©r   r   r   )údiagonal full rankzgeneral full rankzdiagonal singularzgeneral singularr   N)r   éþÿÿÿrl   ro   Úcov_type_namerl   c                 óÔ  — t          j        g d¢¦  «        }g d¢}t          t          d|› �¦  «        }| j        |         }t          t
          d|                     ¦   «         › �¦  «        } | ||¦  «        ¦  «        } | ||¦  «        ¦  «        }t          |¦  «        t          |¦  «        u sJ ‚t          | 	                    |¦  «        | 	                    |¦  «        ¦  «         d S )NrQ   )éüÿÿÿrM   rh   ÚCovViaÚfrom_)
r>   ÚdiagÚgetattrr-   Ú_covariance_preprocessingr.   ÚlowerÚtyper   Úwhiten)	r[   rp   ÚAra   Úcov_typeÚpreprocessingÚfactoryrA   rB   s	            rE   Útest_factorieszTestCovariance.test_factoriese   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Ð5rG   Ú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 )Nrs   ú does not support ú	 matricesTr_   ì   ÐVGi’VžK rN   ©ÚsizeÚ	_colorizeÚsingular©rM   rj   rN   rM   rl   ©Úaxis)Ú
_cov_typesrR   ÚskipÚ	_matricesrv   r-   rw   r   rF   Úlog_pdetr   Úrankr@   r>   r?   rO   ÚrandomÚdefault_rngrz   ÚUÚhasattrÚcolorizeÚsumrV   ÚlenÚT)r[   r€   rp   r\   r{   r|   r}   ÚpsdÚ
cov_objectÚrngra   rA   rB   s                rE   Útest_covariancezTestCovariance.test_covariances   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Ñ(Ô(Ð(Ð(Ð(ð	)ð 	)rG   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 )Nrs   r‚   rƒ   ©çš™™™™™¹?çš™™™™™É?ç333333Ó?Tr_   r„   r…   ©r†   Úrandom_state©Úseed)rŒ   rR   r�   rŽ   rv   r-   rw   r   r>   r‘   r’   ÚrvsÚ
isinstanceÚ	CovViaPSDrF   Úsqueezer   r@   ÚpdfÚlogpdfÚentropy)r[   r†   r€   rp   r\   r{   r|   r}   Úmeanrš   ÚmvnÚdist0Údist1r›   ra   Úx1Úx2s                    rE   Ú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Ð6rG   c                 ó  — d}| j         |         }t          t          d|› �¦  «        }| j        |         }g d¢} | ||¦  «        ¦  «        }t          }	t	          ||d¬¦  «        }
t	          ||d¬¦  «        }t
          j                             d¦  «        }|                     |||¬¦  «        }t          |	 	                    |||¦  «        |
 	                    |¦  «        ¦  «         t          | 	                    |¦  «        |
 	                    |¦  «        ¦  «         t          |	 
                    |||¦  «        |
 
                    |¦  «        ¦  «         t          | 
                    |¦  «        |
 
                    |¦  «        ¦  «         d S )Nrn   rs   rž   Tr_   r„   r…   )rŽ   rv   r-   rw   r   r>   r‘   r’   rF   ÚcdfÚlogcdf)r[   r†   rp   r€   r{   r|   r}   r­   rš   r®   r¯   r°   r›   ra   s                 rE   Ú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Ð6rG   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.rK   )rR   r
   ÚNotImplementedErrorr.   rZ   s     rE   Ú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   rM   g:Œ0âŽyE¾r   zThe input matrix must be...rK   l   .ypGw ©r£   )r>   ru   r@   ÚzerosrR   r
   rS   r   r¦   r‘   r’   r.   Úfrom_eigendecompositionÚlinalgÚeighr   )r[   r{   Únr­   r¥   Úrng1Úrng2ÚcovÚrvrA   rB   s              rE   Ú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 )	NrM   ©r­   rÄ   r…   ç      ð?ç        g      y@r   r   )r>   rU   r.   r¾   r½   rV   Úscipyr0   r   r¦   r   Úarray)r[   r­   rÄ   Údistr¦   s        rE   Ú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œÒ Ð Ð Ð Ð Ð rG   )Ú__name__Ú
__module__Ú__qualname__r]   r>   ru   r¿   ÚinvÚcholeskyrÀ   rw   rÌ   ÚlistÚ_all_covariance_typesrŽ   rŒ   rR   ÚmarkÚparametrizer   rœ   Útupler³   r·   rº   ÚfilterwarningsrÆ   rÎ   © rG   rE   rI   rI   5   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ðð,!ð !ð !ð !ð !rG   rI   Fc                 ó  — |                      | | f¦  «        }||j        z  }t          j                             |¦  «        \  }}|r|                     | ¬¦  «        dk    }d||<   |t          j        |¦  «        z  |j        z  }|S )Nr…   r   )r‘   r˜   r>   r¿   rÀ   Únormalru   )	ÚdimÚevalsr›   rˆ   r{   Ú_ÚvÚ	zero_eigsrÄ   s	            rE   Ú_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Ø€JrG   c                 ó¸   — t           j                             d¦  «        }|                     | | f¦  «        }t          j                             |¦  «        \  }}}|S )Nl   Û:; )r>   r‘   r’   Ústandard_normalrË   r¿   Úsvd)rÁ   r›   ÚMÚuÚsrà   s         rE   Ú_sample_orthonormal_matrixré   #  sN   € Ý
Œ)×
Ò
 
Ñ
+Ô
+€CØ×Ò˜Q ˜FÑ#Ô#€AÝŒl×Ò˜qÑ!Ô!�G€A€qˆ!Ø€HrG   c                 óv  ‡ ‡‡‡— t          j        |¦  «        }||dk     xx         ‰z  cc<   |                     ¦   «         }‰dd…|f         Št          j        ‰t          ¬¦  «        Šd‰|<   ˆ ˆˆˆfd„}t          j        ‰t          |¦  «        z
  t           j        ¦  «        }t          || |¦  «        j	        S )zƒIntegrate marginalized dimensions of multivariate
    probability distribution to calculate the marginalized
    distribution.
    r   N©ÚdtypeFc                 óÔ   •— t          j        | j        d         ‰j        d         ‰f¦  «        }| d d …t           j        d d …f         |d‰f<   ‰|d‰ f<   ‰                     |¦  «        S )Nr   .)r>   Úemptyr@   Únewaxisrª   )ÚzÚyÚXÚX_ndimÚi_marginalizera   s     €€€€rE   Úgzmarginal_pdf.<locals>.g7  sj   ø€ ÝŒH�a”g˜a”j !¤'¨!¤*¨fÐ5Ñ6Ô6ˆØ ! ! ! !¥R¤Z°°°Ð"2Ô 3ˆˆ#ˆ}Ð
ÑØ!"ˆˆ#�ˆ~Ð
ÑØ�uŠu�Q‰xŒxˆrG   )
r>   r?   ÚargsortrU   ÚboolÚfullr—   Úinfr2   Úestimate)rò   ró   Ú
dimensionsra   Údim_sort_idxrõ   rù   rô   s   `` `   @rE   Úmarginal_pdfrý   )  s×   øøøø€ õ ”˜JÑ'Ô'€JØˆz˜AŠ~ÐÐÔ &Ñ(ÐÐÑØ×%Ò%Ñ'Ô'€LØ	ˆ!ˆ!ˆ!ˆ\ˆ/Ô€Aå”G˜F­$Ð/Ñ/Ô/€MØ %€M�*Ñðð ð ð ð ð ð ð õ Œ'�&�3˜z™?œ?Ñ*­B¬FÑ
3Ô
3€CÝ�A˜�t˜SÑ!Ô!Ô*Ð*rG   c                   ó  ‡ — e Zd ZU dZeed<   ej        ed<   ej        ed<   ej        ed<   ej        ed<   eed<   eed<   d	Z	ed	z  ed
<   ˆ fd„Z
edd„¦   «         Zedd„¦   «         Zedd„¦   «         Zd„ Zd„ Zd„ Zd„ Zˆ xZS )Ú
MVNProblemaP  Instantiate a multivariate normal integration problem with special structure.

    When covariance matrix is a correlation matrix where the off-diagonal entries
    ``covar[i, j] == lambdas[i]*lambdas[j]`` for ``i != j``, then the multidimensional
    integral reduces to a simpler univariate integral that can be numerically integrated
    easily.

    The ``generate_*()`` classmethods provide a few options for creating variations
    of this problem.

    References
    ----------
    .. [1] Tong, Y.L. "The Multivariate Normal Distribution".
           Springer-Verlag. p192. 1990.
    ÚndimÚlowÚhighÚlambdasÚcovarÚ
target_valÚ
target_errNÚtrue_valc                 ó$  •— t          ¦   «                              ¦   «          || _        || _        || _        || _        t          j        | j        | j        ¦  «        | _        t          j	        | j        d¦  «         |  
                    ¦   «          d S ©NrÉ   )ÚsuperÚ__init__r   r  r  r  r>   Úouterr  Úfill_diagonalÚfind_target)r[   r   r  r  r  Ú	__class__s        €rE   r  zMVNProblem.__init__]  sy   ø€ Ý‰Œ×ÒÑÔÐØˆŒ	ØˆŒØˆŒ	ØˆŒå”X˜dœl¨D¬LÑ9Ô9ˆŒ
Ý
Ô˜œ SÑ)Ô)Ð)Ø×ÒÑÔÐÐÐrG   c                 ó&  — t           j                             |¦  «        }t          j        |t           j         ¦  «        }|                     dt          j        |¦  «        |¬¦  «        }|                     dd|¬¦  «        } | ||||¬¦  «        }|S )zDRandom lambdas, random upper bounds, infinite lower bounds.
        rÊ   r…   ç      ð¿rÉ   ©r   r  r  r  ©r>   r‘   r’   rø   rù   r   Úsqrt©Úclsr   r›   r  r  r  r[   s          rE   Úgenerate_semigeneralzMVNProblem.generate_semigeneralh  s�   € õ Œi×#Ò# CÑ(Ô(ˆÝŒg�d�RœV˜GÑ$Ô$ˆØ�{Š{˜3¥¤¨¡¤°Dˆ{Ñ9Ô9ˆØ—+’+˜d C¨d�+Ñ3Ô3ˆàˆsØØØØð	
ñ 
ô 
ˆð ˆrG   c                 óp  — t           j                             |¦  «        }t          j        |t           j         ¦  «        }|                     dt          j        |¦  «        |¬¦  «        }t          j        |                     dd¦  «        ¦  «        }t          j        ||¦  «        } | ||||¬¦  «        }|S )zVConstant off-diagonal covariance, random upper bounds, infinite lower bounds.
        rÊ   r…   rÉ   r  r  )r  r   r›   r  r  Úsigmar  r[   s           rE   Úgenerate_constantzMVNProblem.generate_constanty  s¤   € õ Œi×#Ò# CÑ(Ô(ˆÝŒg�d�RœV˜GÑ$Ô$ˆØ�{Š{˜3¥¤¨¡¤°Dˆ{Ñ9Ô9ˆÝ”˜Ÿš C¨Ñ-Ô-Ñ.Ô.ˆÝ”'˜$ Ñ&Ô&ˆàˆsØØØØð	
ñ 
ô 
ˆð ˆrG   c                 óÎ   — t          j        |t           j         ¦  «        }t          j        |¦  «        }t          j        d¦  «        } | ||||¬¦  «        }d|dz   z  |_        |S )zzOff-diagonal covariance of 0.5, negative orthant bounds.

        True analytically-derived answer is 1/(ndim+1).
        ç      à?r  r   )r>   rø   rù   r½   r  r  r  s          rE   Úgenerate_halveszMVNProblem.generate_halves‹  sk   € õ Œg�d�RœV˜GÑ$Ô$ˆÝŒx˜‰~Œ~ˆÝ”'˜#‘,”,ˆàˆsØØØØð	
ñ 
ô 
ˆð ˜T !™V™ˆŒØˆrG   c                 ó�   — t          dd¬¦  «        }|                     |¦  «         t          | j        fi |¤Ž\  | _        | _        dS )z?Perform the simplified integral and store the results.
        ç      "Àç      "@©ÚaÚbN©ÚdictÚupdater3   Úunivariate_funcr  r  ©r[   ÚkwdsÚds      rE   r  zMVNProblem.find_targetž  sT   € õ ØØð
ñ 
ô 
ˆð 	
�Š�‰ŒˆÝ+/°Ô0DÐ+JÐ+JÈÐ+JÐ+JÑ(ˆŒ˜œ˜˜rG   c           
      óV  — t          j        d| j        dz  z
  ¦  «        }t          j        t	          j        | j        | j        |dd…t           j        f         z  z   |z  ¦  «        t	          j        | j        | j        |dd…t           j        f         z  z   |z  ¦  «        z
  d¬¦  «        S )z`The parameter-specific term of the univariate integrand,
        for separate plotting.
        r   rM   NrŠ   )	r>   r  r  ÚprodÚspecialÚndtrr  rï   r  )r[   ÚtÚdenoms      rE   Ú_univariate_termzMVNProblem._univariate_term¨  sž   € õ ”˜˜DœL¨!™OÑ+Ñ,Ô,ˆÝŒwÝŒL˜$œ) d¤l°1°Q°Q°Q½¼
°]Ô3CÑ&CÑCÀuÑLÑMÔMÝŒL˜$œ( T¤\°!°A°A°Aµr´z°MÔ2BÑ%BÑBÀeÑKÑLÔLñMàð
ñ 
ô 
ð 	
rG   c                 ó˜   — t          j        |¦  «        }t          j        t          |¦  «        |                      |¦  «        z  ¦  «        S )zUnivariate integrand.
        )r>   Ú
atleast_1dr©   Únorm_pdfr1  ©r[   r/  s     rE   r'  zMVNProblem.univariate_func³  s<   € õ ŒM˜!ÑÔˆÝŒz�( 1™+œ+¨×(=Ò(=¸aÑ(@Ô(@Ñ@ÑAÔAÐArG   c                 ó\  — ddl m} t          j        ddd¦  «        }|                     |t          |¦  «        d¬¦  «         |                     ||                      |¦  «        d¬¦  «         |                     ||                      |¦  «        d	¬¦  «         |                     ¦   «          d
S )úQPlot the univariate integrand and its component terms for understanding.
        r   ©Úpyplotr  r   éé  ú	$\phi(t)$©Úlabelú$f(t)$ú$f(t)*phi(t)$N)	Ú
matplotlibr9  r>   ÚlinspaceÚplotr4  r1  r'  Úlegend©r[   Úpltr/  s      rE   Úplot_integrandzMVNProblem.plot_integrand¹  s¥   € ð 	-Ð,Ð,Ð,Ð,Ð,åŒK˜˜c 4Ñ(Ô(ˆØ�Š�•H˜Q‘K”K |ˆÑ4Ô4Ð4Ø�Š��D×)Ò)¨!Ñ,Ô,°IˆÑ>Ô>Ð>Ø�Š��D×(Ò(¨Ñ+Ô+Ð3CˆÑDÔDÐDØ�
Š
‰ŒˆˆˆrG   r=   )rÏ   rÐ   rÑ   Ú__doc__ÚintÚ__annotations__r>   ÚndarrayÚfloatr  r  Úclassmethodr  r  r  r  r1  r'  rF  Ú__classcell__)r  s   @rE   rÿ   rÿ   @  sW  ø€ € € € € € ðð ð €J€J�JØ
Œ*ÐÐÑØŒ:ÐÐÑØŒjÐÐÑØŒJÐÐÑØÐÐÑØÐÐÑð #€Hˆu�t‰|Ð"Ð"Ñ"ð	ð 	ð 	ð 	ð 	ð ðð ð ñ „[ðð  ðð ð ñ „[ðð" ðð ð ñ „[ðð$Kð Kð Kð	
ð 	
ð 	
ðBð Bð Bð	ð 	ð 	ð 	ð 	ð 	ð 	rG   rÿ   c                   ó¸   — e Zd ZU dZeed<   ej        ed<   ej        ed<   ej        ed<   ej        ed<   eed<   eed<   d	„ Z	e
dd„¦   «         Zd„ Zd„ Zd„ Zd„ Zd
S )ÚSingularMVNProblema;  Instantiate a multivariate normal integration problem with a special singular
    covariance structure.

    When covariance matrix is a correlation matrix where the off-diagonal entries
    ``covar[i, j] == -lambdas[i]*lambdas[j]`` for ``i != j``, and
    ``sum(lambdas**2 / (1+lambdas**2)) == 1``, then the matrix is singular, and
    the multidimensional integral reduces to a simpler univariate integral that
    can be numerically integrated fairly easily.

    The lower bound must be infinite, though the upper bounds can be general.

    References
    ----------
    .. [1] Kwong, K.-S. (1995). "Evaluation of the one-sided percentage points of the
           singular multivariate normal distribution." Journal of Statistical
           Computation and Simulation, 51(2-4), 121-135. doi:10.1080/00949659508811627
    r   r  r  r  r  r  r  c                 ó   — || _         || _        || _        t          j        |t          j         ¦  «        | _        t          j        | j        | j        ¦  «         | _        t          j	        | j        d¦  «         |  
                    ¦   «          d S r	  )r   r  r  r>   rø   rù   r  r  r  r  r  )r[   r   r  r  s       rE   r  zSingularMVNProblem.__init__à  su   € ØˆŒ	ØˆŒ	ØˆŒå”7˜4¥"¤& Ñ)Ô)ˆŒÝ”h˜tœ|¨T¬\Ñ:Ô:Ð:ˆŒ
Ý
Ô˜œ SÑ)Ô)Ð)Ø×ÒÑÔÐÐÐrG   Nc                 ól  — t           j                             |¦  «        }|                     dt          j        |¦  «        |¬¦  «        }|                     t          j        |d¦  «        ¦  «        }t          j        |d|z
  z  ¦  «        |                     ddg|¬¦  «        z  } | |||¬¦  «        }|S )z/Singular lambdas, random upper bounds.
        rÊ   r…   rÉ   r   r  )r   r  r  )r>   r‘   r’   r   r  r   rø   Úchoice)r  r   r›   r  Úpr  r[   s          rE   Úgenerate_semiinfinitez(SingularMVNProblem.generate_semiinfiniteê  s«   € õ Œi×#Ò# CÑ(Ô(ˆØ�{Š{˜3¥¤¨¡¤°Dˆ{Ñ9Ô9ˆØ�MŠM�"œ' $¨Ñ,Ô,Ñ-Ô-ˆÝ”'˜!˜q ™s™)Ñ$Ô$ s§z¢z°4¸°+ÀD zÑ'IÔ'IÑIˆàˆsØØØð
ñ 
ô 
ˆð
 ˆrG   c                 ó�   — t          dd¬¦  «        }|                     |¦  «         t          | j        fi |¤Ž\  | _        | _        d S )Nr  r   r!  r$  r(  s      rE   r  zSingularMVNProblem.find_targetú  sR   € ÝØØð
ñ 
ô 
ˆð 	
�Š�‰ŒˆÝ+/°Ô0DÐ+JÐ+JÈÐ+JÐ+JÑ(ˆŒ˜œ˜˜rG   c           	      ó´  — t          j        d| j        dz  z   ¦  «        }t          j        t	          j        | j        d| j        z  |d d …t           j        f         z  z
  |z  ¦  «        d¬¦  «        }t          j        t	          j        | j         d| j        z  |d d …t           j        f         z  z   |z  ¦  «        d¬¦  «        }|d| j        z  |z  z
  j	        S )Nr   rM   y              ð?rŠ   rl   )
r>   r  r  r,  r-  r.  r  rï   r   Úreal)r[   r/  r0  Úi1Úi2s        rE   r1  z#SingularMVNProblem._univariate_term  sÓ   € Ý”˜˜DœL¨!™OÑ+Ñ,Ô,ˆÝŒWÝŒL˜$œ) b¨¬¡o°a¸¸¸½2¼:¸Ô6FÑ&FÑFÈ%ÑOÑPÔPØð
ñ 
ô 
ˆõ ŒWÝŒL˜4œ9˜* r¨$¬,¡°q¸¸¸½B¼J¸Ô7GÑ'GÑGÈ5ÑPÑQÔQØð
ñ 
ô 
ˆð �b˜4œ9‘_ rÑ)Ñ)Ô/Ð/rG   c                 ó˜   — t          j        |¦  «        }t          |¦  «        |                      |¦  «        z                       ¦   «         S r=   )r>   r3  r4  r1  r©   r5  s     rE   r'  z"SingularMVNProblem.univariate_func  s<   € ÝŒM˜!ÑÔˆÝ˜‘”˜d×3Ò3°AÑ6Ô6Ñ6×?Ò?ÑAÔAÐArG   c                 óˆ  — ddl m} t          j        ddd¦  «        }|                     |t          |¦  «        d¬¦  «         |                     ||                      |¦  «        d¬¦  «         |                     ||                      |¦  «        d	¬¦  «         |                     d
d¦  «         | 	                    ¦   «          dS )r7  r   r8  r  r   r:  r;  r<  r>  r?  çš™™™™™¹¿çš™™™™™ñ?N)
r@  r9  r>   rA  rB  r4  r1  r'  ÚylimrC  rD  s      rE   rF  z!SingularMVNProblem.plot_integrand  s¹   € ð 	-Ð,Ð,Ð,Ð,Ð,åŒK˜˜c 4Ñ(Ô(ˆØ�Š�•H˜Q‘K”K |ˆÑ4Ô4Ð4Ø�Š��D×)Ò)¨!Ñ,Ô,°IˆÑ>Ô>Ð>Ø�Š��D×(Ò(¨Ñ+Ô+Ð3CˆÑDÔDÐDØ�Š��sÑÔÐØ�
Š
‰ŒˆˆˆrG   r=   )rÏ   rÐ   rÑ   rG  rH  rI  r>   rJ  rK  r  rL  rT  r  r1  r'  rF  rÚ   rG   rE   rO  rO  Å  sì   € € € € € € ðð ð" €J€J�JØ
Œ*ÐÐÑØŒ:ÐÐÑØŒjÐÐÑØŒJÐÐÑØÐÐÑØÐÐÑðð ð ð ðð ð ñ „[ððKð Kð Kð0ð 0ð 0ðBð Bð Bð
ð 
ð 
ð 
ð 
rG   rO  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&ej        j'        ej                             d!dd"g¦  «        d#„ ¦   «         ¦   «         Z(d$„ Z)ej                             d! e*dd%¦  «        ¦  «        ej                             d&d'd(g¦  «        d)„ ¦   «         ¦   «         Z+ej                             d! e*dd*¦  «        ¦  «        ej                             d&d'd(g¦  «        d+„ ¦   «         ¦   «         Z,ej                             d! e*d,d*¦  «        ¦  «        ej                             d&d'd-g¦  «        d.„ ¦   «         ¦   «         Z-d/„ Z.d0„ Z/ej                             d1d2¦  «        d3„ ¦   «         Z0d4„ Z1ej                             d5 ej2        d6¦  «         ej2        d7¦  «        g¦  «        d8„ ¦   «         Z3ej                             d9 ej2        d:¦  «         ej2        d;¦  «         ej2        d<¦  «        g¦  «        d=„ ¦   «         Z4d>„ Z5d?„ Z6d@„ Z7dAS )BÚ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 )NrN   rM   ©r   r   ©r   r   rM   )r>   ÚarangeÚidentityÚassert_raisesrS   r   rª   rµ   )r[   ÚmurÄ   s      rE   Ú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ÐNrG   c                 óø  — t           j                             d¦  «        }d\  }}}t          j        |||¦  «        }t          |j        d¦  «         |                     d¦  «        }|                     d¦  «        }t          j        |                     d¦  «        ¦  «        }t          j        |||¦  «        }t          |j        d¦  «         d\  }}}t          j	        |||¦  «        }t          |j        d¦  «         |                     d¦  «        }|                     d¦  «        }t          j        |                     d¦  «        ¦  «        }t          j	        |||¦  «        }t          |j        d¦  «         d S )NéÒ  )ç      ø?g333333û?ç      @r   rh   )
r>   r‘   r’   r   rª   r   r   rä   Úabsrµ   )r[   r›   ra   r­   rÄ   rª   rµ   s          rE   Útest_scalar_valuesz)TestMultivariateNormal.test_scalar_values*  sY  € ÝŒi×#Ò# DÑ)Ô)ˆð %‰ˆˆ4�Ý!Ô% a¨¨sÑ3Ô3ˆÝ�S”X˜qÑ!Ô!Ð!ð ×Ò Ñ"Ô"ˆØ×"Ò" 1Ñ%Ô%ˆÝŒf�S×(Ò(¨Ñ+Ô+Ñ,Ô,ˆÝ!Ô% a¨¨sÑ3Ô3ˆÝ�S”X˜qÑ!Ô!Ð!ð %‰ˆˆ4�Ý!Ô% a¨¨sÑ3Ô3ˆÝ�S”X˜qÑ!Ô!Ð!ð ×Ò Ñ"Ô"ˆØ×"Ò" 1Ñ%Ô%ˆÝŒf�S×(Ò(¨Ñ+Ô+Ñ,Ô,ˆÝ!Ô% a¨¨sÑ3Ô3ˆÝ�S”X˜qÑ!Ô!Ð!Ð!Ð!rG   c                 ó‚  — t           j                             d¦  «        }|                     d¦  «        }|                     d¦  «        }t          j        |                     d¦  «        ¦  «        }t          j        |||¦  «        }t          j        |||¦  «        }t          |t          j	        |¦  «        ¦  «         d S ©Nrj  rh   )
r>   r‘   r’   rä   rm  r   r«   rª   r   Úlog©r[   r›   ra   r­   rÄ   Úd1Úd2s          rE   Útest_logpdfz"TestMultivariateNormal.test_logpdfE  ó    € åŒi×#Ò# DÑ)Ô)ˆØ×Ò Ñ"Ô"ˆØ×"Ò" 1Ñ%Ô%ˆÝŒf�S×(Ò(¨Ñ+Ô+Ñ,Ô,ˆÝ Ô'¨¨4°Ñ5Ô5ˆÝ Ô$ Q¨¨cÑ2Ô2ˆÝ˜�BœF 2™JœJÑ'Ô'Ð'Ð'Ð'rG   c                 óž  — t           j                             d¦  «        }|                     d¦  «        }t	          j        |¦  «        }t	          j        |¦  «        }t	          j        |d d¦  «        }t	          j        |d d¦  «        }t          |t          j        |¦  «        ¦  «         t          |t          j        |¦  «        ¦  «         d S ©Nrj  rh   r   )	r>   r‘   r’   rä   r   r«   rª   r   rq  ©r[   r›   ra   rs  rt  Úd3Úd4s          rE   Útest_logpdf_default_valuesz1TestMultivariateNormal.test_logpdf_default_valuesO  óª   € õ Œi×#Ò# DÑ)Ô)ˆØ×Ò Ñ"Ô"ˆÝ Ô'¨Ñ*Ô*ˆÝ Ô$ QÑ'Ô'ˆå Ô'¨¨4°Ñ3Ô3ˆÝ Ô$ Q¨¨aÑ0Ô0ˆÝ˜�BœF 2™JœJÑ'Ô'Ð'Ý˜�BœF 2™JœJÑ'Ô'Ð'Ð'Ð'rG   c                 ó‚  — t           j                             d¦  «        }|                     d¦  «        }|                     d¦  «        }t          j        |                     d¦  «        ¦  «        }t          j        |||¦  «        }t          j        |||¦  «        }t          |t          j	        |¦  «        ¦  «         d S rp  )
r>   r‘   r’   rä   rm  r   r¶   rµ   r   rq  rr  s          rE   Útest_logcdfz"TestMultivariateNormal.test_logcdf\  rv  rG   c                 óž  — t           j                             d¦  «        }|                     d¦  «        }t	          j        |¦  «        }t	          j        |¦  «        }t	          j        |d d¦  «        }t	          j        |d d¦  «        }t          |t          j        |¦  «        ¦  «         t          |t          j        |¦  «        ¦  «         d S rx  )	r>   r‘   r’   rä   r   r¶   rµ   r   rq  ry  s          rE   Útest_logcdf_default_valuesz1TestMultivariateNormal.test_logcdf_default_valuesf  r}  rG   c                 óX  — t           j                             d¦  «        }d}|                     |¦  «        }t	          d|dz   ¦  «        D ]_}|                     ||f¦  «        }t          j        ||j        ¦  «        }t          ||d¬¦  «        }t          |j	        j
        |¦  «         Œ`d S )Nrj  rj   r   Tr_   )r>   r‘   r’   rä   ÚrangeÚdotr˜   r   r   rš   r�   )r[   r›   rÁ   r­   Úexpected_rankrè   rÄ   Údistns           rE   Ú	test_rankz TestMultivariateNormal.test_ranks  sª   € åŒi×#Ò# DÑ)Ô)ˆØˆØ×"Ò" 1Ñ%Ô%ˆÝ" 1 a¨!¡e™_œ_ð 	?ð 	?ˆMØ×#Ò# Q¨Ð$6Ñ7Ô7ˆAÝ”&˜˜AœC‘.”.ˆCÝ'¨¨cÀ$ÐGÑGÔGˆEÝ˜Ô)Ô.°Ñ>Ô>Ð>Ð>ð		?ð 	?rG   c           	      ó&  — t           j                             d¦  «        }t          dd¦  «        D �]ß}|                     |¦  «        }t          d|¦  «        D �]µ}|                     ||f¦  «        }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 )Nrj  r   rh   Tr_   rl   rÊ   )r>   r‘   r’   rƒ  rä   r„  r˜   r½   ré   r   r   rš   r�   rª   r   r«   rù   )r[   r›   rÁ   rð   Úkrè   Úcov_kkÚcov_nnra   rç   Úcov_rrrñ   Ú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                           rE   Útest_degenerate_distributionsz4TestMultivariateNormal.test_degenerate_distributions~  så  € ÝŒi×#Ò# DÑ)Ô)ˆÝ�q˜!‘”ð 0	6ñ 0	6ˆAØ×#Ò# AÑ&Ô&ˆAÝ˜1˜a‘[”[ð .6ñ .6�à×'Ò'¨¨A¨Ñ/Ô/�Ýœ  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	6rG   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é
   rM   ri   r   ©r­   rÄ   r†   T)r­   rÄ   r`   rÊ   )rƒ  r>   r½   ré   r„  r˜   r   r¦   rª   r   r†   Úallr«   rù   )
r[   r‰  rÁ   ÚrÚmnrç   Úvrrò   rª   r«   s
             rE   Ú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ð 	0rG   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   rM   rë   r   r   )r>   Úexpr½   rK  r  r   rË   r¿   Údetrù   r   Úslogdetr   r�   )r[   Úlarge_total_logÚnposÚnzeroÚlarge_entryrÁ   rÄ   r™   s           rE   Ú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Ð6rG   c                 ó|  — t           j                             d¦  «        }d}|                     ||¦  «        }t          j        ||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 )Nrj  rj   rM   rN   çü©ñÒMbP?©Úrtol)r>   r‘   ÚRandomStateÚrandnr„  r˜   r   rª   rµ   rƒ  r   )r[   r›   rÁ   ÚdatarÄ   r­   rò   Údesired_pdfÚdesired_cdfÚiÚjÚactuals               rE   Útest_broadcastingz(TestMultivariateNormal.test_broadcastingà  sD  € ÝŒi×#Ò# DÑ)Ô)ˆØˆð �yŠy˜˜A‰ŒˆÝŒf�T˜4œ6Ñ"Ô"ˆØ�yŠy˜‰|Œ|ˆð �IŠI�a˜˜AÑÔˆõ *Ô-¨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rG   c                 ó6  — t          j        ddd¦  «        }d\  }}|dz  }t          j        |||¦  «        }t	          j        |||¦  «        }t          ||¦  «         t          j        |||¦  «        }t	          j        |||¦  «        }t          ||¦  «         d S )Nr   rM   r›  )ç333333ó?çÍÌÌÌÌÌì?r  )r>   rA  r   rª   r   r   rµ   )r[   ra   r­   rÄ   Úscalers  rt  s          rE   Ú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ÑÔÐÐÐrG   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 )Nrl  g      @r  r    ç333333ã?i  ri   r   r   rM   rŠ   ©r   r   ©Úlocr¼  )r   r   ç{®Gáz„?©r¯  Úatol)
r>   rÌ   rA  Úmeshgridrî   r   rª   r4   r   r   )r[   r­   rÄ   rÁ   Údeltarà   ÚxvÚyvÚposrª   Úmargin_xÚmargin_yÚgauss_xÚgauss_ys                 rE   Ú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Ð@Ñ@Ô@Ð@Ð@Ð@rG   c                 ó¾  — t           j                             d¦  «        }|                     d¦  «        }|                     d¦  «        }t          j        |                     d¦  «        ¦  «        }t          ||¦  «        }t          |                     |¦  «        t          j        |||¦  «        ¦  «         t          |                     |¦  «        t          j        |||¦  «        ¦  «         t          | 	                    |¦  «        t          j	        |||¦  «        ¦  «         t          | 
                    |¦  «        t          j
        |||¦  «        ¦  «         d S rp  )r>   r‘   r’   rä   rm  r   r   rª   r«   rµ   r¶   )r[   r›   ra   r­   rÄ   Únorm_frozens         rE   Útest_frozenz"TestMultivariateNormal.test_frozen  s;  € åŒi×#Ò# DÑ)Ô)ˆØ×Ò Ñ"Ô"ˆØ×"Ò" 1Ñ%Ô%ˆÝŒf�S×(Ò(¨Ñ+Ô+Ñ,Ô,ˆÝ)¨$°Ñ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rG   rO   rM   r   c                 óæ   — t          j        d¦  «        }t          j        d¦  «        }t          ||¦  «        }t          j        |j        |¦  «        sJ ‚t          j        |j        |¦  «        sJ ‚d S )N©rM   rM   )r>   rU   rV   r   Úallcloser­   rÄ   )r[   rO   r­   Úcov_should_berÑ  s        rE   Ú2test_frozen_multivariate_normal_exposes_attributeszITestMultivariateNormal.test_frozen_multivariate_normal_exposes_attributes-  sh   € õ Œw�t‰}Œ}ˆÝœ˜q™	œ	ˆÝ)¨$°
Ñ;Ô;ˆÝŒ{˜;Ô+¨TÑ2Ô2Ð2Ð2Ð2ÝŒ{˜;œ?¨MÑ:Ô:Ð:Ð:Ð:Ð:Ð:rG   c           
      ó´  — t           j                             d¦  «        }d}|                     ||f¦  «        }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 )
Nrj  rk   r  rÉ   r   çH¯¼šò×z>rl   çñhãˆµøä>)Úcond)r>   r‘   r’   rä   r„  r˜   rË   r¿   rÀ   rø   ru   r   Úpinvr   r�   r–   rq  )
r[   r›   rÁ   ra   rÄ   rè   rç   rÛ  r™   Úpsd_pinvs
             rE   Útest_pseudodet_pinvz*TestMultivariateNormal.test_pseudodet_pinv;  s!  € õ Œi×#Ò# DÑ)Ô)ˆØˆØ×Ò  A Ñ'Ô'ˆÝŒ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Ð9rG   c                 óL   — g d¢g d¢g}t          t          t          |¦  «         d S )NrQ   ©rj   rh   ri   ©rf  rS   r   ©r[   rÄ   s     rE   Útest_exception_nonsquare_covz3TestMultivariateNormal.test_exception_nonsquare_covU  s,   € Øˆyˆy˜)˜)˜)Ð$ˆÝ•j¥$¨Ñ,Ô,Ð,Ð,Ð,rG   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   )r>   Únanrf  rS   r   rù   )r[   Úcov_nanÚcov_infs      rE   Útest_exception_nonfinite_covz3TestMultivariateNormal.test_exception_nonfinite_covY  sT   € Ø�q�6˜A�rœv˜;Ð'ˆÝ•j¥$¨Ñ0Ô0Ð0Ø�q�6˜A�rœv˜;Ð'ˆÝ•j¥$¨Ñ0Ô0Ð0Ð0Ð0rG   c                 óL   — ddgddgg}t          t          t          |¦  «         d S )Nr   r   rl   rá  râ  s     rE   Útest_exception_non_psd_covz1TestMultivariateNormal.test_exception_non_psd_cov_  s,   € Ø�1ˆv˜˜2�wÐˆÝ•j¥$¨Ñ,Ô,Ð,Ð,Ð,rG   c                 ó¨  — t           j                             d¦  «        }|                     d¦  «        }|                     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 )	Nrj  rh   )rh   rh   rÉ   rÊ   z0When `allow_singular is False`, the input matrixrK   ©rÄ   )r>   r‘   r’   rä   rU   r¿   ÚLinAlgErrorrf  r   rª   r«   rµ   r¶   rR   r
   )r[   r›   ra   r­   rÄ   ÚeÚmsgs          rE   Útest_exception_singular_covz2TestMultivariateNormal.test_exception_singular_covc  sy  € ÝŒi×#Ò# DÑ)Ô)ˆØ×Ò Ñ"Ô"ˆØ×"Ò" 1Ñ%Ô%ˆÝŒ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   rM   rh   rN   )r   rN   rM   r*  ©r   rM   r   )rM   rh   r  )r   r  rN   ç»½×Ùß|Û=©rÅ  )gwÐk:¢E]?gë®Ì™ýZ›?g¶0Ëñµ?gLÿß8»?gA¿G*ÀÐ?gñhãˆµøô>)gòIÙ‰?gˆï—Gå­?gÆ�)å‰Ç?gÄ—h»Ú?g•™óEEå?r   rÚ  )	r>   rÌ   rA  Úcosr˜   r   rª   r   rµ   )r[   Úr_pdfra   rñ   rð   rž  r­   rÄ   rª   Úr_cdfrµ   Úr_cdf2Úr2Úmean2Úcov2Úcdf2s                   rE   Útest_R_valuesz$TestMultivariateNormal.test_R_valuesv  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Ð0rG   c                 óÆ   — t          j        d¦  «        }t          j        d¦  «        }t          ||d¬¦  «        }|                     ¦   «         }t	          |ddg¦  «         d S )NrM   ©rM   rM   Tr_   r   )r>   r½   r   r¦   r   )r[   r­   rO   ÚmodelÚsamples        rE   Ú,test_multivariate_normal_rvs_zero_covariancezCTestMultivariateNormal.test_multivariate_normal_rvs_zero_covariance¶  sY   € ÝŒx˜‰{Œ{ˆÝ”X˜fÑ%Ô%ˆ
Ý# D¨*ÀTÐJÑJÔJˆØ—’‘”ˆÝ�V˜a ˜VÑ$Ô$Ð$Ð$Ð$rG   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,  rj   r   rœ  rM   rŸ   r   rÈ   )r   r¦   r>   r½   r   r@   rÌ   )r[   ÚNr*  r  rç   s        rE   Ú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Ñ)Ô)Ð)Ð)Ð)rG   c                 ó¢  — t           j                             d¦  «        }d}|                     |¦  «        }|                     ||¦  «        }t          j        ||j        ¦  «        }d}t          j        ||||¬¦  «        }t          t          j	        |j        ¦  «        |d¬¦  «         t          | 
                    d¦  «        |d¬¦  «         d S )Né  rN   éˆ  r¼   rŸ   r®  r   )r>   r‘   r°  r±  r„  r˜   r   r¦   r   rÄ   r­   )r[   r›   rÁ   r­   ræ   rÄ   r†   r  s           rE   Útest_large_samplez(TestMultivariateNormal.test_large_sampleÎ  s³   € õ Œi×#Ò# DÑ)Ô)ˆàˆØ�yŠy˜‰|Œ|ˆØ�IŠI�a˜‰OŒOˆÝŒf�Q˜œ‰nŒnˆØˆå$Ô(¨¨s°DÀsÐKÑKÔKˆå�œ˜vœxÑ(Ô(¨#°DÐ9Ñ9Ô9Ð9Ý˜Ÿš A™œ¨°4Ð8Ñ8Ô8Ð8Ð8Ð8rG   c                 óŒ  — t           j                             d¦  «        }d}|                     |¦  «        }|                     ||¦  «        }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  rN   r   r  rM   r   )r>   r‘   r°  r±  r„  r˜   r   r   r¬   r¿   Úeigrq  Úpir–   )	r[   r›   rÁ   r­   ræ   rÄ   rÅ   ÚeigsÚdesireds	            rE   Útest_entropyz#TestMultivariateNormal.test_entropyß  s÷   € ÝŒi×#Ò# DÑ)Ô)ˆàˆØ�yŠy˜‰|Œ|ˆØ�IŠI�a˜‰OŒOˆÝŒ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Ð2rG   c                 ó”   — t          j        g d¢¦  «        }d}t          t          j        t	          |¦  «        ¦  «        |¦  «         d S )N©r   r   r   r  )r>   rÌ   r   r¤  r   )r[   Úalphar  s      rE   Útest_lnBzTestMultivariateNormal.test_lnBñ  s@   € Ý”˜˜˜Ñ#Ô#ˆØˆå�BœF¥4¨¡;¤;Ñ/Ô/°Ñ9Ô9Ð9Ð9Ð9rG   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   rM   )rj   rN   rM   ri   rN   ©Úlower_limit.r   rl   rŠ   )r>   r‘   r’   rV   r   rµ   Úconcatenater   )r[   r›   r­   rÄ   r"  r#  Úcdf1Úcdf2aÚcdf2bÚab1Úab2Úcdf2ab1Úcdf2ab2rü  s                 rE   Ú 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Ñ#Ô#Ð#Ð#Ð#rG   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  rN   ©rN   rN   ©rM   rN   ri   r  ç-Cëâ6?r®  )	r>   r‘   r’   r˜   r   rµ   r¤  r¶   r   )
r[   r›   r­   rÄ   r"  r#  r  rü  Úcdf3Úcdf4s
             rE   Ú%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¨Ð.Ñ.Ô.Ð.Ð.Ð.rG   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 )	NrN   r  rm   ©r   r   r   ©r   r   r   ©r   rl   rl   r   r  r   ©r>   r½   rV   rÌ   r   rµ   r   )r[   r­   rÄ   r#  r"  Úexpected_signsrµ   s          rE   Ú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Ð3rG   r   rN   c                 óÚ  — t           j                             d¦  «        }|                     ||f¬¦  «        }|j        |z  }|                     |¬¦  «        }t          ||¬¦  «        }|                     dd|f¬¦  «        }|                     |¦  «        }t          dg|z  |¬¦  «        }	t          |	j        t           j	         g|z  ||z
  ¦  «        j
        }
t          ||
d¬	¦  «         d S )
Né{   r…   rÈ   éýÿÿÿrN   )r  r  r†   r   gñhãˆµøÔ>rô  )r>   r‘   r’   r   r˜   r   rµ   r2   rª   rù   rú   r   )r[   r   r›   r"  rÄ   ÚmrÍ   ra   rµ   Údist_iÚcdf_is              rE   Útest_cdf_vs_cubaturez+TestMultivariateNormal.test_cdf_vs_cubature(  sß   € õ Œi×#Ò# CÑ(Ô(ˆØ�KŠK˜d D˜\ˆKÑ*Ô*ˆØŒc�A‰gˆØ�KŠK˜TˆKÑ"Ô"ˆÝ"¨¨sÐ3Ñ3Ô3ˆØ�KŠK˜B Q¨d¨WˆKÑ5Ô5ˆØ�hŠh�q‰kŒkˆÝ$¨1¨#¨d©(¸Ð<Ñ<Ô<ˆÝ˜œ¥r¤v g Y¨t¡^°Q¸±UÑ;Ô;ÔDˆÝ˜˜U¨Ð.Ñ.Ô.Ð.Ð.Ð.rG   c                 ó  — t          dd¦  «        D ]r}t          j        ||fd¦  «        }t          j        |d¦  «         t	          dg|z  |¬¦  «        }t          |                     dg|z  ¦  «        dd|z   z  d¬¦  «         Œsd S )	NrM   é   r  rÉ   r   rì  ç-Cëâ6
?rô  )rƒ  r>   rø   r  r   r   rµ   )r[   r   rÄ   rÍ   s       rE   Útest_cdf_knownz%TestMultivariateNormal.test_cdf_known6  s£   € å˜!˜R‘L”Lð 	ð 	ˆDÝ”'˜4 ˜,¨Ñ,Ô,ˆCÝÔ˜S "Ñ%Ô%Ð%Ý&¨ s¨4¡x°SÐ9Ñ9Ô9ˆDÝØ—’˜!˜˜T™Ñ"Ô"Ø�b˜4‘iÑ Øðñ ô ð ð ð		ð 	rG   r›  r¥   l   ï>[= l	   âHV¬q˜KWs.Ù!)Ý c                 ój  — t           j                             |¦  «        }t                               ||¬¦  «        }|j        t           j         k                         ¦   «         sJ ‚t          dg|z  |j	        ¬¦  «        }| 
                    |j        |¬¦  «        }t          ||j        d¬¦  «         d S ©N©r   r›   r   rÈ   ©r›   r8  rô  )r>   r‘   r’   rÿ   r  r  rù   r�  r   r  rµ   r  r   r  ©r[   r¥   r   r›   ÚcaserÍ   Úcdf_vals          rE   Útest_cdf_vs_univariatez-TestMultivariateNormal.test_cdf_vs_univariateB  s¢   € õ Œi×#Ò# DÑ)Ô)ˆÝ×.Ò.°D¸cÐ.ÑBÔBˆØ”�RœV˜GÒ#×(Ò(Ñ*Ô*Ð*Ð*Ð*å"¨¨¨D©°d´jÐAÑAÔAˆØ—(’(˜4œ9¨#�(Ñ.Ô.ˆÝ˜ ¤°tÐ<Ñ<Ô<Ð<Ð<Ð<rG   é   c                 ój  — t           j                             |¦  «        }t                               ||¬¦  «        }|j        t           j         k                         ¦   «         sJ ‚t          dg|z  |j	        ¬¦  «        }| 
                    |j        |¬¦  «        }t          ||j        d¬¦  «         d S r;  )r>   r‘   r’   rÿ   r  r  rù   r�  r   r  rµ   r  r   r  r>  s          rE   Útest_cdf_vs_univariate_2z/TestMultivariateNormal.test_cdf_vs_univariate_2M  s¢   € õ Œi×#Ò# DÑ)Ô)ˆÝ×+Ò+°¸3Ð+Ñ?Ô?ˆØ”�RœV˜GÒ#×(Ò(Ñ*Ô*Ð*Ð*Ð*å"¨¨¨D©°d´jÐAÑAÔAˆØ—(’(˜4œ9¨#�(Ñ.Ô.ˆÝ˜ ¤°tÐ<Ñ<Ô<Ð<Ð<Ð<rG   rj   l	   äHV¬q˜KWs.Ù!)Ý c                 ó”  — t           j                             |¦  «        }t                               ||¬¦  «        }|j        t           j         k                         ¦   «         sJ ‚t          dg|z  |j	        dd|j	        j
        d         z  ¬¦  «        }|                     |j        |¬¦  «        }t          ||j        d¬¦  «         d S )	Nr<  r   Té'  )r­   rÄ   r`   Úmaxptsr=  r­  rô  )r>   r‘   r’   rO  rT  r  rù   r�  r   r  r@   rµ   r  r   r  r>  s          rE   Útest_cdf_vs_univariate_singularz6TestMultivariateNormal.test_cdf_vs_univariate_singularX  s¿   € õ
 Œi×#Ò# DÑ)Ô)ˆÝ!×7Ò7¸TÀsÐ7ÑKÔKˆØ”�RœV˜GÒ#×(Ò(Ñ*Ô*Ð*Ð*Ð*å"¨¨¨D©°d´jÐQUà*0°´Ô1AÀ!Ô1DÑ*Dð
ñ 
ô 
ˆð —(’(˜4œ9¨#�(Ñ.Ô.ˆÝ˜ ¤°tÐ<Ñ<Ô<Ð<Ð<Ð<rG   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   rQ   z7`cov` represents a covariance matrix in 3 dimensions...rK   r   )r  r  r  rm   rì  r  )r>   ru   rÌ   r-   rT   rR   r
   rS   r   r¬   rª   r   )r[   ÚPrš   r\   ra   rB   s         rE   Útest_mean_covz$TestMultivariateNormal.test_mean_covh  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   rN   z`x` must be two-dimensional.rK   )rR   r
   rS   r   Úfit)r[   r²  Ú	error_msgs      rE   Ú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Ý   )rN   rh   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®  )	r>   r‘   r’   r   rM  r­   rÄ   r˜   r   )r[   rÝ   r›   ra   Úmean_estÚcov_estÚmean_refÚcov_refs           rE   Útest_fit_correctnessz+TestMultivariateNormal.test_fit_correctness�  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Ð5rG   c                 óÐ   — t          j        dd¦  «        }d}t          j        d¦  «        }t          j        |||¬¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )N)rM   r   rN   rÉ   )Úfix_meanÚfix_cov)r>   rø   Ú
atleast_2dr   rM  r   )r[   r²  Ú
mean_fixedÚ	cov_fixedr­   rÄ   s         rE   Útest_fit_both_parameters_fixedz5TestMultivariateNormal.test_fit_both_parameters_fixedŠ  so   € ÝŒw�v˜qÑ!Ô!ˆØˆ
Ý”M "Ñ%Ô%ˆ	Ý'Ô+¨D¸:Ø4=ð?ñ ?ô ?‰	ˆˆcå�T˜:Ñ&Ô&Ð&Ý�S˜)Ñ$Ô$Ð$Ð$Ð$rG   rZ  rÿ  ©rN   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`.rK   rM   ©rZ  ©rR   r
   rS   r   rM  r>   rV   )r[   rZ  rï  s      rE   Ú"test_fit_fix_mean_input_validationz9TestMultivariateNormal.test_fit_fix_mean_input_validation“  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[  rÔ  )rN   rM   )rj   rj   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`.rK   rN   ©r[  rc  )r[   r[  rï  s      rE   Ú+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Ð?Ñ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð 	@ð 	@re  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.rK   rÉ   rÊ   r  rM   rg  )rR   r
   rS   r>   rÌ   r   rM  rV   )r[   rN  r[  s      rE   Ú*test_fit_fix_cov_not_positive_semidefinitezATestMultivariateNormal.test_fit_fix_cov_not_positive_semidefinite¥  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 )	NrQ  rN   r"  r£  ©r­   rÄ   r†   r£   rÈ   rb  ç:Œ0âŽyE>)r>   r‘   r’   r„  r˜   r   r¦   rM  r«   r–   r   )r[   r›   rÂ  r{   rÄ   ÚsamplesÚ	mean_freeÚcov_freeÚ	logp_freeÚmean_fixÚcov_fixÚlogp_fixr2  Úcov_perturbedÚlogp_perturbeds                  rE   Útest_fit_fix_meanz(TestMultivariateNormal.test_fit_fix_mean«  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ð 	ð  Ò(Ð(Ð(Ð(Ð(Ð(rG   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 )NrQ  rN   r"  r£  rl  rÈ   rg  r   rŠ   rm  )r>   r‘   r’   r„  r˜   r   r¦   rM  r«   r–   r   r­   )r[   r›   rÂ  r{   rÄ   rn  ro  rp  rq  rr  rs  rt  Úmean_perturbedrv  s                 rE   Ú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ð 	ð  Ò(Ð(Ð(Ð(Ð(Ð(rG   N)8rÏ   rÐ   rÑ   rh  rn  ru  r|  r  r�  r‡  r™  r¡  r«  r¸  r½  rÏ  rÒ  rR   rÖ   r×   r>   rV   r.   Úfrom_diagonalr×  rÞ  rã  rè  rê  rð  rý  r  r  r	  r  r  r   r'  r.  Úslowr5  r9  rƒ  rA  rD  rH  rK  rO  rX  r_  r½   rd  rh  rj  rw  rz  rÚ   rG   rE   r`  r`  !  sË  € € € € € ð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ð „[ÔØ„[×Ò˜V a¨ VÑ,Ô,ð
/ð 
/ñ -Ô,ñ Ôð
/ð
ð 
ð 
ð „[×Ò˜V U U¨1¨b¡\¤\Ñ2Ô2Ø„[×Ò˜V jÐ2TÐ%UÑVÔVð=ð =ñ WÔVñ 3Ô2ð=ð „[×Ò˜V U U¨1¨b¡\¤\Ñ2Ô2Ø„[×Ò˜V jÐ2TÐ%UÑVÔVð=ð =ñ WÔVñ 3Ô2ð=ð „[×Ò˜V U U¨1¨b¡\¤\Ñ2Ô2Ø„[×Ò˜V jÐ2TÐ%UÑVÔVð=ð =ñ WÔVñ 3Ô2ð=ðIð Ið Ið&*ð *ð *ð „[×Ò˜U FÑ+Ô+ð6ð 6ñ ,Ô+ð6ð%ð %ð %ð „[×Ò˜Z¨(¨"¬(°6Ñ*:Ô*:Ø*2¨"¬(°5©/¬/ð*;ñ <ô <ðBð Bñ<ô <ðBð „[×Ò˜Y¨¨¬°%©¬Ø)1¨¬°&Ñ)9Ô)9Ø)1¨¬°&Ñ)9Ô)9ð);ñ <ô <ð@ð @ñ<ô <ð@ð@ð @ð @ð)ð )ð )ð8)ð )ð )ð )ð )rG   r`  c            	       ó  — e Zd Zej                             dei feddifg¦  «        ej                             ddg¦  «        ej                             ddgddgg¦  «        ej                             d	d
dg¦  «        ej                             dd
dg¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Zej                             deeg¦  «        d„ ¦   «         Z	ej                             deeg¦  «        d„ ¦   «         Z
dS )ÚTestMarginalzdist,kwargsÚdfrj   ró   rN   rû   r   rl   ÚfrozenTFrš   c                 óx  — t           j                             d¦  «        }|                     |¦  «        }|                     ||f¦  «        }	|	|	j        z  }
|r |t
          k    rt          j        d¦  «         n|rt          j	        |
¦  «        }
t           j                             dt          |¦  «        f¦  «        } |||
fi |¤Ž}|r+|                     |¦  «        }|                     |¦  «        }n% |j        |||
fi |¤Ž}|                     |¦  «        }t          ||||¦  «        }t          ||¦  «         d S )Né±É«z6`multivariate_t` does not accept a `Covariance` objectrj   )r>   r‘   r’   rä   r˜   r$   rR   r�   r-   rT   r—   Úmarginalrª   rý   r   )r[   rÍ   ró   rû   r€  rš   rD   r›   rÂ  r{   r¼  ra   rò   ÚYrA   rB   s                   rE   Útest_marginal_distributionz'TestMarginal.test_marginal_distributionä  sG  € õ Œi×#Ò# IÑ.Ô.ˆØ×!Ò! &Ñ)Ô)ˆØ×Ò ¨Ð 0Ñ1Ô1ˆØ�A”C‘ˆàð 	7˜$¥.Ò0Ð0ÝŒKÐPÑQÔQÐQÐQØð 	7ÝÔ/°Ñ6Ô6ˆEõ ŒI×%Ò% q­#¨j©/¬/Ð&:Ñ;Ô;ˆØˆD��eÐ&Ð&˜vÐ&Ð&ˆàð 	Ø—
’
˜:Ñ&Ô&ˆAØ—%’%˜‘(”(ˆCˆCà�”˜j¨#¨uÐ?Ð?¸Ð?Ð?ˆAØ—%’%˜‘(”(ˆCå˜1˜f j°!Ñ4Ô4ˆÝ˜˜SÑ!Ô!Ð!Ð!Ð!rG   rÍ   c                 ó´  — t           j                             d¦  «        }|                     d¦  «        }|                     d¦  «        }||j        z  } |||¦  «        }d}t          j        t          |¬¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                     g d¢¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  |                     dd	g¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                     d
dgg¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  |                     ddg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr‚  rN   r"  zDimensions \[3\] are invalid .*rK   )r   r   rM   rN   z,All elements of `dimensions` must be unique.rM   rl   r   r   z*Elements of `dimensions` must be integers.r]  ç       @©	r>   r‘   r’   rä   r˜   rR   r
   rS   rƒ  )r[   rÍ   r›   r­   r{   rÄ   rò   rï  s           rE   Útest_marginal_input_validationz+TestMarginal.test_marginal_input_validation  sø  € åŒi×#Ò# IÑ.Ô.ˆØ×"Ò" 1Ñ%Ô%ˆØ×Ò Ñ'Ô'ˆØ�!”#‰gˆàˆD��s‰OŒOˆà0ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�JŠJ�q‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	%ð 	%Ø�JŠJ�|�|�|Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð >ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	 ð 	 Ø�JŠJ˜˜2�wÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 õ Œ]�:¨SÐ1Ñ1Ô1ð 	!ð 	!Ø�JŠJ˜˜A˜�xÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð <ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	#ð 	#Ø�JŠJ˜˜S�zÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#sZ   Á=BÂB#Â&B#ÃC)Ã)C-Ã0C-ÄD5Ä5D9Ä<D9ÅF Æ FÆFÆ(GÇGÇGc                 óZ  — t           j                             d¦  «        }|                     d¦  «        }|                     d¦  «        }||j        z  } |||¦  «        }d}t          j        t          |¬¦  «        5  |                     g ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr‚  rN   r"  z"Cannot marginalize all dimensions.rK   rˆ  )r[   rÍ   r›   rÂ  r{   r¼  rò   rï  s           rE   Útest_marginal_special_casesz(TestMarginal.test_marginal_special_cases  sæ   € åŒi×#Ò# IÑ.Ô.ˆØ×!Ò! !Ñ$Ô$ˆØ×Ò Ñ'Ô'ˆØ�A”C‘ˆàˆD��eÑÔˆà3ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�JŠJ�r‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Á=B Â B$Â'B$N)rÏ   rÐ   rÑ   rR   rÖ   r×   r   r$   r…  r‰  r‹  rÚ   rG   rE   r~  r~  ã  sT  € € € € € Ø„[×Ò˜]Ð.AÀ2Ð-FØ.<¸tÀQ¸iÐ-Hð-Jñ Kô Kà„[×Ò˜X¨ sÑ+Ô+Ø„[×Ò˜\¨Q¨C°"°a°¨>Ñ:Ô:Ø„[×Ò˜X¨¨e }Ñ5Ô5Ø„[×Ò˜\¨D°%¨=Ñ9Ô9ð"ð "ñ :Ô9ñ 6Ô5ñ ;Ô:ñ ,Ô+ñKô Kð"ð4 „[×Ò˜VÐ&9¸>Ð%JÑKÔKð#ð #ñ LÔKð#ð4 „[×Ò˜VÐ&9¸>Ð%JÑKÔKð
ð 
ñ LÔKð
ð 
ð 
rG   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 )Nrj   rN   r¡   r  çffffffæ?©rh   rj   rN   r›  )r>   rø   re  rf  rS   r   r½   r˜   r¿   rí  r¦   rU   )r[   Únum_rowsÚnum_colsræ   r“   ÚVrî  s          rE   Ú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ÐLrG   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 )Nrj   rN   r¡   r  r�  r   ©r­   ÚrowcovÚcolcov©r­   )r—  )r˜  )r­   r˜  )r­   r—  )r—  r˜  )r>   rø   re  r½   r   r   r¦   r@   r—  r˜  r­   )r[   r‘  r’  ræ   r“   r“  ÚZÚZrÚZcÚIrÚIcÚI1s               rE   Útest_default_inputsz$TestMatrixNormal.test_default_inputsI  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Ñ?Ô?Ð?Ð?Ð?rG   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 )Nrj   rN   r¡   r    rŸ   r–  )r>   rø   re  r   r   r—  r˜  )
r[   r‘  r’  ræ   ÚUvÚUsÚVvÚVsr�  rž  s
             rE   Útest_covariance_expansionz*TestMatrixNormal.test_covariance_expansionp  s*  € àˆØˆÝŒG�X˜xÐ(¨#Ñ.Ô.ˆÝŒW�X˜sÑ#Ô#ˆØˆÝŒW�X˜sÑ#Ô#ˆØˆåŒ[˜Ñ"Ô"ˆÝŒ[˜Ñ"Ô"ˆå•]¨°"¸RÐ@Ñ@Ô@ÔGØ˜‘Vñ	ô 	ð 	å•]¨°"¸RÐ@Ñ@Ô@ÔGØ˜‘Vñ	ô 	ð 	å•]¨°"¸RÐ@Ñ@Ô@ÔGØ˜‘Vñ	ô 	ð 	å•]¨°"¸RÐ@Ñ@Ô@ÔGØ˜‘Vñ	ô 	ð 	ð 	ð 	rG   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   rh   r¡   r  r�  r–  rj  r¼   )r­   r—  r˜  r£   )	rƒ  r>   rø   re  r   r¦   r   rª   r«   )r[   rµ  r¶  ræ   r“   r“  r€  Úrvs1Úrvs2rò   Úpdf1Úpdf2Úlogpdf1Úlogpdf2s                 rE   Ú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Ñ.Ô.Ð.Ñ.ñ)/ð	/ð 	/rG   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   rh   r¡   r  r�  r–  rj  r¼   rÈ   ró  r®  )rƒ  r>   rø   re  r   r¦   rª   r«   r¬   r˜   ÚflattenÚkronr   r   )r[   rµ  r¶  ræ   r“   r“  r€  rò   rª  r¬  Úentropy1ÚvecXÚvecMrÄ   r«  r­  Úentropy2s                    rE   Ú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ð 	4rG   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 )Nrj   rN   r¡   r  r�  r›  r–  rj  r¢   éá  r   rŠ   rM   ró  )r>   rø   re  r   r¦   r  rï   r   r@   r«   rƒ  r   )r[   r‘  r’  ræ   r“   r“  r  r€  ÚX1ÚX2rò   Úarray_logpdfrµ  r¶  Úseparate_logpdfs                  rE   Útest_array_inputz!TestMatrixNormal.test_array_input¸  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rG   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 )Nrj   rN   r¡   r  r�  éè  r–  rj  r¢   r   rŠ   rŸ   rô  r   rM   )r>   rø   re  r   r¦   r­   r   rÄ   Úreshaper˜   Úswapaxes)r[   r‘  r’  ræ   r“   r“  r  r€  rò   Úsample_meanÚsample_colcovÚsample_rowcovs               rE   Útest_momentszTestMatrixNormal.test_momentsÏ  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Ð3rG   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   rM   rN   rj   rl   rh   r›  r   )r­   r—  r˜  r£   r†   g¡6‚ÿø?gÇ€À Üó¿g‚¡c´Ï¿@g—ì"ç'ë@gI2Í–é@g^½€Òjy%@gøDn3Á@gëž|\3@)r   r¦   r>   rÌ   r‘   r’   r   )r[   r·  Úexpecteds      rE   Ú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ñ
ô 
ˆõ 	˜ Ñ)Ô)Ð)Ð)Ð)rG   N)rÏ   rÐ   rÑ   r”  r   r¦  r®  r¶  r½  rÅ  rÈ  rÚ   rG   rE   r�  r�  -  s–   € € € € € ðMð Mð Mð4%@ð %@ð %@ðNð ð ð,/ð /ð /ð04ð 4ð 4ð4Kð Kð Kð.4ð 4ð 4ð,*ð *ð *ð *ð *rG   r�  c                   óÜ  — e Zd Zd„ Zd„ Zd„ Zej                             d e	dd¦  «        ¦  «        ej                             d e	dd¦  «        ¦  «        d„ ¦   «         ¦   «         Z
d	„ Zed
ej        dej        fd„¦   «         Zedej        dej        defd„¦   «         Zedej        dej        fd„¦   «         Zd„ Zd„ Zd„ Zd„ Zej                             dddg¦  «        d„ ¦   «         ZdS )ÚTestMatrixTc           	      óÊ  — d}d}d}t          j        ||fd¦  «        }dt          j        |¦  «        z  t          j        ||fd¦  «        z   }dt          j        |¦  «        z  t          j        ||fd¦  «        z   }t          j        t
          d¬¦  «        5  t          d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          t          j        d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          t          j        d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          t          j        d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          t          j        d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          t          j        d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          t          j        d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          t          j        d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          t          j        d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          j	        t          j        ||f¦  «        |¬ ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t           j
        j        d!¬¦  «        5  t          j        ||t          j        ||f¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t           j
        j        d!¬¦  «        5  t          j        |t          j        ||f¦  «        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t           j
        j        d"¬¦  «        5  t          ||t          j        ||f¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t           j
        j        d"¬¦  «        5  t          |t          j        ||f¦  «        ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )#Nrj   rN   rh   r¡   r  r�  z$Degrees of freedom must be positive.rK   r   ©r  zArray `mean` must be 2D.r�  r™  zArray `mean` has invalid shape.)rj   rN   r   z%Array `row_spread` has invalid shape.©r   r   ©Ú
row_spreadz2Array `row_spread` must be a scalar or a 2D array.rQ   z"Array `row_spread` must be square.©r   rM   z%Array `col_spread` has invalid shape.©Ú
col_spreadz2Array `col_spread` must be a scalar or a 2D array.z"Array `col_spread` must be square.zAArrays `mean` and `row_spread` must have the same number of rows.©r­   rÏ  zDArrays `mean` and `col_spread` must have the same number of columns.©r­   rÒ  zIThe shape of array `X` is not conformal with the distribution parameters.)rò   r­   z82-th leading minor of the array is not positive definitezUWhen `allow_singular is False`, the input matrix must be symmetric positive definite.)r>   rø   re  rR   r
   rS   r,   r½   rU   rª   r¿   rí  r¦   )r[   r‘  r’  r  ræ   r“   r“  s          rE   r”  zTestMatrixT.test_bad_inputú  s³	  € àˆØˆØˆÝŒG�X˜xÐ(¨#Ñ.Ô.ˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆõ Œ]�:Ð-SÐTÑTÔTð 	ð 	Ý˜ˆN‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ]�:Ð-GÐHÑHÔHð 	/ð 	/Ý�"œ( 9Ñ-Ô-Ð.Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/õ Œ]�:Ð-NÐOÑOÔOð 	/ð 	/Ý�"œ( 9Ñ-Ô-Ð.Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/õ Œ]�:Ð-TÐUÑUÔUð 	1ð 	1Ý¥¤¨¡¤Ð0Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1õ Œ]ÝÐRð
ñ 
ô 
ð 	4ð 	4õ ¥¤¨	Ñ 2Ô 2Ð3Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4õ
 Œ]�:Ð-QÐRÑRÔRð 	1ð 	1Ý¥¤¨¡¤Ð0Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1õ Œ]�:Ð-TÐUÑUÔUð 	1ð 	1Ý¥¤¨¡¤Ð0Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1õ Œ]ÝÐRð
ñ 
ô 
ð 	4ð 	4õ ¥¤¨	Ñ 2Ô 2Ð3Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4õ
 Œ]�:Ð-QÐRÑRÔRð 	1ð 	1Ý¥¤¨¡¤Ð0Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1õ Œ]Ýðð
ñ 
ô 
ð 	+ð 	+õ
 ˜!¨Ð*Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+õ Œ]Ýðð
ñ 
ô 
ð 	+ð 	+õ
 ˜!¨Ð*Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+õ Œ]Ýð+ð
ñ 
ô 
ð 	Cð 	Cõ
 ŒL�2œ8 X¨xÐ$8Ñ9Ô9ÀÐBÑBÔBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cõ Œ]ÝŒIÔ!ØLð
ñ 
ô 
ð 	Bð 	Bõ ŒL˜˜A�rœw¨°(Ð';Ñ<Ô<¸bÑAÔAÐAð		Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bõ Œ]ÝŒIÔ!ØLð
ñ 
ô 
ð 	Bð 	Bõ ŒL˜�BœG X¨xÐ$8Ñ9Ô9¸1¸bÑAÔAÐAð		Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bõ Œ]ÝŒIÔ!ð+ð
ñ 
ô 
ð 	>ð 	>õ
 �Q˜�2œ7 H¨hÐ#7Ñ8Ô8¸"Ñ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>õ Œ]ÝŒIÔ!ð+ð
ñ 
ô 
ð 	>ð 	>õ
 �Q�œ ¨8Ð 4Ñ5Ô5°q¸"Ñ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>s   ÂB4Â4B8Â;B8Ã#D	Ä	DÄDÄ/#EÅE"Å%E"Æ#F3Æ3F7Æ:F7Ç#HÈHÈHÈ.#IÉI!É$I!Ê#J2Ê2J6Ê9J6Ë#LÌLÌLÌ-#MÍM Í#M ÎN Î N$Î'N$ÏO$Ï$O(Ï+O(Ð
+QÑQÑQÑ1,R)Ò)R-Ò0R-Ó,TÔTÔTÕ'U4Õ4U8Õ;U8Ö$'W×W×Wc                 ó  — d}d}d}t          j        ||fd¦  «        }dt          j        |¦  «        z  t          j        ||fd¦  «        z   }dt          j        |¦  «        z  t          j        ||fd¦  «        z   }t          j        ||f¦  «        }t          j        |df¦  «        }t          j        d|f¦  «        }	t          j        |¦  «        }
t          j        |¦  «        }t          j        d¦  «        }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	        |
¦  «         t	          t          |||¬¦  «        j        |¦  «         d S )Nrj   rN   rh   r¡   r  r�  r   ©r­   rÏ  rÒ  r  r™  rÎ  rÑ  rÔ  rÓ  )rÏ  rÒ  )rÏ  rÒ  r  )r>   rø   re  r½   r   r,   r¦   r@   r  rÏ  rÒ  r­   )r[   r‘  r’  r  ræ   r“   r“  rš  r›  rœ  r�  rž  rŸ  Ú	dfdefaults                 rE   r   zTestMatrixT.test_default_inputsX  s7  € àˆØˆØˆÝŒG�X˜xÐ(¨#Ñ.Ô.ˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆÝŒH�h Ð)Ñ*Ô*ˆÝŒX�x �mÑ$Ô$ˆÝŒX�q˜(�mÑ$Ô$ˆÝŒ[˜Ñ"Ô"ˆÝŒ[˜Ñ"Ô"ˆÝŒ[˜‰^Œ^ˆØˆ	åÝŒL˜a¨A¸!ÀÐCÑCÔCÔIØ�xÐ ñ	
ô 	
ð 	
õ 	•X”\ qÐ)Ñ)Ô)Ô/°(¸HÐ1EÑFÔFÐFÝ•X”\¨QÐ/Ñ/Ô/Ô5¸À!°}ÑEÔEÐEÝ•X”\¨QÐ/Ñ/Ô/Ô5¸¸8°}ÑEÔEÐEÝ•X”\ q°QÐ7Ñ7Ô7Ô=ÀÈ(Ð?SÑTÔTÐTÝ•X”\ q°QÐ7Ñ7Ô7Ô=ÀÈ(Ð?SÑTÔTÐTÝÝŒL A°!Ð4Ñ4Ô4Ô:¸XÀxÐ<Pñ	
ô 	
ð 	
õ 	•X‘Z”Z”] IÑ.Ô.Ð.Ý•X 1Ð%Ñ%Ô%Ô0°"Ñ5Ô5Ð5Ý•X 1Ð%Ñ%Ô%Ô0°"Ñ5Ô5Ð5Ý•X¨Ð+Ñ+Ô+Ô0°"Ñ5Ô5Ð5Ý•X¨Ð+Ñ+Ô+Ô6¸Ñ;Ô;Ð;Ý•X¨Ð+Ñ+Ô+Ô0°"Ñ5Ô5Ð5Ý•X¨Ð+Ñ+Ô+Ô6¸Ñ;Ô;Ð;Ý•X 1°Ð3Ñ3Ô3Ô>ÀÑCÔCÐCÝ•X 1°Ð3Ñ3Ô3Ô>ÀÑCÔCÐCÝ•X¨°q¸RÐ@Ñ@Ô@ÔEÀqÑIÔIÐIÐIÐIrG   c                 ó4  — d}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 )Nrj   rN   r   r¡   r    rŸ   rÖ  )r>   rø   re  r   r,   rÏ  rÒ  )r[   r‘  r’  r  ræ   r¢  r£  r¤  r¥  r�  rž  s              rE   r¦  z%TestMatrixT.test_covariance_expansion€  sA  € àˆØˆØˆÝŒG�X˜xÐ(¨#Ñ.Ô.ˆÝŒW�X˜sÑ#Ô#ˆØˆÝŒW�X˜sÑ#Ô#ˆØˆåŒ[˜Ñ"Ô"ˆÝŒ[˜Ñ"Ô"ˆåÝ˜!¨°r¸bÐAÑAÔAÔLÈcÐTVÉhñ	
ô 	
ð 	
õ 	Ý˜!¨°r¸bÐAÑAÔAÔLÈcÐTVÉhñ	
ô 	
ð 	
õ 	Ý˜!¨°r¸bÐAÑAÔAÔLÈcÐTVÉhñ	
ô 	
ð 	
õ 	Ý˜!¨°r¸bÐAÑAÔAÔLÈcÐTVÉhñ	
ô 	
ð 	
ð 	
ð 	
rG   rµ  r   rj   r¶  c                 óÂ  — t          j        ||fd¦  «        }dt          j        |¦  «        z  t          j        ||fd¦  «        z   }dt          j        |¦  «        z  t          j        ||fd¦  «        z   }||z   }t          ||||¬¦  «        }|                     d¬¦  «        }t          j        ||||d¬¦  «        }	t          ||	¦  «         |                     d¬¦  «        }
|                     |
¦  «        }t          j        |
||||¬¦  «        }t          ||¦  «         |                     |
¦  «        }t          j        |
||||¬¦  «        }t          ||¦  «         d S )Nr¡   r  r�  rÖ  rj  r¼   )r­   rÏ  rÒ  r  r£   )r>   rø   re  r,   r¦   r   rª   r«   )r[   rµ  r¶  ræ   r“   r“  r  r€  r¨  r©  rò   rª  r«  r¬  r­  s                  rE   Útest_frozen_matrix_tz TestMatrixT.test_frozen_matrix_t›  sY  € õ ŒG�Q˜�F˜CÑ Ô ˆØ•"”+˜a‘.”.Ñ ¥2¤7¨A¨q¨6°3Ñ#7Ô#7Ñ7ˆØ•"”+˜a‘.”.Ñ ¥2¤7¨A¨q¨6°3Ñ#7Ô#7Ñ7ˆØ�‰Uˆå˜q¨Q¸1ÀÐDÑDÔDˆà�zŠz tˆzÑ,Ô,ˆÝŒ|Ø˜q¨Q°2ÀDð
ñ 
ô 
ˆõ 	�T˜4Ñ Ô Ð à�JŠJ DˆJÑ)Ô)ˆà�zŠz˜!‰}Œ}ˆÝŒ|˜A A°!ÀÀbÐIÑIÔIˆÝ�T˜4Ñ Ô Ð à—-’- Ñ"Ô"ˆÝ”/ !¨!¸ÀaÈBÐOÑOÔOˆÝ�W˜gÑ&Ô&Ð&Ð&Ð&rG   c           	      ó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   }d}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¦  «         | 	                    |¦  «        }|j        }t          |d|f¦  «         t          d¦  «        D ]N}t          |¦  «        D ]<}t          j	        |||f         ||||¬¦  «        }t          ||||f         d¦  «         Œ=ŒOd S )Nrj   rN   r¡   r  r�  r   r›  rÖ  rj  r¢   r¸  r   rŠ   rM   ró  )r>   rø   re  r,   r¦   r  rï   r   r@   r«   rƒ  r   )r[   r‘  r’  ræ   r“   r“  r  r  r€  r¹  rº  rò   r»  Úlogpdf_shaperµ  r¶  r¼  s                    rE   r½  zTestMatrixT.test_array_input¶  sã  € àˆØˆÝŒG�X˜xÐ(¨#Ñ.Ô.ˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØˆØˆå˜q¨Q¸1ÀÐDÑDÔDˆØ�ZŠZ˜Q¨TˆZÑ2Ô2ˆØ�ZŠZ˜Q¨TˆZÑ2Ô2ˆÝŒN˜B�rœz¨1¨1¨1¨a¨a¨a°°°Ð2Ô3°R½¼
ÀAÀAÀAÀqÀqÀqÈ!È!È!Ð8KÔ5LÐMÐTUÐVÑVÔVˆÝ�Q”W˜q ! X¨xÐ8Ñ9Ô9Ð9à—}’} QÑ'Ô'ˆØ#Ô)ˆÝ�\ A q 6Ñ*Ô*Ð*Ý�q‘”ð 	Lð 	LˆAÝ˜1‘X”Xð Lð L�Ý"*¤/Ø�a˜�d”G !°¸aÀBð#ñ #ô #�õ   °¸aÀ¸dÔ1CÀUÑKÔKÐKÐKð	Lð	Lð 	LrG   Úvec1Úvec2c                 óà   — t           j                             | |z
  ¦  «        dz  }t           j                             | ¦  «        dz  t           j                             |¦  «        dz  z   }||z  S )NrM   )r>   r¿   r   )rÝ  rÞ  Ú	numeratorÚdenominators       rE   Úrelative_errorzTestMatrixT.relative_errorÐ  sY   € å”I—N’N 4¨$¡;Ñ/Ô/°1Ñ4ˆ	Ý”i—n’n TÑ*Ô*¨aÑ/µ"´)·.².ÀÑ2FÔ2FÈ!Ñ2KÑKˆØ˜;Ñ&Ð&rG   Úmat_trueÚmat_estÚreturnc                 óX  — t          | d¬¦  «        }t          |d¬¦  «        }t          j        |j        ¦  «        dk    st          j        |j        ¦  «        dk    rt          j        S t          j        |j        | z  ¦  «        }|j        |j        z
  }||z   t          | ¦  «        z
  dz  S )NFr_   r   rM   )r   r>   r¤  r�   rù   ÚtracerÜ  r—   )rã  rä  Úmat_true_psdÚmat_est_psdÚ
trace_termÚlog_detratios         rE   Úmatrix_divergencezTestMatrixT.matrix_divergenceÖ  sŸ   € å˜H°UÐ;Ñ;Ô;ˆÝ˜7°5Ð9Ñ9Ô9ˆÝŒF�;Ô'Ñ(Ô(¨AÒ-Ð-µ2´6¸,Ô:OÑ3PÔ3PÐTUÒ3UÐ3UÝ”6ˆMÝ”X˜kÔ.°Ñ9Ñ:Ô:ˆ
Ø"Ô+¨lÔ.CÑCˆØ˜\Ñ)­C°©M¬MÑ9¸QÑ>Ð>rG   Úa_matc                 ó\   — | j         dk    sJ ‚| j                             | j        f¦  «        S )zÀ
        For an (m,n) array `a_mat` the output `vec(a_mat)` is an (m*n, 1)
        array formed by stacking the columns of `a_mat` in the order in
        which they occur in `a_mat`.
        rM   )r   r˜   rÀ  r†   )rí  s    rE   ÚveczTestMatrixT.vecà  s+   € ð Œz˜QŠˆˆˆØŒw�Š ¤
˜}Ñ-Ô-Ð-rG   c                 óÀ  ‡ — 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   }d}d}t          ||||¬	¦  «        }	|	                     |d
¬¦  «        }
‰                      ||
                     d¬¦  «        ¦  «        }t          |d|¬¦  «         t          j        ||¦  «        |dz
  z  }t          j	        t          j
        ˆ fd„|
D ¦   «         ¦  «        d¬¦  «        }‰                      ||¦  «        }t          |d|¬¦  «         dS )a*  
        Gupta and Nagar (2000) Theorem 4.3.1 (p.135)
        --------------------------------------------
        The covariance of the vectorized matrix variate t-distribution equals
        $ (V \otimes U) / (\text{df} - 2)$, where $\otimes$
        denotes the usual Kronecker product.
        rh   rj   rN   r¡   r  r�  rF  rŸ   rÖ  é*   r¢   r   rŠ   rô  rM   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rÚ   )rï  )Ú.0ra   r[   s     €rE   ú
<listcomp>z,TestMatrixT.test_moments.<locals>.<listcomp>  s#   ø€ Ð&>Ð&>Ð&>°q t§x¢x°¡{¤{Ð&>Ð&>Ð&>rG   F)ÚrowvarN)r>   rø   re  r,   r¦   râ  r­   rF   r±  rÄ   rÌ   rì  )r[   r  r‘  r’  ræ   r“   r“  r  rÅ  r€  rò   ÚrelerrÚcov_vec_trueÚcov_vec_rvsÚkls   `              rE   rÅ  zTestMatrixT.test_momentsê  sd  ø€ ð ˆØˆØˆÝŒG�X˜xÐ(¨#Ñ.Ô.ˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØˆØˆå˜q¨Q¸1ÀÐDÑDÔDˆØ�JŠJ˜A¨BˆJÑ/Ô/ˆà×$Ò$ Q¨¯ª°A¨©¬Ñ7Ô7ˆÝ�V˜Q TÐ*Ñ*Ô*Ð*å”w˜q !‘}”}¨¨Q©Ñ/ˆÝ”f�RœXÐ&>Ð&>Ð&>Ð&>¸AÐ&>Ñ&>Ô&>Ñ?Ô?ÈÐNÑNÔNˆØ×#Ò# L°+Ñ>Ô>ˆÝ�R˜ Ð&Ñ&Ô&Ð&Ð&Ð&rG   c                 óæ  — d}t          j        g d¢g d¢g¦  «        }t          j        ddgddgg¦  «        }t          j        g d¢g d¢g d¢g¦  «        }d	}t          j        g d
¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg
¦  «        }t          j        g d¢¦  «        }t          j        |||||¬¦  «        }t	          |||¬ ¦  «         d!S )"u…  
        Test values generated from Julia.

        Dockerfile
        ----------
        FROM julia:1.11.5
        RUN julia -e 'using Pkg; Pkg.add("Distributions"); Pkg.add("PDMats")'
        WORKDIR /usr/src

        Commands
        --------
        using DelimitedFiles
        using Distributions
        using PDMats
        using Random
        Random.seed!(42)
        Î½ = 5
        M = [1 2 3; 4 5 6]
        Î£ = PDMats.PDMat([1 0.5; 0.5 1])
        Î© = PDMats.PDMat([1 0.3 0.2; 0.3 1 0.4; 0.2 0.4 1])
        dist = MatrixTDist(Î½, M, Î£, Î©)
        samples = rand(dist, 10)
        pdfs = [pdf(dist, s) for s in samples]
        rh   rQ   rà  r   r  ©r   r¡   r    ©r¡   r   çš™™™™™Ù?©r    rý  r   ró  )gF=‘X/¯î?g24£…¾¡@g·oT}@)gqîZ¦H@@g³bžÏµ@gÔ€ ‡+@)gµ�¼ø}—ê?g
„3Æ)¶@gÞ÷Œ{
@)gdb,àÎ@gaª½´žl@g7p…ÆÑœ@)gÐ2œ!'ù?g©ì-Z,ü?gÑÊR`:@)gU53 @gÍÞ°¾ÃM@gNóu:ÚN@)gÎº¨ãðú?gÀì/—Ýh@gNìÓ7@)gQdïê@g¥”¡öNH@gžVÕ×·�@)gÞú+±]Ü?g]jÚ¥“ @g~¢dó\@)gnû‘_@g;rì<oU@g£�¼�Õ@)gÔtÄÊñÓ?gž�ëúšò?göØÏQ@)gˆ�²ú¢@gF:j.Ï@gs
‘çñ@)g<àå2î?ggÕÿâÇþ?g•0©t@)gŸLµ:á@gõBC‘ÀŽ@g€#AH:Â@)gþÏÀo>Î÷?g^°V|ñþ?g&÷*¨Ss@)g\Þ3¦g@gMnÐß?W@gìæ¥ÑÕó@)g-f¸Ä
ð?gp>;F0ö?g=E‚³l @)g¨"òeÕ}@gÜRÈW;ë@gb´æåí@)gA¿Û½ö?gßýjúÛ @g�l©<@)gs ’Í8Á@gî- ƒX@gÇ¶øÑ@)
g¹½€åO2µ?g•ªÈÇê·¾?gôá¼sÃ?gÓfè^¨m?gž‘f¶å‘²?g Ù‹D–¦›?gSˆ1ß?g”�“ñ_Á?gC „]ä‹?gC�' Ó¡?rÖ  r®  N©r>   rÌ   r,   rª   r   )	r[   r  ræ   r“   r“  r¯  Ú	samples_jÚpdfs_jÚpdfs_pys	            rE   Útest_pdf_against_juliaz"TestMatrixT.test_pdf_against_julia  sÞ  € ð4 ˆÝŒH�i�i�i   Ð+Ñ,Ô,ˆÝŒH�q˜#�h  a Ð)Ñ*Ô*ˆÝŒH�m�m�m ] ] ]°M°M°MÐBÑCÔCˆàˆå”Hð NÐMÐMØMÐMÐMðð
 NÐMÐMØMÐMÐMðð
 NÐMÐMØMÐMÐMðð
 NÐMÐMØMÐMÐMðð
 NÐMÐMØMÐMÐMðð
 NÐMÐMØMÐMÐMðð
 NÐMÐMØMÐMÐMðð
 NÐMÐMØMÐMÐMðð
 NÐMÐMØMÐMÐMðð
 NÐMÐMØMÐMÐMððK)ñ+
ô +
ˆ	õZ ”ðð ð ñ
ô 
ˆõ ”,˜y¨q¸QÈ1ÐQSÐTÑTÔTˆå˜ ¨dÐ3Ñ3Ô3Ð3Ð3Ð3rG   c                 óæ  — d}t          j        g d¢g d¢g¦  «        }t          j        ddgddgg¦  «        }t          j        g d¢g d¢g d¢g¦  «        }d	}t          j        g d
¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg d¢g d¢gg
¦  «        }t          j        g d¢¦  «        }t          j        |||||¬¦  «        }t	          |||¬ ¦  «         d!S )"a÷  
        Test values generated from Mathematica 13.0.0 for Linux x86 (64-bit)
        Release ID 13.0.0.0 (7522564, 2021120311723), Patch Level 0

        mu={{1,2,3},{4,5,6}};
        sigma={{1,0.5},{0.5,1}};
        omega={{1,0.3,0.2},{0.3,1,0.4},{0.2,0.4,1}};
        df=5;
        sampleSize=10;
        SeedRandom[42];
        dist=MatrixTDistribution[mu,sigma,omega,df];
        samples=SetPrecision[RandomVariate[dist,sampleSize],15];
        pdfs=SetPrecision[PDF[dist,#]&/@samples,15];
        rh   rQ   rà  r   r  rû  rü  rþ  ró  )gƒ¸ìí¥zä?gr×ò	®_@gšùµJ›@)g]rÈÔ@gyEˆ3@g»¨©�@)g(NÊJ2£ò?g!™AÛ5@gNf¨A@@)go]…þÇM@g€n�}”Ï@gP¨¹õ¶¥@)gÂm¤ãêð?gT‰,æ£ @gG¤6�}@@)gös>ÍUò@g†à¹­¦Ÿ@g×ìçîO@)gÂK�1ÑÌé?gÞõR]i;@gr½=ŠÉu@)g^Þâ~È@gè:’¥Y@g©Ì#b4@)g ’µ@ˆÜ?gä{/ìßÊ	@gý3«OÒ£@)gÉ×CÊ¶œ@gR¡'‡øA@gXß^À]Á@)gú`×Zjí?gnæ-Ãÿ@g�á¥é ö@)g`í—De@g•ÌÌ·‚@g^´„|s9@)gM_né* @gq5)Dö?g«0»Œšé@)g}[½ÐK@g^N‡f÷i@gÐ1¯XÛ@)g6h é&õ?g!¨,˜,Ñ@gMW›–«x@)gBeu°y@gš5�ûÍq@g°�Ì<º@)gx,(Ô.÷?gÔ¯Ø Gn @gÂŠ	<@)g÷æPud@g\�@gÏ"öØm¸@)gås”V¹ð?g%egÕSú?gO™Ä…qF
@)gÍk°W0@g)ã©HP@gT†’Ý4@)
gòˆ*˜˜îµ?gVwÊx¿s?gŽ@^`!»?gÚçxµÖMÆ?gµÏ|CØ¯?gK(j‘ƒÏ›?gì=³z€h?g,ð‚Nêv?gU=	Dhš?gÅioq!Æ¾?rÖ  r®  Nrÿ  )	r[   r  ræ   r“   r“  r¯  Ú	samples_mÚpdfs_mr  s	            rE   Útest_pdf_against_mathematicaz(TestMatrixT.test_pdf_against_mathematicah  sÞ  € ð  ˆÝŒH�i�i�i   Ð+Ñ,Ô,ˆÝŒH�q˜#�h  a Ð)Ñ*Ô*ˆÝŒH�m�m�m ] ] ]°M°M°MÐBÑCÔCˆàˆå”Hð NÐMÐMØMÐMÐMðð
 NÐMÐMØMÐMÐMðð
 MÐLÐLØMÐMÐMðð
 MÐLÐLØLÐLÐLðð
 NÐMÐMØMÐMÐMðð
 NÐMÐMØMÐMÐMðð
 NÐMÐMØLÐLÐLðð
 NÐMÐMØLÐLÐLðð
 NÐMÐMØLÐLÐLðð
 NÐMÐMØMÐMÐMððK)ñ+
ô +
ˆ	õZ ”ðð ð ñ
ô 
ˆõ ”,˜y¨q¸QÈ1ÐQSÐTÑTÔTˆå˜ ¨dÐ3Ñ3Ô3Ð3Ð3Ð3rG   c                 ó¸  — 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   }d}d}t          ||||¬	¦  «        }	|	                     |d
¬¦  «        }
|
                     d¦  «        }t          |j        |||¬	¦  «        }|                     |d
¬¦  «        }|                     d¦  «        }t          |||¬¦  «         t          |j        ||¬¦  «         t          ||j        |¬¦  «         t          |j        ||¬¦  «         d S )Nrh   rj   rN   r¡   r  r�  rF  çš™™™™™©?rÖ  rñ  r¢   r   r®  )r>   rø   re  r,   r¦   r­   r˜   r   )r[   r  r‘  r’  ræ   r“   r“  r  r¯  r€  rò   r2  ÚfrozenTÚXTÚmTs                  rE   rÈ  zTestMatrixT.test_samples¿  s_  € ØˆØˆØˆÝŒG�X˜xÐ(¨#Ñ.Ô.ˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØ•"”+˜hÑ'Ô'Ñ'­"¬'°8¸XÐ2FÈÑ*LÔ*LÑLˆØˆØˆõ
 ˜q¨Q¸1ÀÐDÑDÔDˆØ�JŠJ˜A¨BˆJÑ/Ô/ˆØ�FŠF�1‰IŒIˆå ¤°¸aÀBÐGÑGÔGˆØ�[Š[˜a¨bˆ[Ñ1Ô1ˆØ�WŠW�Q‰ZŒZˆõ 	˜˜1 4Ð(Ñ(Ô(Ð(Ý˜œ˜R dÐ+Ñ+Ô+Ð+Ý˜˜2œ4 dÐ+Ñ+Ô+Ð+Ý˜œ˜R dÐ+Ñ+Ô+Ð+Ð+Ð+rG   Ú
shape_caseÚrowÚcolc                 ó"  — d}d}|dk    r)d}d}d}t          j        g d¢g d¢g d¢g¦  «        }||z  }n(d}d}t          j        g d¢g d¢g d¢g¦  «        }d}||z  }t          j        ||fd	¦  «        }	t          |	|||¬
¦  «        }
t	          |	                     ¦   «         ||¬¦  «        }|
                     dd¬¦  «        }|
                     |¦  «        }|                     |                     ¦   «         ¦  «        }t          |||¬¦  «         dS )a8  
        Gupta and Nagar (2000) p.133f
        When the number of rows or the number of columns equals 1 the
        matrix t reduces to the multivariate t. But, the matrix t
        is parameterized by raw 2nd moments whereas the multivariate t is
        parameterized by a covariance (raw 2nd central moment normalized by df).
        We can see the difference by comparing the author's notation
            $t_p(n, \omega, \mathbf{\mu}, \Sigma)$
        for a matrix t with a single column
        to the formula (4.1.2) for the PDF of the multivariate t.
        ç�íµ ÷Æ°>rh   r  r   rN   rû  rü  rþ  r¡   rÖ  ©rÂ  r@   r  rñ  r¢   r®  N)	r>   rÌ   rø   r,   r$   r©   r¦   r«   r   )r[   r  r¯  r  r‘  r’  rÏ  rÒ  r@   ræ   Út_matÚt_mvtrò   Út_mat_logpdfÚt_mvt_logpdfs                  rE   Útest_against_multivariate_tz'TestMatrixT.test_against_multivariate_tà  s8  € ð ˆØˆà˜ÒÐØˆHØˆHØˆJÝœ = = =°-°-°-ÀÀÀÐ"OÑPÔPˆJØ ‘OˆEˆEàˆHØˆHÝœ = = =°-°-°-ÀÀÀÐ"OÑPÔPˆJØˆJØ ‘OˆEåŒG�X˜xÐ(¨#Ñ.Ô.ˆåØ˜z°jÀRð
ñ 
ô 
ˆõ  1§9¢9¡;¤;°eÀÐCÑCÔCˆà�IŠI˜1¨2ˆIÑ.Ô.ˆØ—|’| A‘”ˆØ—|’| A§I¢I¡K¤KÑ0Ô0ˆÝ˜ l¸Ð>Ñ>Ô>Ð>Ð>Ð>rG   N)rÏ   rÐ   rÑ   r”  r   r¦  rR   rÖ   r×   rƒ  rÚ  r½  Ústaticmethodr>   rJ  râ  rK  rì  rï  rÅ  r  r  rÈ  r  rÚ   rG   rE   rÊ  rÊ  ø  sÎ  € € € € € ð\>ð \>ð \>ð|&Jð &Jð &JðP
ð 
ð 
ð6 „[×Ò˜S % %¨¨1¡+¤+Ñ.Ô.Ø„[×Ò˜S % %¨¨1¡+¤+Ñ.Ô.ð'ð 'ñ /Ô.ñ /Ô.ð'ð2Lð Lð Lð4 ð'˜RœZð '¨r¬zð 'ð 'ð 'ñ „\ð'ð
 ð? B¤Jð ?¸¼ð ?Èð ?ð ?ð ?ñ „\ð?ð ð.�2”:ð . "¤*ð .ð .ð .ñ „\ð.ð'ð 'ð 'ð:_4ð _4ð _4ðBU4ð U4ð U4ðn,ð ,ð ,ðB „[×Ò˜\¨E°5¨>Ñ:Ô:ð&?ð &?ñ ;Ô:ð&?ð &?ð &?rG   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¦  «        }|                     dd¦  «        }|                     dd|¦  «        }t          |¦  «        }t          |                     ¦   «         t          j        |¦  «        ¦  «         t          |                     ¦   «         t          j        |¦  «        ¦  «         t          | 	                    ¦   «         t          j	        |¦  «        ¦  «         d}t          |¦  «        D ]¼}|                     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›  rl   )r>   r‘   r’   Úintegersr   r   r   Úvarr­   r¬   rƒ  r–   rª   r«   ©r[   r›   rÁ   r  r*  Ú	num_testsrµ  ra   s           rE   Útest_frozen_dirichletz#TestDirichlet.test_frozen_dirichlet  su  € ÝŒi×#Ò# DÑ)Ô)ˆà�LŠL˜˜BÑÔˆØ—’˜F C¨Ñ+Ô+ˆå�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Ø—’˜F C¨Ñ+Ô+ˆ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rG   c                 ó<  — t           j                             d¦  «        }t          j        g d¢¦  «        }|                     |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É   r‡  ç      @rk   r…   )rk   rN   rl   )r>   r‘   r’   rÌ   r   r   r@   rf  rS   rª   r«   r˜   ©r[   r›   r  ra   s       rE   Ú"test_numpy_rvs_shape_compatibilityz0TestDirichlet.test_numpy_rvs_shape_compatibility  sæ   € ÝŒi×#Ò# DÑ)Ô)ˆÝ”˜˜˜Ñ)Ô)ˆØ�MŠM˜% aˆMÑ(Ô(ˆÝ�Q”W˜fÑ%Ô%Ð%Ý•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=ÝŒ�a”c˜5Ñ!Ô!Ð!ÝŒ�a”c˜#˜2˜#”h Ñ&Ô&Ð&ÝÔ˜œ˜eÑ$Ô$Ð$ÝÔ˜œ˜S˜b˜Sœ 5Ñ)Ô)Ð)Ð)Ð)rG   c                 ó.  — t           j                             d¦  «        }g d¢}|                     t          j        d|¦  «        d¬¦  «        j        }t          t          t          j        ||¦  «         t          t          t          j	        ||¦  «         d S )Nr  )rÉ   rÊ   r&  r  rk   r…   ©
r>   r‘   r’   r   Úmaximumr˜   rf  rS   rª   r«   r'  s       rE   Útest_alpha_with_zerosz#TestDirichlet.test_alpha_with_zeros*  sw   € ÝŒi×#Ò# DÑ)Ô)ˆØ��ˆà�MŠM�"œ* T¨5Ñ1Ô1¸ˆMÑ:Ô:Ô<ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=rG   c                 ó.  — t           j                             d¦  «        }g d¢}|                     t          j        d|¦  «        d¬¦  «        j        }t          t          t          j        ||¦  «         t          t          t          j	        ||¦  «         d S )Nr  )rÉ   g       Àr&  r  rk   r…   r*  r'  s       rE   Ú test_alpha_with_negative_entriesz.TestDirichlet.test_alpha_with_negative_entries2  sy   € ÝŒi×#Ò# DÑ)Ô)ˆØ Ð Ð ˆà�MŠM�"œ* T¨5Ñ1Ô1¸ˆMÑ:Ô:Ô<ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=rG   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É   ri   )r>   rÌ   r   rª   r«   r   rq  ©r[   r  ra   s      rE   Ú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ÐBrG   c                 óâ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          t          t          j        ||¦  «         t          t          t          j        ||¦  «         d S )N)rÉ   r  r&  r1  r2  ©r>   rÌ   rf  rS   r   rª   r«   r3  s      rE   Ú$test_data_with_zeros_and_small_alphaz2TestDirichlet.test_data_with_zeros_and_small_alphaC  óa   € Ý”Ð-Ð-Ð-Ñ.Ô.ˆÝŒHÐ)Ð)Ð)Ñ*Ô*ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=rG   c                 óâ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          t          t          j        ||¦  «         t          t          t          j        ||¦  «         d S )Nr0  )rŸ   r\  r¡   r�  r6  r3  s      rE   Útest_data_with_negative_entriesz-TestDirichlet.test_data_with_negative_entriesI  sa   € Ý”Ð-Ð-Ð-Ñ.Ô.ˆÝŒHÐ*Ð*Ð*Ñ+Ô+ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=rG   c                 óâ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          t          t          j        ||¦  «         t          t          t          j        ||¦  «         d S )Nr0  )rŸ   r]  r¡   r�  r6  r3  s      rE   Ú test_data_with_too_large_entriesz.TestDirichlet.test_data_with_too_large_entriesO  r8  rG   c                 óà   — t          j        g d¢¦  «        }t          j        dd¦  «        }t          t          t
          j        ||¦  «         t          t          t
          j        ||¦  «         d S )Nr%  )rM   rk   rk   g’$I’$I²?©r>   rÌ   rø   rf  rS   r   rª   r«   r3  s      rE   Útest_data_too_deep_cz"TestDirichlet.test_data_too_deep_cU  sY   € Ý”˜˜˜Ñ)Ô)ˆÝŒG�I˜vÑ&Ô&ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=rG   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&  r1  )rM   rM   rk   ç      Ð?r>  r3  s      rE   Ú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Ñ=Ô=Ð=Ð=Ð=rG   c                 ó°   — t          j        g d¢¦  «        }t          j        dd¦  «        }t          j        ||¦  «         t          j        ||¦  «         d S )Nr%  ©rN   rk   çUUUUUUÕ?)r>   rÌ   rø   r   rª   r«   r3  s      rE   Útest_alpha_correct_depthz&TestDirichlet.test_alpha_correct_deptha  sQ   € Ý”˜˜˜Ñ)Ô)ˆÝŒG�F˜EÑ"Ô"ˆÝŒ�a˜ÑÔÐÝÔ˜˜EÑ"Ô"Ð"Ð"Ð"rG   c                 óà   — t          j        g d¢¦  «        }t          j        dd¦  «        }t          t          t
          j        ||¦  «         t          t          t
          j        ||¦  «         d S )Nr%  rD  r  r>  r3  s      rE   Útest_non_simplex_dataz#TestDirichlet.test_non_simplex_datag  sY   € Ý”˜˜˜Ñ)Ô)ˆÝŒG�F˜EÑ"Ô"ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=rG   c                 óà   — t          j        g d¢¦  «        }t          j        dd¦  «        }t          t          t
          j        ||¦  «         t          t          t
          j        ||¦  «         d S )Nr0  )rM   rk   r  r>  r3  s      rE   Útest_data_vector_too_shortz(TestDirichlet.test_data_vector_too_shortm  ó\   € Ý”Ð-Ð-Ð-Ñ.Ô.ˆÝŒG�F˜EÑ"Ô"ˆÝ•j¥)¤-°°EÑ:Ô:Ð:Ý•j¥)Ô"2°A°uÑ=Ô=Ð=Ð=Ð=rG   c                 óà   — t          j        g d¢¦  «        }t          j        dd¦  «        }t          t          t
          j        ||¦  «         t          t          t
          j        ||¦  «         d S )Nr0  )rh   rk   r    r>  r3  s      rE   Útest_data_vector_too_longz'TestDirichlet.test_data_vector_too_longs  rK  rG   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    ©r  rý  rŸ   )çUUUUUUµ?ç{®Gáz´?ç¸…ëQ¸ž?)rQ  ç±¿ç‘¿)rT  rR  çOè´�N‹¿)rU  rV  rS  )r>   rÌ   r   r   r­   r   rÄ   )r[   r  r*  Úexpected_meanÚexpected_varÚexpected_covs         rE   Útest_mean_var_covzTestDirichlet.test_mean_var_covy  sª   € õ ”˜˜˜Ñ(Ô(ˆÝ�eÑÔˆà'˜˜ˆØ-Ð-Ð-ˆà.Ð.Ð.Ø.Ð.Ð.Ø/Ð/Ð/ð
ˆõ 	" !§&¢&¡(¤(¨MÑ:Ô:Ð:Ý! !§%¢%¡'¤'¨<Ñ8Ô8Ð8Ý! !§%¢%¡'¤'¨<Ñ8Ô8Ð8Ð8Ð8rG   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É   )	r>   rÌ   r   r   r­   r   r   rª   r«   )r[   r  r*  s      rE   rn  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‘^”^Ô(¨!Ñ,Ô,Ð,Ð,Ð,rG   c                 ó¼  — t           j                             d¦  «        }|                     dd¦  «        }|                     dd|¦  «        }t          |¦  «        }d}t          |¦  «        D ]n}|                     dd|¦  «        }|t          j        |¦  «        z  }t          | 	                    |d d…         ¦  «        | 	                    |¦  «        ¦  «         Œod S r  )
r>   r‘   r’   r  r   r   rƒ  r–   r   rª   r!  s           rE   Ú test_K_and_K_minus_1_calls_equalz.TestDirichlet.test_K_and_K_minus_1_calls_equal–  sÇ   € åŒi×#Ò# DÑ)Ô)ˆà�LŠL˜˜BÑÔˆØ—’˜F C¨Ñ+Ô+ˆå�eÑÔˆØˆ	Ý�yÑ!Ô!ð 	9ð 	9ˆAØ—’˜F C¨Ñ+Ô+ˆAØ•”˜‘”‰NˆAÝ §¢ a¨¨¨¤f¡¤¨q¯uªu°Q©x¬xÑ8Ô8Ð8Ð8ð	9ð 	9rG   c                 ób  — t           j                             d¦  «        }|                     dd¦  «        }|                     dd|¦  «        }t          |¦  «        }d}d}d }t          |¦  «        D ]½}t          |¦  «        D ]K}	|                     dd|¦  «        }
|
t          j        |
¦  «        z  }
|�t          j        ||
f¦  «        }ŒI|
}ŒL| 	                    |j
        ¦  «        }d }|D ]1}| 	                    |¦  «        }|�t          j        ||¦  «        }Œ/|}Œ2t          ||¦  «         Œ¾d S )Nr  r   r  r  r£  r›  rh   )r>   r‘   r’   r  r   r   rƒ  r–   Úvstackrª   r˜   Úappendr   )r[   r›   rÁ   r  r*  r"  Únum_multipleÚxmrµ  r2  ra   ÚrmÚrsÚxsrž  s                  rE   Útest_multiple_entry_callsz'TestDirichlet.test_multiple_entry_calls¤  s@  € åŒi×#Ò# DÑ)Ô)ˆà�LŠL˜˜BÑÔˆØ—’˜F C¨Ñ+Ô+ˆÝ�eÑÔˆàˆ	ØˆØˆÝ�yÑ!Ô!ð 	.ð 	.ˆAÝ˜<Ñ(Ô(ð ð �Ø—K’K ¨¨QÑ/Ô/�Ø•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¨"Ñ-Ô-Ð-Ð-ð!	.ð 	.rG   c                 ó¢  — t           j                             d¦  «        }|                     ddd¦  «        }t	          |¦  «        }t          |d         |d         ¦  «        }d}t          |¦  «        D ]g}|                     ddd¦  «        }|t          j        |¦  «        z  }t          | 	                    |¦  «        | 	                    |g¦  «        ¦  «         Œht          | 
                    ¦   «         | 
                    ¦   «         d         ¦  «         t          |                     ¦   «         |                     ¦   «         d         ¦  «         d S )Nr  r  r£  rM   r   r   r›  )r>   r‘   r’   r   r   r   rƒ  r–   r   rª   r­   r   )r[   r›   r  r*  r#  r"  rµ  ra   s           rE   Útest_2D_dirichlet_is_betaz'TestDirichlet.test_2D_dirichlet_is_betaÁ  s	  € ÝŒi×#Ò# DÑ)Ô)ˆà—’˜F C¨Ñ+Ô+ˆÝ�eÑÔˆÝ��q”˜5 œ8Ñ$Ô$ˆàˆ	Ý�yÑ!Ô!ð 	6ð 	6ˆAØ—’˜F C¨Ñ+Ô+ˆ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Ð0rG   N)rÏ   rÐ   rÑ   r#  r(  r,  r.  r4  r7  r:  r<  r?  rB  rF  rH  rJ  rM  rZ  rn  r]  rf  rh  rÚ   rG   rE   r  r  
  s7  € € € € € ðLð Lð Lð$
*ð 
*ð 
*ð>ð >ð >ð>ð >ð >ðCð Cð Cð>ð >ð >ð>ð >ð >ð>ð >ð >ð>ð >ð >ð>ð >ð >ð#ð #ð #ð>ð >ð >ð>ð >ð >ð>ð >ð >ð9ð 9ð 9ð$	-ð 	-ð 	-ð9ð 9ð 9ð.ð .ð .ð:1ð 1ð 1ð 1ð 1rG   r  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)r>   rÌ   rf  rS   r   r   Ústrr—   )rg  r  rî  rï  s       rE   Ú,test_multivariate_normal_dimensions_mismatchrk  Ò  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   rM   ©Úndminr   rÐ  r]  rN   )
r>   rÌ   Úr_r   r   r¼  r@   rf  rS   rV   )r[   Ú
true_scaleÚscalesr¼  Úws        rE   Útest_scale_dimensionsz!TestWishart.test_scale_dimensionsæ  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Ð4rG   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   rM   ro  rN   rQ   rÿ  r   )r>   rÌ   rq  r   rª   r   rï   rV   )r[   rò   rt  Údensityra   s        rE   Útest_quantile_dimensionsz$TestWishart.test_quantile_dimensions	  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Ñ+Ô+Ð+Ð+ð	,ð 	,rG   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 ©	Nrj   r   rM   rl   ©r‰  rh   r›  rŸ   )r>   ru   rd  Útril_indicesr„  r˜   rƒ  r`  rÌ   rA  r   r   r   r­   Úmoder¬   rª   )	r[   rÝ   r¼  rò   rµ  ra   Ú
parametersr  rt  s	            rE   rÒ  zTestWishart.test_frozenB	  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Ñ#<Ô#<Ñ=Ô=Ð=Ñ=ð	>ð 	>rG   c                 óŽ  — d}d}t          j        |¦  «        }d|d<   d|d<   t          ||¦  «        }t           j                             d¦  «        }t          j        |||¬¦  «        }t           j                             d¦  «        }|                     |¬¦  «        }t           j                             d¦  «        }|                     d¬¦  «        }t           j        |                     |¦  «        |                     |d	z
  ¦  «        |                     |d
z
  ¦  «        f         dz  }	t          j	        |	¦  «        }
||
t          j
        |d¬¦  «        <   t           j                             |¦  «        }|                     |
¦  «        }t          j        ||j        ¦  «        }t          ||¦  «         t          ||¦  «         d S )NrN   r›  r  rb  rÍ  iêÈ r¼   r…   r   rM   rl   r{  )r>   rV   r   r‘   r°  r¦   rÜ   rq  Ú	chisquareru   r|  r¿   rÓ   r„  r˜   r   )r[   rÝ   r  r¼  rt  r›   Úw_rvsÚfrozen_w_rvsÚcovariancesÚ	variancesr{   ÚDÚDAÚmanual_w_rvss                 rE   Útest_wishart_2D_rvszTestWishart.test_wishart_2D_rvsb	  s˜  € ØˆØˆõ ”�s‘”ˆØˆˆc‰
Øˆˆc‰
õ �B˜ÑÔˆõ Œi×#Ò# FÑ+Ô+ˆÝ”˜B °CÐ8Ñ8Ô8ˆÝŒi×#Ò# FÑ+Ô+ˆØ—u’u¨#�uÑ.Ô.ˆõ Œi×#Ò# FÑ+Ô+ˆØ—j’j a�jÑ(Ô(ˆÝ”EØ�MŠM˜"ÑÔØ�MŠM˜"˜Q™$ÑÔØ�MŠM˜"˜Q™$ÑÔð!ô
ð ñ	ˆ	õ ŒG�IÑÔˆØ(3ˆ�"Œ/˜# Ð
$Ñ
$Ô
$Ñ%õ ŒI×Ò˜uÑ%Ô%ˆØ�UŠU�1‰XŒXˆÝ”v˜b "¤$Ñ'Ô'ˆõ 	˜˜|Ñ,Ô,Ð,Ý˜ lÑ3Ô3Ð3Ð3Ð3rG   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›  rM   rë   rŸ   ©Únumr¢   rÃ  r   )r>   r‘   r’   rV   rd  rK  rA  r   r   r   r   r­   r¬   rª   r¦   r   )r[   r›   ÚsnrÝ   r¼  Údf_rangerò   r  rt  Úcr¦   rC   r  s                rE   Útest_1D_is_chisquaredz!TestWishart.test_1D_is_chisquaredŽ	  sS  € õ
 Œi×#Ò# FÑ+Ô+ˆàˆØˆÝ”�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�%Ñ2Ô2ˆCØ�5ˆDØˆEÝ" 6¨4°¸Ñ<Ô<Ð<Ñ<ð!	=ð 	=rG   c                 óJ  — 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›  rj   r   ri   rl   r{  ©r¼  rŸ   rŒ  r¢   r   rÃ  r   )r>   r‘   r’   ru   rd  r|  r„  r˜   rU   r©   r   r   r   r   r­   r¬   rA  rª   r¦   r   )r[   r›   rŽ  r  rÝ   r¼  ÚlamdaÚsigma_lamdart  r�  rò   r¦   rC   r  s                 rE   Útest_is_scaled_chisquaredz%TestWishart.test_is_scaled_chisquared­	  s¸  € õ
 Œi×#Ò# FÑ+Ô+ˆàˆØˆØˆå”�œ	 !™œ 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Ñ.Ô.ˆØ�1�[Ð!ˆØˆÝ˜v t¨U°CÑ8Ô8Ð8Ð8Ð8rG   N)	rÏ   rÐ   rÑ   ru  rx  rÒ  rˆ  r‘  r–  rÚ   rG   rE   rm  rm  å  sr   € € € € € ð)5ð )5ð )5ðV/,ð /,ð /,ðb>ð >ð >ð@*4ð *4ð *4ðX=ð =ð =ð>!9ð !9ð !9ð !9ð !9rG   rm  c                   óÚ  — 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ej                             dej        ej        g¦  «        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©rN   rj   rk   ©r¡   r�  g&Múty»÷¿rm  r®  rN   rj   r   r¡   r�  ro   )r   Úlogpmfr   r>   rù   rå  )r[   Úvals1Úvals2Úvals3Úvals4s        rE   Ú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Ð1rG   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š  rk   r›  rN   r¡   rm  r®  )ri   é   é   ©rŸ   r»  ri   rŸ   )r   rœ  r"   r   Úpmf©r[   Úval1Úval2s      rE   Útest_reduces_binomialz%TestMultinomial.test_reduces_binomialÞ	  s�   € õ Ô! &¨!¨ZÑ8Ô8ˆÝŒ|˜A˜q #Ñ&Ô&ˆÝ˜˜d¨Ð.Ñ.Ô.Ð.åŒ˜v r¨:Ñ6Ô6ˆÝŒy˜˜B Ñ$Ô$ˆÝ˜˜d¨Ð.Ñ.Ô.Ð.Ð.Ð.rG   c                 óŽ   — dg d¢}}ddddddd	dd
ddœ
}|D ].}t          t          j        |||¦  «        ||         d¬¦  «         Œ/d S )NrN   )g      À?rA  g      ä?g     @Ï?g     ÀÂ?g      ž?g      `?g     ÀÒ?g      ¾?g      ˆ?g      ˜?g      �?)
)r   r   rN   )r   r   rM   )rM   r   r   )rN   r   r   rc  r  ©rM   r   r   )r   rM   r   rò  )r   rN   r   ç›+¡†›„=rô  )r   r   r¦  )r[   rÁ   rS  Úr_valsra   s        rE   Útest_RzTestMultinomial.test_Ré	  s„   € ð Ð$Ð$Ð$ˆ1ˆØ(°[Ø(°[Ø(°[Ø(°[Ø(°[ð	Bð Bˆð
 ð 	Mð 	MˆAÝ�KœO¨A¨q°!Ñ4Ô4°f¸Q´iÀeÐLÑLÔLÐLÐLð	Mð 	MrG   rÁ   r   rN   c                 ót  — d}t          j        t          |¬¦  «        5  t          j                             d¦  «        }t          j        |dgdz  dd¬¦  «        }|                     |dgdz  d¬¦  «        }t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j                             d¦  «        }t          j        |dgd	z  dd¬¦  «        }|                     |dgd	z  d¬¦  «        }t          ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nz,Some rows of `p` do not sum to 1.0 within...rK   r0  rA  rN   rk   r¢   r…   rh   )	rR   ÚwarnsÚFutureWarningr>   r‘   r°  r   r¦   r   )r[   rÁ   r\   ÚrndmÚsc_rvsÚnp_rvss         rE   Útest_rvs_npzTestMultinomial.test_rvs_npú	  sµ  € ð AˆÝŒ\�-¨wÐ7Ñ7Ô7ð 	)ð 	)Ý”9×(Ò(¨Ñ-Ô-ˆDÝ ”_ Q¨¨¨q©°qÀsÐKÑKÔKˆFØ×%Ò% a¨$¨°©¸Ð%Ñ:Ô:ˆFÝ˜ Ñ(Ô(Ð(ð		)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ
 Œ\�-¨wÐ7Ñ7Ô7ð 	)ð 	)Ý”9×(Ò(¨Ñ-Ô-ˆDÝ ”_ Q¨¨¨q©°qÀsÐKÑKÔKˆFØ×%Ò% a¨$¨°©¸Ð%Ñ:Ô:ˆFÝ˜ Ñ(Ô(Ð(ð		)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s%   žA(BÂBÂBÂ8A(D-Ä-D1Ä4D1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)rh   rh   ©r   r   rm  r®  rš  rk   r›  gö5’á
Í?rN   r   r£  rl   é	   r¥  g’¹*7î ?gÄÒ<WÆŒÛ?©r   rM   rë   rj   rM   ©rN   rN   r   ri   )gUUUUUUå?rE  r   gß¦îáÌ?rm   r¬  )r   r¦  r   r>   rî   Úfloat64r   )	r[   Úvals0r�  rž  ra   rŸ  r   Úvals5Úvals6s	            rE   Útest_pmfzTestMultinomial.test_pmf	
  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ˆzrG   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   rM   rN   rŸ   r»  r    rO  g´Èv¾ŸÏ?gú~j¼t“Ø?rm  r®  rj   r   )r   r¦  r   )r[   r½  r�  rž  rŸ  r   s         rE   Ú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Ð:Ñ:Ô:Ð:Ð:Ð:rG   rh   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¡   r  r    rO  r¡   r  r�  rm  r®  ©r   rÄ   r   )r[   rÁ   Úcov1rû  s       rE   Útest_covzTestMultinomial.test_cov4
  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¨Ð.Ñ.Ô.Ð.Ð.Ð.rG   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 )Nrh   rŸ   r»  r    rO  gÍÌÌÌÌÌÜ?gÍÌÌÌÌÌÜ¿gš™™™™™é¿rm  r®  rj   g
×£p=
×?g
×£p=
×¿r¡   r�  rý  r¿  gáz®Gáê?gáz®Gáê¿rº  g333333ó¿rÄ  ©r[   rÅ  rû  Úcov3Úcov4Úcov5Úcov6s          rE   Ú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¨Ð.Ñ.Ô.Ð.Ð.Ð.rG   rM   c                 ó~   — t          j        |ddg¦  «        }t          |t          j        |d¦  «        d¬¦  «         d S ©Nr    rO  rm  r®  ©r   r¬   r   r"   )r[   rÁ   Úent0s      rE   r  zTestMultinomial.test_entropyJ
  sA   € õ Ô" 1 r¨2 hÑ/Ô/ˆÝ˜�eœm¨A¨rÑ2Ô2¸Ð>Ñ>Ô>Ð>Ð>Ð>rG   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 )NrM   rN   r    rO  rm  r®  rk   r£  r¡   r�  rý  r¿  rÐ  )r[   rÑ  Úent1Úent2s       rE   Útest_entropy_broadcastingz)TestMultinomial.test_entropy_broadcastingQ
  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à!ð	#ñ 	#ô 	#ð 	#ð 	#ð 	#rG   c                 óh   — t          j        |ddg¦  «        }t          ||dz  |dz  gd¬¦  «         d S rÏ  ©r   r­   r   )r[   rÁ   Úmean1s      rE   Ú	test_meanzTestMultinomial.test_mean`
  s?   € åÔ   R¨ HÑ-Ô-ˆÝ˜  "¡ a¨¡d˜|°$Ð7Ñ7Ô7Ð7Ð7Ð7rG   c                 óh   — t          j        ddgddg¦  «        }t          |ddgddggd	¬
¦  «         d S )Nrh   ri   r    rO  rÉ   r1  g433333ó?g433333@rm  r®  r×  )r[   rØ  s     rE   Útest_mean_broadcastingz&TestMultinomial.test_mean_broadcastinge
  sD   € ÝÔ  ! Q ¨"¨b¨Ñ2Ô2ˆÝ˜  t ¨t°T¨lÐ;À$ÐGÑGÔGÐGÐGÐGrG   c                 óÖ  — 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 )	Nr7  )rŸ   r    r¡   rý  ©r   r   r   r7  ©r   r   r   rB  ©r   r   r   r›  ©r   r   r   r¹  ©r   r   rM   r£  rë   )r>   r?   r¼  r   r   r¦  rœ  r¬   )r[   rÁ   Úpvalsra   Ú	mn_frozens        rE   rÒ  zTestMultinomial.test_frozeni
  sÛ   € àˆØ ˆØˆ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ÐKrG   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´9rl   )r>   r‘   r’   r–   rU   r   rœ  Úisfinite)r[   rÁ   r›   rS  ra   rœ  s         rE   Útest_gh_11860zTestMultinomial.test_gh_11860t
  s…   € ð
 ˆÝŒi×#Ò#Ð$7Ñ8Ô8ˆØ�JŠJ�q‰MŒMˆØˆˆ"‰Ø	�RŒV�A‰YŒY‰ˆÝŒG�A‰JŒJˆÝÔ# A q¨!Ñ,Ô,ˆÝŒ{˜6Ñ"Ô"Ð"Ð"Ð"Ð"Ð"rG   rì   c                 óâ   — d}t          j        g d¢|¬¦  «        }t          j        g d¢||¬¦  «        }t          j        g d¢||¬¦  «        }t           j                             ||d¬¦  «         d S )	Né   )r    r    r    r    r    rë   )r   rM   rh   rk   rj   )ra   rÁ   rS  )r   rM   rj   rh   rk   rS  r®  )r>   r?   r   r¦  Útestingr   )r[   rì   rÁ   rS  Úres1Úres2s         rE   Útest_gh_22565zTestMultinomial.test_gh_22565‚
  s{   € ð ˆÝŒJÐ0Ð0Ð0¸Ð>Ñ>Ô>ˆÝŒ   °A¸Ð;Ñ;Ô;ˆÝŒ   °A¸Ð;Ñ;Ô;ˆÝ
Œ
×"Ò" 4¨°EÐ"Ñ:Ô:Ð:Ð:Ð:rG   N)rÏ   rÐ   rÑ   r¡  rª  r¯  rR   rÖ   r×   r¶  rÀ  rÂ  rÆ  rÍ  r  rÕ  rÙ  rÛ  rÒ  rç  r>   Úfloat32r¼  rí  rÚ   rG   rE   r˜  r˜  Ð	  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ð#ð #ð #ð „[×Ò˜W r¤z°2´:Ð&>Ñ?Ô?ð;ð ;ñ @Ô?ð;ð ;ð ;rG   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 rz  )r>   ru   rd  r|  r„  r˜   rƒ  r`  rÌ   rA  r   r   r   r­   r}  r   rª   )	r[   rÝ   r¼  rò   rµ  ra   r~  r  Úiws	            rE   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rG   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   rh   é   rM   rë   rŸ   r›  rŒ  r  r“  r¢   r   rÃ  r   )r>   r‘   r°  rV   rd  rK  rA  r   r   r   r   r­   rª   r¦   r   r¬   )r[   r›   rŽ  rÝ   r¼  r�  rò   r  rò  Úigr¦   rC   r  s                rE   Útest_1D_is_invgammaz"TestInvwishart.test_1D_is_invgamma®
  sh  € õ
 Œi×#Ò# FÑ+Ô+ˆàˆØˆÝ”�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¨s�&Ñ3Ô3ˆCØ�q‘D˜!˜T�?ˆDØˆEÝ" :¨t°U¸CÑ@Ô@Ð@õ ˜BŸJšJ™LœL¨"¯*ª*©,¬,Ñ7Ô7Ð7Ñ7ð%	8ð 	8rG   c                 óÂ  — d}d}t          j        |¦  «        }d|d<   d|d<   t          ||¦  «        }t           j                             d¦  «        }t          j        |||¬¦  «        }t           j                             d¦  «        }|                     |¬¦  «        }t           j                             d¦  «        }|                     d¬¦  «        }t           j        |                     |d	z
  ¦  «        |                     |d
z
  ¦  «        |                     |¦  «        f         dz  }	t          j	        |	¦  «        }
||
t          j
        |d¬¦  «        <   t           j                             |¦  «        }t           j                             |
j        |j        ¦  «        j        }t          j        ||j        ¦  «        }t!          ||¦  «         t!          ||¦  «         d S )NrN   r›  r  rb  rÍ  iHG	 r¼   r…   rM   r   rl   r{  )r>   rV   r   r‘   r°  r¦   rÜ   rq  r€  ru   r|  r¿   rÓ   Úsolver˜   r„  r   )r[   rÝ   r  r¼  rò  r›   Úiw_rvsÚfrozen_iw_rvsrƒ  r„  r{   r…  ÚLÚmanual_iw_rvss                 rE   Útest_invwishart_2D_rvsz%TestInvwishart.test_invwishart_2D_rvsÏ
  s£  € ØˆØˆõ ”�s‘”ˆØˆˆc‰
Øˆˆc‰
õ ˜˜EÑ"Ô"ˆõ Œi×#Ò# FÑ+Ô+ˆÝ”  E¸Ð<Ñ<Ô<ˆÝŒi×#Ò# FÑ+Ô+ˆØŸš¨C˜Ñ0Ô0ˆõ Œi×#Ò# FÑ+Ô+ˆØ—j’j a�jÑ(Ô(ˆÝ”EØ�MŠM˜"˜Q™$ÑÔØ�MŠM˜"˜Q™$ÑÔØ�MŠM˜"ÑÔðô
ð ñ	ˆ	õ ŒG�IÑÔˆØ(3ˆ�"Œ/˜# Ð
$Ñ
$Ô
$Ñ%õ ŒI×Ò˜uÑ%Ô%ˆÝŒI�OŠO˜AœC ¤Ñ%Ô%Ô'ˆÝœ˜q !¤#™œˆõ 	˜ Ñ.Ô.Ð.Ý˜ }Ñ5Ô5Ð5Ð5Ð5rG   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   rh   r   rM   rl   r{  r  rj  r¢   r   rŠ   rÃ  rô  N)r>   ru   rd  r|  r„  r˜   r   r­   r   r¦   r   ÚppfrÕ  )r[   r  Úsample_sizerÝ   r¼  rÍ   Ú	Xmean_expÚXvar_expÚ	Xmean_stdrò   Ú	Xmean_estÚntestsÚ	fail_rateÚmax_diffs                 rE   Útest_sample_meanzTestInvwishart.test_sample_meaný
  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ØØðñ ô ð ð ð ñ ð!	ð 	rG   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.)rM   r   r   r  )r   rM   r  r  )r   r  rN   r   )r  r  r   rM   )r¹  rk   rN   r   )rk   r¹  rh   r   )rN   rh   r£  rM   )r   r   rM   r¹  ri   r   rM   r   r  N)r>   rÌ   r   r«   r@   r¿   r¦  rø  rq  r8   rç  r   )r[   rò   ÚPsiÚnuÚprobrS  ÚsigÚlogdetXÚ	logdetPsiræ   rÇ  s              rE   Útest_logpdf_4x4zTestInvwishart.test_logpdf_4x4  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Ñ'Ô'Ð'Ð'Ð'rG   N)rÏ   rÐ   rÑ   rÒ  rö  rý  r
  r  rÚ   rG   rE   rð  rð  �
  se   € € € € € ðEð Eð Eð@8ð 8ð 8ðB,6ð ,6ð ,6ð\ð ð ð6(ð (ð (ð (ð (rG   rð  c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	ÚTestSpecialOrthoGroupc                 óÆ   — t          j        dt          j                             d¦  «        ¬¦  «        }t          j        g d¢g d¢g d¢g¦  «        }t          ||¦  «         d S )NrN   é  r¼   )g©ÃDbÓí¿g MP»Fh�?gï“È,×¿)g7¥�ýßÖ?g+�Ñè+Ê?g– uC)í¿)gääìžÀ®?gïg]óQï¿gã^þÉ¿)r   r¦   r>   r‘   r’   rÌ   r   )r[   ra   rÇ  s      rE   Útest_reproducibilityz*TestSpecialOrthoGroup.test_reproducibility2  ss   € ÝÔ# AµB´I×4IÒ4IÈ#Ñ4NÔ4NÐOÑOÔOˆÝ”8ÐCÐCÐCØBÐBÐBØCÐCÐCðEñ Fô Fˆõ 	" ! XÑ.Ô.Ð.Ð.Ð.rG   c                 ó  — t          t          t          j        d ¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S ©Nrÿ  rl   rl  )rf  rS   r   r¦   ©r[   s    rE   Útest_invalid_dimz&TestSpecialOrthoGroup.test_invalid_dim9  s`   € Ý•jÕ"5Ô"9¸4Ñ@Ô@Ð@Ý•jÕ"5Ô"9¸6ÑBÔBÐBÝ•jÕ"5Ô"9¸2Ñ>Ô>Ð>Ý•jÕ"5Ô"9¸3Ñ?Ô?Ð?Ð?Ð?rG   c                 ó    — d}t          |¦  «        }|                     d¬¦  «        }t          j        |d¬¦  «        }t          ||¦  «         d S )Nrk   rj  r¼   )r   r¦   r   )r[   rÝ   r€  r¨  r©  s        rE   Útest_frozen_matrixz(TestSpecialOrthoGroup.test_frozen_matrix?  sR   € ØˆÝ$ SÑ)Ô)ˆà�zŠz tˆzÑ,Ô,ˆÝ"Ô& s¸Ð>Ñ>Ô>ˆå�T˜4Ñ Ô Ð Ð Ð rG   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¦   ©ró  rÝ   rµ  s      rE   rô  z<TestSpecialOrthoGroup.test_det_and_ortho.<locals>.<listcomp>I  sN   € ð !ð !ð !ØÝ˜Q‘x”xð!ð !àõ "Ô% cÑ*Ô*ð !ð !ð !ð !rG   rM   r7  c                 óL   — g | ]!}t           j                             |¦  «        ‘Œ"S rÚ   ©r>   r¿   r¥  ©ró  ra   s     rE   rô  z<TestSpecialOrthoGroup.test_det_and_ortho.<locals>.<listcomp>N  s&   € Ð-Ð-Ð- Q•”	—’˜aÑ Ô Ð-Ð-Ð-rG   rÉ   é   ç‚vIhÂ%<=r®  r   )rƒ  r   r   r>   r„  r˜   rV   r@   )r[   re  Údetsra   s       rE   Útest_det_and_orthoz(TestSpecialOrthoGroup.test_det_and_orthoH  s«   € ð!ð !Ý˜q ™œð!ñ !ô !ˆð
 .Ð-¨"Ð-Ñ-Ô-ˆÝ˜˜r˜d 2™g¨EÐ2Ñ2Ô2Ð2ð ð 	:ð 	:ˆAÝ%¥b¤f¨Q°´¡n¤nÝ&(¤f¨Q¬W°Q¬ZÑ&8Ô&8ñ:ô :ð :ð :ð	:ð 	:rG   c                 ó  ‡‡‡— d}d}d}t          j        ||t          j                             d¦  «        ¬¦  «        ŠdŠˆfd„‰D ¦   «         Šˆfd„‰D ¦   «         }ˆfd	„|D ¦   «         }t          |gt          |¦  «        z  |¦  «         d S )
Nrh   r¿  r	  i  r¢   ©rÀ  rº  )r   rj   r#  c                 óX   •‡‡— i | ]$\  ŠŠ‰‰ft          ˆˆfd „‰D ¦   «         ¦  «        “Œ%S )c                 ó,   •— g | ]}|‰         ‰         ‘ŒS rÚ   rÚ   ©ró  ra   ÚecÚers     €€rE   rô  z>TestSpecialOrthoGroup.test_haar.<locals>.<dictcomp>.<listcomp>m  ó!   ø€ Ð!8Ð!8Ð!8° ! B¤%¨¤)Ð!8Ð!8Ð!8rG   ©Úsorted©ró  r-  r.  re  s    @@€rE   ú
<dictcomp>z3TestSpecialOrthoGroup.test_haar.<locals>.<dictcomp>m  óE   øøø€ ÐLÐLÐL¹f¸bÀ"��R��&Ð!8Ð!8Ð!8Ð!8Ð!8°RÐ!8Ñ!8Ô!8Ñ9Ô9ÐLÐLÐLrG   c                 ó.   •— g | ]}‰D ]}||k    ¯||f‘ŒŒS rÚ   rÚ   ©ró  Úe0Úe1Úelss      €rE   rô  z3TestSpecialOrthoGroup.test_haar.<locals>.<listcomp>n  ó.   ø€ ÐAÐAÐA˜b°#ÐAÐA¨B¸¸bº¸�"�b�¸¸¸¸rG   c                 óZ   •— g | ]'\  }}t          ‰|         ‰|         ¦  «        d          ‘Œ(S r¸  ©r    ©ró  Úp0Úp1Úprojs      €rE   rô  z3TestSpecialOrthoGroup.test_haar.<locals>.<listcomp>o  ó4   ø€ ÐJÐJÐJ¹¸¸R•H˜T "œX t¨B¤xÑ0Ô0°Ô3ÐJÐJÐJrG   )r   r¦   r>   r‘   r’   r   r—   )	r[   rÝ   rn  Úks_probÚpairsÚks_testsr9  r@  re  s	         @@@rE   Ú	test_haarzTestSpecialOrthoGroup.test_haarV  s¹   øøø€ ð ˆØˆØˆÝ Ô$Ø�g­B¬I×,AÒ,AÀ#Ñ,FÔ,Fð
ñ 
ô 
ˆð +ˆà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Ð9rG   c                 óR   — t          t          j        dd¬¦  «        dd¬¦  «         d S )Nr   r¿  r…   r%  r®  )r   r   r¦   r  s    rE   Útest_one_by_onez%TestSpecialOrthoGroup.test_one_by_oner  s0   € õ 	Õ+Ô/°¸Ð=Ñ=Ô=¸qÀuÐMÑMÔMÐMÐMÐMrG   c                 óX   — t          t          j        dd¬¦  «        j        d¦  «         d S ©Nr   rj   r…   )rj   r   r   ©r   r   r¦   r@   r  s    rE   Útest_zero_by_zeroz'TestSpecialOrthoGroup.test_zero_by_zerow  ó,   € ÝÕ(Ô,¨Q°QÐ7Ñ7Ô7Ô=¸yÑIÔIÐIÐIÐIrG   N)
rÏ   rÐ   rÑ   r  r  r  r'  rE  rG  rK  rÚ   rG   rE   r  r  1  sˆ   € € € € € ð/ð /ð /ð@ð @ð @ð!ð !ð !ð:ð :ð :ð:ð :ð :ð8Nð Nð Nð
Jð Jð Jð Jð JrG   r  c                   ó®   — e Zd Zd„ Zd„ Zd„ Zd„ Zej         	                    dg d¢¦  «        d„ ¦   «         Z
d„ Zd	„ Zd
„ Zej        j        d„ ¦   «         ZdS )ÚTestOrthoGroupc                 ót  — 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 )Nr  rN   r¼   rl   )gÝÓÕ‹mØ?gÓ hÀ"·¿gE�¹‡„oí?)g~7Ý²Cüì?gž’>­Ä¿g0JÐ_èÙ¿)gÝ±Ø&�Ç¿gü ¤6qrï¿g`Xþ|[°”¿)
r>   r‘   r°  r   r¦   r   r¿   r¥  rÌ   r   )r[   r¥   r›   ra   r²   rÇ  s         rE   r  z#TestOrthoGroup.test_reproducibility|  s½   € ØˆÝŒi×#Ò# DÑ)Ô)ˆÝŒO˜A¨CÐ0Ñ0Ô0ˆÝŒ_˜Q¨TÐ2Ñ2Ô2ˆå�BœIŸMšM¨!Ñ,Ô,¨bÑ1Ô1Ð1Ý”8Ð<Ð<Ð<Ø=Ð=Ð=Ø=Ð=Ð=ð?ñ @ô @ˆõ 	" ! XÑ.Ô.Ð.Ý! " hÑ/Ô/Ð/Ð/Ð/rG   c                 ó  — t          t          t          j        d ¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S r  )rf  rS   r   r¦   r  s    rE   r  zTestOrthoGroup.test_invalid_dim‰  sX   € Ý•j¥+¤/°4Ñ8Ô8Ð8Ý•j¥+¤/°6Ñ:Ô:Ð:Ý•j¥+¤/°2Ñ6Ô6Ð6Ý•j¥+¤/°3Ñ7Ô7Ð7Ð7Ð7rG   c                 ó  — d}t          |¦  «        }t          |d¬¦  «        }|                     d¬¦  «        }t          j        |d¬¦  «        }|                     d¬¦  «        }t          ||¦  «         t          ||¦  «         d S )Nrk   rj  r¤   r¼   r   r…   )r   r¦   r   ©r[   rÝ   r€  Úfrozen_seedr¨  r©  Úrvs3s          rE   r  z!TestOrthoGroup.test_frozen_matrix�  s†   € ØˆÝ˜SÑ!Ô!ˆÝ! #¨DÐ1Ñ1Ô1ˆà�zŠz tˆzÑ,Ô,ˆÝŒ˜s°Ð6Ñ6Ô6ˆØ�Š AˆÑ&Ô&ˆå�T˜4Ñ Ô Ð Ý�T˜4Ñ Ô Ð Ð Ð rG   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     €rE   rô  z@TestOrthoGroup.test_det_and_ortho.<locals>.<listcomp>.<listcomp>œ  s3   ø€ ð #ð #ð #Øõ Œ˜sÑ#Ô#ð #ð #ð #rG   r›  )rƒ  )ró  rÝ   s    @rE   rô  z5TestOrthoGroup.test_det_and_ortho.<locals>.<listcomp>œ  sP   ø€ ð &ð &ð &àð#ð #ð #ð #Ý˜b™	œ	ð#ñ #ô #ð &ð &ð &rG   rM   r7  c                 ó&   — g | ]}d „ |D ¦   «         ‘ŒS )c                 óL   — g | ]!}t           j                             |¦  «        ‘Œ"S rÚ   r"  r#  s     rE   rô  z@TestOrthoGroup.test_det_and_ortho.<locals>.<listcomp>.<listcomp>¡  s&   € Ð7Ð7Ð7¨q�"œ)Ÿ-š-¨Ñ*Ô*Ð7Ð7Ð7rG   rÚ   )ró  Úxxs     rE   rô  z5TestOrthoGroup.test_det_and_ortho.<locals>.<listcomp>¡  s'   € ÐEÐEÐE¸BÐ7Ð7°BÐ7Ñ7Ô7ÐEÐEÐErG   r%  r®  r   )rƒ  r>   rÌ   r   ÚfabsrU   r@   r   r„  r˜   rV   )r[   re  r&  rZ  ra   s        rE   r'  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©.¬.Ý*,¬&°´¸´Ñ*<Ô*<ñ>ô >ð >ð >ð>ð	>ð 	>rG   rÝ   )rM   rh   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   çffffffî?©Úconfidence_levelr  )r>   r‘   r’   r   r¦   rË   r¿   r¥  r–   r—   r0   Ú	binomtestÚproportion_ci)r[   rÝ   r›   rÍ   r¦   r&  r‰  rÁ   rA   r  r  s              rE   Ú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ÒÐÐÐÐÐÐÐrG   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 )
Nrh   r¿  r	  i  r¢   r)  c                 óX   •‡‡— i | ]$\  ŠŠ‰‰ft          ˆˆfd „‰D ¦   «         ¦  «        “Œ%S )c                 ó,   •— g | ]}|‰         ‰         ‘ŒS rÚ   rÚ   r,  s     €€rE   rô  z7TestOrthoGroup.test_haar.<locals>.<dictcomp>.<listcomp>Í  r/  rG   r0  r2  s    @@€rE   r3  z,TestOrthoGroup.test_haar.<locals>.<dictcomp>Í  r4  rG   c                 ó.   •— g | ]}‰D ]}||k    ¯||f‘ŒŒS rÚ   rÚ   r6  s      €rE   rô  z,TestOrthoGroup.test_haar.<locals>.<listcomp>Î  r:  rG   c                 óZ   •— g | ]'\  }}t          ‰|         ‰|         ¦  «        d          ‘Œ(S r¸  r<  r=  s      €rE   rô  z,TestOrthoGroup.test_haar.<locals>.<listcomp>Ï  rA  rG   )r>   r‘   r°  r   r¦   r   r—   )
r[   rÝ   rn  rB  r›   rC  rD  r9  r@  re  s
          @@@rE   rE  zTestOrthoGroup.test_haar·  s¶   øøø€ ð ˆØˆØˆÝŒi×#Ò# CÑ(Ô(ˆÝŒ_˜S w¸SÐAÑAÔAˆð +ˆà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Ð9rG   c                 ó†  — d}t          j        |dt          j                             d¦  «        ¬¦  «        }t          t          j        |¦  «        dd¬¦  «         t          j        |dk    ¦  «        }t          |¦  «        }t          j
        ||¦  «        }|                     d¬	¦  «        \  }}|d
cxk     r|k     sn J ‚d S )Nr   r  r  r¢   r%  r®  r   r]  r^  r  )r   r¦   r>   r‘   r’   r   rm  r–   r—   r0   r`  ra  )r[   rÝ   re  r‰  rÁ   rA   r  r  s           rE   rG  zTestOrthoGroup.test_one_by_oneÒ  s½   € àˆÝŒ_˜S t½"¼)×:OÒ:OÐPSÑ:TÔ:TÐUÑUÔUˆÝ�œ˜r™
œ
 A¨EÐ2Ñ2Ô2Ð2ÝŒF�2˜’6‰NŒNˆÝ�‰GŒGˆÝŒo˜a Ñ#Ô#ˆØ×%Ò%°tÐ%Ñ<Ô<‰	ˆˆTØ�SÐÐÒÐ˜4ÒÐÐÐÐÐÐÐrG   c                 óX   — t          t          j        dd¬¦  «        j        d¦  «         d S rI  rJ  r  s    rE   rK  z TestOrthoGroup.test_zero_by_zeroÝ  rL  rG   c                 óB  ‡‡— t           j                             d¦  «        Šd	ˆfd„	}t          dd¦  «        D ]fŠd
ˆˆfd„	} ||¦  «        } |t          j        j        j        ¦  «        }t          j                             ||¦  «        \  }}t          d|¦  «         Œgd S )Nr  c                 ó    •— t           j                             ‰                     | | f¬¦  «        ¦  «        \  }}}t          j        ||¦  «        S ©Nr…   )r>   r¿   rå   rÜ   r„  )rÝ   r£   rç   Ú_srà   r›   s        €rE   Úrandom_orthoz<TestOrthoGroup.test_pairwise_distances.<locals>.random_orthoå  s>   ø€ Ý”y—}’} S§Z¢Z°c¸3°Z ZÑ%@Ô%@ÑAÔA‰HˆAˆr�1Ý”6˜!˜Q‘<”<ÐrG   rM   ri   r¿  ró  c                 ó¾   •‡ — t          j        ˆˆˆ fd„t          |¦  «        D ¦   «         ¦  «        }|t           j                             | ||j        ¬¦  «        z  }|S )Nc           	      óp   •— g | ]2}t          j         ‰‰‰¬ ¦  «         ‰‰‰¬ ¦  «        z
  dz  ¦  «        ‘Œ3S ))rÝ   r£   rM   )r>   r–   )ró  rß   rÝ   r›   r¦   s     €€€rE   rô  z\TestOrthoGroup.test_pairwise_distances.<locals>.generate_test_statistics.<locals>.<listcomp>ë  si   ø€ ð "ð "ð "ð õ ”F˜C˜C C°cÐ:Ñ:Ô:Ø˜C C°cÐ:Ñ:Ô:ñ;Ø=>ñ?ñ @ô @ð"ð "ð "rG   r…   )r>   rÌ   rƒ  r‘   r   r@   )r¦   r  Úepsr0   rÝ   r›   s   `   €€rE   Úgenerate_test_statisticszHTestOrthoGroup.test_pairwise_distances.<locals>.generate_test_statisticsê  sy   øø€ Ýœð "ð "ð "ð "ð "ð "õ # 1™XœXð"ñ "ô "ñ ô �ð �œ×*Ò*¨C¨4°¸5¼;Ð*ÑGÔGÑG�Ø�rG   r	  r=   )r¿  ró  )
r>   r‘   r°  rƒ  rË   r0   r   r¦   r    r   )	r[   rn  rr  rÇ  r·  Ú_DrS  rÝ   r›   s	          @@rE   Útest_pairwise_distancesz&TestOrthoGroup.test_pairwise_distancesà  s×   øø€ õ Œi×#Ò# CÑ(Ô(ˆð	 ð 	 ð 	 ð 	 ð 	 ð 	 õ ˜˜A‘;”;ð 	&ð 	&ˆCðð ð ð ð ð ð ð 0Ð/°Ñ=Ô=ˆHØ-Ð-­e¬kÔ.EÔ.IÑJÔJˆFå”K×(Ò(¨°6Ñ:Ô:‰EˆB�å˜c 1Ñ%Ô%Ð%Ð%ð!	&ð 	&rG   N)rÏ   rÐ   rÑ   r  r  r  r'  rR   rÖ   r×   rb  rE  rG  rK  r|  rt  rÚ   rG   rE   rN  rN  {  sÓ   € € € € € ð0ð 0ð 0ð8ð 8ð 8ð
!ð 
!ð 
!ð>ð >ð >ð „[×Ò˜U N N NÑ3Ô3ð
 ð 
 ñ 4Ô3ð
 ð:ð :ð :ð6	 ð 	 ð 	 ðJð Jð Jð „[Ôð&ð &ñ Ôð&ð &ð &rG   rN  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 )Nr  ©r  rO  rº  rk  r¼   )rÉ   ç¼Ñ“2©Ç¿ç–AµÁ‰è»?çý¢ý…Í¿)ry  rÉ   ç 4Ô($™Í?çR}ç%èÔ?)rz  r|  rÉ   çqTn¢–æÆ¿)r{  r}  r~  rÉ   )r>   r‘   r°  r   r¦   rÌ   r   )r[   r›   r  ra   r²   rÇ  s         rE   r  z*TestRandomCorrelation.test_reproducibilityý  s«   € ÝŒi×#Ò# CÑ(Ô(ˆØ!ˆÝÔ" 4°cÐ:Ñ:Ô:ˆÝÔ# D°sÐ;Ñ;Ô;ˆÝ”8ÐAÐAÐAØ@Ð@Ð@Ø@Ð@Ð@ØAÐAÐAðCñ Dô Dˆõ 	" ! XÑ.Ô.Ð.Ý! " hÑ/Ô/Ð/Ð/Ð/rG   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Útestrl  r   rM   rN   rj   g      à¿)r   rM   rŸ   )rf  rS   r   r¦   r  s    rE   Útest_invalid_eigsz'TestRandomCorrelation.test_invalid_eigs	  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ÐErG   c                 ó
  — d}t          |¦  «        }t          |d¬¦  «        }t          j        |d¬¦  «        }|                     d¬¦  «        }|                     ¦   «         }t          ||¦  «         t          ||¦  «         d S )Nrx  r  r¤   r¼   )r   r¦   r   )r[   r  r€  rS  r¨  r©  rT  s          rE   r  z(TestRandomCorrelation.test_frozen_matrix  sƒ   € Ø!ˆÝ# DÑ)Ô)ˆÝ(¨°CÐ8Ñ8Ô8ˆå!Ô% d¸Ð=Ñ=Ô=ˆØ�zŠz sˆzÑ+Ô+ˆØ�ŠÑ Ô ˆå�T˜4Ñ Ô Ð Ý�T˜4Ñ Ô Ð Ð Ð rG   c                 óà  ‡
‡— d„ Š
t           j                             d¦  «        Šˆ
ˆfd„t          dd¦  «        D ¦   «         }|                     g d¢¦  «         d„ |D ¦   «         }ˆf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 r=   )r–   )rµ  rî  s     rE   r   z3TestRandomCorrelation.test_definition.<locals>.norm&  s   € Ø�Q‘3•s˜1‘v”v‘:ÐrG   r0  c                 óP   •— g | ]"} ‰|‰                      |¬ ¦  «        ¦  «        ‘Œ#S )r…   )r   )ró  rµ  r   r›   s     €€rE   rô  z9TestRandomCorrelation.test_definition.<locals>.<listcomp>+  s3   ø€ ÐBÐBÐB°���Q˜Ÿš¨˜Ñ+Ô+Ñ,Ô,ÐBÐBÐBrG   rM   ri   )rj   r   r   r   c                 ó4   — g | ]}d gt          |¦  «        z  ‘ŒS )rÉ   )r—   ©ró  rî  s     rE   rô  z9TestRandomCorrelation.test_definition.<locals>.<listcomp>.  s$   € Ð*Ð*Ð* ��•S˜‘V”V‘Ð*Ð*Ð*rG   c                 ó<   •— g | ]}t          j        |‰¬ ¦  «        ‘ŒS )r¼   )r   r¦   )ró  rî  r›   s     €rE   rô  z9TestRandomCorrelation.test_definition.<locals>.<listcomp>/  s*   ø€ ÐHÐHÐH¸aÕ Ô$ Q°SÐ9Ñ9Ô9ÐHÐHÐHrG   c                 óp   — g | ]3}t          j        t           j                             |¦  «        ¦  «        ‘Œ4S rÚ   )r>   r[  r¿   r¥  r#  s     rE   rô  z9TestRandomCorrelation.test_definition.<locals>.<listcomp>5  s0   € Ð6Ð6Ð6¨a•”�œ	Ÿš aÑ(Ô(Ñ)Ô)Ð6Ð6Ð6rG   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rÚ   )r>   r,  r‡  s     rE   rô  z9TestRandomCorrelation.test_definition.<locals>.<listcomp>6  s    € Ð/Ð/Ð/ Q•b”g˜a‘j”jÐ/Ð/Ð/rG   r%  rÄ  c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rÚ   )r>   ru   r#  s     rE   rô  z9TestRandomCorrelation.test_definition.<locals>.<listcomp>:  s    € Ð(Ð(Ð( •”˜‘”Ð(Ð(Ð(rG   r®  )r>   r‘   r°  rƒ  r`  r   Úzipr˜   )r[   r  rU   re  r&  Ú
dets_knownÚdiagsr"  r#  ra   r   r›   s             @@rE   Útest_definitionz%TestRandomCorrelation.test_definition  sN  øø€ ð	ð 	ð 	õ Œi×#Ò# CÑ(Ô(ˆàBÐBÐBÐBÐBµe¸A¸q±k´kÐBÑBÔBˆØ�Š�I�I�IÑÔÐà*Ð* TÐ*Ñ*Ô*ˆØHÐHÐHÐHÀ4ÐHÑHÔHˆð 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ð 	0rG   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)Úoverrl   gœu ˆ<ä7~r»  r]  rM   rÀ  gMùk   @)r>   rÌ   rK  r   Ú_to_corrr   ÚerrstateÚ	nextafterÚcopyr˜   r„  )r[   r2  rõ   Úm0s       rE   Útest_to_corrz"TestRandomCorrelation.test_to_corrB  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Ñ   r  r�  r  r�  r˜  rÚ   rG   rE   rv  rv  ü  sc   € € € € € ð
0ð 
0ð 
0ðFð Fð Fð
!ð 
!ð 
!ð"0ð "0ð "0ðH#ð #ð #ð #ð #rG   rv  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   rN   r†   ©Nr   rh   )rh   rj   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…   rl   rŠ   rÉ   )r>   r‘   r’   r(   r¦   r½   rV   r   r@   r¿   r   r   )
r[   rÝ   r†   r›   Úuniform_direction_distrn  r­   rÄ   Úexpected_shapeÚnormss
             rE   rÈ  z!TestUniformDirection.test_samplesd  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Ñ"Ô"Ð"Ð"Ð"rG   )Nr   rÿ  rl  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.rK   )rR   r
   rS   r(   r¦   )r[   rÝ   r\   s      rE   r  z%TestUniformDirection.test_invalid_dimq  s“   € ð<ˆåŒ]�:¨WÐ5Ñ5Ô5ð 	'ð 	'ÝÔ! #Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	's   žA Á AÁAc                 ó
  — d}t          |¦  «        }t          |d¬¦  «        }|                     d¬¦  «        }t          j        |d¬¦  «        }|                     ¦   «         }t          ||¦  «         t          ||¦  «         d S )Nrh   r  r¤   r¼   )r(   r¦   r   rR  s          rE   Útest_frozen_distributionz-TestUniformDirection.test_frozen_distributionx  sƒ   € ØˆÝ" 3Ñ'Ô'ˆÝ'¨°#Ð6Ñ6Ô6ˆà�zŠz sˆzÑ+Ô+ˆÝ Ô$ S°sÐ;Ñ;Ô;ˆØ�ŠÑ Ô ˆå�T˜4Ñ Ô Ð Ý�T˜4Ñ Ô Ð Ð Ð rG   )rM   rh   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¤   rM   r…   r   r­  rô  rF  r	  )r>   r‘   r’   r(   r¦   r¿   r   r   Úarctan2r  r   r!   rµ   Úpvalue)r[   rÝ   r›   Úspherical_distÚv1Úv2rn  Ús1Ús2ÚanglesÚuniform_distÚkstest_results               rE   Ú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Ò*Ð*Ð*Ð*Ð*Ð*rG   N)
rÏ   rÐ   rÑ   rR   rÖ   r×   rÈ  r  r£  r¯  rÚ   rG   rE   rš  rš  c  sÞ   € € € € € Ø„[×Ò˜U Q¨ FÑ+Ô+Ø„[×Ò˜VÐ%9Ð%9Ð%9Ñ:Ô:ð	#ð 	#ñ ;Ô:ñ ,Ô+ð	#ð „[×Ò˜UÐ$:Ð$:Ð$:Ñ;Ô;ð'ð 'ñ <Ô;ð'ð
!ð 
!ð 
!ð „[×Ò˜U I I IÑ.Ô.ð+ð +ñ /Ô.ð+ð +ð +rG   rš  c                   ó2   — e Zd 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 )Nr  rN   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Õ'Ó?)r>   r‘   r°  r   r¦   rÌ   r   )r[   r›   ra   r²   rÇ  s        rE   r  z%TestUnitaryGroup.test_reproducibility�  s›   € ÝŒi×#Ò# CÑ(Ô(ˆÝÔ˜a¨cÐ2Ñ2Ô2ˆÝÔ˜q¨sÐ3Ñ3Ô3ˆå”8ØIÐIÐIØHÐHÐHØKÐKÐKðMñ
ô 
ˆõ 	" ! XÑ.Ô.Ð.Ý! " hÑ/Ô/Ð/Ð/Ð/rG   c                 ó  — t          t          t          j        d ¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S r  )rf  rS   r   r¦   r  s    rE   r  z!TestUnitaryGroup.test_invalid_dim«  s\   € Ý•j¥-Ô"3°TÑ:Ô:Ð:Ý•j¥-Ô"3°VÑ<Ô<Ð<Ý•j¥-Ô"3°RÑ8Ô8Ð8Ý•j¥-Ô"3°SÑ9Ô9Ð9Ð9Ð9rG   c                 ó  — d}t          |¦  «        }t          |d¬¦  «        }|                     d¬¦  «        }t          j        |d¬¦  «        }|                     d¬¦  «        }t          ||¦  «         t          ||¦  «         d S )Nrk   r  r¤   r¼   r   r…   )r   r¦   r   rR  s          rE   r  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Ñ Ô Ð Ð Ð rG   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      rE   rô  z3TestUnitaryGroup.test_unitarity.<locals>.<listcomp>¾  sN   € ð !ð !ð !ØÝ˜Q‘x”xð!ð !àõ Ô Ñ$Ô$ð !ð !ð !ð !rG   rM   r7  r   rS  rô  )rƒ  r   r>   r„  Úconjr˜   rV   r@   )r[   re  ra   s      rE   Ú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rG   c           	      óÀ  — dD ]Ú}d}t          j        ||t          j                             d¦  «        ¬¦  «        }t          j        d„ |D ¦   «         ¦  «        }t          j        |j        |j        ¦  «        }t          | 
                    ¦   «         t          t          j         dt          j        z  ¦  «        j        ¦  «        }t          |j        dk    ¦  «         ŒÛd S )Nr   r¿  r  r¢   c                 óL   — g | ]!}t           j                             |¦  «        ‘Œ"S rÚ   )rË   r¿   Úeigvalsr#  s     rE   rô  z.TestUnitaryGroup.test_haar.<locals>.<listcomp>Ô  s(   € ÐBÐBÐB¸!�eœl×2Ò2°1Ñ5Ô5ÐBÐBÐBrG   rM   r	  )r   r¦   r>   r‘   r’   r_  r¥  ÚimagrW  r!   Úravelr   r  rµ   r	   r¦  )r[   rÝ   rn  re  r  ra   rA   s          rE   rE  zTestUnitaryGroup.test_haarÆ  sË   € ð
 ð 	'ð 	'ˆCØˆGåÔ"Ø˜'µ´	×0EÒ0EÀcÑ0JÔ0Jðñ ô ˆBõ ”9ÐBÐB¸rÐBÑBÔBÑCÔCˆDÝ”
˜4œ9 d¤iÑ0Ô0ˆAÝ˜Ÿš™œ¥G­R¬U¨F°Aµb´e±GÑ$<Ô$<Ô$@ÑAÔAˆCÝ�C”J Ò%Ñ&Ô&Ð&Ð&ð	'ð 	'rG   c                 óX   — t          t          j        dd¬¦  «        j        d¦  «         d S rI  )r   r   r¦   r@   r  s    rE   rK  z"TestUnitaryGroup.test_zero_by_zeroÙ  s+   € Ý•]Ô& q¨qÐ1Ñ1Ô1Ô7¸ÑCÔCÐCÐCÐCrG   N)	rÏ   rÐ   rÑ   r  r  r  r¸  rE  rK  rÚ   rG   rE   r±  r±  œ  sv   € € € € € ð0ð 0ð 0ð:ð :ð :ð
!ð 
!ð 
!ðSð Sð Sð'ð 'ð 'ð&Dð Dð Dð Dð DrG   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j                             d¬¦  «         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/d0ej        g¦  «        d1„ ¦   «         ¦   «         ¦   «         Zd2„ Zej                             d,g d3¢¦  «        d4„ ¦   «         Zej                             d,g d5¢¦  «        d6„ ¦   «         ZdWd8„Zd9„ Zej                             d,g d:¢¦  «        ej                             d;g d<¢¦  «        ej                             d=d7d>g¦  «        d?„ ¦   «         ¦   «         ¦   «         Z ej        j!        d@„ ¦   «         Z"dA„ Z#dB„ Z$dC„ Z%ej                             d,dD¦  «        dE„ ¦   «         Z&dF„ Z'ej                             d.g dG¢¦  «        dH„ ¦   «         Z(ej                             dIdJ ej)        dd¦  «        dKdLfdM ej        dNdgddJgg¦  «        dOdPfg¦  «        dQ„ ¦   «         Z*ej                             dRg dS¢¦  «        dT„ ¦   «         Z+dU„ Z,dV„ Z-d S )XÚTestMultivariateTr   rM   rj   rN   rh   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î?)rl   r   é2   )rÉ   r  rA  )r  rÉ   r\  )rA  r\  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   )r[   ra   rÂ  r@   r  ÚansrÍ   Úvals           rE   Útest_pdf_correctnessz&TestMultivariateT.test_pdf_correctness&  s=   € å˜c 5¨"°1Ð5Ñ5Ô5ˆØ�hŠh�q‰kŒkˆÝ! # sÑ+Ô+Ð+Ð+Ð+rG   c                 óÄ   — t          |||d¬¦  «        }|                     |¦  «        }|                     |¦  «        }t          t	          j        |¦  «        |¦  «         d S rÅ  )r$   rª   r«   r   r>   rq  )	r[   ra   rÂ  r@   r  rÆ  rÍ   r¨  r©  s	            rE   Útest_logpdf_correctz%TestMultivariateT.test_logpdf_correct,  sT   € å˜c 5¨"°1Ð5Ñ5Ô5ˆØ�xŠx˜‰{Œ{ˆØ�{Š{˜1‰~Œ~ˆÝ!¥"¤&¨¡,¤,°Ñ5Ô5Ð5Ð5Ð5rG   c                 ó‚   — g d¢}t          j        |d¬¦  «        }t          j        |¦  «        }t          ||¦  «         d S )N)
r¹  rk   rj   r   r1  r¹  r   r1  rl   rN   r   rÌ  )r$   rª   r%   r   )r[   ra   rÇ  rÆ  s       rE   Útest_mvt_with_df_one_is_cauchyz0TestMultivariateT.test_mvt_with_df_one_is_cauchy4  sE   € Ø-Ð-Ð-ˆÝÔ   qÐ)Ñ)Ô)ˆÝŒj˜‰mŒmˆÝ! # sÑ+Ô+Ð+Ð+Ð+rG   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…   ro   rN   r›  rl   rñ  )r$   r¦   r&   r�  )r[   Ú	P_VAL_MINrÍ   rn  rß   rS  s         rE   Ú&test_mvt_with_high_df_is_approx_normalz8TestMultivariateT.test_mvt_with_high_df_is_approx_normal:  sÄ   € ð
 ˆ	å˜a  v°AÐ6Ñ6Ô6ˆØ—(’( �(Ñ'Ô'ˆÝ˜'Ñ"Ô"‰ˆˆ1Ø�I’���å˜r 1˜g¨¨R¨°2°r°(Ð';ÀØ#%ð'ñ 'ô 'ˆà—(’( �(Ñ'Ô'ˆÝ˜'Ñ"Ô"‰ˆˆ1Ø�Y’×#Ò#Ñ%Ô%Ð&Ð&Ð%Ð&Ð&rG   zuses mocking©Úreasonz'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   rk   rÏ  rÌ  rM   )r$   r>   rù   r§   r   rª   Ú
call_countr«   )r[   ÚmockrÍ   s      rE   Ú!test_mvt_with_inf_df_calls_normalz3TestMultivariateT.test_mvt_with_inf_df_calls_normalL  s�   € õ ˜a ¥r¤v°AÐ6Ñ6Ô6ˆÝ˜$Õ :Ñ;Ô;Ð;Ð;Ð;ÝÔ˜1¥¤Ð(Ñ(Ô(Ð(ØŒ !Ò#Ð#Ð#Ð#ÝÔ˜a¥B¤FÐ+Ñ+Ô+Ð+ØŒ !Ò#Ð#Ð#Ð#Ð#Ð#rG   c                 ó  — d}t          j        |¦  «        }t          j        |¦  «        }d}t          j        |¦  «        }t          |||¦  «                             |¦  «        }t          j        |¦  «        sJ ‚t          |||¦  «                             |¦  «        }t          j        |¦  «        sJ ‚d}t           j                             d¦  «        }|                     ||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 )Nrj   ç      @rk   l   ©áI r   r…   )r>   r½   rV   r$   rª   Úisscalarr«   r‘   r’   r@   r¦   )
r[   rÝ   rÂ  r@   r  ra   rA   Ú	n_samplesr›   r†   s
             rE   Útest_shape_correctnessz(TestMultivariateT.test_shape_correctnessV  sÒ  € ð ˆÝŒh�s‰mŒmˆÝ”�s‘”ˆØˆÝŒH�S‰MŒMˆÝ˜S %¨Ñ,Ô,×0Ò0°Ñ3Ô3ˆÝŒ{˜3ÑÔÐÐÐÝ˜S %¨Ñ,Ô,×3Ò3°AÑ6Ô6ˆÝŒ{˜3ÑÔÐÐÐð ˆ	ÝŒi×#Ò# JÑ/Ô/ˆØ�JŠJ˜	 3Ð'Ñ(Ô(ˆÝ˜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Ò$Ð$Ð$Ð$Ð$Ð$rG   c                 ó–   — t          ¦   «         }t          |j        dg¦  «         t          |j        dgg¦  «         |j        dk    sJ ‚d S )Nr   r   ©r$   r   rÂ  r@   r  )r[   rÍ   s     rE   Útest_default_argumentsz(TestMultivariateT.test_default_argumentsw  sJ   € ÝÑÔˆÝ�T”X ˜sÑ#Ô#Ð#Ý�T”Z 1 # Ñ'Ô'Ð'Ø”˜1’�����rG   )NNNr   r   r   )NNrk   r   r   rk   Nrk   z*loc, shape, df, loc_ans, shape_ans, df_ansc                 ó˜   — t          |||¬¦  «        }t          |j        |¦  «         t          |j        |¦  «         |j        |k    sJ ‚d S )Nr  rÞ  ©r[   rÂ  r@   r  Úloc_ansÚ	shape_ansÚdf_ansrÍ   s           rE   Útest_default_argsz#TestMultivariateT.test_default_argsˆ  sU   € õ  #¨U°rÐ:Ñ:Ô:ˆÝ�T”X˜wÑ'Ô'Ð'Ý�T”Z Ñ+Ô+Ð+Ø”˜6Ò!Ð!Ð!Ð!Ð!Ð!rG   rl   c                 ó¦   — t          |||¦  «        }t          |j        |¦  «         t          |j        |¦  «         t          |j        |¦  «         d S r=   rÞ  rá  s           rE   Ú&test_scalar_list_and_ndarray_argumentsz8TestMultivariateT.test_scalar_list_and_ndarray_arguments–  sQ   € õ ˜c 5¨"Ñ-Ô-ˆÝ�T”X˜wÑ'Ô'Ð'Ý�T”Z Ñ+Ô+Ð+Ý�T”W˜fÑ%Ô%Ð%Ð%Ð%rG   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   )rÂ  rM   rN   )rÂ  r@   rl   r  r   )rf  rS   r$   r%  r>   r½   rV   )r[   rÂ  r@   r  s       rE   Ú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ð	;ð 	;ð 	;ð 	;ð 	;rG   c                 ó\  — t           j                             d¦  «        }|                     d¬¦  «        }t          j        d¦  «        }t          ||dd¬¦  «        }t          ||dd¬¦  «        }|                     d¬¦  «        }|                     d¬¦  «        }t          ||¦  «         d S )Nrj   rN   r…   rM   rÏ  r›  )r>   r‘   r°  r   rV   r$   r¦   r   )r[   r›   rÂ  r@   r°   Údist2Úsamples1Úsamples2s           rE   r  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Ñ(Ô(Ð(Ð(Ð(rG   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)rÂ  r@   r  r`   )r%  rf  r>   r¿   rí  r$   )r[   rC   s     rE   Ú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ÐDrG   r†   )r›  rN   )rh   ri   rj   rN   rÝ   )rM   rN   rj   rh   r  rÉ   r‡  c                 ó¾   — t          t          j        |¦  «        t          j        |¦  «        |¦  «        }|                     |¬¦  «        }|j        ||fz   k    sJ ‚d S rl  )r$   r>   r½   rV   r¦   r@   )r[   r†   rÝ   r  rÍ   r¦   s         rE   Útest_rvszTestMultivariateT.test_rvsÇ  sW   € õ �bœh s™mœm­R¬V°C©[¬[¸"Ñ=Ô=ˆØ�hŠh˜DˆhÑ!Ô!ˆØŒy˜D C 7™NÒ*Ð*Ð*Ð*Ð*Ð*rG   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 )
NrN   r›  r  rm   r)  r*  r+  r  r   r,  )r[   r­   rÄ   r  r#  r"  r-  rµ   s           rE   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Ð3rG   )r   rM   rh   c                 ó0   — |                       |¦  «         d S r=   ©Úcdf_against_mvn_test©r[   rÝ   s     rE   Ú$test_cdf_against_multivariate_normalz6TestMultivariateT.test_cdf_against_multivariate_normalÛ  s   € ð 	×!Ò! #Ñ&Ô&Ð&Ð&Ð&rG   )rN   ri   r¹  c                 ó2   — |                       dd¦  «         d S )NrN   Trô  rö  s     rE   Ú-test_cdf_against_multivariate_normal_singularz?TestMultivariateT.test_cdf_against_multivariate_normal_singularà  s    € ð 	×!Ò! ! TÑ*Ô*Ð*Ð*Ð*rG   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 rN   r›  ro   r   r…   rl   rM   rF  T)r  r  r`   r£   )r`   r  çü©ñÒMb@?rô  )r>   r‘   r’   r   râ   ÚsignrÜ   r0   r$   rµ   r   r   )r[   rÝ   rˆ   r›   rÁ   rt  rÄ   r­   r"  r#  rA   rB   s               rE   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Ð,Ñ,Ô,Ð,Ð,Ð,rG   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û  rM   r   r›  )r†   r¼  rN   )r  r£   rü  rô  r­  )r>   r‘   r’   rÜ   r  r0   r$   rµ   rù   r/  r   r   r�  rm  )	r[   r›   rÄ   r­   ra   r  rA   rB   Ú	incorrects	            rE   Útest_cdf_against_univariate_tz/TestMultivariateT.test_cdf_against_univariate_t÷  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Ð5rG   )rM   rN   rh   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›  ro   rM   r…   rh   T)r£   r`   r‘  )Úinvalidrÿ  r   g-Cëâ6*?r­  ©rÅ  r¯  )r  r£   r`   r$  )rR   r�   r>   r‘   r’   r   râ   r0   r$   rµ   r”  r:   rù   r   )r[   rÝ   r¥   rˆ   r›   rt  rÄ   r­   r"  r#  r  rA   rB   s                rE   Útest_cdf_against_qsimvtvz*TestMultivariateT.test_cdf_against_qsimvtv  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 )NrN   l   	!†y‚ r›  rl   r   r…   T)rˆ   rh   )r£   r  c                 óR   •— t           j                             | j        ‰‰‰¦  «        S r=   )r0   r$   rª   r˜   )ra   rÄ   r  r­   s    €€€rE   Ú	integrandzITestMultivariateT.test_cdf_against_generic_integrators.<locals>.integrand2  s"   ø€ ÝÔ'×+Ò+¨A¬C°°s¸BÑ?Ô?Ð?rG   )r*  r¥   )Úqrngr­  r®  c                  óZ   •— t           j                             | d d d…         ‰‰‰¦  «        S )Nrl   )r0   r$   rª   )ÚzyxrÄ   r  r­   s    €€€rE   r  zITestMultivariateT.test_cdf_against_generic_integrators.<locals>.integrand8  s*   ø€ ÝÔ'×+Ò+¨C°°°"°¬I°t¸SÀ"ÑEÔEÐErG   r   rM   )r>   r‘   r’   r   râ   r0   r$   rµ   r5   ÚqmcÚHaltonr   Úintegralr7   )r[   rÝ   r›   rt  r"  r#  rA   r  rB   rÄ   r  r­   s            @@@rE   Ú$test_cdf_against_generic_integratorsz6TestMultivariateT.test_cdf_against_generic_integrators#  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¨$Ð/Ñ/Ô/Ð/Ð/Ð/rG   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ûÑ@)r  g’R·P…¬=@ç“jTŠ0@)r  r  g™ˆÐk`-3@gú WÀKÿ?©r@   r  rm   r¼   g¡ø1æ®%Ð?r­  r®  )r>   r‘   r’   rÌ   r0   r$   rµ   r   )r[   r›   rÄ   r  rÍ   rA   rB   s          rE   Ú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Ð,Ñ,Ô,Ð,Ð,Ð,rG   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 rN   r…   r¥   r£   )	r>   r‘   r’   r   rV   r0   r$   r   rµ   )r[   r¥   r›   rÂ  ra   r@   r  rC   Ú
rng_frozenÚrng_unfrozenrÍ   s              rE   rÒ  zTestMultivariateT.test_frozenO  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rG   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 )Nrj   r#  rû  r…   rh   r¼   c                 óZ   •— t          d‰‰t          j         | z  | ‰z
  ‰¦  «        d         S )NrF  r   )r:   r>   rù   )ra   rÄ   r  r­   r›   s    €€€€rE   Ú_cdf_1dz2TestMultivariateT.test_vectorized.<locals>._cdf_1dj  s,   ø€ Ý˜E 2 s­R¬V¨G°A©I°q¸±v¸sÑCÔCÀAÔFÐFrG   rl   r$  r­  r  )	r>   r‘   r’   r˜   r0   r$   rµ   Úapply_along_axisr   )r[   rÝ   rÁ   r{   ra   rA   r  rB   rÄ   r  r­   r›   s           @@@@rE   Ú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Ð7rG   rD  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   r  )r�  )r@   r   r¼   r8  r®  )
r>   r‘   r’   rË   r¿   Útoeplitzr0   r$   rµ   r   )r[   rÝ   r›   r{   rA   rB   s         rE   Útest_against_analyticalz)TestMultivariateT.test_against_analyticalp  s•   € åŒi×#Ò# OÑ4Ô4ˆÝŒL×!Ò! Q C¨3¨%°3¸±7Ñ*;Ñ$;Ð!Ñ<Ô<ˆÝÔ"¨Ð+Ñ+Ô+×/Ò/°°°c±	ÈÐ/ÑLÔLˆØ�3˜‘7‰mˆÝ˜˜S tÐ,Ñ,Ô,Ð,Ð,Ð,rG   c                 óÚ   — t          j        dd¦  «        }t           j        }t          j                             ||¬¦  «        }t          j                             d |¦  «        }||k    sJ ‚d S )NrN   r  )r>   rV   rù   r0   r$   r¬   r   )r[   rÄ   r  Úmvt_entropyÚmvn_entropys        rE   Útest_entropy_inf_dfz%TestMultivariateT.test_entropy_inf_dfx  sb   € ÝŒf�Q˜‰lŒlˆÝŒVˆÝÔ*×2Ò2¸ÀÐ2ÑDÔDˆÝÔ/×7Ò7¸¸cÑBÔBˆØ˜kÒ)Ð)Ð)Ð)Ð)Ð)rG   )r   r›  r£  c                 ó¬   — t           j                             d|¬¦  «        }t           j                             |¬¦  «        }t	          ||d¬¦  «         d S )NrÉ   r  rÌ  r%  r®  )r0   r$   r¬   r/  r   )r[   r  r"  Ú	t_entropys       rE   Útest_entropy_1dz!TestMultivariateT.test_entropy_1d  sM   € åÔ*×2Ò2¸ÀÐ2ÑCÔCˆÝ”G—O’O r�OÑ*Ô*ˆ	Ý˜ Y°UÐ;Ñ;Ô;Ð;Ð;Ð;rG   zdf, cov, ref, tolr›  gÔøË}’M@r­  r£  r  gŒNfh@rm  c                 ó¢   — t          j        d¦  «        }t          j        |||¦  «        }t	          |                     ¦   «         ||¬¦  «         d S )NrÔ  r®  )r>   r½   r0   r$   r   r¬   )r[   r  rÄ   rB   ÚtolrÂ  Úmvts          rE   Ú%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Ð5rG   zdf, dim, ref, tol))r›  r   gDdÿVWø?rS  )r£  r   gU•“°Ýö?r%  )r‹  r   g÷Ž/+¼ö?r­  )ç@Œµx¯Dr   çZ_2äø³ö?rS  )ç}Ã”%­I²Tr   r-  rS  )r›  r›  gz©°g#.@rS  )r¿  r›  gD¬ë:f,@r%  )r,  r›  ç1÷>÷`,@rS  )r.  r›  r/  rS  )r›  r£  g8—d¹?‰b@rS  )r¿  r£  gç-YÒº¿a@r­  )r,  r£  çZGrš¼a@rS  )r.  r£  r0  rS  c                 óž   — t          j        t          j        |¦  «        |¬¦  «        }t	          |                     ¦   «         ||¬¦  «         d S )Nr  r®  )r0   r$   r>   rV   r   r¬   )r[   r  rÝ   rB   r)  r*  s         rE   Útest_extreme_entropyz&TestMultivariateT.test_extreme_entropyœ  sE   € õF Ô"­¬°©¬¸Ð<Ñ<Ô<ˆÝ˜Ÿš™œ s°Ð5Ñ5Ô5Ð5Ð5Ð5rG   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¸æ?rý  gìQ¸…ëá¿)g…ëQ¸ñ?g)\�Âõ(Ü?gìQ¸…ëÑ¿g)\�Âõ(Ü¿g�Âõ(\�Ò?)g      ø¿g®Gázî¿gq=
×£på¿g\�Âõ(\ç?gš™™™™™ñ¿)r4  g{®Gáz´¿g\�Âõ(\÷?g{®GázÔ¿gÃõ(\�Âõ?r,  r  rì  rS  r®  iý  i   rÚ  )r>   rÌ   r˜   r0   r$   r¬   r   r   )
r[   Ú_ArÄ   r  Úmul_t_entropyÚmul_norm_entropyÚdf1Údf2Ú	_entropy1Ú	_entropy2s
             rE   Ú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Ð8rG   c                 óÈ  — t          j        dddt          j        ¬¦  «        }t	          j        ddd¦  «        }t          ||¦  «         t          j                             d¦  «        }|                     d¦  «        }|                     d¦  «        t          j        d¦  «        dz  z   }|j	        |z   }t	          ||¬¦  «        }t          ||t          j        ¬¦  «        }| 
                    d¦  «        }t          |                     |¦  «        |                     |¦  «        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         d S )	Nr   rÌ  l   18KJ.rN   r"  rÈ   r  r›  )r$   r«   r>   rù   r   r   r‘   r’   rV   r˜   r¦   rª   )	r[   rA   rB   r›   r­   rÄ   rò   r„  ra   s	            rE   Útest_logpdf_df_inf_gh19930z,TestMultivariateT.test_logpdf_df_inf_gh19930à  s  € õ
 Ô# A q¨!µ´Ð7Ñ7Ô7ˆÝ!Ô(¨¨A¨qÑ1Ô1ˆÝ˜˜SÑ!Ô!Ð!õ Œi×#Ò# LÑ1Ô1ˆØ�zŠz˜!‰}Œ}ˆØ�jŠj˜Ñ Ô ¥2¤6¨!¡9¤9¨Q¡;Ñ.ˆØŒe�c‰kˆÝ T¨sÐ3Ñ3Ô3ˆÝ˜t¨3µ2´6Ð:Ñ:Ô:ˆð �EŠE�"‰IŒIˆÝ˜Ÿš ™œ Q§X¢X¨a¡[¤[Ñ1Ô1Ð1Ý˜Ÿš˜a™œ !§%¢%¨¡(¤(Ñ+Ô+Ð+Ð+Ð+rG   ©F).rÏ   rÐ   rÑ   Ú	PDF_TESTSrR   rÖ   r×   rÈ  rÊ  rÌ  rÑ  Úthread_unsafer;   r×  rÜ  rß  ÚDEFAULT_ARGS_TESTSrå  r>   rÌ   ÚARGS_SHAPES_TESTSrç  ré  r  rï  rù   rñ  r.  r÷  rù  rõ  r   r  r|  r  r  rÒ  r  r   r$  r'  rV   r+  r2  r<  r>  rÚ   rG   rE   rÀ  rÀ  Ý  sN  € € € € € ð �ˆ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ð,ð ,ð ,ð'ð 'ð 'ð$ „[×Ò nÐÑ5Ô5Ø
€UÐ4Ñ5Ô5ð$ð $ñ 6Ô5ñ 6Ô5ð$ð&ð &ð &ðBð ð ð 	$Ø Ø	��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ð<,ð ,ð ,ð ,ð ,rG   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, expectedrN   rj   rh   r›  rk   g©¥¹Âêñ¿r   r1  éûÿÿÿr   rM   rr   iúÿÿÿiöÿÿÿrB  r7  rl   iùÿÿÿc                 óV   — t          j        |||¦  «        }t          ||d¬¦  «         d S )Nr  r®  )r   rœ  r   ©r[   ra   r2  rÁ   rÇ  Úvalss         rE   r¡  z%TestMultivariateHypergeom.test_logpmfù  s3   € õ6 &Ô,¨Q°°1Ñ5Ô5ˆÝ˜˜h¨TÐ2Ñ2Ô2Ð2Ð2Ð2rG   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 )NrN   r   r›  rh   rj   )ra   r2  rÁ   é   )r‰  ræ   rÁ   r  rm  r®  rk   é   )r   r¦  r#   r   r§  s      rE   Ú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¨Ð.Ñ.Ô.Ð.Ð.Ð.rG   c                 óÈ   — t          ddgd¬¦  «        }|                     dd¬¦  «        }t          |                     d¦  «        |                     ¦   «         d	¬
¦  «         d S )NrN   rh   rj   ©r2  rÁ   r¿  r0  r¢   r   rÃ  r®  ©r   r¦   r   r­   ©r[   rÅ   r¦   s      rE   rñ  z"TestMultivariateHypergeom.test_rvs"  s\   € õ $ q¨! f°Ð2Ñ2Ô2ˆØ�fŠf˜$¨SˆfÑ1Ô1ˆÝ˜Ÿš ™œ R§W¢W¡Y¤Y°TÐ:Ñ:Ô:Ð:Ð:Ð:rG   c                 óÔ   — t          ddgddggddg¬¦  «        }|                     dd¬	¦  «        }t          |                     d
¦  «        |                     ¦   «         d¬¦  «         d S )NrN   rh   r›  rj   r¹  rO  ©r¿  rM   r0  r¢   r   rÃ  r®  rP  rQ  s      rE   Útest_rvs_broadcastingz/TestMultivariateHypergeom.test_rvs_broadcasting)  sg   € Ý#¨¨1 v°°2¨wÐ&7¸A¸q¸6ÐBÑBÔBˆØ�fŠf˜)°#ˆfÑ6Ô6ˆÝ˜Ÿš ™œ R§W¢W¡Y¤Y°TÐ:Ñ:Ô:Ð:Ð:Ð:rG   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¦   r>   r?   r–  r   )r[   r2  rÁ   rA   Úres_exs        rE   Útest_rvs_gh16171z*TestMultivariateHypergeom.test_rvs_gh16171.  sS   € õ
 %Ô(¨¨AÑ.Ô.ˆÝŒJ�q‰MŒMˆØ—’‘”ˆØˆˆq�AŠv‰Ý�S˜&Ñ!Ô!Ð!Ð!Ð!rG   g z÷lÂâÔ?r£  r¹  gQ°µ­Ù?gEçÙ³¤|?gé�
¸çyÞ?rë   r»  )rh   ri   rk   ri   g‘z²p†?c                 óV   — t          j        |||¦  «        }t          ||d¬¦  «         d S ©NrÙ  r®  ©r   r¦  r   rH  s         rE   rÀ  z"TestMultivariateHypergeom.test_pmf9  s3   € õ" &Ô)¨!¨Q°Ñ2Ô2ˆÝ˜˜h¨TÐ2Ñ2Ô2Ð2Ð2Ð2rG   rK  gõ­ æÎÕ?rÉ   rÊ   c                 óV   — t          j        |||¦  «        }t          ||d¬¦  «         d S rY  rZ  rH  s         rE   rÂ  z/TestMultivariateHypergeom.test_pmf_broadcastingM  s3   € õ &Ô)¨!¨Q°Ñ2Ô2ˆÝ˜˜h¨TÐ2Ñ2Ô2Ð2Ð2Ð2rG   c                 óp   — t          j        g d¢d¬¦  «        }g d¢g d¢g d¢g}t          ||d¬¦  «         d S )	N)rN   rk   r›  r7  rO  )g«×Âf_�ä?çÁ&BUúÐ¿ç–ˆCx¬@Ø¿)r]  g�gsƒ>dò?çZ¤ásKì¿)r^  r_  gö¿3å5ô?rm  r®  ©r   rÄ   r   )r[   rÅ  rû  s      rE   rÆ  z"TestMultivariateHypergeom.test_covZ  sZ   € Ý%Ô)¨J¨J¨J¸"Ð=Ñ=Ô=ˆØ6Ð6Ð6Ø6Ð6Ð6Ø6Ð6Ð6ð8ˆõ 	˜˜d¨Ð.Ñ.Ô.Ð.Ð.Ð.rG   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 )Nrk   r¹  r›  rK  r£  r7  rO  gÍÌÌÌÌÌð?gÍÌÌÌÌÌð¿gö(\�Âõø?gö(\�Âõø¿rm  r®  rj   rh   rÊ   g333333é?g333333é¿r`  rÈ  s          rE   rÍ  z/TestMultivariateHypergeom.test_cov_broadcastinga  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¨Ð.Ñ.Ô.Ð.Ð.Ð.rG   c                 óˆ   — t          j        ddgd¬¦  «        }t          j        ddd¬¦  «        }t          ||d¬¦  «         d S )	Nr›  rh   rj   rO  rK  ©ræ   rÁ   r  rm  r®  )r   r   r#   r   )r[   Úvar0Úvar1s      rE   Útest_varz"TestMultivariateHypergeom.test_varp  sL   € å%Ô)¨R°¨G°qÐ9Ñ9Ô9ˆÝŒ}˜r Q¨"Ð-Ñ-Ô-ˆÝ˜˜d¨Ð.Ñ.Ô.Ð.Ð.Ð.rG   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›  rh   rj   r£  rO  r   rm  r®  r   r¤  gÌ�3—eYæ?g�I›ª{¤õ?rÊ   )r   r   r   )r[   rd  re  Úvar2Úvar3Úvar4Úvar5Úvar6s           rE   Útest_var_broadcastingz/TestMultivariateHypergeom.test_var_broadcastingv  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¨Ð.Ñ.Ô.Ð.Ð.Ð.rG   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›  rh   rj   rO  rK  rc  r   rm  r®  r7  r£  g      @r1  )r   r­   r#   r   ©r[   Úmean0rØ  rú  Úmean3s        rE   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Ð0rG   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 )NrN   rh   r›  rj   r£  rO  rk  rl  gUUUUUU@gUUUUUU@rm  r®  )r   r­   r   )r[   rp  rØ  s      rE   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Ð0rG   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 )Nrm   r   rO  ©rÊ   rÊ   rÊ   ©r   r   r   rM   r)  )rÉ   rÊ   rÉ   ç—ÔFFõg<r®  rë   ©r   )
r   r­   r   r>   rå  r   rÌ   rH  r	   r@   ro  s        rE   Ú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Ò$Ñ%Ô%Ð%Ð%Ð%rG   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 )Nrm   r   rO  rt  g¼‰Ø—²Òœ<r®  ru  rM   r)  rv  rë   rw  )
r   r   r   r   r>   rå  rÌ   rH  r	   r@   )r[   rd  re  rh  ri  s        rE   Ú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Ò#Ñ$Ô$Ð$Ð$Ð$rG   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 )Nru  r   rO  rt  rv  r®  rm   r   rë   rÀ  )r   rÄ   r   r   r>   rÌ   rH  r¼  rÀ  r	   r@   )r[   Úcov0rÅ  rÉ  rÊ  rË  rÌ  s          rE   Ú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Ò$Ñ%Ô%Ð%Ð%Ð%rG   c                 ó:  — 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 )	Nr7  )rk   r¹  rB  é   rÝ  rÞ  rß  rà  rá  rë   )	r>   r?   rH  r   r   r¦  rœ  r   rÄ   )r[   rÁ   r2  ra   Ú
mhg_frozens        rE   rÒ  z%TestMultivariateHypergeom.test_frozenÀ  s  € àˆØˆ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ÐKrG   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 )	Nrh   r›  rj   g      @rÙ  rK  g      %@g      /@)rf  rS   r   r¦  Ú	TypeErrorr  s    rE   Ú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 ñ	%ô 	%ð 	%ð 	%ð 	%rG   N)rÏ   rÐ   rÑ   rR   rÖ   r×   r>   rù   rå  r¡  rM  rñ  rT  rW  rÌ   rH  rÀ  rÂ  rÆ  rÍ  rf  rm  rÙ  rÛ  rx  rz  r}  rÒ  rƒ  rÚ   rG   rE   rE  rE  ø  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ð	%ð 	%ð 	%ð 	%ð 	%rG   rE  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)r>   r‘   r’   r  s    rE   Úget_rngzTestRandomTable.get_rngÜ  s   € ÝŒy×$Ò$Ð%7Ñ8Ô8Ð8rG   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-dimensionalrK   r   rM   z`col` must be one-dimensionalz*each element of `row` must be non-negativerl   z*each element of `col` must be non-negativero   z'sums over `row` and `col` must be equalr   z(each element of `row` must be an integerçÍÌÌÌÌÌ @)r   r   rM   z(each element of `col` must be an integer)r]  r]  r   rN   ©rM   r   r   )rR   r
   rS   r'   Ú_process_parametersr   r>   r–   )r[   r\   r  r  rž  r�  rÁ   s          rE   Ú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   rN   rŠ  ©Úmethodr£   )r>   rÌ   r'   r¦   r   )r[   r¼  r‘  r  r  ÚctrÇ  Úgots           rE   Ú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Ñ#Ô#Ð#Ð#Ð#rG   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   rN   rŠ  z$'foo' not recognized, must be one ofrK   Úfoo)r‘  )rR   r
   rS   r'   r¦   )r[   r  r  r\   s       rE   Ú$test_process_rvs_method_bad_argumentz4TestRandomTable.test_process_rvs_method_bad_argument  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€  )TFrq  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 )#NrM   ri   ©r   rN   rj   r¿  r�  ©r†   r‘  r£   rœ  r¦  c                 ó   •—  ‰| ‰‰¦  «        S r=   rÚ   )ra   r  Úoriginal_methodr  s    €€€rE   r‘  z/TestRandomTable.test_pmf_logpmf.<locals>.method)  s   ø€ Ø&� q¨#¨sÑ3Ô3Ð3rG   c                 ó>   •— t          j         ‰| ¦  «        ¦  «        S r=   )r>   r¤  )ra   r‘  s    €rE   rb   z1TestRandomTable.test_pmf_logpmf.<locals>.<lambda>+  s   ø€ �œ   q¡	¤	Ñ*Ô*€ rG   r   T©r‹   Úreturn_countsrŸ   r®  )r›  r£  r   )r   r   r   )rM   r   rN   rl   rŠ   rc  )r   rM   rM   ro   z$`x` must be at least two-dimensionalrK   z%`x` must contain only integral valuesr]  z)`x` must contain only non-negative valuesz"shape of `x` must agree with `row`rQ   z"shape of `x` must agree with `col`rN   rj   )r‡  r'   r¦   rv   r>   Úuniquer   r—   rÔ   r   rÀ  r@   rƒ  r–   rR   r
   rS   rå  )r[   r€  rq  r›   r¦   Úobjr¦  Ú
unique_rvsÚcountsrS  Úp2Úrvs_ndrµ  r¶  ÚpijÚrvijÚqijra   r\   r  r‘  rœ  r  s                      @@@@rE   Ú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 )NrM   ri   r™  r¿  rš  r   r	  rô  rl   rŠ   rS  ro   )r¿  rN   )	r‡  r'   r¦   r­   r   r>   r–   r   Úbroadcast_to)r[   r‘  r›   r  r  r¦   r­   s          rE   Útest_rvs_meanzTestRandomTable.test_rvs_meanh  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ÐGrG   c                 ó  — |                       ¦   «         }ddg}g d¢}t          j        ||dd|¬¦  «        }t          j        ||dd|¬¦  «        }t          j        |d¬	¦  «        }t          j        |d¬	¦  «        }t          ||d
¬¦  «         d S )NrM   ri   r™  rF  r�  rš  rŽ  r   rŠ   ç{®Gáz”?rô  )r‡  r'   r¦   r>   r   r   )r[   r›   r  r  r¨  r©  rÅ  rû  s           rE   Útest_rvs_covzTestRandomTable.test_rvs_covw  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¨Ð.Ñ.Ô.Ð.Ð.Ð.rG   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 )NrM   ri   r™  r�  r#  r   rš  rQ   r   )r   rM   rN   rô  )rô  rM   rN   )rj   rh   )rj   rh   rM   rN   rN   rS  r®  z/`size` must be a non-negative integer or `None`rK   rl   )r'   r¦   r‡  r@   r   r   rÀ  rR   r
   rS   r>   rå  )
r[   r‘  r  r  rÅ   Úrv2Úrv3Úrv4Úrv5r\   s
             rE   Ú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 )NrM   ri   r™  rÎ  rš  r   Trž  r®  r®  )r'   r¦   r‡  r>   r   r¦  r   r—   )	r[   r‘  r  r  r’  r¦   r¢  r£  rS  s	            rE   Ú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Ð8rG   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‡  r>   r½   r—   r   ©r[   r‘  r  r  r*  rÅ   rÇ  s          rE   Ú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˜Ñ"Ô"Ð"Ð"Ð"rG   )Nr�  rŽ  r  r   r  c                 óü   — t          ||¦  «        }|                     d||                      ¦   «         ¬¦  «        }t          j        dt          |¦  «        t          |¦  «        f¦  «        }t          ||¦  «         d S )Nr›  r�  r¹  rº  s          rE   Ú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˜Ñ"Ô"Ð"Ð"Ð"rG   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   rN   rë   rŠ  Ú	rvs_rcont)Úscipy.stats._rcontr0   Ú_rcontr>   rÌ   Úint64rv   r–   r‡  r@   r—   )r[   rà   rÁ  r  r  r¦   ÚntotÚresults           rE   Ú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‰~Œ~ Ò%Ð%Ð%Ð%Ð%Ð%rG   c                 óØ  — ddg}g d¢}t          |||                      ¦   «         ¬¦  «        }|                     ¦   «         }t          j        ||¦  «        }t	          ||                     ¦   «         ¦  «         t          j        |||¦  «        }t	          ||                     |¦  «        ¦  «         t          j        |||¦  «        }t	          ||                     |¦  «        ¦  «         d S )NrM   ri   r™  r¤   )r'   r‡  r¦   r­   r   r¦  rœ  )r[   r  r  r*  r  rÇ  s         rE   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Ð0rG   c                 ó  — ddg}g d¢}t          |||                      ¦   «         ¬¦  «        }t          j        ||d||                      ¦   «         ¬¦  «        }|                     d|¬¦  «        }t          ||¦  «         d S )NrM   ri   r™  r¤   r›  rš  )r†   r‘  )r'   r‡  r¦   r   )r[   r‘  r  r  r*  rÇ  r“  s          rE   Ú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Ñ#Ô#Ð#Ð#Ð#rG   N)rÏ   rÐ   rÑ   r‡  rŒ  rR   rÖ   r×   r”  r—  r©  r¬  r¯  rµ  r·  r»  r½  rÅ  rÒ  rÈ  rÚ   rG   rE   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Ð'>Ñ?Ô?ð$ð $ñ @Ô?ð$ð $ð $rG   r…  c                 óî   — | j         }d| _          | j        |ddiŽ t          j        | ¦  «        } | j        |ddiŽ}t          j        |¦  «        } |j        |ddiŽ}t          ||¦  «         || _         d S )Nrj  r†   r£  )r£   r¦   ÚpickleÚdumpsÚloadsr   )ÚdistfnrC   r³  rè   Úr0Ú	unpickledÚr1s          rE   Úcheck_picklingrÑ    s“   € ð
 Ô€Dà€FÔØ€F„J�Ð˜1ÐÐÐÝŒ�VÑÔ€AØ	ˆŒ�TÐ	" Ð	"Ð	"€Bå”˜Q‘”€IØ	ˆŒ˜Ð	% 1Ð	%Ð	%€BÝ��RÑÔÐð €FÔÐÐrG   z2uses numpy global random state and monkey-patchingrÒ  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 )NrN   r  rb  rÍ  rÚ   rÉ   r›  rh   rP  rÔ  )r>   rV   r   r   rÌ   r   r   r   r   r   r9   rÑ  )r¼  ÚdistsrÍ  rC   s       rE   Útest_random_state_propertyrÔ    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Ñ$Ô$Ð$Ð$ð%ð %rG   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Ý   )rM   rN   rj   ri   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…   rl   rŠ   rÉ   )r>   r‘   r’   rø   r  r)   r¦   r½   rV   r   r@   r¿   r   r   )r[   rÝ   r†   r›   rg  Úvmf_distrn  r­   rÄ   rŸ  r   s              rE   rÈ  z TestVonMises_Fisher.test_samples.  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Ñ"Ô"Ð"Ð"Ð"rG   rh   r£  Úkappa)g  4&õkCr,  gêŒ 9Y>)Fc                 óè   — t           j                             d¦  «        }t          j        |fdt          j        |¦  «        z  ¦  «        }t          |||¬¦  «        }|                     d¦  «         d S )Nr�  r   r¤   r›  )r>   r‘   r’   rø   r  r)   r¦   )r[   rÝ   rÙ  r›   rg  rØ  s         rE   Ú test_sampling_high_concentrationz4TestVonMises_Fisher.test_sampling_high_concentration<  se   € õ Œi×#Ò#Ð$7Ñ8Ô8ˆÝŒW�c�W˜a¥¤¨¡¤™nÑ-Ô-ˆÝ" 2 u°3Ð7Ñ7Ô7ˆØ�Š�RÑÔÐÐÐrG   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.rK   r   ©r>   rU   rR   r
   rS   r)   ©r[   rg  rï  s      rE   Útest_two_dimensional_muz+TestVonMises_Fisher.test_two_dimensional_muE  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 )NrÔ  z%'mu' must be a unit vector of norm 1.rK   r   rÝ  rÞ  s      rE   Útest_wrong_norm_muz&TestVonMises_Fisher.test_wrong_norm_muK  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.rK   r   rÝ  rÞ  s      rE   Útest_one_entry_muz%TestVonMises_Fisher.test_one_entry_muQ  s�   € ÝŒW�U‰^Œ^ˆØ4ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	#ð 	#Ý˜B Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#rà  rl   )rh   rN   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.rK   r   r   ©rR   r
   rS   r)   ©r[   rÙ  rï  s      rE   Útest_kappa_validationz)TestVonMises_Fisher.test_kappa_validationW  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.rK   r   r   ræ  rç  s      rE   Ú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.rK   r   r   ©r>   rÌ   rR   r
   rS   ©r[   r‘  ra   rï  s       rE   Útest_invalid_shapes_pdf_logpdfz2TestVonMises_Fisher.test_invalid_shapes_pdf_logpdfg  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 )Nr  rÊ   ú8'x' must be unit vectors of norm 1 along last dimension.rK   r   r   rî  rï  s       rE   Útest_unnormalized_inputz+TestVonMises_Fisher.test_unnormalized_inputq  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\Á(?rO  r    gSô‹³ð-c                 óp   — t          ||¦  «                             |¦  «        }t          ||d¬¦  «         d S )Nr%  r®  )r)   rª   r   )r[   ra   rg  rÙ  Ú	referencerª   s         rE   Útest_pdf_accuracyz%TestVonMises_Fisher.test_pdf_accuracy…  s<   € õ4 ˜b %Ñ(Ô(×,Ò,¨QÑ/Ô/ˆÝ˜˜Y¨UÐ3Ñ3Ô3Ð3Ð3Ð3rG   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   )r[   ra   rg  rÙ  rö  r«   s         rE   Útest_logpdf_accuracyz(TestVonMises_Fisher.test_logpdf_accuracy¯  s<   € õ4 !  UÑ+Ô+×2Ò2°1Ñ5Ô5ˆÝ˜ 	°Ð6Ñ6Ô6Ð6Ð6Ð6rG   zdim, kappa, reference))rN   r$  g®©·£‰?@)rN   r£  g¡•p&ÕFü¿)rh   r  gT†;Ó·&À)r£  r   go›–ØZ@c                 óÄ   — t          j        |fdt          j        |¦  «        z  ¦  «        }t          ||¦  «                             ¦   «         }t          ||d¬¦  «         d S )Nr   g›+¡†›„=r®  )r>   rø   r  r)   r¬   r   )r[   rÝ   rÙ  rö  rg  r¬   s         rE   Útest_entropy_accuracyz)TestVonMises_Fisher.test_entropy_accuracyÚ  sY   € õ ŒW�c�W˜a¥¤¨¡¤™nÑ-Ô-ˆÝ! " eÑ,Ô,×4Ò4Ñ6Ô6ˆÝ˜ °Ð7Ñ7Ô7Ð7Ð7Ð7rG   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�  rN   r¼   r`  r   rh   r   rS  r®  )
r>   r‘   r’   r(   r¦   rø   r  r@   rƒ  r   )r[   r‘  Ú	testshaper›   ra   rg  rÙ  Ú
result_allrµ  r¶  Úcurrent_vals              rE   r¸  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rG   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ô  )rÂ  rÙ  rM   r›  r¼   )r>   r‘   r’   rÌ   r¥  r)   r+   r(   r¦   r   r¬   rª   r«   )	r[   r›   rg  Úmu_anglerÙ  ÚvmfÚvonmises_distÚvectorsr¬  s	            rE   Ú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ÐJrG   )rM   rN   ri   zkappa, mu_tol, kappa_tol))r   r	  r	  )r›  rÃ  rÃ  )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�  rF  r¼   rÊ   r   r  r®  )r>   rø   r  r)   r‘   r’   r¦   rM  Úarccosr„  r   )r[   rÝ   rÙ  Úmu_tolÚ	kappa_tolrg  rØ  r›   rÛ  rn  Úmu_fitÚ	kappa_fitÚangular_errors                rE   Ú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Ð9rG   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.rK   )r>   r½   rR   r
   rS   r)   rM  ©r[   ra   rï  s      rE   Ú#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ó  rK   )r>   rU   rR   r
   rS   r)   rM  r  s      rE   Ú test_fit_error_unnormalized_dataz4TestVonMises_Fisher.test_fit_error_unnormalized_data  sž   € ÝŒG�F‰OŒOˆØHˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	#ð 	#ÝÔ Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#r  c                 ó<  — t          j        g d¢¦  «        }d}t          ||¦  «        }t          ||d¬¦  «        }|                     d¬¦  «        }t          j        ||d¬¦  «        }|                     ¦   «         }t	          ||¦  «         t	          ||¦  «         d S )N)r   r   r   rh   r  r¤   r¼   )r>   rÌ   r)   r¦   r   )r[   rg  rÙ  r€  rS  r¨  r©  rT  s           rE   r£  z,TestVonMises_Fisher.test_frozen_distribution   sœ   € ÝŒX�i�i�iÑ Ô ˆØˆÝ   UÑ+Ô+ˆÝ% b¨%°cÐ:Ñ:Ô:ˆà�zŠz sˆzÑ+Ô+ˆÝÔ" 2 u¸3Ð?Ñ?Ô?ˆØ�ŠÑ Ô ˆå�T˜4Ñ Ô Ð Ý�T˜4Ñ Ô Ð Ð Ð rG   N)rÏ   rÐ   rÑ   rR   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Ú   rG   rE   rÖ  rÖ  -  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ñ /Ô.ð	:ð#ð #ð #ð#ð #ð #ð!ð !ð !ð !ð !rG   rÖ  c                   ó~  — e Zd Zed„ ¦   «         Z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£  rM   r…   r   rô  rl   rŠ   )r>   r‘   r’   r   r  r–   )r[   r2  r›   r  ra   rÁ   s         rE   Ú
get_paramsz#TestDirichletMultinomial.get_params/  sl   € åŒi×#Ò#Ð$5Ñ6Ô6ˆØ—’˜A˜s¨�Ñ+Ô+ˆØ�LŠL˜˜B a¨ VˆLÑ,Ô,ˆØ�EŠE�rˆE‰NŒNˆØ�A�u˜a Ð"Ð"rG   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 )Nr  r   r£  r›  rl   rŠ   )r>   r‘   r’   r   r  r–   r*   r   rœ  r¦  r­   r   rÄ   )r[   r›   r  ra   rÁ   r*  s         rE   rÒ  z$TestDirichletMultinomial.test_frozen7  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ÐBrG   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 )NrQ   ©rN   rj   rh   gp.¸U.¸µ?rÚ   r  r   r£  r›  rl   rŠ   g+»©œTº<)r>   rÌ   r–   r*   r¦  rœ  r   rq  r@   r‘   r’   r   r  )r[   ra   rÁ   r  rA   ÚlogresrB   r›   s           rE   Útest_pmf_logpmf_against_Rz2TestDirichletMultinomial.test_pmf_logpmf_against_RE  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¡¤Ñ,Ô,Ð,Ð,Ð,rG   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…   r  rM   )
r  r   r*   r¦  rœ  r>   rù   r‘   Úroundr�  )r[   r›   r2  r  rÁ   ra   rµ  s          rE   Útest_pmf_logpmf_supportz0TestDirichletMultinomial.test_pmf_logpmf_supportd  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ÐNrG   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 )Nri   r›  r   r   ©
r>   r?   r*   r   r¦  rœ  rù   r­   r   rÄ   ©r[   rÁ   r  ra   rÍ   s        rE   Útest_dimensionality_onez0TestDirichletMultinomial.test_dimensionality_onet  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 Ñ#Ô#Ð#Ð#Ð#rG   c                 óœ  — d}t          j        ddg¦  «        }t          j        ddg¦  «        }t          ||¦  «        }t          |                     |¦  «        d¦  «         t          |                     |dz   ¦  «        d¦  «         t          |                     |¦  «        d¦  «         t          |                     |dz   ¦  «        t           j         ¦  «         t          |                     ¦   «         ddg¦  «         t          |                     ¦   «         ddg¦  «         t          | 	                    ¦   «         ddgddgg¦  «         d S )Nr   rÉ   r   r$  r%  s        rE   Útest_n_is_zeroz'TestDirichletMultinomial.test_n_is_zeroƒ  s  € àˆÝ”
˜B ˜8Ñ$Ô$ˆÝŒJ˜˜1�vÑÔˆÝ$ U¨AÑ.Ô.ˆå�T—X’X˜a‘[”[ !Ñ$Ô$Ð$Ý�T—X’X˜a ™c‘]”] AÑ&Ô&Ð&Ý�T—[’[ ‘^”^ QÑ'Ô'Ð'Ý�T—[’[  1¡Ñ%Ô%­¬ wÑ/Ô/Ð/Ý�T—Y’Y‘[”[ 1 a &Ñ)Ô)Ð)Ý�T—X’X‘Z”Z ! Q Ñ(Ô(Ð(Ý�T—X’X‘Z”Z 1 a &¨1¨a¨&Ð!1Ñ2Ô2Ð2Ð2Ð2rG   Úmethod_namer¦  rœ  c                 ó$  — |                       d¦  «        \  }}}}}t          t          ||¦  «        |¦  «        }t          t          j        |g|j        ¢R Ž |¦  «        } ||¦  «        }	 ||j        d         ¦  «        }
t          |	|
¦  «         d S ©Nr£  r   ©r  rv   r*   r0   Ú	betabinomr˜   r   ©r[   r)  r›   r2  r  rÁ   ra   r‘  Ú
ref_methodrA   rB   s              rE   Ú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Ñ!Ô!Ð!Ð!Ð!rG   r­   r   c                 ó  — |                       d¦  «        \  }}}}}t          t          ||¦  «        |¦  «        }t          t          j        |g|j        ¢R Ž |¦  «        } |¦   «         d d …df         }	 |¦   «         }
t          |	|
¦  «         d S r+  r,  r.  s              rE   Ú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Ñ!Ô!Ð!Ð!Ð!rG   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 )Nr  rh   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   ru   r�  rË   r¿   rÀ   )
r[   r›   rÝ   rÁ   r  rÍ   r2  rS  ra   rÄ   s
             rE   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Ð4rG   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 )NrQ   r  z,`x` must contain only non-negative integers.rK   )r   rl   rN   )r   r‰  rN   z*`alpha` must contain only positive values.)rN   r   rj   )rN   rl   rj   z#`n` must be a non-negative integer.gÍÌÌÌÌŒH@rl   )r   rM   rN   rj   z&`x` and `alpha` must be broadcastable.)r>   rÌ   r–   rf  rS   r*   rœ  )r[   Úx0Ún0Úalpha0Útextra   r  s          rE   r]   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¸Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 5ˆÝ�:¨TÐ2Ñ2Ô2ð 	;ð 	;Ý!Ô(¨¨V°TÑ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;å�:¨TÐ2Ñ2Ô2ð 	9ð 	9Ý!Ô(¨¨V°RÑ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9õ Œ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  rà  ©rh   rh   rk   ©r£  r¹  r›  ri   rk   r£  rQ   )rM   rM   rN   )rM   r   r   rN   )rM   rN   rj   )
r>   rÌ   rÀ  rv   r*   r@   rƒ  r—   r©   r   )r[   r‘  r  rÁ   ra   rA   rµ  r¶  r‰  Úres_ijkrB   s              rE   Ú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ð 	2rG   )r­   r   rÄ   c                 ó  — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          j        dgdgdgg¦  «        }t          t          |¦  «        } |||¦  «        }|dk    r|j        d	k    snnJ ‚t          t          |¦  «        ¦  «        D ]w}t          t          |¦  «        ¦  «        D ]X}|||f         } |||                              ¦   «         ||                              ¦   «         ¦  «        }	t          ||	¦  «         ŒYŒxd S )
Nr  rà  r:  r;  ri   rk   r£  rÄ   )rN   rj   rN   )	r>   rÌ   rv   r*   r@   rƒ  r—   r©   r   )
r[   r)  r  rÁ   r‘  rA   r¶  r‰  r<  rB   s
             rE   Ú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Ò%Ð%Ð%Ð%Ð%ÐOÝ•s˜1‘v”v‘”ð 	.ð 	.ˆAÝ�3˜u™:œ:Ñ&Ô&ð .ð .�Ø˜a ˜dœ)�Ø�f˜U 1œX×-Ò-Ñ/Ô/°°1´·²±´Ñ@Ô@�Ý ¨Ñ-Ô-Ð-Ð-ð.ð	.ð 	.rG   N)rÏ   rÐ   rÑ   rL  r  rÒ  r  r"  r&  r(  rR   rÖ   r×   r0  r2  rÅ  r]   r=  r?  rÚ   rG   rE   r  r  .  sj  € € € € € Øð#ð #ñ „[ð#ðCð Cð Cð-ð -ð -ð>Oð Oð Oð $ð $ð $ð3ð 3ð 3ð „[×Ò˜]¨U°HÐ,=Ñ>Ô>ð"ð "ñ ?Ô>ð"ð „[×Ò˜]¨V°U¨OÑ<Ô<ð"ð "ñ =Ô<ð"ð5ð 5ð 5ð,<ð <ð <ð< „[×Ò˜X¨¨xÐ'8Ñ9Ô9ð2ð 2ñ :Ô9ð2ð „[×Ò˜]Ð,BÐ,BÐ,BÑCÔCð
.ð 
.ñ DÔCð
.ð 
.ð 
.rG   r  c                   ó  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej	        j
        ej	                             d¦  «        d„ ¦   «         ¦   «         Zej	                             dej        ej        ej        ej        g¦  «        d	„ ¦   «         Zd
S )ÚTestNormalInverseGammac           	      óX  ‡— t           j                             d¦  «        }|                     d¦  «        \  }}}}t          j        ||||¦  «        Št          j        d|z  |dt          j        ||z  |z  ¦  «        z  ¬¦  «        }t          j        ddd¦  «        }t          ˆfd	„d
t           j	        |f¬¦  «        }| 
                    |¦  «        }	t          |j        |	¦  «         ‰                     d|¬¦  «        }t          j        |d
         |j        ¦  «        \  }
}|dk    sJ ‚d S )Nì   �&( rj   rM   r   rÁ  rF  rh   rB  c                 ó0   •— ‰                      || ¦  «        S r=   ©rª   )r«  ra   Únorm_inv_gammas     €rE   rb   z8TestNormalInverseGamma.test_marginal_x.<locals>.<lambda>  ó   ø€  ^×%7Ò%7¸¸2Ñ%>Ô%>€ rG   r   ©rC   rF  r¢   rŸ   )r>   r‘   r’   r0   Únormal_inverse_gammar/  r  rA  r1   rù   rª   r   r  r¦   Úks_1samprµ   )r[   r›   rg  Úlmbdar"  r#  r/  ra   rA   rB   rß   r¦  rF  s               @rE   Útest_marginal_xz&TestNormalInverseGamma.test_marginal_xû  s  ø€ õ Œi×#Ò# JÑ/Ô/ˆØŸ*š* Q™-œ-‰ˆˆE�1�aåÔ3°B¸¸qÀ!ÑDÔDˆÝŒG�A�a‘C˜R q­¬°°U±¸Q±Ñ)?Ô)?Ñ'?Ð@Ñ@Ô@ˆõ ŒK˜˜A˜rÑ"Ô"ˆÝÐ>Ð>Ð>Ð>ÀÅ2Ä6ÐQRÐPTÐUÑUÔUˆØ�eŠe�A‰hŒhˆÝ˜œ cÑ*Ô*Ð*ð × Ò  e¸#Ð Ñ>Ô>ˆÝ”N 3 q¤6¨1¬5Ñ1Ô1‰	ˆˆ6Ø˜Š|ˆ|ˆ|ˆ|ˆ|ˆ|rG   c                 ó0  ‡— t           j                             d¦  «        }|                     d¦  «        \  }}}}t          j        ||||¦  «        Št          j        ||¬¦  «        }t          j        ddd¦  «        }t          ˆfd„t           j         t           j        |f¬¦  «        }| 	                    |¦  «        }	t          |j        |	¦  «         ‰                     d|¬	¦  «        }t          j        |d
         |j        ¦  «        \  }
}|dk    sJ ‚d S )NrC  rj   r“  rŸ   r›  c                 ó0   •— ‰                      | |¦  «        S r=   rE  )ra   r«  rF  s     €rE   rb   z9TestNormalInverseGamma.test_marginal_s2.<locals>.<lambda>  rG  rG   rH  rF  r¢   r   )r>   r‘   r’   r0   rI  r   rA  r1   rù   rª   r   r  r¦   rJ  rµ   )r[   r›   rg  rK  r"  r#  Ú	inv_gammar«  rA   rB   rß   r¦  rF  s               @rE   Útest_marginal_s2z'TestNormalInverseGamma.test_marginal_s2  s  ø€ õ Œi×#Ò# JÑ/Ô/ˆØŸ*š* Q™-œ-‰ˆˆE�1�aåÔ3°B¸¸qÀ!ÑDÔDˆÝ”N 1¨AÐ.Ñ.Ô.ˆ	õ Œ[˜˜b "Ñ%Ô%ˆÝÐ>Ð>Ð>Ð>Ýœ�w¥¤¨b¨Uð4ñ 4ô 4ˆà�mŠm˜BÑÔˆÝ˜œ cÑ*Ô*Ð*ð × Ò  e¸#Ð Ñ>Ô>ˆÝ”N 3 q¤6¨9¬=Ñ9Ô9‰	ˆˆ6Ø˜Š|ˆ|ˆ|ˆ|ˆ|ˆ|rG   c                 ó˜  — t           j                             d¦  «        }|                     d¦  «        dz
  \  }}}}|                     d¬¦  «        dz
  \  }}t          j        ||||¦  «                             ||¦  «        }t          j                             ||||||¦  «        }	t          |t          j        |	¦  «        ¦  «         d S )NrC  )rj   rô  rA  )rM   rô  r…   )	r>   r‘   r’   r0   rI  rª   r«   r   r¤  )
r[   r›   rg  rK  r"  r#  ra   r«  rA   rB   s
             rE   Útest_pdf_logpdfz&TestNormalInverseGamma.test_pdf_logpdf&  sµ   € åŒi×#Ò# JÑ/Ô/ˆØŸ*š* WÑ-Ô-°Ñ4‰ˆˆE�1�aØ—
’
 �
Ñ(Ô(¨4Ñ/‰ˆˆ2ÝÔ(¨¨U°A°qÑ9Ô9×=Ò=¸aÀÑDÔDˆÝÔ(×/Ò/°°2°r¸5À!ÀQÑGÔGˆÝ˜�RœV C™[œ[Ñ)Ô)Ð)Ð)Ð)rG   c                 óò  — t           j                             d¦  «        }|                     d¦  «        \  }}}}|                     d¦  «        \  }}t          j        t           j        |||¦  «                             ||¦  «        }t          |t           j        ¦  «         t          j        |d||¦  «                             ||¦  «        }t          |t           j        ¦  «         t          j        ||d|¦  «                             ||¦  «        }t          |t           j        ¦  «         t          j        |||d¦  «                             ||¦  «        }t          |t           j        ¦  «         t          j        ||||¦  «                             |d¦  «        }t          |d¦  «         t          j        |dt           j        g||¦  «                             |d¦  «        }t          |t           j        ¦  «         t          j        |d||¦  «                             ¦   «         }t          |t           j        t           j        f¦  «         t          j        ||d|¦  «         	                    ¦   «         }t          |t           j        t           j        f¦  «         t          j        t          d¬¦  «        5  t          j        |||d¦  «                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )NrC  rj   rM   rl   r   zDomain error in arguments...rK   )r>   r‘   r’   r0   rI  rå  rª   r   r­   r   rR   r
   rS   r¦   )	r[   r›   rg  rK  r"  r#  ra   r«  rA   s	            rE   Útest_invalid_and_special_casesz5TestNormalInverseGamma.test_invalid_and_special_cases/  s¬  € åŒi×#Ò# JÑ/Ô/ˆØŸ*š* Q™-œ-‰ˆˆE�1�aØ—
’
˜1‘”‰ˆˆ2åÔ(­¬°¸¸1Ñ=Ô=×AÒAÀ!ÀRÑHÔHˆÝ�S�"œ&Ñ!Ô!Ð!åÔ(¨¨R°°AÑ6Ô6×:Ò:¸1¸bÑAÔAˆÝ�S�"œ&Ñ!Ô!Ð!åÔ(¨¨U°A°qÑ9Ô9×=Ò=¸aÀÑDÔDˆÝ�S�"œ&Ñ!Ô!Ð!åÔ(¨¨U°A°rÑ:Ô:×>Ò>¸qÀ"ÑEÔEˆÝ�S�"œ&Ñ!Ô!Ð!åÔ(¨¨U°A°qÑ9Ô9×=Ò=¸aÀÑDÔDˆÝ�S˜!ÑÔÐõ Ô(¨¨bµ"´&¨\¸1¸aÑ@Ô@×DÒDÀQÈÑKÔKˆÝ�S�"œ&Ñ!Ô!Ð!åÔ(¨¨R°°AÑ6Ô6×;Ò;Ñ=Ô=ˆÝ�S�2œ6¥2¤6Ð*Ñ+Ô+Ð+åÔ(¨¨U°B¸Ñ:Ô:×>Ò>Ñ@Ô@ˆÝ�S�2œ6¥2¤6Ð*Ñ+Ô+Ð+åŒ]�:Ð-KÐLÑLÔLð 	?ð 	?ÝÔ& r¨5°!°RÑ8Ô8×<Ò<Ñ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð 	?ð 	?s   Ê5*K,Ë,K0Ë3K0c                 ó  — t           j                             d¦  «        }|                     d¦  «        }|                     d¦  «        dz   }|                     d¦  «        }|                     d¦  «        }|                     d¦  «        }|                     d¦  «        }t          j        ||||¦  «        }t          j        ||||||¦  «        }	d„ |	D ¦   «         }
|                     ||¦  «        }|j        |	d	         j        k    sJ ‚t          | 	                    ¦   «         t          j        j        |
Ž ¦  «         | 
                    ||¦  «        }|j        |	d	         j        k    sJ ‚t          | 	                    ¦   «         t          j        j
        |
Ž ¦  «         t          j        ||||¦  «        }	d
„ |	D ¦   «         }
|                     ¦   «         }|d	         j        |	d	         j        k    sJ ‚t          |d	          	                    ¦   «         |d          	                    ¦   «         ft          j        j        |
Ž ¦  «         |                     ¦   «         }|d	         j        |	d	         j        k    sJ ‚t          |d	          	                    ¦   «         |d          	                    ¦   «         ft          j        j        |
Ž ¦  «         d}t           j                             d¦  «        }|                     ||¬¦  «        }t           j                             d¦  «        }d}t          j        j        |
||dœŽ}t          |d	                              |¦  «        |d                              |¦  «        f|¦  «         d S )NrC  rM   )rN   r   )rj   r   r   )rh   r   r   r   )ri   r   r   r   r   )rk   r   r   r   r   r   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rÚ   ©r>   r½  ©ró  Úarrs     rE   rô  z<TestNormalInverseGamma.test_broadcasting.<locals>.<listcomp>`  ó    € ÐDÐDÐD°�rœx¨™}œ}ÐDÐDÐDrG   r   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rÚ   rW  rX  s     rE   rô  z<TestNormalInverseGamma.test_broadcasting.<locals>.<listcomp>n  rZ  rG   r   )ri   rh   rj   rN   rM   l   ¬�M‹r¢   )ri   éx   )r>   r‘   r’   r0   rI  Úbroadcast_arraysrª   r@   r   r½  r«   r­   r   r¦   rÀ  )r[   r›   r#  r"  rK  rg  r«  ra   rÍ   ÚbroadcastedÚbroadcasted_raveledrA   r†   r@   rB   s                  rE   r¸  z(TestNormalInverseGamma.test_broadcastingQ  s1  € õ Œi×#Ò# JÑ/Ô/ˆØ�JŠJ�q‰MŒMˆØ�JŠJ�vÑÔ Ñ"ˆØ—
’
˜9Ñ%Ô%ˆØ�ZŠZ˜Ñ%Ô%ˆØ�ZŠZ˜Ñ(Ô(ˆØ�JŠJÐ)Ñ*Ô*ˆÝÔ)¨"¨e°Q¸Ñ:Ô:ˆõ Ô)¨!¨R°°U¸A¸qÑAÔAˆØDÐD¸ÐDÑDÔDÐà�hŠh�q˜"‰oŒoˆØŒy˜K¨œNÔ0Ò0Ð0Ð0Ð0Ý˜Ÿ	š	™œÝÔ2Ô6Ð8KÐLñ	Nô 	Nð 	Nð �kŠk˜!˜RÑ Ô ˆØŒy˜K¨œNÔ0Ò0Ð0Ð0Ð0Ý˜Ÿ	š	™œÝÔ2Ô9Ð;NÐOñ	Qô 	Qð 	Qõ Ô)¨"¨e°Q¸Ñ:Ô:ˆØDÐD¸ÐDÑDÔDÐà�iŠi‰kŒkˆØ�1ŒvŒ|˜{¨1œ~Ô3Ò3Ð3Ð3Ð3Ý˜˜QœŸš™œ¨¨Q¬¯ª©¬Ð8ÝÔ2Ô7Ð9LÐMñ	Oô 	Oð 	Oð �hŠh‰jŒjˆØ�1ŒvŒ|˜{¨1œ~Ô3Ò3Ð3Ð3Ð3Ý˜˜QœŸš™œ¨¨Q¬¯ª©¬Ð8ÝÔ2Ô6Ð8KÐLñ	Nô 	Nð 	Nð ˆÝŒi×#Ò# MÑ2Ô2ˆØ�hŠh˜D¨sˆhÑ3Ô3ˆÝŒi×#Ò# MÑ2Ô2ˆØˆÝÔ(Ô,Ð.AÈØ:=ð?ð ?ð ?ˆå˜˜QœŸš¨Ñ.Ô.°°A´·²¸uÑ0EÔ0EÐFÈÑLÔLÐLÐLÐLrG   r›  c                 ó&  ‡— t           j                             d¦  «        }|                     d¦  «        \  }}}}|dz  }t          j        ||||¦  «        Š‰                     ¦   «         }t          ˆfd„t           j         t           j        dt           j        ¦  «        }t          |d         |d         d¬¦  «         t          ˆfd„t           j         t           j        dt           j        ¦  «        }t          |d	         |d         d¬¦  «         d S )
NrC  rj   rM   c                 ó6   •— ‰                      || ¦  «        |z  S r=   rE  ©r«  ra   rÍ   s     €rE   rb   z5TestNormalInverseGamma.test_moments.<locals>.<lambda>�  s   ø€  D§H¢H¨Q°¡O¤O°aÑ$7€ rG   r   r  r®  c                 ó6   •— ‰                      || ¦  «        | z  S r=   rE  rb  s     €rE   rb   z5TestNormalInverseGamma.test_moments.<locals>.<lambda>’  s   ø€  D§H¢H¨Q°¡O¤O°bÑ$8€ rG   r   )	r>   r‘   r’   r0   rI  r­   r6   rù   r   )	r[   r›   rg  rK  r"  r#  rA   rB   rÍ   s	           @rE   rÅ  z#TestNormalInverseGamma.test_moments„  së   ø€ õ Œi×#Ò# JÑ/Ô/ˆØŸ*š* Q™-œ-‰ˆˆE�1�aØ	ˆQ‰ˆåÔ)¨"¨e°Q¸Ñ:Ô:ˆØ�iŠi‰kŒkˆåÐ7Ð7Ð7Ð7½"¼&¸Å"Ä&È!ÍRÌVÑTÔTˆÝ˜˜Aœ  A¤¨TÐ2Ñ2Ô2Ð2åÐ8Ð8Ð8Ð8½2¼6¸'Å2Ä6È1ÍbÌfÑUÔUˆÝ˜˜Aœ  A¤¨TÐ2Ñ2Ô2Ð2Ð2Ð2rG   rì   c                 óˆ  — t           j        dk     rt          j        d¦  «         t           j                             d¦  «        }|                     ddd¬¦  «                             |¦  «        \  }}}}}}t          j        d|¦  «        }	t          j
        ||||¦  «        }
|
                     ¦   «         d	         j        |	k    sJ ‚|
                     ¦   «         d
         j        |	k    sJ ‚|
                     ¦   «         d	         j        |	k    sJ ‚|
                     ¦   «         d
         j        |	k    sJ ‚|
                     ¦   «         d	         j        |	k    sJ ‚|
                     ¦   «         d
         j        |	k    sJ ‚|
                     ||¦  «        j        |	k    sJ ‚|
                     ||¦  «        j        |	k    sJ ‚d S )NÚ2z*Scalar dtypes only respected after NEP 50.rC  rN   r›  ri   r…   rÉ   r   r   )r>   Ú__version__rR   r�   r‘   r’   r   ÚastypeÚresult_typer0   rI  r¦   rì   r­   r   r«   rª   )r[   rì   r›   ra   r«  rg  rK  r"  r#  Ú	dtype_outrÍ   s              rE   Ú
test_dtypez!TestNormalInverseGamma.test_dtype•  s–  € åŒ>˜CÒÐÝŒKÐDÑEÔEÐEÝŒi×#Ò# JÑ/Ô/ˆØ!$§¢¨Q°¸ Ñ!;Ô!;×!BÒ!BÀ5Ñ!IÔ!IÑˆˆ2ˆr�5˜!˜QÝ”N 3¨Ñ.Ô.ˆ	ÝÔ)¨"¨e°Q¸Ñ:Ô:ˆØ�xŠx‰zŒz˜!Œ}Ô" iÒ/Ð/Ð/Ð/Ø�xŠx‰zŒz˜!Œ}Ô" iÒ/Ð/Ð/Ð/Ø�yŠy‰{Œ{˜1Œ~Ô# yÒ0Ð0Ð0Ð0Ø�yŠy‰{Œ{˜1Œ~Ô# yÒ0Ð0Ð0Ð0Ø�xŠx‰zŒz˜!Œ}Ô" iÒ/Ð/Ð/Ð/Ø�xŠx‰zŒz˜!Œ}Ô" iÒ/Ð/Ð/Ð/Ø�{Š{˜1˜bÑ!Ô!Ô'¨9Ò4Ð4Ð4Ð4Ø�xŠx˜˜2‰ŒÔ$¨	Ò1Ð1Ð1Ð1Ð1Ð1rG   N)rÏ   rÐ   rÑ   rL  rP  rR  rT  r¸  rR   rÖ   r|  Ú	fail_slowrÅ  r×   r>   Úint32Úfloat16rî  r¼  rj  rÚ   rG   rE   rA  rA  ù  sà   € € € € € ðð ð ð*ð ð ð,*ð *ð *ð ?ð  ?ð  ?ðD1Mð 1Mð 1Mðf „[ÔØ„[×Ò˜2ÑÔð3ð 3ñ Ôñ Ôð3ð „[×Ò˜W r¤x°´¸R¼ZÈÌÐ&TÑUÔUð2ð 2ñ VÔUð2ð 2ð 2rG   rA  r?  )lrG  rÊ  Údataclassesr   Únumpy.testingr   r   r   r   r   r	   rR   r
   rf  Útest_continuous_basicr   Únumpyr>   Ú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.stats._continuous_distnsr/   r4  r0   Úscipy.integrater1   r2   r3   r4   r5   r6   r7   Úscipy.specialr8   r-  Úcommon_testsr9   Ú	data._mvtr:   Úunittest.mockr;   rF   rI   râ   ré   rý   rÿ   rO  r`  r~  r�  rÊ  r  rk  rm  r˜  rð  r  rN  rv  rš  r±  rÀ  rE  r…  rÑ  rÖ   rA  rÔ  rÖ  r  rA  rÚ   rG   rE   ú<module>r{     s6  ððð ð €€€Ø !Ð !Ð !Ð !Ð !Ð !ð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ðDð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð 0Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø @Ð @Ð @Ð @Ð @Ð @Ø Ð Ð Ð Ð Ð à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð ð'ð 'ð 'ð]!ð ]!ð ]!ð ]!ð ]!ñ ]!ô ]!ð ]!ð@ð ð ð ðð ð ð+ð +ð +ð. ðAð Að Að Að Añ Aô Añ „ðAðH ðXð Xð Xð Xð Xñ Xô Xñ „ðXðv
)ð 
)ð 
)ð 
)ð 
)ñ 
)ô 
)ð 
)ðDGð Gð Gð Gð Gñ Gô Gð GðTH*ð H*ð H*ð H*ð H*ñ H*ô H*ð H*ðVO?ð O?ð O?ð O?ð O?ñ O?ô O?ð O?ðdE1ð E1ð E1ð E1ð E1ñ E1ô E1ð E1ðP-ð -ð -ð&i9ð i9ð i9ð i9ð i9ñ i9ô i9ð i9ðVz;ð z;ð z;ð z;ð z;ñ z;ô z;ð z;ðza(ð a(ð a(ð a(ð a(ñ a(ô a(ð a(ðHGJð GJð GJð GJð GJñ GJô GJð GJðT~&ð ~&ð ~&ð ~&ð ~&ñ ~&ô ~&ð ~&ðBd#ð d#ð d#ð d#ð d#ñ d#ô d#ð d#ðN6+ð 6+ð 6+ð 6+ð 6+ñ 6+ô 6+ð 6+ðr>Dð >Dð >Dð >Dð >Dñ >Dô >Dð >DðBX,ð X,ð X,ð X,ð X,ñ X,ô X,ð X,ðv`%ð `%ð `%ð `%ð `%ñ `%ô `%ð `%ðFh$ð h$ð h$ð h$ð h$ñ h$ô h$ð h$ðV	ð ð ð( „×ÒÐ"VÐÑWÔWð%ð %ñ XÔWð%ð$~!ð ~!ð ~!ð ~!ð ~!ñ ~!ô ~!ð ~!ðBH.ð H.ð H.ð H.ð H.ñ H.ô H.ð H.ðVk2ð k2ð k2ð k2ð k2ñ k2ô k2ð k2ð k2ð k2rG   