U
    9%e                     @   sd   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d Zdd	 Zd
d Zdd ZdS )    )Tuplesymbols)MatrixTr)raiseswarns_deprecated_sympyc                     s   t d\} }}}}t ddd\ }}}t| | | | ks>tt | t t| ks^tt||   | jd j|| |fkstt| | ||  | | ||  kstt|   | t  kstt|   | | | | t |  ksttt tsttt| || | ks*tttt | tsDttddgddgg}t|dksjtt }	|	jd t kstt d}	|	jd tdkstt dg}	|	jd tdkstt dddg}	|	jd tdddkstt d}	|	jd tdkstt d	}	|	jd tddks@tt | dg}	|	jd jd tdkr|	jd jd tdkstt|   ddg}	|	jd jd tddkstG d
d d}
t|
 dksttt	dd  tt	 fdd d S )Nz	a b c d YA B C DFZcommutativer            )r   r   c                   @   s   e Zd Zdd ZdS )ztest_trace_new.<locals>.Fooc                 S   s   dS )Nr    )selfr   r   e/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/physics/quantum/tests/test_trace.pytraceD   s    z!test_trace_new.<locals>.Foo.traceN)__name__
__module____qualname__r   r   r   r   r   FooC   s   r   c                   S   s   t  S )Nr   r   r   r   r   <lambda>J       z test_trace_new.<locals>.<lambda>c                      s   t  ddS )Nr   r   r   r   Ar   r   r   K   r   )
r   r   AssertionErrorargs
isinstancepowr   r   r   
ValueError)abcdYBCDMtr   r   r   r   test_trace_new   sB     ,(,


8 r*   c                  C   s(   t d\} }}}t ddd\}}}}d S )Nza b c dr
   Fr   r   )r    r!   r"   r#   r   r%   r&   r'   r   r   r   test_trace_doitN   s    r+   c            
      C   s.  t ddd\} }}}}}}t| | | | | | | }|djd j| ||||||fksbt|djd j||| ||||fkst|djd j||||| ||fkst|djd j||||||| fkst|djd j|d	jd jkst|d
jd j||||||| fks.t|djd j||||| ||fksXt|djd j||| ||||fkst|djd j|d
jd jkstt| | ||  | | }|djd j||| | |d fkstt| | }|d	}	t|t|	kr&||	ks*td S )NzA B C D E F GFr   r   r            r   i)r   r   Zpermuter   r   id)
r   r%   r&   r'   EFGr)   t1t2r   r   r   test_permuteU   s      ((((*****,
r8   c               	   C   s"   t   ddlm}  W 5 Q R X d S )Nr   r   )r	   Zsympy.core.tracer   r   r   r   r   test_deprecated_core_tracek   s    r9   N)Zsympy.core.containersr   Zsympy.core.symbolr   Zsympy.matrices.denser   Zsympy.physics.quantum.tracer   Zsympy.testing.pytestr   r	   r*   r+   r8   r9   r   r   r   r   <module>   s   F