Ë
    7^(hÒ  ã                   óJ  — d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZmZm Z!m"Z#m$Z$m%Z&m'Z(m)Z*m+Z+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4m5Z5 d dl6m7Z7 d„ Z8d„ Z9d„ Z:d„ Z;d„ Z<d„ Z=d„ Z>d„ Z?d„ Z@y)é    )ÚProduct)ÚLambda)ÚIÚRationalÚpi)ÚS)ÚDummy)ÚAbs)Úexp)Úsqrt)ÚIntegral)ÚMatrix)ÚMatrixSymbol)ÚTrace)ÚIndexedBase)ÚGaussianUnitaryEnsembleÚdensityÚGaussianOrthogonalEnsembleÚGaussianSymplecticEnsembleÚjoint_eigen_distributionÚCircularUnitaryEnsembleÚCircularOrthogonalEnsembleÚCircularSymplecticEnsembleÚJointEigenDistributionÚlevel_spacing_distributionÚNormalÚBeta)ÚJointDistributionHandmade)ÚRandomMatrixSymbol)ÚGaussianEnsembleÚRandomMatrixPSpace)Úraisesc                  ó†   — t        dd«      } t        | «      | j                  j                  k(  sJ ‚t	        t
        d„ «       y )NÚGé   c                  ó   — t        dd«      S )Nr$   g      @)r    © ó    úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/stats/tests/test_random_matrix.pyú<lambda>z'test_GaussianEnsemble.<locals>.<lambda>    s   € Ô/°°SÓ9€ r(   )r    r   ÚpspaceÚmodelr"   Ú
ValueError)r$   s    r)   Útest_GaussianEnsembler.      s3   € Ü˜˜aÓ €AÜ�1‹:˜Ÿ™Ÿ™Ò'Ð'Ð'Ü
Œ:Ñ9Õ:r(   c                  óN  — t        ddd«      } t        dd«      } t        |«      | «      t        d«      t	        dt        | dz  «      z  dz  «      z  dt        t        dd«      z  z  z  k(  sJ ‚t        dd	d	¬
«      t        dd	d	¬
«      }}t        d«      }t        |«      j                  t        |d   |d   |d   fdt        d«      z  t	        d|d   dz  z  dz  d|d   dz  z  dz  z
  d|d   dz  z  dz  z
  «      z  t        t        ||   ||   z
  «      dz  ||dz   df|ddf«      z  dt        t        dd«      z  z  z  «      «      sJ ‚t        d«      }t        |«      j                  t        |d|dz  z  t	        d|dz  z  t        z  «      z  t        dz  z  «      «      sJ ‚y )NÚHr%   ÚUé   éýÿÿÿé   é	   ÚiT©ÚintegerÚpositiveÚjÚlé   é   é   é   Úsé    éüÿÿÿ)r   ÚGUEr   r   r   r   r   r   r	   r   r   Údummy_eqr   r   r
   r   )r0   r$   r6   r:   r;   r@   s         r)   Útest_GaussianUnitaryEnsemblerE   "   sÅ  € Ü˜3  1Ó%€AÜˆC�‹€AØŒ7�1‹:�a‹=œD ›G¤C¨¬5°°A±«;©°qÑ(8Ó$9Ñ9¸1¼RÄÈ!ÈQÃÑ=OÑ;OÑPÒPÐPÐPÜ�#˜t¨dÔ3Ü�#˜t¨dÔ3ð 	€Aä�CÓ€AÜ# AÓ&×/Ñ/Ü�A�a‘D˜!˜A™$  !¡Ð%ØŒt�A‹w‰J”s˜2˜q ™t Q™w™<¨™>¨A¨q°©t°Q©w©K¸©MÑ9¸A¸qÀ¹tÀQ¹w¹KÈ¹MÑIÓJÑJÜ”C˜˜!™˜q ™t™Ó$ aÑ'¨!¨Q°©U°A¨¸¸A¸q¸	ÓBñCØDFÄrÌ8ÐTUÐWXË>ÑGYÑDYñ[ó\ô]ð ]ð ]ô 	ˆc‹
