
    \h                         S SK Jr  S SKJr  S SKJrJrJr  S SKJ	r	J
r
JrJrJrJrJrJr  S SKJr  S SKJr  \" SS/S	S
//5      rS rS r\" S5      rS rS r\" SSS/0S9rS rSrS rS rS r g)    )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                  6    [        [        5      [        :X  d   eg )N)r   m     d/var/www/auris/envauris/lib/python3.13/site-packages/sympy/physics/quantum/tests/test_matrixutils.pytest_sympy_to_sympyr      s    A;!r   c                      [        [        5      [        :X  d   e[        [        SS/SS//5      5      [        S5      :X  d   eg )Nr   )r   r   r   r   r   r   r   test_matrix_to_zeror      s>    !!!!&1a&1a&!123wqzAAAr   numpyc                      [         (       d  [        S5        [         R                  SS/SS//SS9n [        [        5      U :H  R                  5       (       d   eg )Nnumpy not installed.r   r   r   r   complexdtype)npr   arrayr	   r   all)results    r   test_to_numpyr(      sM    2#$XX1v1v&iX8FQK6!&&((((r   c                  D   [         (       d  [        S5        [        S5      n [        S5       H
  nSU-  X'   M     [        S5      n[        S5       H  nXU'   M	     [        S5      n[        S5       H  nXU'   M	     [	        / SQ5      n[         R                  U R                  5       5      n[         R                  UR                  5       5      n[         R                  XV5      nX/n[        U6 n	UR                  5       U	R                  5       :X  d   e[         R                  Xe5      nX /n[        U6 n	UR                  5       U	R                  5       :X  d   e[         R                  UR                  5       5      n[         R                  XV5      nX/n[        U6 n	UR                  5       U	R                  5       :X  d   e[         R                  Xe5      nX0/n[        U6 n	UR                  5       U	R                  5       :X  d   e[         R                  UR                  5       5      n[         R                  XV5      nX/n[        U6 n	UR                  5       U	R                  5       :X  d   e[         R                  Xe5      nX@/n[        U6 n	UR                  5       U	R                  5       :X  d   e[         R                  R                  [        SS5      [        SS5      5      n
[         R                  R                  [        SS5      [        SS5      5      n[         R                  X5      n[	        U
R                  5       5      [	        UR                  5       5      /n[        U6 n	U	[	        UR                  5       5      -
  R                  5       [        U	R                  U	R                  5      [        -  R                  5       :  a   e[        XU5      n	[         R                  U [         R                  XB5      5      nUR                  5       U	R                  5       :X  d   eg )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@   $   sd   2#$	qB2Y1 	qB2Y1 	qB1X1 

C hhryy{#Ghhryy{#GGGG-M8D)40M!]%9%9%;;;;GGG-M8D)40M!]%9%9%;;;; hhryy{#GGGG-M8D)40M!]%9%9%;;;;GGG-M8D)40M!]%9%9%;;;; hhszz|$GGGG-M9D)40M!]%9%9%;;;;GGG-M9D)40M!]%9%9%;;;; YY^^GAqM71a=ANYY^^GAqM71a=ANGGN;M>((*+VN4I4I4K-LMD)40M}';';'= >>FFH	m  -"4"4	5g	=EEGH H H *"26MGGB 01M!]%9%9%;;;;r   scipyfromlistsparse)import_kwargsc                  0   [         (       d  [        S5        [        (       d  [        S5        O[        R                  n W R	                  SS/SS//SS9n[         R
                  R                  [        [        5      U-
  R                  5       5      S	:X  d   eg )
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   sw    2#$5#$AA/yAF99>>?1-6??ABcIIIr   gư>c                  H    [        SSSS9n [        U [        5      (       d   eg )Nr   sympyformat)r   
isinstancer   )syms    r   test_matrix_zeros_sympyrR   v   s#    
q!G
,Cc6""""r   c                  t    [         (       d  [        S5        [        SSSS9n [        U [        5      (       d   eg )Nr    r   r   rN   )r$   r   r   rP   r   )nums    r   test_matrix_zeros_numpyrU   z   s1    2#$
q!G
,Cc=))))r   c                      [         (       d  [        S5        [        (       d  [        S5        [        SSSS9n [	        U [
        5      (       d   eg )Nr    rF   r   zscipy.sparserN   )r$   r   rA   r   rP   r   )scis    r   test_matrix_zeros_scipyrX      s@    2#$5#$
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   