U
    	-e                     @   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	m
Z
mZmZmZmZmZmZ d dlmZ d dlmZ eddgd	d
ggZdd Zdd ZedZdd Zdd ZedddgidZdd ZdZdd Zdd Zdd  Z d!S )"    )randint)Integer)Matrixoneszeros)to_sympyto_numpyto_scipy_sparsematrix_tensor_productmatrix_to_zeromatrix_zerosnumpy_ndarrayscipy_sparse_matrix)import_module)skip            c                   C   s   t ttkstd S )N)r   mAssertionError r   r   m/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/physics/quantum/tests/test_matrixutils.pytest_sympy_to_sympy   s    r   c                   C   s8   t ttkstt tddgddggtdks4td S )Nr   )r   r   r   r   r   r   r   r   r   test_matrix_to_zero   s    r   numpyc                  C   s>   t std t jddgddggdd} tt| k s:td S )Nnumpy not installed.r   r   r   r   complexZdtype)npr   arrayr   r   allr   )resultr   r   r   test_to_numpy   s    r#   c                  C   s  t std td} tdD ]}d| | |< qtd}tdD ]}|||< q>td}tdD ]}|||< q\tdddg}t |  }t | }t ||}| |g}t| }	| |	 kst	t ||}|| g}t| }	| |	 kst	t | }t ||}| |g}t| }	| |	 ks4t	t ||}|| g}t| }	| |	 ksft	t | }t ||}| |g}t| }	| |	 kst	t ||}|| g}t| }	| |	 kst	t j
tddtdd}
t j
tddtdd}t |
|}t|
 t| g}t| }	|	t|   t|	j|	jt  krht	t| ||}	t | t ||}| |	 kst	d S )Nr   r      r   r   r      )r   r   r   ranger   r    tolistZkronr
   r   randomZrandr   r   rowscolsepsilon)l1il2l3ZvecZnumpyl1Znumpyl2Znumpy_productargsZsympy_productZrandom_matrix1Zrandom_matrix2r   r   r   test_matrix_tensor_product$   sf    


r1   scipyfromlistsparse)Zimport_kwargsc                  C   s^   t std tstd ntj} | jddgddggdd}t jtt| 	 d	ksZt
d S )
Nr   scipy not installed.r   r   r   r   r   r   g        )r   r   r2   r4   Z
csr_matrixZlinalgZnormr	   r   Ztodenser   )r4   r"   r   r   r   test_to_scipy_sparseh   s    
r6   gư>c                  C   s    t dddd} t| tstd S )Nr   Zsympyformat)r   
isinstancer   r   )symr   r   r   test_matrix_zeros_sympyv   s    r;   c                  C   s,   t std tdddd} t| ts(td S )Nr   r   r   r7   )r   r   r   r9   r   r   )numr   r   r   test_matrix_zeros_numpyz   s    r=   c                  C   s8   t std tstd tdddd} t| ts4td S )Nr   r5   r   zscipy.sparser7   )r   r   r2   r   r9   r   r   )Zscir   r   r   test_matrix_zeros_scipy   s    r>   N)!Zsympy.core.randomr   Zsympy.core.numbersr   Zsympy.matrices.denser   r   r   Z!sympy.physics.quantum.matrixutilsr   r   r	   r
   r   r   r   r   Zsympy.externalr   Zsympy.testing.pytestr   r   r   r   r   r#   r1   r2   r6   r+   r;   r=   r>   r   r   r   r   <module>   s"   (A