€AÜ% aÓ(×1Ñ1´&¸¸B¸qÀ!¹t¹GÄCÈÈ1ÈaÉ4ÉÔPRÉ
ÃOÑ<SÔTVÐXYÑTYÑ<YÓ2ZÔ[Ð[Ñ[r(   c                  óH  — t        ddd«      } t        ddd«      }t        dd«      } t        |«      | «      t	        dt        | dz  «      z  dz  «      t        t	        dt        |dz  «      z  dz  «      |«      z  k(  sJ ‚t        dd	d	¬
«      t        dd	d	¬
«      }}t        d«      }t        |«      j                  t        |d   |d   |d   fdt        d«      z  t	        d|d   dz  z  dz  d|d   dz  z  dz  z
  d|d   dz  z  dz  z
  «      z  t        t        ||   ||   z
  «      ||dz   df|ddf«      z  dt        z  z  «      «      sJ ‚t        d«      }t!        |«      j                  t        ||t        z  t	        |dz   t        z  dz  «      z  dz  «      «      sJ ‚y )Nr0   r%   Ú_HÚOr3   r2   r4   r6   Tr7   r:   r;   r<   r5   rA   r@   )r   r   ÚGOEr   r   r   r   r	   r   r   rD   r   r   r   r
   r   r   ©r0   rG   r$   r6   r:   r;   r@   s          r)   Útest_GaussianOrthogonalEnsemblerK   1   s¼  € Ü˜3  1Ó%€AÜ	�d˜A˜qÓ	!€BÜˆC�‹€AØŒ7�1‹:�a‹=œC ¤5¨¨A©£;¡¨qÑ 0Ó1´(¼3¸rÄ%ÈÈAÉÃ,¹ÈqÑ?PÓ;QÐSUÓ2VÑVÒVÐVÐVÜ�#˜t¨dÔ3Ü�#˜t¨dÔ3ð 	€Aä�CÓ€AÜ# AÓ&×/Ñ/Ü�A�a‘D˜!˜A™$  !¡Ð%ØŒd�1‹g‰I”c˜"˜Q˜q™T 1™W™* Q™,¨¨1¨Q©4°©7©°1©Ñ4°q¸¸1¹¸q¹±yÀ±{ÑBÓCÑCÜ”C˜˜!™˜q ™t™Ó$ q¨!¨a©%° m°a¸¸A°YÓ?ñ@ØACÄBÁñHóIôJð Jð Jô 	ˆc‹
€AÜ% aÓ(×1Ñ1´&¸¸A¼b¹DÄÀaÈÁdÀUÌ2ÁXÈaÁZÃÑ<PÐQRÑ<RÓ2SÔTÐTÑTr(   c                  ó„  — t        ddd«      } t        ddd«      }t        dd«      } t        |«      | «      t	        dt        | dz  «      z  «      t        t	        dt        |dz  «      z  «      |«      z  k(  sJ ‚t        ddd¬	«      t        d
dd¬	«      }}t        d«      }t        |«      j                  t        |d   |d   |d   fdt        d«      z  t	        d|d   dz  z  dz  d|d   dz  z  dz  z
  d|d   dz  z  dz  z
  «      z  t        t        ||   ||   z
  «      dz  ||dz   df|ddf«      z  dt        t!        dd«      z  z  z  «      «      sJ ‚t        d«      }t#        |«      j                  t        |t%        d«      |dz  z  t	        d|dz  z  dt        z  z  «      z  dt        dz  z  z  «      «      sJ ‚y )Nr0   r%   rG   rH   r3   r2   r6   Tr7   r:   r;   r<   é¢   r4   é   r@   i   iÀÿÿÿr5   iÙ  )r   r   ÚGSEr   r   r   r   r	   r   r   rD   r   r   r   r
   r   r   r   r   rJ   s          r)   Útest_GaussianSymplecticEnsemblerP   @   sá  € Ü˜3  1Ó%€AÜ	�d˜A˜qÓ	!€BÜˆC�‹€AØŒ7�1‹:�a‹=œC ¤5¨¨A©£;¡Ó/´¼¸RÄÀbÈ!ÁeÃ¹_Ó9MÈrÓ0RÑRÒRÐRÐRÜ�#˜t¨dÔ3Ü�#˜t¨dÔ3ð 	€Aä�CÓ€AÜ# AÓ&×/Ñ/Ü�A�a‘D˜!˜A™$  !¡Ð%Ø”�Q“‰Kœ˜B˜q ™t Q™w™J q™L¨1¨Q¨q©T°1©W©9°Q©;Ñ6¸¸1¸Q¹4À¹7¹À1¹ÑDÓEÑEÜ”C˜˜!™˜q ™t™Ó$ aÑ'¨!¨Q°©U°A¨¸¸A¸q¸	ÓBñCØDEÄbÌ(ÐSTÐVWË.ÑFXÑDXñZó[ô\ð \ð \ô 	ˆc‹
