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	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J d S )N)r   m r   r   c/var/www/visachat/venv/lib/python3.10/site-packages/sympy/physics/quantum/tests/test_matrixutils.pytest_sympy_to_sympy   s   r   c                   C   s8   t ttksJ t tddgddggtdksJ d S )Nr   )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J d S )Nnumpy not installed.r   r   r   r   complexdtype)npr   arrayr   r   all)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g d}t |  }t | }t ||}| |g}t| }	| |	 ksaJ t ||}|| g}t| }	| |	 ksyJ t | }t ||}| |g}t| }	| |	 ksJ t ||}|| g}t| }	| |	 ksJ t | }t ||}| |g}t| }	| |	 ksJ t ||}|| g}t| }	| |	 ksJ 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r/J t| ||}	t | t ||}| |	 ksJJ d S )Nr   r      r   )r   r   r   r      )r   r   r   ranger   r    tolistkronr
   randomrandr   r   rowscolsepsilon)l1il2l3vecnumpyl1numpyl2numpy_productargssympy_productrandom_matrix1random_matrix2r   r   r   test_matrix_tensor_product$   sf   


r:   scipyfromlistsparse)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s-J d S )
Nr   scipy not installed.r   r   r   r   r   r   g        )
r   r   r;   r=   
csr_matrixlinalgnormr	   r   todense)r=   r"   r   r   r   test_to_scipy_sparseh   s   
$rD   gư>c                  C   s    t dddd} t| tsJ d S )Nr   sympyformat)r   
isinstancer   )symr   r   r   test_matrix_zeros_sympyv   s   rJ   c                  C   s,   t std tdddd} t| tsJ d S )Nr   r   r   rF   )r   r   r   rH   r   )numr   r   r   test_matrix_zeros_numpyz   s   rL   c                  C   s8   t std tstd tdddd} t| tsJ d S )Nr   r?   r   zscipy.sparserF   )r   r   r;   r   rH   r   )scir   r   r   test_matrix_zeros_scipy   s   rN   N)!sympy.core.randomr   sympy.core.numbersr   sympy.matrices.denser   r   r   !sympy.physics.quantum.matrixutilsr   r   r	   r
   r   r   r   r   sympy.externalr   sympy.testing.pytestr   r   r   r   r   r#   r:   r;   rD   r-   rJ   rL   rN   r   r   r   r   <module>   s$    (A