o
    GZh                     @   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   [/var/www/auris/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Z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   tolistZkronr
   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   


r0   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s-J d S )
Nr   scipy not installed.r   r   r   r   r   r   g        )
r   r   r1   r3   Z
csr_matrixZlinalgZnormr	   r   Ztodense)r3   r!   r   r   r   test_to_scipy_sparseh   s   
$r5   gư>c                  C   s    t dddd} t| tsJ d S )Nr   Zsympyformat)r   
isinstancer   )symr   r   r   test_matrix_zeros_sympyv   s   r:   c                  C   s,   t std tdddd} t| tsJ d S )Nr   r   r   r6   )r   r   r   r8   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sJ d S )Nr   r4   r   zscipy.sparser6   )r   r   r1   r   r8   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"   r0   r1   r5   r*   r:   r<   r=   r   r   r   r   <module>   s$    (A