
    sg                         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 y)    )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                  4    t        t              t        k(  sJ y )N)r   m     _/var/www/html/venv/lib/python3.12/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 y )Nr   )r   r   r   r   r   r   r   test_matrix_to_zeror      s>    !!!!&1a&1a&!123wqzAAAr   numpyc                      t         st        d       t         j                  ddgddggd      } t        t              | k(  j                         sJ y )Nnumpy not installed.r   r   r   r   complexdtype)npr   arrayr	   r   all)results    r   test_to_numpyr(      sH    #$XX1v1v&iX8FQK6!&&(((r   c                  B   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         j                  | j                               }t         j                  |j                               }t         j                  ||      }| |g}t        | }	|j                         |	j                         k(  sJ t         j                  ||      }|| g}t        | }	|j                         |	j                         k(  sJ t         j                  |j                               }t         j                  ||      }| |g}t        | }	|j                         |	j                         k(  sJ t         j                  ||      }|| g}t        | }	|j                         |	j                         k(  sJ t         j                  |j                               }t         j                  ||      }| |g}t        | }	|j                         |	j                         k(  sJ t         j                  ||      }|| g}t        | }	|j                         |	j                         k(  sJ t         j                  j                  t        dd      t        dd            }
t         j                  j                  t        dd      t        dd            }t         j                  |
|      }t	        |
j                               t	        |j                               g}t        | }	|	t	        |j                               z
  j                         t        |	j                  |	j                        t        z  j                         kD  rJ t        | ||      }	t         j                  | t         j                  ||            }|j                         |	j                         k(  sJ y )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@   $   s   #$	qB2Y 11	qB2Y 1	qB1X 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%;;;; YY^^GAqM71a=ANYY^^GAqM71a=ANGGNN;M>((*+VN4I4I4K-LMD)40M}';';'= >>FFH	m  -"4"4	5g	=EEGH H H *"c26MGGBR 01M!]%9%9%;;;;r   scipyfromlistsparse)import_kwargsc                      t         st        d       t        st        d       nt        j                  }  j	                  ddgddggd      }t         j
                  j                  t        t              |z
  j                               d	k(  sJ y )
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   ss    #$#$AA/yAF99>>?1-6??ABcIIIr   gư>c                  D    t        ddd      } t        | t              sJ y )Nr   sympyformat)r   
isinstancer   )syms    r   test_matrix_zeros_sympyrR   v   s     
q!G
,Cc6"""r   c                  f    t         st        d       t        ddd      } t        | t              sJ y )Nr    r   r   rN   )r$   r   r   rP   r   )nums    r   test_matrix_zeros_numpyrU   z   s,    #$
q!G
,Cc=)))r   c                      t         st        d       t        st        d       t        ddd      } t	        | t
              sJ y )Nr    rF   r   zscipy.sparserN   )r$   r   rA   r   rP   r   )scis    r   test_matrix_zeros_scipyrX      s9    #$#$
q!N
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  
 ) %
QFQFB 7)><B 	gj8*-EF	J #*0r   