a
    kh                     @   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>J t | t t| ks^J t||   | jd j|| |fksJ t| | ||  | | ||  ksJ t|   | t  ksJ t|   | | | | t |  ksJ tt tsJ tt| || | ks*J ttt | tsDJ tddgddgg}t|dksjJ t }	|	jd t ksJ t d}	|	jd tdksJ t dg}	|	jd tdksJ t g d	}	|	jd tdddksJ t d}	|	jd tdksJ t d
}	|	jd tddks>J t | dg}	|	jd jd tdkr|	jd jd tdksJ t|   ddg}	|	jd jd tddksJ G dd d}
t|
 dksJ 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   r   )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   T/var/www/auris/lib/python3.9/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   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sbJ |djd j||| ||||fksJ |djd j||||| ||fksJ |djd j||||||| fksJ |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sXJ |djd j||| ||||fksJ |djd j|d
jd jksJ t| | ||  | | }|djd j||| | |d fksJ t| | }|d	}	t|t|	kr&||	ks*J d S )NzA B C D E F GFr   r   r            r   i)r   r   Zpermuter   id)
r   r$   r%   r&   EFGr(   t1t2r   r   r   test_permuteU   s      ((((*****,
r7   c                  C   s6   t   ddlm}  W d    n1 s(0    Y  d S )Nr   r   )r	   Zsympy.core.tracer   r   r   r   r   test_deprecated_core_tracek   s    r8   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*   r7   r8   r   r   r   r   <module>   s   F