
    g                         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 Zd Z ed          Zd Zd Z edddgi          Zd ZdZd Zd Z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                  D    t          t                    t          k    sJ d S )N)r   m     h/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/physics/quantum/tests/test_matrixutils.pytest_sympy_to_sympyr      s    A;;!r   c                      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   test_matrix_to_zeror      sU    !!!!!&1a&1a&!12233wqzzAAAAAAr   numpyc                      t           st          d           t                               ddgddggd          } t          t                    | k                                    sJ d S )Nnumpy not installed.r   r   r   r   complexdtype)npr   arrayr	   r   all)results    r   test_to_numpyr(      sd     %#$$$XX1v1v&iX88FQKK6!&&(((((((r   c                  
   t           st          d           t          d          } t          d          D ]
}d|z  | |<   t          d          }t          d          D ]}|||<   t          d          }t          d          D ]}|||<   t	          g d          }t                               |                                           }t                               |                                          }t                               ||          }| |g}t          | }	|                                |	                                k    sJ t                               ||          }|| g}t          | }	|                                |	                                k    sJ t                               |                                          }t                               ||          }| |g}t          | }	|                                |	                                k    sJ t                               ||          }|| g}t          | }	|                                |	                                k    sJ t                               |                                          }t                               ||          }| |g}t          | }	|                                |	                                k    sJ t                               ||          }|| g}t          | }	|                                |	                                k    sJ t           j	        
                    t          dd          t          dd                    }
t           j	        
                    t          dd          t          dd                    }t                               |
|          }t	          |
                                          t	          |                                          g}t          | }	|	t	          |                                          z
                                  t          |	j        |	j                  t          z                                  k    rJ t          | ||          }	t                               | t                               ||                    }|                                |	                                k    sJ 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_matrix2s               r   test_matrix_tensor_productr@   $   sU    %#$$$	qB2YY  11	qB2YY  1	qB1XX  1


C hhryy{{##Ghhryy{{##GGGGW--M8D)40M!!]%9%9%;%;;;;;GGGW--M8D)40M!!]%9%9%;%;;;;; hhryy{{##GGGGW--M8D)40M!!]%9%9%;%;;;;;GGGW--M8D)40M!!]%9%9%;%;;;;; hhszz||$$GGGGW--M9D)40M!!]%9%9%;%;;;;;GGGW--M9D)40M!!]%9%9%;%;;;;; Y^^GAqMM71a==AANY^^GAqMM71a==AANGGNN;;M>((**++VN4I4I4K4K-L-LMD)40M}';';'='= > >>FFHH	m -"4	5	5g	=EEGGH H H H *"c266MGGBR 0 011M!!]%9%9%;%;;;;;;;r   scipyfromlistsparse)import_kwargsc                  J   t           st          d           t          st          d           nt          j        } |                     ddgddggd          }t           j                            t          t                    |z
  	                                          d	k    sJ d S )
Nr    scipy not installed.r   r   r   r   r!   r"   g        )
r$   r   rA   rC   
csr_matrixlinalgnormr
   r   todense)rC   r'   s     r   test_to_scipy_sparserK   h   s     %#$$$ #$$$$AA/yAAF9>>?1--6??AABBcIIIIIIr   gư>c                  X    t          ddd          } t          | t                    sJ d S )Nr   sympyformat)r   
isinstancer   )syms    r   test_matrix_zeros_sympyrR   v   s2    
q!G
,
,
,Cc6"""""""r   c                      t           st          d           t          ddd          } t          | t                    sJ d S )Nr    r   r   rN   )r$   r   r   rP   r   )nums    r   test_matrix_zeros_numpyrU   z   sI     %#$$$
q!G
,
,
,Cc=)))))))r   c                      t           st          d           t          st          d           t          ddd          } t	          | t
                    sJ d S )Nr    rF   r   zscipy.sparserN   )r$   r   rA   r   rP   r   )scis    r   test_matrix_zeros_scipyrX      sa     %#$$$ %#$$$
q!N
3
3
3Cc.///////r   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@   rA   rK   r3   rR   rU   rX   r   r   r   <module>r_      s   % % % % % % & & & & & & 6 6 6 6 6 6 6 6 6 6                   
 ) ( ( ( ( ( % % % % % %
FQFQF  B B B ]7) ) )>< >< ><B 	gj8*-EFFF	J 	J 	J # # #* * *0 0 0 0 0r   