€AÜ% aÓ(×1Ñ1´&¸¼A¸f»IÀaÈÁd¹NÌ3ÈsÐSTÐVWÑSWÉxÐYZÔ[]ÑY]ÉÓK_Ñ<_ÐadÔegÐijÑejÑajÑ<kÓ2lÔmÐmÑmr(   c                  óz  — t        dd«      } t        ddd¬«      t        ddd¬«      }}t        d«      }t        | «      j	                  t        |d   |d	   |d   ft        t        t        t        ||   z  «      t        t        ||   z  «      z
  «      d	z  ||dz   df|dd	f«      d
t        dz  z  z  «      «      sJ ‚y ©Nr1   r%   r:   Tr7   ÚkÚtr<   r2   é0   )ÚCUEr	   r   r   rD   r   r   r
   r   r   r   )ÚCUr:   rS   rT   s       r)   Útest_CircularUnitaryEnsemblerX   O   sÆ   € Ü	ˆS�!‹€BÜ�#˜t¨dÔ3Ü�#˜t¨dÔ3ð 	€Aä�CÓ€AÜ# BÓ'×0Ñ0Ü�A�a‘D˜!˜A™$  !¡Ð%Ü”CœœA˜a ™d™F›¤c¬!¨A¨a©D©&£kÑ1Ó2°AÑ5Ø��A‘�qˆM˜A˜q !˜9ó&Ø')¬"¨a©%¡xñ1ó2ôð ñ r(   c                  ót  — t        dd«      } t        ddd¬«      t        ddd¬«      }}t        d«      }t        | «      j	                  t        |d   |d	   |d   ft        t        t        t        ||   z  «      t        t        ||   z  «      z
  «      ||dz   df|dd	f«      d
t        d	z  z  z  «      «      sJ ‚y rR   )ÚCOEr	   r   r   rD   r   r   r
   r   r   r   )ÚCOr:   rS   rT   s       r)   Útest_CircularOrthogonalEnsembler\   Z   sÁ   € Ü	ˆS�!‹€BÜ�#˜t¨dÔ3Ü�#˜t¨dÔ3ð 	€Aä�CÓ€AÜ# BÓ'×0Ñ0Ü�A�a‘D˜!˜A™$  !¡Ð%Ü”CœœA˜a ™d™F›¤c¬!¨A¨a©D©&£kÑ1Ó2Ø��A‘�qˆM˜A˜q !˜9ó&Ø')¬"¨a©%¡xñ1ó2ôð ñ r(   c                  óz  — t        dd«      } t        ddd¬«      t        ddd¬«      }}t        d«      }t        | «      j	                  t        |d   |d	   |d   ft        t        t        t        ||   z  «      t        t        ||   z  «      z
  «      d
