
    \h                     J   S SK Jr  S SKJr  S SKJrJrJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJr  S SKJrJrJ r!J"r#J$r$J%r&J'r(J)r*J+r+J,r,J-r-J.r.  S SK/J0r0  S SK1J2r2  S SK3J4r4J5r5  S SK6J7r7  S r8S r9S r:S r;S r<S r=S r>S r?S r@g)    )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                      [        SS5      n [        U 5      U R                  R                  :X  d   e[	        [
        S 5        g )NG   c                      [        SS5      $ )Nr$   g      @)r         \/var/www/auris/envauris/lib/python3.13/site-packages/sympy/stats/tests/test_random_matrix.py<lambda>'test_GaussianEnsemble.<locals>.<lambda>    s    /S9r(   )r    r   pspacemodelr"   
ValueError)r$   s    r)   test_GaussianEnsembler/      s3    a A1:'''
:9:r(   c                  P   [        SSS5      n [        SS5      n[        U5      " U 5      [        S5      [	        S[        U S-  5      -  S-  5      -  S[        [        SS5      -  -  -  :X  d   e[        SS	S	S
9[        SS	S	S
9p2[        S5      n[        U5      R                  [        US   US   US   4S[        S5      -  [	        SUS   S-  -  S-  SUS   S-  -  S-  -
  SUS   S-  -  S-  -
  5      -  [        [        XB   XC   -
  5      S-  X2S-   S4USS45      -  S[        [        SS5      -  -  -  5      5      (       d   e[        S5      n[        U5      R                  [        USUS-  -  [	        SUS-  -  [        -  5      -  [        S-  -  5      5      (       d   eg )NHr%   U      	   iTintegerpositivejl            s    )r   GUEr   r   r   r   r   r   r	   r   r   dummy_eqr   r   r
   r   )r1   r$   r7   r;   r<   rA   s         r)   test_GaussianUnitaryEnsemblerF   "   s   31%ACA1:a=DGC5A;q(8$991R!Q=O;OPPPP#td3#td3 	CA#A&//AaD!A$!%tAwJs2qtQw<>AqtQwKM9AqtQwKMIJJCqt$a'!UAAq	BCDFr8TUWX>GYDY[\] ] ] ] 	c
A%a(11&Bq!tGC1a4PR
O<STVXYTY<Y2Z[[[[r(   c                  H   [        SSS5      n [        SSS5      n[        SS5      n[        U5      " U 5      [	        S[        U S-  5      -  S-  5      [        [	        S[        US-  5      -  S-  5      U5      -  :X  d   e[        SS	S	S
9[        SS	S	S
9pC[        S5      n[        U5      R                  [        US   US   US   4S[        S5      -  [	        SUS   S-  -  S-  SUS   S-  -  S-  -
  SUS   S-  -  S-  -
  5      -  [        [        XS   XT   -
  5      XCS-   S4USS45      -  S[        -  -  5      5      (       d   e[        S5      n[!        U5      R                  [        Xf[        -  [	        US-  * [        -  S-  5      -  S-  5      5      (       d   eg )Nr1   r%   _HOr4   r3   r5   r7   Tr8   r;   r<   r=   r6   rB   rA   )r   r   GOEr   r   r   r   r	   r   r   rE   r   r   r   r
   r   r   r1   rH   r$   r7   r;   r<   rA   s          r)   test_GaussianOrthogonalEnsemblerL   1   s   31%A	dAq	!BCA1:a=C5A;q 01(3r%A,q?P;QSU2VVVVV#td3#td3 	CA#A&//AaD!A$!%d1gIc"QqT1W*Q,1Q4714q1qy{BCCCqt$qa%maAY?@ACBHIJ J J J 	c
A%a(11&bDadU2XaZ<PQR<R2STTTTr(   c                     [        SSS5      n [        SSS5      n[        SS5      n[        U5      " U 5      [	        S[        U S-  5      -  5      [        [	        S[        US-  5      -  5      U5      -  :X  d   e[        SSSS	9[        S
SSS	9pC[        S5      n[        U5      R                  [        US   US   US   4S[        S5      -  [	        SUS   S-  -  S-  SUS   S-  -  S-  -
  SUS   S-  -  S-  -
  5      -  [        [        XS   XT   -
  5      S-  XCS-   S4USS45      -  S[        [!        SS5      -  -  -  5      5      (       d   e[        S5      n[#        U5      R                  [        U[%        S5      US-  -  [	        SUS-  -  S[        -  -  5      -  S[        S-  -  -  5      5      (       d   eg )Nr1   r%   rH   rI   r4   r3   r7   Tr8   r;   r<   r=      r5      rA   i   ir6   i  )r   r   GSEr   r   r   r   r	   r   r   rE   r   r   r   r
   r   r   r   r   rK   s          r)   test_GaussianSymplecticEnsemblerQ   @   s   31%A	dAq	!BCA1:a=C5A;/Rb!e_9Mr0RRRRR#td3#td3 	CA#A&//AaD!A$!%QKBqtQwJqL1QqT1W9Q;61Q471DEECqt$a'!UAAq	BCDEb(STVW.FXDXZ[\ \ \ \ 	c
A%a(11&AfIadN3sSTVWSWxYZ[]Y]K_<_adegijejaj<k2lmmmmr(   c                  p   [        SS5      n [        SSSS9[        SSSS9p![        S5      n[        U 5      R	                  [        US   US	   US   4[        [        [        [        X1   -  5      [        [        X2   -  5      -
  5      S	-  XS-   S4USS	45      S
[        S-  -  -  5      5      (       d   eg Nr2   r%   r;   Tr8   ktr=   r3   0   )CUEr	   r   r   rE   r   r   r
   r   r   r   )CUr;   rT   rU   s       r)   test_CircularUnitaryEnsemblerY   O   s    	S!B#td3#td3 	CA#B'00AaD!A$!%CAadFc!AD&k12A5AqMAq!9&')"a%x12   r(   c                  j   [        SS5      n [        SSSS9[        SSSS9p![        S5      n[        U 5      R	                  [        US   US	   US   4[        [        [        [        X1   -  5      [        [        X2   -  5      -
  5      XS-   S4USS	45      S
[        S	-  -  -  5      5      (       d   eg rS   )COEr	   r   r   rE   r   r   r
   r   r   r   )COr;   rT   rU   s       r)   test_CircularOrthogonalEnsembler]   Z   s    	S!B#td3#td3 	CA#B'00AaD!A$!%CAadFc!AD&k12AqMAq!9&')"a%x12   r(   c                  p   [        SS5      n [        SSSS9[        SSSS9p![        S5      n[        U 5      R	                  [        US   US	   US   4[        [        [        [        X1   -  5      [        [        X2   -  5      -
  5      S
-  XS-   S4USS	45      S[        S-  -  -  5      5      (       d   eg )Nr2   r%   r;   Tr8   rT   rU   r=   r3   r5   i  )CSEr	   r   r   rE   r   r   r
   r   r   r   )CSr;   rT   rU   s       r)   test_CircularSymplecticEnsemblera   e   s    	S!B#td3#td3 	CA#B'00AaD!A$!%CAadFc!AD&k12A5AqMAq!9&'*2q5y23   r(   c            
         [        [        SSS5      [        SSS5      /[        SSS5      [        SSS5      //5      n [        U 5      [	        [        U S   S-  SU S   -  U S	   -  -
  S
U S   -  U S   -  -   U S	   S-  -   5      * S-  U S   S-  -   U S	   S-  -   [        U S   S-  SU S   -  U S	   -  -
  S
U S   -  U S   -  -   U S	   S-  -   5      S-  U S   S-  -   U S	   S-  -   5      :X  d   e[        [        S 5        g )NA00r   r=   A01A10A11)r   r   r3   )r=   r=   r5   )r   r=   )r=   r   c                  6    [        [        SS/SS//5      5      $ )Nr=   r   r3   )r   r   r'   r(   r)   r*   -test_JointEigenDistribution.<locals>.<lambda>v   s    5fq!fq!f=M6NOr(   )r   r   r   r   r   r   r"   r.   )As    r)   test_JointEigenDistributionrj   p   sc   q!$fUAq&9:eQ"D1$568 	9A!!$tAdGQJ1T71T71B$BQqwYqQUwEV$VYZ[_Y`bcYc$cddeffdGAI$	$
QqwYqw-> >1T71T7AR RUVW[U\^_U_ _`abbefgkelmnennqrswqxyzqzz|| | | :OPr(   c                     [        SS5      n U R                  SS05      nU R                  UR                  :X  d   e[        SSS5      n[	        SS5      n[        S[        U5      S9n[        SSSUS9n[        SSSS S9nUR                  5       U:X  d   eSU-  R                  XR05      SU-  :X  d   eSU-  R                  Xb05      SU-  :X  d   eSU-  R                  XR05      SU-  :X  d   eSU-  R                  Xb05      SU-  :X  d   eg )Nr2   r3   XP)r-   r1   )r,   )	rD   xreplaceargsr   rP   r!   r   r   doit)G1G2rl   r$   h_pspacer1   H2s          r)   test_issue_19841ru   x   s   	S!B	aV	B77bggS!QACA!#WQZ8H31X6A	CAd	3B668q==aC>>1&!QqS(((aC>>2'"ac)))bD??A6"ad***bD??B7#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   rD   r   r   rJ   r   rP   r   r   rW   r   r[   r   r_   r   r   r   r   sympy.stats.joint_rv_typesr   sympy.stats.rvr    sympy.stats.random_matrix_modelsr    r!   sympy.testing.pytestr"   r/   rF   rL   rQ   rY   r]   ra   rj   ru   r'   r(   r)   <module>r      s    + & 0 0 " # 4 6 9 . ' ; 2 ,	' 	' 	' 	' A - Q ';
\Un			Q+r(   