ó
~9­\c           @   sß  d  d l  m Z m Z m Z m Z m Z m Z m Z m Z m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m  Z  m! Z! m" Z" m# Z# m$ Z$ m% Z% m& Z& m' Z' m( Z( m) Z) m* Z* m+ Z+ m, Z, m- Z- m. Z. m/ Z/ m0 Z0 m1 Z1 m2 Z2 m3 Z3 m4 Z4 m5 Z5 m6 Z6 m7 Z7 m8 Z8 m9 Z9 m: Z: m; Z; m< Z< m= Z= m> Z> m? Z? m@ Z@ mA ZA mB ZB mC ZC mD ZD d  d lE mF ZF d  d lG mH ZH mI ZI d  d lJ mK ZK mL ZL d  d lM mN ZN d  d lO mP ZP mQ ZQ mR ZR mS ZS mT ZT mU ZU mV ZV mW ZW mX ZX mY ZY mZ ZZ m[ Z[ m\ Z\ m] Z] d „  Z^ eK d „  ƒ Z_ d	 „  Z` d
 „  Za d „  Zb d „  Zc d „  Zd d „  Ze d „  Zf d „  Zg d „  Zh d „  Zi d „  Zj d „  Zk d „  Zl d „  Zm d „  Zn d „  Zo d „  Zp d „  Zq d „  Zr d „  Zs d „  Zt d „  Zu d „  Zv d  „  Zw eK d! „  ƒ Zx d" „  Zy d# „  Zz d$ „  Z{ d% „  Z| d& „  Z} d' „  Z~ d( „  Z d) „  Z€ d* „  Z d+ „  Z‚ d, „  Zƒ d- „  Z„ d. „  Z… d/ „  Z† d0 „  Z‡ d1 „  Zˆ d2 S(3   iÿÿÿÿ(D   t   Abst   acost   Addt   asint   atant   Basict   binomialt
   besselsimpt   collectt   cost   cosht   cott   cotht	   count_opst   cscht
   Derivativet   difft   Et   Eqt   erft   expt	   exp_polart   expandt   expand_multinomialt   factort	   factorialt   Floatt   fractiont   Functiont   gammat   GoldenRatiot   hypert	   hypersimpt   It   Integralt	   integratet   logt
   logcombinet   Ltt   Matrixt   MatrixSymbolt   Mult	   nsimplifyt   Ot   oot   pit	   Piecewiset   posifyt   radt   Rationalt   roott   St   separatevarst   signsimpt   simplifyt   signt   sint   sinct   sinht   solvet   sqrtt   Sumt   Symbolt   symbolst   sympifyt   tant   tanht   zoo(   t   _keep_coeff(   t   nthroott   inversecombine(   t   XFAILt   slow(   t   range(   t   xt   yt   zt   tt   at   bt   ct   dt   et   ft   gt   ht   it   kc           C   sD   t  t d d t t d ƒ ƒ d ƒ j ƒ  d ƒ d k  s@ t ‚ d  S(	   NgÍÌÌÌÌÌ>@i   g      T@g333333'@gr²fa”…@gê-™—q=g†ëQ¸¥@g    @–º@(   t   absR6   R8   R0   t   evalft   AssertionError(    (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_7263   s    *c          C   s|   d d l  m }  t d ƒ } t |  | ƒ | ƒ |  | d ƒ k sH t ‚ t |  |  | ƒ ƒ ƒ |  |  | ƒ ƒ k sx t ‚ d  S(   Niÿÿÿÿ(   R   RJ   i   (   t   sympy.specfun.factorialsR   R>   R6   RZ   (   R   RJ   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_factorial_simplify   s    ,c       
   C   s}  t  d ƒ \	 }  } } } } } } } } t d ƒ }	 t d „  t t t |  |  t t t g Dƒ ƒ sk t ‚ d |  d | }
 |
 |  | |  | k s› t ‚ t |
 ƒ |  | |  | k s¿ t ‚ | d | d d t | | d }
 t |
 ƒ |
 k sý t ‚ d d |  d d d |  d d |  }
 t |
 ƒ d k s?t ‚ d	 |  | d d | d d |  d | |  | d }
 t |
 ƒ d
 | k s•t ‚ |  | |  | d | d |  | d |  d }
 t |
 ƒ d
 | k sät ‚ |  |  | |  }
 t |
 ƒ d | k st ‚ |	 |  ƒ | |	 |  ƒ |	 |  ƒ }
 t |
 ƒ d | k sRt ‚ d d | t	 | t ƒ | t }
 t |
 ƒ t	 t | ƒ d t | d k s©t ‚ t
 d |  d d |  ƒ j |  ƒ }
 t |
 ƒ d |  d d k sñt ‚ t
 |  |  d d |  d |  ƒ j |  ƒ }
 t |
 ƒ |  |  d d |  d k sIt ‚ t d ƒ }	 t d | | | d | g | | | | d g g ƒ j ƒ  } t | t d |	 g ƒ d ƒ |	 d | | | d | d | | | d d | | | d k st ‚ |  | | t | |  | t | t | t t |  | t }	 t |	 ƒ | t | | t k sot ‚ |  | d d d | d |  d d t |  d | d d |  d d t |  d | d t |  d | d |  d
 |  d t |  d | d |  d | d d ƒ t | ƒ t |  d | d d |  d t |  d | d |  d | d d ƒ t | ƒ t |  d d |  d | d |  d t |  d d | d d ƒ t |  d | d |  d | d d ƒ t | ƒ |  d d t |  d d | d d ƒ |  |  | d |  t |  d | d |  d | d d ƒ t |  d | d |  d | d d ƒ t | ƒ t t |  d d | d d ƒ |  d | d t |  d | d |  d | d d ƒ t | ƒ t |  d | d |  d
 |  d t |  d | d |  d | d d ƒ t	 | ƒ t |  d | d d |  d t |  d | d |  d | d d ƒ t	 | ƒ t |  d d |  d | d |  d t |  d d | d d ƒ t |  d | d |  d | d d ƒ t	 | ƒ |  d d |  t |  d d | d d ƒ |  | d |  t	 | ƒ t |  d | d |  d | d d ƒ t |  d d | d d ƒ t |  d | d |  d | d d ƒ t	 | ƒ t t |  d d | d d ƒ |  d | d t |  d | d |  d | d d ƒ t	 | ƒ t |  d | d | t |  d d | d d ƒ |  | t |  d | d |  d | d d ƒ t | ƒ t |  d | d | d d d |  | t |  d | d |  d | d d ƒ t | ƒ t |  d | d d |  | t |  d d | d d ƒ t |  d | d |  d | d d ƒ t | ƒ | d d |  t |  d d | d d ƒ |  d | | t | ƒ t |  d | d |  d | d d ƒ t t |  d d | d d ƒ |  d | d t | ƒ t |  d | d | |  d d d
 |  | |  d d t |  d | d d d |  | t |  d | d t |  d | d | |  d d | d d |  | t |  d | d |  d | d d ƒ t	 | ƒ t |  d | d | d d d |  | t |  d | d |  d | d d ƒ t	 | ƒ t |  d | d d |  | t |  d d | d d ƒ t |  d | d |  d | d d ƒ t	 | ƒ | d d |  t |  d d | d d ƒ |  d | | t	 | ƒ t |  d | d |  d | d d ƒ t t |  d d | d d ƒ |  d | d t	 | ƒ t t |  d d | d d ƒ |  d | d |  t |  d d | d d ƒ t |  d | d |  d | d d ƒ t | ƒ d t d |  d d |  d | d | d d |  t |  d d | d d ƒ t |  d | d |  d | d d ƒ t	 | ƒ d t d |  d d |  d | d | d d } t | ƒ d |  t d |  d | d k sCt ‚ t  d d t ƒ\ } } t | | | | ƒ | | | | k s‹t ‚ t | d | |  ƒ |  | |  | k s»t ‚ t | d |  d | ƒ | |  | | k sït ‚ t t d ƒ t d ƒ ƒ t d ƒ k st ‚ t t d |  ƒ t d ƒ ƒ t |  ƒ k sOt ‚ t t g  g  |  ƒ ƒ t |  ƒ k syt ‚ d  S(   Ns   x,y,z,k,n,m,w,s,ARS   c         s   s!   |  ] } t  | ƒ | k Vq d  S(   N(   R6   (   t   .0t   tmp(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pys	   <genexpr>&   s    i   i   i   i   i    iüÿÿÿiþÿÿÿiÿÿÿÿs   A,Bt   commutativei   (   R?   R   t   allR!   R   R,   RZ   R6   R-   R	   R#   R   R>   R'   t   invRM   RN   R<   R8   t   FalseR$   R   R   (   RJ   RK   RL   RW   t   nt   mt   wt   st   ARS   RR   t   exprt   B(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_simplify_expr"   sf    '8$&*:3$$3$$,,BPC(!ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ [44004.2c          C   s  t  t t t t t d }  t  t t t t t d } t  t	 t t
 t t d } t |  | | g t  t t d t ƒ} t | t ƒ t t t t t t	 t t t t	 t t t t t t t t	 t t t
 t t t
 t t t t t t	 k st ‚ d  S(   Ni   R6   (   RJ   RN   RK   RO   RL   RP   RQ   RR   RS   RT   RU   RV   R;   Rc   R6   RZ   (   t   f_1t   f_2t   f_3t	   solutions(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_3557   s    $/c          C   sÒ  t  t t ƒ d t t ƒ d ƒ d k s0 t ‚ t  t t d ƒ t t ƒ ƒ t k s\ t ‚ t  t t ƒ d t t ƒ d t t ƒ t t ƒ ƒ d t k s¤ t ‚ t  t t t ƒ d t t ƒ d t t ƒ t t ƒ ƒ ƒ t t d ƒ k sö t ‚ t d d t	 ƒ}  t  t t |  ƒ t d |  k s0t ‚ t
 t t t d t
 t d t
 t d d t ƒ t t t d t
 t d ƒ d t t ƒ ƒ d t t ƒ t t t d t
 t d t
 t d d t ƒ d t t ƒ t t
 t d d t ƒ t t ƒ t t
 t t ƒ t t t t
 t d ƒ d t t ƒ ƒ d t t
 t d ƒ d t t ƒ } t  | ƒ d t d ƒ d t t ƒ t t ƒ k s¦t ‚ t  d d t d ƒ d t k sÎt ‚ d  S(	   Ni   i   t   ncR`   iýÿÿÿi   iÿÿÿÿi   (   R6   R8   RJ   R	   RZ   R   R   R   R?   Rc   R!   R-   R   RM   R   R<   R3   (   Rq   t   ans(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_simplify_other‹   s    0,HO(Û`;c          C   s·   t  t ƒ j t ƒ }  t t ƒ j t ƒ } t |  | ƒ t t ƒ k sL t ‚ t t t d d g d d g g ƒ ƒ ƒ t t  d ƒ t d ƒ g t d ƒ t  d ƒ g g ƒ k s³ t ‚ d  S(   Ni    iÿÿÿÿi   (	   R	   RJ   t   _eval_rewrite_as_expRA   R6   R8   RZ   R   R'   (   t   cosAsExpt   tanAsExp(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_simplify_complexŸ   s
    "3c          C   sx   d d d g }  xb |  D]Z } t  | ƒ } t t | d d ƒƒ t | ƒ k sR t ‚ t | d t ƒ| k	 s t ‚ q Wd  S(   Nsa   (1/2 - sqrt(3)*I/2)*(sqrt(21)/2 + 5/2)**(1/3) + 1/((1/2 - sqrt(3)*I/2)*(sqrt(21)/2 + 5/2)**(1/3))sa   1/((1/2 + sqrt(3)*I/2)*(sqrt(21)/2 + 5/2)**(1/3)) + (1/2 + sqrt(3)*I/2)*(sqrt(21)/2 + 5/2)**(1/3)s8   -(sqrt(21)/2 + 5/2)**(1/3) - 1/(sqrt(21)/2 + 5/2)**(1/3)t   ratioi   (   R3   R   R6   RZ   R,   (   t   rootst   r(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_simplify_ratio©   s    	*c          C   s  d „  }  d „  } t  d t  t t  ƒ d t t  ƒ d } |  t | d |  ƒƒ |  | ƒ k sf t ‚ | t | d | ƒƒ | | ƒ k s t ‚ t t t  ƒ d t t  ƒ d d ƒ } |  t | d |  ƒƒ |  | ƒ k sá t ‚ | t | d | ƒƒ | | ƒ k st ‚ d  S(   Nc         S   s   t  t |  ƒ ƒ S(   N(   t   lent   str(   Ri   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   <lambda>¹   t    c         S   s   t  |  ƒ S(   N(   R   (   Ri   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyR~   º   R   i   i   t   measure(   RJ   R8   R	   R6   RZ   R   (   t   measure1t   measure2Ri   t   expr2(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_simplify_measure¸   s    		***'*c          C   s€   d t  d t }  t |  d t ƒd t  t k s8 t ‚ t |  d d  ƒd t  t k s^ t ‚ t |  d t ƒ|  k s| t ‚ d  S(   Ni   g       @t   rational(   RJ   RK   R6   t   TrueRZ   t   NoneRc   (   Ri   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_simplify_rationalÅ   s    &&c           C   sX   t  t t d d ƒ ƒ t t d d ƒ ƒ ƒ d t t t d d ƒ ƒ k sT t ‚ d  S(   Ni   i   i   (   R6   R   R1   R   RZ   (    (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_simplify_issue_1308Ì   s    -c          C   sn   t  t t t ƒ ƒ t t ƒ t k s. t ‚ t d d t ƒ}  t  |  |  |  ƒ |  |  |  k sj t ‚ d  S(   NRd   R`   (   R6   R   R   RZ   R?   Rc   (   Rd   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_5652Ñ   s    .c          C   sv   t  d ƒ }  t  d ƒ } |  | d d |  | d d | d d |  d | } t | ƒ d d | k sr t ‚ d  S(   NRJ   RK   i   iüÿÿÿi   i   iþÿÿÿ(   R>   R6   RZ   (   RJ   RK   RR   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_simplify_fail1×   s    :c          C   sl  t  d d t d ƒ d ƒ t d ƒ d k s3 t ‚ d t d ƒ d t d ƒ t d ƒ t d ƒ }  t  t |  d ƒ d ƒ |  k sŠ t ‚ t  d d	 t d ƒ d
 ƒ d t d ƒ k s½ t ‚ t  d d	 t d ƒ d
 ƒ d t d ƒ k sð t ‚ d t d ƒ d d t d ƒ d t d ƒ } t  | d
 ƒ d t d ƒ t d ƒ k sOt ‚ d t d ƒ t d ƒ t d
 ƒ }  t t  t |  d
 ƒ d
 ƒ ƒ |  k sžt ‚ d t d ƒ d t d ƒ d t d ƒ }  t  t |  d
 ƒ d
 d ƒ |  k sòt ‚ d t d ƒ d t d ƒ d t d ƒ }  t  t |  d ƒ d ƒ |  k sCt ‚ t  t |  d ƒ d ƒ |  k sht ‚ d  S(   NiZ   i"   i   i   i   i   i   i)   i   i   i×ÿÿÿiÿÿÿÿi(  i
   ix  i
  ih  i   i   i“  (   RE   R<   RZ   R   (   t   qRi   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_nthrootÞ   s    32%330/$+,(,%c          C   sª   d t  d ƒ t  d ƒ t d ƒ d }  t |  d ƒ } t | d ƒ |  k sS t ‚ d t  d ƒ t  d ƒ t d ƒ d	 }  t |  d ƒ } t | d ƒ |  k s¦ t ‚ d  S(
   Ni   i   i   i
   i   i   i   l      Fµx:^V l       ©7§3M“e'(   R<   R3   R   RE   RZ   (   RŒ   t   p(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_nthroot1ï   s    ((c          C   s°  t  d ƒ \ }  } } } t d | |  | d |  | | ƒ d |  | | | k s\ t ‚ t |  | |  | | ƒ |  | d | k s t ‚ t t |  | t |  | | ƒ t |  | d | k sÐ t ‚ t |  | d t |  ƒ |  t |  ƒ t | ƒ ƒ |  t | ƒ | d t |  ƒ k s.t ‚ t |  t |  | ƒ |  t |  ƒ ƒ |  d t | ƒ t |  ƒ k szt ‚ t |  | d | ƒ j s›t ‚ t d |  | |  | ƒ |  d | d k sÏt ‚ t | t t | |  t | ƒ ƒ ƒ | t |  t | ƒ ƒ t | t | ƒ ƒ t k s1t ‚ t |  | |  | | d d |  d ƒ |  d d k sqt ‚ t d d t	 ƒ} t t
 | d |  | d ƒ ƒ | t
 d |  ƒ k s¿t ‚ t t
 | | d |  | d ƒ ƒ | t
 | d |  ƒ k st ‚ t t
 | | d |  | d ƒ d t	 ƒ| t
 | ƒ t
 d |  ƒ k sSt ‚ t t
 |  | ƒ ƒ j srt ‚ t t
 |  | ƒ d t	 ƒt
 |  ƒ t
 | ƒ k sªt ‚ t d |  d | d t	 d d ƒi d d	 6d |  d |  6| | 6k s÷t ‚ t d |  d | d t	 d |  g ƒi | d	 6d |  d |  6k s@t ‚ t d |  d | d t	 d g  ƒi d d	 6d |  d |  6| | 6k st ‚ t d |  d | d t	 ƒi d d	 6d |  d |  6| | 6k sÔt ‚ t d |  d | d t	 d d  ƒi | d |  d d	 6k st ‚ t d
 d t	 ƒd  k s5t ‚ t d |  | d t	 d d ƒd  k sat ‚ t d |  | d t	 ƒd  k s‡t ‚ t d |  | d t	 d d  ƒi d |  | d	 6k sÂt ‚ t  d d t ƒ\ } } t | | | ƒ d | | k st ‚ t |  |  | ƒ |  d | k s*t ‚ t d ƒ } t | |  ƒ |  | |  ƒ ƒ | |  ƒ |  | |  ƒ k svt ‚ |  d t d d | | ƒ } t | ƒ | k s¬t ‚ d  S(   Ns   x,y,z,ni   i   RŽ   t   positivet   forcet   dictR?   t   coeffi   s   n,mR`   RS   (    (    (    (    (   R?   R4   RZ   R-   R8   R   t   is_PowR	   R>   R†   R<   R‡   Rc   R   R   (   RJ   RK   RL   Rd   RŽ   Re   RS   t   eq(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_separatevarsø   sP    D4@3+L!4&<@<D)'8!,$%!,,!",&;((@c          C   st  t  d ƒ \ }  } } t d t |  ƒ t | ƒ t |  ƒ t | ƒ ƒ t |  ƒ d t | ƒ d k sm t ‚ t d |  t | ƒ |  t | ƒ t | ƒ t | ƒ |  t | ƒ t | ƒ |  t | ƒ t | ƒ ƒ |  d t | ƒ d t | ƒ d k st ‚ t  d d t ƒ\ }  } t d t |  t | ƒ ƒ t |  | ƒ ƒ t |  ƒ d t | ƒ d k spt ‚ d  S(   Ns   x,y,zi   s   x,yR   (   R?   R4   R$   RZ   R   R†   (   RJ   RK   RL   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt!   test_separatevars_advanced_factor,  s    1'f0+c          C   s`  t  d d t ƒ\ }  } t t | ƒ | ƒ | d k s= t ‚ t t | d ƒ | ƒ d  k sb t ‚ t d t | ƒ | ƒ d | d k s t ‚ t d | t | ƒ d | ƒ d | d d k sÈ t ‚ t t |  | ƒ | ƒ |  | | d k sø t ‚ t t |  d | ƒ | ƒ |  | d | d k s0t ‚ d | d t | ƒ t d | d ƒ } t | | ƒ t d ƒ d d | d d d | d	 | d k s£t ‚ d d | d t d | d ƒ } t | | ƒ | t d ƒ d | d d | d d | d k st ‚ t |  | ƒ d
 | t | ƒ } t | | ƒ | |  | d d k s\t ‚ d  S(   Ns   n,kt   integeri   i   i   i   i   i   i   iÿÿÿÿ(   R?   R†   R    R   RZ   R‡   R   R3   (   Rd   RW   t   term(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_hypersimp8  s    %%-908*I$I!c          C   s  t  d ƒ }  t d ƒ d k s$ t ‚ t d ƒ d k s< t ‚ t d ƒ d k sT t ‚ t d |  ƒ d |  k st t ‚ t d ƒ t d d ƒ k s• t ‚ t d t ƒ d t d ƒ d	 k s¿ t ‚ t d t d ƒ d
 t g ƒ t d	 k sï t ‚ t d	 t t g ƒ d	 t d	 k st ‚ t t d t t d d t	 ƒƒ t
 d ƒ k sOt ‚ t t d t d d t	 ƒƒ t
 d ƒ k st ‚ t t t d d t	 ƒƒ d	 t t g ƒ t t ƒ t t ƒ d	 t k sÑt ‚ t d	 t d	 t d ƒ t ƒ ƒ t
 d ƒ k st ‚ t t d d ƒt d d ƒ k s.t ‚ t t d d ƒt d d ƒ k sUt ‚ t d d d ƒt d d ƒ k s|t ‚ t d d d d d ƒt d d ƒ k s«t ‚ t d d d d d d t ƒd	 t d d ƒ k sät ‚ t |  d  d! t ƒt d d	 ƒ |  k st ‚ t d d" |  d! t ƒt d d ƒ |  k sFt ‚ t t d ƒ j ƒ  d! t ƒt
 d# ƒ k svt ‚ t t d$ ƒ t t d	 ƒ g ƒ t t d	 ƒ d% k s±t ‚ t t d$ ƒ j d ƒ t t d	 ƒ g ƒ t d
 t d	 ƒ t d ƒ d
 k st ‚ t |  d& ƒ |  d k s$t ‚ t t d' ƒ t d( k sDt ‚ t t d' d! t	 ƒt d' k sjt ‚ t t d) ƒ d* t k sŠt ‚ t t d+ t d	 t d	 d, d t d	 d- ƒ ƒ j t ƒ sÐt ‚ |  d. } | j rùt |  d. ƒ d k sÿt ‚ t d/ d d0 d! t ƒt d d ƒ k s,t ‚ t d/ d d d! t ƒt d d ƒ k sYt ‚ t d1 d d0 d! t ƒt d2 d ƒ k s†t ‚ t d1 d d d! t ƒt d2 d ƒ k s³t ‚ t d3 d d d! t ƒt d3 ƒ k sÝt ‚ t d4 d d d! t ƒt d5 ƒ k st ‚ t d6 d d d! t ƒt d7 ƒ k s1t ‚ t d8 ƒ t d9 ƒ d k sTt ‚ t d: d d ƒt j d k syt ‚ t d; d d ƒt j d k sŸt ‚ t d< d d ƒt d= ƒ d> k sÇt ‚ t d? d d ƒt d= ƒ d> k sðt ‚ t t d@ ƒ ƒ t d ƒ dA k st ‚ t dB d! t ƒd k s6t ‚ t dC ƒ } t t | | f } xV | D]N } t | ƒ t } t | ƒ | k s‹t ‚ t | |  ƒ |  | k s]t ‚ q]Wt dD d! t dE dF ƒt dD ƒ k sÙt ‚ t t j d( ƒ |  dE dF ƒj d( ƒ t j d( ƒ |  k st ‚ d  S(G   NRJ   i    iÿÿÿÿi   gš™™™™™@i   i
   i   i   i   i   t   evaluates   1/2 - sqrt(3)*I/2s   sqrt(sqrt(5)/8 + 5/8)t   1s   1/4s   49/17 + 8*I/17t	   toleranceg{®Gáz„?i   i   gü©ñÒMbP?ic  iq   g¾¤1ZGUÕ?g-Cëâ6?g       @g      @i{  iø  t   fullg      à?R…   g333333Ó?s   109861228866811/100000000000000g² A²kÑ?i   g      @g      Y@id   gH¯¼šò×z>i€–˜ g      Àg      Àg      ø¿g        g©kí}ªª
@gš™™™™™¹?gR×ÚûTU@i   i!   g
×£p=ª@@i   gáz®GáB@i(   g33333ciÀiï  gš™™™™™É?gš™™™™™É¿gâé•²qÌ?iW  iˆ  gâé•²qÌ¿g:Œ0âŽyU>i€ðúg9(£ýL67t   infgÚÁQUUÕ?t   rational_conversiont   exact(   R>   R*   RZ   R1   R   R<   R   R-   R!   Rc   R@   R8   R   R†   R$   Rd   R   R3   R   RL   t   atomsR”   t   OneR,   R7   RY   (   RJ   RR   RŸ   t   infsRV   Rr   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_nsimplifyO  sv     !*0*!)'6'''//3;',  & C
%----***#%&()($*c          C   s2   t  d ƒ }  t |  ƒ t d ƒ d k s. t ‚ d  S(   NsE   1/(1 - (-1)**(2/3) - (-1)**(1/3)) + 1/(1 + (-1)**(2/3) + (-1)**(1/3))i   i   (   R@   R*   R3   RZ   (   R_   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_9448’  s    c          C   s/  t  d ƒ }  t  d ƒ } t  d ƒ } t  d ƒ } t |  | ƒ |  | k sR t ‚ t |  | ƒ |  | k st t ‚ t |  | ƒ |  | k s” t ‚ t |  | ƒ |  | k s¶ t ‚ t |  d ƒ t |  k s× t ‚ t t d ƒ d ƒ t k sù t ‚ t | |  | | ƒ | |  | | k s+t ‚ d  S(   NRJ   RK   RN   RO   i    iûÿÿÿ(   R>   R6   RZ   RC   R3   (   RJ   RK   RN   RO   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_extract_minus_sign—  s    "" "!"c          C   sl  t  d ƒ }  t  d ƒ } t d ƒ } t d ƒ } t | |  ƒ j |  ƒ | |  ƒ j |  ƒ | |  ƒ j |  ƒ | |  ƒ j |  ƒ ƒ d k s t ‚ t d | |  ƒ | |  ƒ j |  ƒ t | |  ƒ d |  ƒ ƒ d k sÜ t ‚ t t d | |  ƒ |  ƒ | |  ƒ j |  ƒ | |  ƒ d ƒ d k s(t ‚ t | |  ƒ j |  | ƒ | |  ƒ j | |  ƒ ƒ d k sht ‚ d  S(   NRJ   RK   RS   RT   i    i   i   (   R>   R   R6   R   RZ   (   RJ   RK   RS   RT   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt	   test_diff¥  s    `LLc          C   s  t  d ƒ \ }  } t d ƒ } t  d d t ƒ\ } } t d d t ƒ} t t |  ƒ d t | ƒ ƒ t |  ƒ d t | ƒ k sˆ t ‚ t t |  ƒ d t | ƒ d t ƒt |  | d ƒ k sÈ t ‚ t | t | ƒ t | ƒ ƒ | t | ƒ t | ƒ k st ‚ t | t | ƒ | t |  ƒ ƒ t | | ƒ | t |  ƒ k sPt ‚ t | t | ƒ t | ƒ ƒ t | | | ƒ k sŠt ‚ t t |  ƒ t | ƒ ƒ t |  ƒ t | ƒ k sÂt ‚ t t | ƒ t |  ƒ ƒ t | ƒ t |  ƒ k sút ‚ t t d	 t | ƒ | t | ƒ ƒ ƒ t t | | | d ƒ ƒ t t | d | | ƒ ƒ g k sft ‚ t t t |  ƒ t | ƒ ƒ t | ƒ d t ƒt t |  | ƒ | ƒ k s¸t ‚ t d t t |  ƒ d t ƒd t t |  ƒ k sòt ‚ t |  d t |  ƒ t | ƒ |  | d t ƒ|  d t |  | ƒ |  | k sJt ‚ t t |  ƒ d t | ƒ t | ƒ d t ƒt | | t |  d ƒ ƒ k sžt ‚ t |  | t |  d
 | d
 ƒ t |  ƒ t | ƒ t	 |  t
 d d ƒ t | ƒ d d t ƒ|  | t |  d
 | d
 ƒ t |  | ƒ t	 |  t d ƒ d | t d ƒ d k s]t ‚ t t t |  | ƒ ƒ t t |  | ƒ ƒ d t ƒt t |  | ƒ ƒ t t |  | ƒ ƒ k sÇt ‚ t d t | ƒ t | ƒ t |  ƒ t | ƒ t | ƒ ƒ t | t | d ƒ ƒ t |  ƒ t | | ƒ k s=t ‚ t d t | ƒ d t | ƒ ƒ t | d | d ƒ k st ‚ t |  | d t d ƒ t d ƒ ƒ |  | d t d ƒ k sÅt ‚ t |  | t | ƒ |  | t d ƒ ƒ |  | t | d ƒ k st ‚ d  S(   Ns   x,yRN   s   z,wR   RO   t   reali   R‘   iþÿÿÿi   i   i   i   (   R?   R>   R†   R%   R$   RZ   R	   R!   R<   R-   R1   R3   R   R   (   RJ   RK   RN   RL   Rf   RO   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_logcombine_1°  s<    @@@H:88B*/#:/)-'H_55;;BFc          C   s‡   t  t t d ƒ t t d ƒ t t ƒ }  t |  d t ƒ|  k sI t ‚ t |  d t t ƒ d t ƒ|  t t d ƒ k sƒ t ‚ d  S(   Ni   i   R‘   (   R"   R8   RJ   R	   R%   R†   RZ   R$   (   RV   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_logcombine_complex_coeffÔ  s    +c          C   s×   t  d d t ƒ\ }  } t t d ƒ t d ƒ ƒ t t d d ƒ d t ƒk sU t ‚ t t |  ƒ t | ƒ ƒ t |  | ƒ k s‡ t ‚ t t t d d ƒ d t ƒt d ƒ ƒ t t d d ƒ d t ƒk sÓ t ‚ d  S(   Ns   x,yR   i   i   R›   i   (   R?   R†   R%   R$   R1   Rc   RZ   (   RJ   RK   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_5950Û  s
    =2(c    	      C   sÙ  d d l  m }  t t |  t d d t ƒt d d t ƒƒ ƒ d k sN t ‚ t d |  ƒ \ } } t | ƒ j ƒ  j	 | ƒ t |  ƒ k s’ t ‚ t t |  d |  g ƒ ƒ d	 k sº t ‚ t
 d
 ƒ }  t
 d d t ƒ} t
 d d t ƒ} |  | | g } t | ƒ \ } } t | ƒ d k s#t ‚ g  | D] } | j	 | ƒ ^ q*| k sQt ‚ t t t d |  t ƒ d t d d f ƒ j ƒ  ƒ d k s“t ‚ t t t d |  | ƒ d | d d f ƒ j ƒ  ƒ d k sÕt ‚ d  S(   Niÿÿÿÿ(   RJ   RŽ   R   Rd   t   negatives   (_x + n + p, {_x: x})i   s   ([_x, _x + 1], {_x: x})RJ   s
   [_x, n, p]i    i   s3   Integral(1/_x, (y, 1, 3)) + Integral(_y, (y, 1, 3))s   Sum(_x**(-n), (n, 1, 3))(   t	   sympy.abcRJ   R}   R/   R>   R†   RZ   R$   R   t   subsR?   R"   RK   R=   (	   RJ   R•   t   repRŽ   Rd   t   origt   modifiedt   repsRf   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_posifyã  s$    %.(.33c          C   sf   d d l  m }  m } t d ƒ } t d |  d | | ƒ d |  d | | ƒ ƒ d k sb t ‚ d  S(   Niÿÿÿÿ(   RJ   RK   RS   i   i   i   i   (   R®   RJ   RK   R   R6   RZ   (   RJ   RK   RS   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_4194ý  s    c           C   sL   t  t d t d ƒ d k s$ t ‚ t  t d t d ƒ d k sH t ‚ d  S(   Ng       @i   i    (   R6   RJ   RZ   (    (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_simplify_float_vs_integer  s    $c          C   sË  t  d t j ƒ  t j t  d t f k s1 t ‚ t  d t j d t ƒ t j t  d t f k sh t ‚ t t  d t j ƒ  t j t t  d t f k s¡ t ‚ t t  d t j d t ƒ t j t t  d t f k sà t ‚ t  d d t  d t  d d j ƒ  d t  t  d d f k s&t ‚ d d t  d t d d t j ƒ  d t  d t t d d f k stt ‚ d d t  d j ƒ  d d t  d d f k sªt ‚ d d t  d t j ƒ  d t t d ƒ d t  d ƒ d t f k s÷t ‚ d d	 t  d t d d t j ƒ  d d	 t  d t t d d f k sIt ‚ d t  d t d t  d d t j ƒ  d
 t  t d f k st ‚ d t  d t d t  d d t d j ƒ  d t  d t d d f k sát ‚ t d j ƒ  d t d f k st ‚ t j	 j ƒ  d t
 f k s(t ‚ t  d t }  |  j ƒ  d |  f k sTt ‚ t j d t  j ƒ  t d ƒ d d t  f k sŒt ‚ t j d t  j ƒ  t d ƒ d t j t  f k sÈt ‚ t j d t  j ƒ  t d ƒ d t j t  f k st ‚ d d t d j ƒ  d d t d f k s6t ‚ d d t d j ƒ  d d t t d ƒ d d t d t ƒf k st ‚ d t d ƒ d j ƒ  d d t d ƒ d f k s»t ‚ d t d ƒ d j ƒ  d d t d ƒ d f k sõt ‚ t d t d d t  d t d d t ƒj ƒ  t d ƒ d d t  d t d	 t f k sWt ‚ d t d ƒ d d t d ƒ d t d ƒ j d t ƒ d d t d ƒ d t d ƒ t d ƒ f k sÇt ‚ d  S(   Ni   t   cleari   i   i   i   i   i   i
   i   iy   R›   i   g      à?i   g      @i   t   radical(   RJ   RK   t   as_content_primitiveR3   t   HalfRZ   Rc   R£   RD   t   InfinityR,   R)   R   RL   R<   R†   (   R•   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_as_content_primitive  sJ    179?%!%)!4%-)-%!8''26::/39c          C   s¾   t  t  d t  t  d }  t t |  d ƒ ƒ t j k s? t ‚ t t  d ƒ t d t  ƒ k se t ‚ t t t  ƒ t t  k s… t ‚ t t t  d t ƒt	 d t  t d t ƒk sº t ‚ d  S(   Ni   i    R›   iÿÿÿÿ(
   RJ   R5   R   R3   t   trueRZ   R    RK   Rc   R)   (   RR   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_signsimp8  s
    $& c          C   sÉ  d d l  m }  m } m } m } m } t t t t	 t
 d ƒ | t
 t | t t	 d ƒ ƒ ƒ |  t
 t ƒ k s{ t ‚ t t t t	 t d ƒ | t d t t ƒ | t t	 d ƒ ƒ ƒ |  t d t t ƒ ƒ k sâ t ‚ t t d ƒ t t	 ƒ t t d ƒ d t t t	 d ƒ t t t	 t d ƒ | t d ƒ d t t ƒ | t t	 d ƒ ƒ | t t t ƒ | t t	 d ƒ ƒ d ƒ |  t t t ƒ ƒ t t t ƒ ƒ k s½t ‚ t | t d ƒ d t ƒ ƒ t d ƒ | t ƒ t t	 ƒ t t ƒ k st ‚ t | t t | t t	 d ƒ ƒ ƒ t t t	 t d ƒ |  t t ƒ k s`t ‚ | d t t t t ƒ t t
 ƒ t d ƒ t t	 ƒ |  d d t t ƒ t t
 ƒ ƒ d k sÅt ‚ d  S(   Niÿÿÿÿ(   t   besseljt   besseliR   R
   t   cosine_transformi   i   i   i    (   t   sympyR¿   RÀ   R   R
   RÁ   R   R   R!   R-   RK   RL   RZ   RN   R<   RJ   R3   R	   RM   R8   (   R¿   RÀ   R   R
   RÁ   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_besselsimp@  s    (;E"ª.3%/!c          C   sÆ   t  t  t t t  t }  t t  ƒ d t t  ƒ d } t t  t t t  ƒ } t |  ƒ } t | ƒ } t | ƒ } t t |  t  | k  f | t f ƒ ƒ t | t  | k  f | t f ƒ k sÂ t ‚ d  S(   Ni   (	   RJ   RK   R8   R	   R   R6   R.   R†   RZ   (   t   e1t   e2t   e3t   s1t   s2t   s3(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_PiecewiseR  s    $c          C   sA   d t  f d „  ƒ  Y}  |  d d ƒ } t | ƒ d k s= t ‚ d  S(   NRh   c           B   s   e  Z d  „  Z RS(   c         [   s   d S(   Ni   (    (   RJ   t   kwargs(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   _eval_simplify_  s    (   t   __name__t
   __module__RÌ   (    (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyRh   ^  s   i   i   i   (   R   R6   RZ   (   Rh   RN   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_polymorphism]  s    c          C   sL   t  d d t ƒ\ }  } } } t t t |  ƒ ƒ t |  ƒ k sH t ‚ d  S(   Ns   n1 n2 n3 n4R­   (   R?   R†   R6   R!   R<   RZ   (   t   n1t   n2t   n3t   n4(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_from_PR1599f  s    c          C   sŒ   t  d t d t  d }  t |  ƒ t  d t  d t d k sF t ‚ t |  j ƒ  ƒ d t  d d t  t d t  d t k sˆ t ‚ d  S(   Ni   i   i   (   RJ   RK   R6   RZ   R   (   R•   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_6811k  s    ,c          C   sÖ   t  t ƒ t t t ƒ t  t ƒ t t t ƒ t t ƒ t t ƒ t t ƒ t t ƒ g }  t t t ƒ t t t ƒ t t ƒ t t ƒ g } t d ƒ } g  |  D] } t | | ƒ ƒ j	 d ^ q¡ | k sÒ t
 ‚ d  S(   NRS   i    (   R	   RJ   R!   R8   R
   R:   R   R   R6   t   argsRZ   (   RR   t   okRS   t   ei(    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_6920s  s
    .,4c       	   C   sà   d d l  m }  m } t |  t d t d |  | k f d t | d d |  d t f ƒ d t d t |  d |  | k f d t | d d |  d t f ƒ d t |  ƒ t d |  | k f d t f ƒ k sÜ t ‚ d  S(   Niÿÿÿÿ(   Rz   t   Ri   i   iøÿÿÿi   i    (   R®   Rz   RÚ   R6   R.   R-   R†   RZ   (   Rz   RÚ   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_7001|  s
     F6c          C   sd   t  t ƒ d t t ƒ d }  d } t |  | d t ƒ} | t j k	 sN t ‚ t | ƒ s` t ‚ d  S(   Ni   R›   (	   R	   RJ   R8   R&   Rc   R3   R½   RZ   R6   (   t   lhst   rhsRR   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt    test_inequality_no_auto_simplify„  s
    c          C   sü  d d l  m }  m } | d ƒ d k s. t ‚ | d t ƒ d k sJ t ‚ t d ƒ d k sb t ‚ t d t ƒ d k s~ t ‚ t |  d ƒ |  d ƒ |  d ƒ j ƒ  d k s´ t ‚ | d ƒ d k sÌ t ‚ | d t ƒ d k sè t ‚ t d ƒ d k s t ‚ t d t ƒ d k st ‚ | d	 ƒ d k s4t ‚ | d	 t ƒ d k sPt ‚ t d	 ƒ d k sht ‚ t d	 t ƒ d k s„t ‚ t d
 ƒ } | | ƒ d k s¨t ‚ | | t ƒ d k sÄt ‚ t | ƒ d k sÜt ‚ t | t ƒ d k søt ‚ d  S(   Niÿÿÿÿ(   t   Numbert   cancelg›+¡†›„=i    g      ð?i
   iòÿÿÿg#B’¡œÇ;g0Žä.ÿ++s   1e-1000(   RÂ   Rß   Rà   RZ   R!   R6   R   (   Rß   Rà   RS   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_9398  s&    6c          C   sD   t  d d d ƒ }  |  d |  d d } t | ƒ | k s@ t ‚ d  S(	   Nt   Mi
   i    i   i   i  (   i    i    (   i   i   (   R(   R6   RZ   (   Râ   RR   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_9324_simplify«  s    c          C   sH   t  d ƒ }  t |  t t d ƒ ƒ ƒ |  t t d ƒ ƒ k sD t ‚ d  S(   NRJ   i   (   R>   R6   R   R9   RZ   (   RJ   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_issue_13474±  s    c             s>  t  d ƒ \ }  } t d ƒ ‰  d t f ‡  f d †  ƒ  Y} t | ˆ  |  ƒ ƒ ƒ | ˆ  |  ƒ ƒ k sj t ‚ t | ˆ  |  ƒ ƒ ƒ |  k sŽ t ‚ t | ˆ  |  ƒ ƒ d t ƒ|  k s¸ t ‚ t | ˆ  t |  ƒ d t |  ƒ d ƒ ƒ d t ƒd k sú t ‚ t | ˆ  |  | ƒ ƒ d t ƒ| ˆ  |  | ƒ ƒ k s6t ‚ t d t t d |  ƒ ƒ d t ƒd	 |  k slt ‚ t t	 t
 |  ƒ ƒ ƒ t	 t
 |  ƒ ƒ k sœt ‚ t t	 t
 |  ƒ ƒ d t ƒ|  k sÆt ‚ t t	 t
 |  ƒ d ƒ d t ƒ|  t	 d ƒ k sýt ‚ t t	 t
 |  ƒ d d
 t ƒd t ƒ|  t	 d ƒ k s:t ‚ d  S(   Ns   x, yRT   RS   c              s   e  Z d  ‡  f d † Z RS(   i   c            s   ˆ  S(   N(    (   t   selft   argindex(   RT   (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   inverse¾  s    (   RÍ   RÎ   Rç   (    (   RT   (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyRS   ½  s   Rç   i   i   i   i   R›   (   R?   R   R6   RZ   RF   R†   R8   R	   R   R$   R   Rc   (   RJ   RK   RS   (    (   RT   sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_simplify_function_inverse¶  s    0$*B<60*7c          C   sû  d d l  m }  |  d t d t d ƒ t d t d d f k sJ t ‚ |  d t d t d d ƒ t d t d t d ƒ d f k s’ t ‚ |  d t d t d d t ƒ t d t d t d	 t d ƒ d f k så t ‚ |  t d ƒ d ƒ t d ƒ d f k st ‚ |  d t d ƒ d ƒ t d ƒ t j f k sHt ‚ |  t d ƒ t ƒ d t d f k sst ‚ |  t j t ƒ t j t f k sšt ‚ |  t j	 t ƒ t j	 t f k sÃt ‚ |  d t j	 d t ƒ t
 d
 t d f k s÷t ‚ d  S(   Niÿÿÿÿ(   t   clear_coefficientsi   i   i   i   i   i    i   iýÿÿÿ(   t   sympy.simplify.simplifyRé   RK   RJ   RZ   R3   R<   Rº   R»   t   PiR-   (   Ré   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_clear_coefficientsÍ  s    :HS.5+')c             s  d d l  m ‰ d d l m }  m } m } m ‰ m ‰  d d l m	 ‰ d d l
 m ‰ t d d t ƒ\ } } } } t d ƒ ‰ t d	 ˆ ˆ ƒ } t d
 ˆ ˆ ƒ } t d ˆ ˆ ƒ }	 t d ˆ ˆ ƒ }
 i | | 6| | 6|	 | 6|
 | 6‰ i d „  t 6d „  t 6‰ ‡  ‡ ‡ ‡ ‡ ‡ ‡ ‡ f d †  ‰ t t ‡ ‡ f d † } | | | | | | | | | | d | | | d | d ƒ | | | | | d | | d ƒ | | d | | | | | | | d | | | d d t ƒ| | | | d | | d | | d | | | d d ƒ | | | | d | | d | | d | | | d | d ƒ | | d | | d | | d | | d | d | | d d ƒ | | d | | d | | d | | | d | | d d | d ƒ | | | | | | | | ˆ | | | | | d ˆ | | | d ƒ | | | | | | | | | | | | | d | d ƒ | | d | d | | d | | ƒ | | d | | d | | d | d ƒ | d | | d | | d | | d | | d | | d d | | d | | d } x" t d ƒ D] } | | | 9} qbW| | | d | | d d | | d d | | d ƒ | | | | | d | | | | d d t ƒ| | | | | d | | | | d ƒ | d | d | d | d | | d d | d } ˆ | ƒ d | d k sqt ‚ ˆ d ˆ d ƒ d ˆ d k s™t ‚ d  S(   Niÿÿÿÿ(   t   nc_simplify(   t
   MatrixExprt   MatAddt   MatMult   MatPowt   Identity(   t   Pow(   t   reduces   a b c dR`   RJ   Rh   Rj   t   Ct   Dc         S   s   |  | S(   N(    (   RJ   RK   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyR~   ç  R   c         S   s   |  | S(   N(    (   RJ   RK   (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyR~   ç  R   c            s›   |  ˆ k r ˆ |  St  |  ˆ ƒ rD ˆ ˆ |  j d ƒ |  j d ƒ St  |  t t f ƒ r‰ ˆ ˆ |  j g  |  j D] } ˆ | ƒ ^ qp ƒ S|  ˆ  ˆ ƒ Sd  S(   Ni    i   (   t
   isinstanceRÖ   R   R)   t   func(   Ri   RN   (   Rò   Rñ   Ró   t
   _to_matrixt   funcsRô   t   substRJ   (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyRù   é  s    !0c            s…   ˆ |  d | ƒ| k s t  ‚ t |  ƒ t | ƒ k s< t  ‚ | r ˆ  | ƒ j d t ƒ } ˆ ˆ  |  ƒ d | ƒ| k s t  ‚ n  d  S(   Nt   deept
   inv_expand(   RZ   R   t   doitRc   (   Ri   t
   simplifiedRü   t   matrixt   m_simp(   Rù   Rí   (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   _checkó  s
    i   i   iþÿÿÿi   R   i   iýÿÿÿi
   i   Rü   (   Rê   Rí   t   sympy.matrices.expressionsRî   Rï   Rð   Rñ   Rò   t
   sympy.coreRó   t	   functoolsRô   R?   Rc   R>   R(   R   R)   R†   RI   RZ   (   Rî   Rï   Rð   RN   RO   RP   RQ   Rh   Rj   Rõ   Rö   R  Ri   RV   (    (	   Rò   Rñ   Ró   Rù   Rú   Rí   Rô   Rû   RJ   sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   test_nc_simplifyÙ  sD    ("$
E%CAEIMQA)-b=3-: N(‰   RÂ   R    R   R   R   R   R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R>   R?   R@   RA   RB   RC   t   sympy.core.mulRD   Rê   RE   RF   t   sympy.utilities.pytestRG   RH   t   sympy.core.compatibilityRI   R®   RJ   RK   RL   RM   RN   RO   RP   RQ   RR   RS   RT   RU   RV   RW   R[   R]   Rk   Rp   Rs   Rw   R{   R„   Rˆ   R‰   RŠ   R‹   R   R   R–   R—   Rš   R¥   R¦   R§   R¨   Rª   R«   R¬   R´   Rµ   R¶   R¼   R¾   RÃ   RÊ   RÏ   RÔ   RÕ   RÙ   RÛ   RÞ   Rá   Rã   Rä   Rè   Rì   R  (    (    (    sA   lib/python2.7/site-packages/sympy/simplify/tests/test_simplify.pyt   <module>   sb   ÿ £
^	
	]			
										4			C				$					,																	