o
    g                     @   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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   ]/var/www/visachat/venv/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   permuter   id)
r   r$   r%   r&   EFGr(   t1t2r   r   r   test_permuteU   s     (((((((((*
$r8   c                  C   s8   t   ddlm}  W d    d S 1 sw   Y  d S )Nr   r   )r	   sympy.core.tracer   r   r   r   r   test_deprecated_core_tracek   s   "r:   N)sympy.core.containersr   sympy.core.symbolr   sympy.matrices.denser   sympy.physics.quantum.tracer   sympy.testing.pytestr   r	   r)   r*   r8   r:   r   r   r   r   <module>   s    F