o
    *ήcT                     @   s  d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	m
Z
 ddlmZmZ ddlmZmZ ddlmZ dd	lmZ dd
lmZmZmZ ddlmZ ddlmZmZ ddlmZ ddl m!Z!m"Z"m#Z# ddl$m%Z% eddd\Z&Z'Z(eddddZ)eddddZ*dd Z+dd Z,e%dd Z-dd Z.d d! Z/d"d# Z0d$d% Z1d&d' Z2d(d) Z3d*d+ Z4e%d,d- Z5e%d.d/ Z6d0d1 Z7d2d3 Z8d4d5 Z9d6d7 Z:d8S )9z1Tests for noncommutative symbols and expressions.    )expand)I)symbols)adjoint	conjugate	transpose)cossin)cancelfactor)combsimp)	gammasimp)collectradsimprcollect)ratsimp)posifysimplify)trigsimp)xyz)XFAILzA B CF)commutativeXT)r   	hermitianY)r   antihermitianc                   C   s  t tjdu s	J t tt t td ksJ t tt t tt t ks'J t ttd  t td t t ks;J t tt tt  t tt t t tt t  ksWJ t ttt  t ttt t  kskJ t ttkssJ t t t tt ksJ t tt ksJ t t t t t ksJ t ttttksJ t ttttksJ t ttttksJ t ttttksJ d S NF   )	r   Ais_commutativeBr   r   r   r   r    r#   r#   K/tmp/pip-target-vg8gfxp4/lib/python/sympy/core/tests/test_noncommutative.pytest_adjoint   s    (8(r%   c                   C   s   t tt tt  tt tt  ksJ t tt td  tt td  ks(J t tt td d  td  tt td  ksBJ t tt td d  td  tt td   tt td  dt t t  kslJ d S )N   r   )r
   r    r"   r   r#   r#   r#   r$   test_cancel*   s   ((4Xr'   c                   C      t tt tt  ttt tt  ksJ t tt tt  ttt tt  ks*J t tt tt  ttt tt  ks?J d S N)r   r    r"   r   r#   r#   r#   r$   test_collect1      **.r*   c                   C   ,   t tt tt  tt tt  ksJ d S r)   )r   r    r"   r#   r#   r#   r$   test_combsimp8      ,r-   c                   C   r,   r)   )r   r    r"   r#   r#   r#   r$   test_gammasimp<   r.   r/   c                   C   s  t tjdu s	J tt   t td ksJ tt   t tt t ks'J ttd    t tt td  ks;J tt tt    t tt t t tt t  ksWJ tt   tt    t tt t t tt t  ksuJ ttt    t ttt t  ksJ d S r   )r   r    r!   r"   r   r#   r#   r#   r$   test_conjugate@   s    (,r0   c                   C   s   t tt d tt t t ksJ t tt tt  tt tt  ks&J t tt t d tt t t ks:J t tt tt  t ttd  t tt td   ksXJ t tt tt  t ttd  t tt t t  ksvJ d S Nr   )r   r    r"   Cr#   r#   r#   r$   test_expandL   s
   $((<@r3   c                   C   r,   r)   )r   r    r"   r#   r#   r#   r$   test_factorT   r.   r4   c                  C   sv   t td jdu sJ tt t tt t d tt d tt tt  fD ]} t | }|d |d | ks8J q%d S )Nr   Fr   r&   )r   r    r!   r"   subs)qpr#   r#   r$   test_posifyX   s
   8r8   c                   C   r,   r)   )r   r    r"   r#   r#   r#   r$   test_radsimp_   r.   r9   c                   C   r,   r)   )r   r    r"   r#   r#   r#   r$   test_ratsimpc   s   ,r:   c                   C   r(   r)   )r   r    r"   r   r#   r#   r#   r$   test_rcollecth   r+   r;   c                   C   r,   r)   )r   r    r"   r#   r#   r#   r$   test_simplifyo   r.   r<   c                   C   s  t t t t t ttt ksJ t t t t t ttt ks$J t t t  t  t d t tt t ks:J t t t  t t d t ttt ksPJ td td  ttd  ttt ksfJ tt t tt t  tt t tttt t  ksJ d S r1   )r   r   r    r5   r   r"   r2   r#   r#   r#   r$   	test_subss   s   $$,,,@r=   c                   C   sB  t tjdu s	J t tt t td ksJ t tt t tt t ks'J t ttd  t td t t ks;J t tt tt  t tt t t tt t  ksWJ t ttt  t ttt t  kskJ t tttksuJ t t t t tt ksJ t ttt ksJ t t t ttt ksJ d S r   )r   r    r!   r"   r   r   r   r   r#   r#   r#   r$   test_transpose|   s    (( "r>   c                   C   s0   t tttd  tttd   tksJ d S r1   )r   r    r	   r   r   r#   r#   r#   r$   test_trigsimp   s   0r?   N);__doc__sympy.core.functionr   sympy.core.numbersr   sympy.core.symbolr   $sympy.functions.elementary.complexesr   r   r   (sympy.functions.elementary.trigonometricr   r	   sympy.polys.polytoolsr
   r   sympy.simplify.combsimpr   sympy.simplify.gammasimpr   sympy.simplify.radsimpr   r   r   sympy.simplify.ratsimpr   sympy.simplify.simplifyr   r   sympy.simplify.trigsimpr   	sympy.abcr   r   r   sympy.testing.pytestr   r    r"   r2   r   r   r%   r'   r*   r-   r/   r0   r3   r4   r8   r9   r:   r;   r<   r=   r>   r?   r#   r#   r#   r$   <module>   sJ    


	