z  ||dz   df|dd	f«      dt        dz  z  z  «      «      sJ ‚y )Nr1   r%   r:   Tr7   rS   rT   r<   r2   r4   iÐ  )ÚCSEr	   r   r   rD   r   r   r
   r   r   r   )ÚCSr:   rS   rT   s       r)   Útest_CircularSymplecticEnsembler`   e   sÆ   € Ü	ˆS�!‹€BÜ�#˜t¨dÔ3Ü�#˜t¨dÔ3ð 	€Aä�CÓ€AÜ# BÓ'×0Ñ0Ü�A�a‘D˜!˜A™$  !¡Ð%Ü”CœœA˜a ™d™F›¤c¬!¨A¨a©D©&£kÑ1Ó2°AÑ5Ø��A‘�qˆM˜A˜q !˜9ó&Ø'*¬2¨q©5¡yñ2ó3ôð ñ r(   c            
      ó  — t        t        ddd«      t        ddd«      gt        ddd«      t        ddd«      gg«      } t        | «      t	        t        | d   dz  d| d   z  | d	   z  z
  d
| d   z  | d   z  z   | d	   dz  z   «       dz  | d   dz  z   | d	   dz  z   t        | d   dz  d| d   z  | d	   z  z
  d
| d   z  | d   z  z   | d	   dz  z   «      dz  | d   dz  z   | d	   dz  z   «      k(  sJ ‚t        t        d„ «       y )NÚA00r   r<   ÚA01ÚA10ÚA11)r   r   r2   )r<   r<   r4   )r   r<   )r<   r   c                  ó6   — t        t        ddgddgg«      «      S )Nr<   r   r2   )r   r   r'   r(   r)   r*   z-test_JointEigenDistribution.<locals>.<lambda>v   s   € Ô5´f¸qÀ!¸fÀqÈ!ÀfÐ=MÓ6NÓO€ r(   )r   r   r   r   r   r   r"   r-   )ÚAs    r)   Útest_JointEigenDistributionrh   p   sc  € Ü”˜˜q !Ó$¤f¨U°A°qÓ&9Ð:Ü�e˜Q Ó"¤D¨°°1Ó$5Ð6ð8ó 	9€Aä! !Ó$Üœt A d¡G¨Q¡J°°1°T±7±¸1¸T¹7Ñ1BÑ$BÀQÀqÈÁwÁYÈqÐQUÉwÑEVÑ$VÐYZÐ[_ÑY`ÐbcÑYcÑ$cÓdÐdÐefÑfØ€d�GˆA�IñØ�$‘˜‘	ñÜ  $¡¨¡
¨Q¨q°©w©Y°q¸±wÑ->Ñ >ÀÀ1ÀTÁ7ÁÈ1ÈTÉ7ÑARÑ RÐUVÐW[ÑU\Ð^_ÑU_Ñ _Ó`ÐabÑbÐefÐgkÑelÐmnÑenÑnÐqrÐswÑqxÐyzÑqzÑzó|ò|ð |ð |ô Œ:ÑOÕPr(   c                  ó,  — t        dd«      } | j                  ddi«      }| j                  |j                  k(  sJ ‚t        ddd«      }t	        dd«      }t        dt        |«      ¬«      }t        ddd|¬«      }t        dddd ¬«      }|j                  «       |k(  sJ ‚d|z  j                  ||i«      d|z  k(  sJ ‚d|z  j                  ||i«      d|z  k(  sJ ‚d|z  j                  ||i«      d|z  k(  sJ ‚d|z  j                  ||i«      d|z  k(  sJ ‚y )Nr1   r2   ÚXÚP)r,   r0   )r+   )	rC   ÚxreplaceÚargsr   rO   r!   r   r   Údoit)ÚG1ÚG2rj   r$   Úh_pspacer0   ÚH2s          r)   Útest_issue_19841rs   x   s  € Ü	ˆS�!‹€BØ	�‰�a˜�VÓ	€BØ�7‰7�b—g‘gÒÐÐä�S˜!˜QÓ€AÜˆC�‹€AÜ! #¬W°Q«ZÔ8€HÜ˜3  1¨XÔ6€AÜ	˜C  A¨dÔ	3€BØ�6‰6‹8�qŠ=Ðˆ=àˆa‰C�>‰>˜1˜a˜&Ó! Q q¡SÒ(Ð(Ð(Øˆa‰C�>‰>˜2˜q˜'Ó" a¨¡cÒ)Ð)Ð)Øˆb‰D�?‰?˜A˜q˜6Ó" a¨¡dÒ*Ð*Ð*Øˆb‰D�?‰?˜B ˜7Ó# q¨¡sÒ*Ð*Ñ*r(   N)AÚsympy.concrete.productsr   Úsympy.core.functionr   Úsympy.core.numbersr   r   r   Úsympy.core.singletonr   Úsympy.core.symbolr	   Ú$sympy.functions.elementary.complexesr
   Ú&sympy.functions.elementary.exponentialr   Ú(sympy.functions.elementary.miscellaneousr   Úsympy.integrals.integralsr   Úsympy.matrices.denser   Ú"sympy.matrices.expressions.matexprr   Ú sympy.matrices.expressions.tracer   Úsympy.tensor.indexedr   Úsympy.statsr   rC   r   r   rI   r   rO   r   r   rV   r   rZ   r   r^   r   r   r   r   Úsympy.stats.joint_rv_typesr   Úsympy.stats.rvr   Ú sympy.stats.random_matrix_modelsr    r!   Úsympy.testing.pytestr"   r.   rE   rK   rP   rX   r\   r`   rh   rs   r'   r(   r)   ú<module>r†      sƒ   ðÝ +Ý &ß 0Ñ 0Ý "Ý #Ý 4Ý 6Ý 9Ý .Ý 'Ý ;Ý 2Ý ,÷	'÷ 	'÷ 	'ó 	'õ AÝ -ß QÝ 'ò;ò
\òUònò	ò	ò	òQó+r(   