o
    GZh                     @   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sEJ t| | ||  | | ||  ksYJ t|   | t  ksgJ t|   | | | | t |  ks}J tt tsJ tt| || | ksJ ttt | tsJ tddgddgg}t|dksJ 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r9|	jd jd tdks;J t|   ddg}	|	jd jd tddksTJ G dd d}
t|
 dkseJ 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   U/var/www/auris/lib/python3.10/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   s    z test_trace_new.<locals>.<lambda>c                      s   t  ddS )Nr   r   r   r   Ar   r   r   K   s    )	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s1J |djd j||| ||||fksEJ |djd j||||| ||fksYJ |djd j||||||| fksmJ |djd j|d	jd jksJ |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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     (((((((((*
$r6   c                  C   s8   t   ddlm}  W d    d S 1 sw   Y  d S )Nr   r   )r	   Zsympy.core.tracer   r   r   r   r   test_deprecated_core_tracek   s   "r7   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)   r6   r7   r   r   r   r   <module>   s    F