
    sg                     \    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d Zd Zd Zd	 Zy
)    )Tuplesymbols)MatrixTr)raiseswarns_deprecated_sympyc                     t        d      \  } }}}}t        dd      \  }}}t        | |z         | |z   k(  sJ t        |z         t              t        |      z   k(  sJ t        ||z  z  |z        j                  d   j                  |||fk(  sJ t        | |z  ||z  z         | |z  ||z  z   k(  sJ t        | z        | t              z  k(  sJ t        | z  |z  |z        | |z  t        |z        z  k(  sJ t        t              t              sJ t        t	        | |            | |z  k(  sJ t        t        t	        |             t              sJ t        ddgddgg      }t        |      dk(  sJ t              }	|	j                  d   t               k(  sJ t        d      }	|	j                  d   t        d      k(  sJ t        dg      }	|	j                  d   t        d      k(  sJ t        g d	      }	|	j                  d   t        ddd      k(  sJ t        d      }	|	j                  d   t        d      k(  sJ t        d
      }	|	j                  d   t        dd      k(  sJ t        |z   dg      }	|	j                  d   j                  d   t        d      k(  r(|	j                  d   j                  d   t        d      k(  sJ t        | z  ddg      }	|	j                  d   j                  d   t        dd      k(  sJ  G d d      }
t         |
             dk(  sJ t        t        d        t        t        fd       y )Nz	a b c d YA B C DFcommutativer            )r   r   r   )r   r   c                       e Zd Zd Zy)test_trace_new.<locals>.Fooc                      y)Nr    )selfs    Y/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/quantum/tests/test_trace.pytracez!test_trace_new.<locals>.Foo.traceD   s        N)__name__
__module____qualname__r   r   r   r   Foor   C   s    	r   r   c                      t               S )Nr   r   r   r   <lambda>z test_trace_new.<locals>.<lambda>J   s    rt r   c                      t         dd      S )Nr   r   r   )As   r   r   z test_trace_new.<locals>.<lambda>K   s    r!Q{ r   )	r   r   args
isinstancepowr   r   r	   
ValueError)abcdYBCDMtr   r!   s              @r   test_trace_newr0      s;   K(MAq!Q6JAq!Qa!e9Aa!e911%%% ac!eAg;A##1a|333 qs!n!A#!A#...ac7a1gac!eAg;!A#b1g+%%% beR    c!Qi=AqD   bQmR((( 	AA Aa5A:: 	1A66!9 	1aA66!9a    	1qc
A66!9a   
1iA66!9aA&&& 	1q
A66!9a   
1fA66!9a### 	AEQCA66!9>>!a(QVVAY^^A->%(-JJJ
1Q3AA66!9>>!a+++  ce9>> :|$
:*+r   c                  H    t        d      \  } }}}t        dd      \  }}}}y )Nza b c dr   Fr   r   )r&   r'   r(   r)   r!   r+   r,   r-   s           r   test_trace_doitr2   N   s(    #JAq!Q6JAq!Qr   c                     t        dd      \  } }}}}}}t        | |z  |z  |z  |z  |z  |z        }|j                  d      j                  d   j                  | ||||||fk(  sJ |j                  d      j                  d   j                  ||| ||||fk(  sJ |j                  d      j                  d   j                  ||||| ||fk(  sJ |j                  d      j                  d   j                  ||||||| fk(  sJ |j                  d      j                  d   j                  |j                  d	      j                  d   j                  k(  sJ |j                  d
      j                  d   j                  ||||||| fk(  sJ |j                  d      j                  d   j                  ||||| ||fk(  sJ |j                  d      j                  d   j                  ||| ||||fk(  sJ |j                  d      j                  d   j                  |j                  d
      j                  d   j                  k(  sJ t        | |z   ||z  z  |z  |z        }|j                  d      j                  d   j                  ||| |z   |dz  fk(  sJ t        | |z        }|j                  d	      }	t	        |      t	        |	      k7  r||	k(  sJ y )NzA B C D E F GFr   r   r            r   i)r   r   permuter"   id)
r!   r+   r,   r-   EFGr/   t1t2s
             r   test_permuterA   U   s   !/uEAq!Q1a
1Q3q5719Q;q=A99Q<Q$$Aq!Q1(====99Q<Q$$Aq!Q1(====99Q<Q$$Aq!Q1(====99Q<Q$$Aq!Q1(====99Q<Q$$		!(9(9!(<(A(AAAA99R=a %%!Q1aA)>>>>99R=a %%!Q1aA)>>>>99R=a %%!Q1aA)>>>>99R=a %%2););A)>)C)CCCC
AEAaC=?1A99Q<Q$$AAA(????	AaCB	ABb6RVb((r   c                  N    t               5  ddlm}  d d d        y # 1 sw Y   y xY w)Nr   r   )r
   sympy.core.tracer   r   s    r   test_deprecated_core_tracerD   k   s     		! ('( ( (s   $N)sympy.core.containersr   sympy.core.symbolr   sympy.matrices.denser   sympy.physics.quantum.tracer   sympy.testing.pytestr	   r
   r0   r2   rA   rD   r   r   r   <module>rJ      s*    ' % ' * ?C,L7),(r   