
    g                     ^    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d
S )    )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           d S )Nz	a b c d YA B C DFcommutativer            )r   r   r   )r   r   c                       e Zd Zd ZdS )test_trace_new.<locals>.Fooc                     dS )Nr    )selfs    b/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/physics/quantum/tests/test_trace.pytracez!test_trace_new.<locals>.Foo.traceD   s    1    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
    rtt 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666JAq!Qa!e99Aa!e9911%%%% ac!eAg;;A#1a|3333 qs!n!A#!A#....ac77a1gac!eAg;;!A#b1gg+%%%% beeR      c!Qii==AqD    bQmmR((((( 	AA  Aa55A:::: 	1A6!9 	1aA6!9a     	1qc

A6!9a    
1iiiA6!9aA&&&& 	1q

A6!9a    
1fA6!9a#### 	AEQCA6!9>!a((QVAY^A->%((-J-J-J-J
1Q3AA6!9>!a++++        ccee99>>>> :||$$$
:****+++++r   c                  Z    t          d          \  } }}}t          dd          \  }}}}d S )Nza b c dr   Fr   r   )r&   r'   r(   r)   r!   r+   r,   r-   s           r   test_trace_doitr2   N   s5    ##JAq!Q666JAq!QQQr   c                     t          dd          \  } }}}}}}t          | |z  |z  |z  |z  |z  |z            }|                    d          j        d         j        | ||||||fk    sJ |                    d          j        d         j        ||| ||||fk    sJ |                    d          j        d         j        ||||| ||fk    sJ |                    d          j        d         j        ||||||| fk    sJ |                    d          j        d         j        |                    d	          j        d         j        k    sJ |                    d
          j        d         j        ||||||| fk    sJ |                    d          j        d         j        ||||| ||fk    sJ |                    d          j        d         j        ||| ||||fk    sJ |                    d          j        d         j        |                    d
          j        d         j        k    sJ t          | |z   ||z  z  |z  |z            }|                    d          j        d         j        ||| |z   |dz  fk    sJ t          | |z            }|                    d	          }	t	          |          t	          |	          k    r||	k    sJ d S )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E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!(<(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b66RVVbr   c                  `    t                      5  ddlm}  d d d            d S # 1 swxY w Y   d S )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, C, C,L7 7 7) ) ),( ( ( ( (r   