o
    g                     @   s\  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d Z8dd Z9dd Z:dd Z;dd Z<dd Z=dd  Z>d!d" Z?d#d$ Z@d%S )&    )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                  C   s0   t dd} t| | jjksJ ttdd  d S )NG   c                   S   s
   t ddS )Nr"   g      @)r    r$   r$   [/var/www/visachat/venv/lib/python3.10/site-packages/sympy/stats/tests/test_random_matrix.py<lambda>    s   
 z'test_GaussianEnsemble.<locals>.<lambda>)r   r   pspacemodelr!   
ValueError)r"   r$   r$   r%   test_GaussianEnsemble   s   
r*   c                  C   sz  t ddd} tdd}t|| tdtdt| d  d  dttdd   ks,J tdd	d	d
tdd	d	d
}}t	d}t
|t|d |d |d fdtd td|d d  d d|d d  d  d|d d  d   tt|| ||  d ||d df|ddf dttdd   sJ td}t|t|d|d  td|d  t  td  sJ d S )NHr#   U      	   iTintegerpositivejl            s    )r   GUEr   r   r
   r   r   r   r   r   r   dummy_eqr   r   r	   r   )r+   r"   r1   r5   r6   r;   r$   r$   r%   test_GaussianUnitaryEnsemble"   s$   
BJ.@r@   c                  C   sv  t ddd} tddd}tdd}t|| tdt| d  d ttdt|d  d | ks4J tdd	d	d
tdd	d	d
}}td}t	|
t|d |d |d fdtd td|d d  d d|d d  d  d|d d  d   tt|| ||  ||d df|ddf dt  sJ td}t|
t||t t|d  t d  d sJ d S )Nr+   r#   _HOr.   r-   r/   r1   Tr2   r5   r6   r7   r0   r<   r;   )r   r   GOEr   r
   r   r   r   r   r   r?   r   r   r   r	   r   r   r+   rA   r"   r1   r5   r6   r;   r$   r$   r%   test_GaussianOrthogonalEnsemble1   s&   
FJ*:rE   c                  C   s  t ddd} tddd}tdd}t|| tdt| d  ttdt|d  | ks0J tdddd	td
ddd	}}td}t	|
t|d |d |d fdtd td|d d  d d|d d  d  d|d d  d   tt|| ||  d ||d df|ddf dttdd   sJ td}t|
t|td|d  td|d  dt   dtd   sJ d S )Nr+   r#   rA   rB   r.   r-   r1   Tr2   r5   r6   r7      r/      r;   i   ir0   i  )r   r   GSEr   r
   r   r   r   r   r   r?   r   r   r   r	   r   r   r   r   rD   r$   r$   r%   test_GaussianSymplecticEnsemble@   s&   
>J.LrI   c                  C   s   t dd} tddddtdddd}}td}t| t|d |d	 |d ftttt	||  tt	||   d	 ||d df|dd	fd
t
d   sQJ d S Nr,   r#   r5   Tr2   ktr7   r-   0   )CUEr   r   r   r?   r   r   r	   r
   r   r   )CUr5   rK   rL   r$   r$   r%   test_CircularUnitaryEnsembleO      
(
rP   c                  C   s   t dd} tddddtdddd}}td}t| t|d |d	 |d ftttt	||  tt	||   ||d df|dd	fd
t
d	   sOJ d S rJ   )COEr   r   r   r?   r   r   r	   r
   r   r   )COr5   rK   rL   r$   r$   r%   test_CircularOrthogonalEnsembleZ   s   
$
rT   c                  C   s   t dd} tddddtdddd}}td}t| t|d |d	 |d ftttt	||  tt	||   d
 ||d df|dd	fdt
d   sQJ d S )Nr,   r#   r5   Tr2   rK   rL   r7   r-   r/   i  )CSEr   r   r   r?   r   r   r	   r
   r   r   )CSr5   rK   rL   r$   r$   r%   test_CircularSymplecticEnsemblee   rQ   rW   c                  C   s  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 d| d  | d	   d
| d  | d   | d	 d   d | d d  | d	 d  t| d d d| d  | d	   d
| d  | d   | d	 d  d | d d  | d	 d  ksJ ttdd  d S )NA00r   r7   A01A10A11)r   r   r-   )r7   r7   r/   )r   r7   )r7   r   c                   S   s   t tddgddggS )Nr7   r   r-   )r   r   r$   r$   r$   r%   r&   v   s    z-test_JointEigenDistribution.<locals>.<lambda>)r   r   r   r   r   r   r!   r)   )Ar$   r$   r%   test_JointEigenDistributionp   s   J

^r]   c                  C   s   t dd} | ddi}| j|jksJ tddd}tdd}tdt|d}tddd|d}tdddd d}| |ks?J d| ||id| ksNJ d| ||id| ks]J d| ||id| kslJ d| ||id| ks{J d S )Nr,   r-   XP)r(   r+   )r'   )	r>   xreplaceargsr   rH   r    r   r   doit)G1G2r^   r"   h_pspacer+   H2r$   r$   r%   test_issue_19841x   s   

"rg   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   r>   r   r   rC   r   rH   r   r   rN   r   rR   r   rU   r   r   r   r   sympy.stats.joint_rv_typesr   sympy.stats.rvr    sympy.stats.random_matrix_modelsr   r    sympy.testing.pytestr!   r*   r@   rE   rI   rP   rT   rW   r]   rg   r$   r$   r$   r%   <module>   s6    8
