ó
¡¼™\c           @   sh  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+ d  d l, m- Z- m. Z. d  d l/ m0 Z0 d „  Z1 d „  Z2 d „  Z3 d „  Z4 d „  Z5 e- d	 „  ƒ Z6 d
 „  Z7 d „  Z8 d „  Z9 d „  Z: d „  Z; d „  Z< d „  Z= d „  Z> d „  Z? d „  Z@ d „  ZA d „  ZB d „  ZC d „  ZD d „  ZE d „  ZF d „  ZG d „  ZH d „  ZI e- d „  ƒ ZJ d „  ZK e- d „  ƒ ZL d  „  ZM d! „  ZN d" „  ZO d# „  ZP d$ S(%   iÿÿÿÿ(+   t   Abst   adjointt   argt   atant   atan2t	   conjugatet   cost
   DiracDeltat   Et   expt   expandt   Exprt   Functiont	   Heavisidet   It   imt   logt   nant   oot   pit   Rationalt   ret   St   signt   sint   sqrtt   Symbolt   symbolst	   transposet   zoot	   exp_polart	   Piecewiset   Intervalt   compt   Integralt   Matrixt   ImmutableMatrixt   SparseMatrixt   ImmutableSparseMatrixt   MatrixSymbolt   FunctionMatrixt   Lambdat
   Derivative(   t   XFAILt   raises(   t	   unchangedc         C   s   t  |  j ƒ  | j ƒ  d ƒ S(   s7   Check whether two complex numbers are numerically closegíµ ÷Æ°>(   R!   t   n(   t   at   b(    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   N_equals   s    c          C   sµ  t  d ƒ \ }  } t  d d t ƒ\ } } t d d t ƒ} t d d t ƒ} t t ƒ t k sf t ‚ t t ƒ t k s~ t ‚ t t ƒ t k s˜ t ‚ t d ƒ d k s° t ‚ t d ƒ d k sÈ t ‚ t d	 ƒ d	 k sà t ‚ t t ƒ t k sø t ‚ t t ƒ t k st ‚ t t |  ƒ s't ‚ t |  t	 ƒ t
 |  ƒ k sJt ‚ t | t	 ƒ d k sft ‚ t | ƒ | k s~t ‚ t | t	 ƒ t	 | k sžt ‚ t | ƒ d k s¶t ‚ t |  | ƒ t |  | ƒ k sÜt ‚ t |  | ƒ t |  ƒ | k st ‚ t t |  ƒ ƒ t |  ƒ k s&t ‚ t d
 t	 ƒ d
 k sBt ‚ t |  t	 ƒ t |  ƒ k sdt ‚ t |  | t	 ƒ t |  ƒ t
 | ƒ k s”t ‚ t |  | t	 ƒ t |  ƒ k sºt ‚ t t d
 t	 ƒ ƒ t d
 ƒ k sât ‚ t d
 t	 d
 ƒ j d t ƒ d k st ‚ t t |  ƒ ƒ t |  ƒ k s2t ‚ t t |  ƒ ƒ t |  ƒ k sVt ‚ t |  ƒ j ƒ  t |  ƒ d f k s€t ‚ t | | |  ƒ j | ƒ t | |  ƒ k s³t ‚ t | | |  ƒ j | ƒ t	 | t
 |  ƒ k sêt ‚ t t | | t	 ƒ ƒ | d
 | d
 t d d ƒ t t | | ƒ d
 ƒ k s@t ‚ t | d
 | t	 ƒ d
 | k sht ‚ t d t | | t	 ƒ d
 ƒ | d
 | d
 t d d ƒ t t | | ƒ d
 ƒ d
 t d d
 ƒ k s×t ‚ t |  ƒ j t
 ƒ |  t j t
 |  ƒ k s	t ‚ |  t | ƒ j t t
 ƒ |  | t j t
 | ƒ k sFt ‚ t d d t ƒ} t d d t ƒ} t d ƒ }  t | ƒ j s‹t ‚ t |  ƒ j d  k s¦t ‚ t | ƒ j t k sÁt ‚ t t j ƒ t j k sßt ‚ t  d ƒ \ } } }	 t d | | ƒ }
 t |
 ƒ t d ƒ d
 |
 t |
 ƒ k s6t ‚ t d d t	 d
 g d d t	 g g ƒ }
 t |
 ƒ t d d
 g d d g g ƒ k st ‚ t d d t	 d d
 t	 g d d
 t	 g g ƒ }
 t |
 ƒ t d d g d d g g ƒ k sòt ‚ t g  t  d ƒ D]1 } g  t  d ƒ D] } d
 | | t	 ^ q^ qƒ } t | ƒ t d d d d d g d
 d
 d
 d
 d
 g d d d d d g d d d d d g d d d d d g g ƒ t j! d ƒ k sÁt ‚ t
 | ƒ t d d d
 d d g d d d
 d d g d d d
 d d g d d d
 d d g d d d
 d d g g ƒ t j! d ƒ k sFt ‚ t" d d t# | | f | | t	 ƒ ƒ } t | ƒ t d d d g d d d g d
 d
 d
 g g ƒ k s±t ‚ d  S(   Ns   x,ys   a,bt   realt   rt   it	   imaginaryi    i   iÿÿÿÿi   t   complexi   i   R/   t	   algebraict   tt   transcendentalt   xs   n m lt   Aiýÿÿÿi   i   i   ($   R   t   TrueR   R   R   t   AssertionErrorR   R   R-   R   R   R   R
   R   t   as_real_imagt   diffR   R   R   R   t   rewriteR   t   ImaginaryUnitt   is_algebraict   Nonet   Falset   ComplexInfinityt   NaNR'   R#   R$   R%   t   ranget   zerosR(   R)   (   R:   t   yR/   R0   R3   R4   R8   R.   t   mt   lR;   t   jt   X(    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_re   s„    # &&$"0&(,$$*37S(P2=0*020J11)c          C   s=  t  d ƒ \ }  } t  d d t ƒ\ } } t d d t ƒ} t d d t ƒ} t t ƒ t k sf t ‚ t t t ƒ t k s‚ t ‚ t t t ƒ t k s  t ‚ t d ƒ d k s¸ t ‚ t d ƒ d k sÐ t ‚ t d	 ƒ d k sè t ‚ t t t ƒ t k st ‚ t t t ƒ t k s"t ‚ t	 t |  ƒ s7t ‚ t |  t ƒ t
 |  ƒ k sYt ‚ t | t ƒ | k sut ‚ t | ƒ d k st ‚ t | t ƒ d k s©t ‚ t | ƒ t | k sÆt ‚ t |  | ƒ t |  | ƒ k sìt ‚ t |  | ƒ t |  ƒ k st ‚ t |  | t ƒ t |  ƒ | k s8t ‚ t t |  ƒ t ƒ t |  ƒ k s`t ‚ t d
 t ƒ d k s|t ‚ t |  t ƒ t |  ƒ d k s¢t ‚ t |  | t ƒ t |  ƒ t
 | ƒ k sÒt ‚ t |  | t ƒ t |  ƒ | k süt ‚ t t d
 t ƒ ƒ t d
 k s"t ‚ t d
 t d
 ƒ j d t ƒ d k sNt ‚ t t |  ƒ ƒ t |  ƒ k sst ‚ t t |  ƒ ƒ t |  ƒ k s—t ‚ t |  ƒ j ƒ  t |  ƒ d f k sÁt ‚ t | | |  ƒ j | ƒ t | |  ƒ k sôt ‚ t | | |  ƒ j | ƒ t t
 | |  ƒ k s,t ‚ t t | | t ƒ ƒ | d
 | d
 t d d ƒ t t | | ƒ d
 ƒ k s‚t ‚ t | d
 | t ƒ | | k sªt ‚ t d t | | t ƒ d
 ƒ | d
 | d
 t d d ƒ t t | | ƒ d
 ƒ d
 k st ‚ t |  ƒ j t
 ƒ t j |  t
 |  ƒ k s?t ‚ |  t | ƒ j t t
 ƒ |  t j | t
 | ƒ k s|t ‚ t d d t ƒ} t d d t ƒ} t d ƒ }  t
 | ƒ j sÁt ‚ t
 |  ƒ j d  k sÜt ‚ t
 | ƒ j t k s÷t ‚ t t j ƒ t j k st ‚ t  d ƒ \ } } }	 t d | | ƒ }
 t |
 ƒ t d ƒ d
 t |
 t |
 ƒ k spt ‚ t d d t d
 g d d t g g ƒ }
 t |
 ƒ t d d g d d g g ƒ k sÊt ‚ t d d t d d
 t g d d
 t g g ƒ }
 t |
 ƒ t d d g d d
 g g ƒ k s,t ‚ t  g  t! d ƒ D]- } g  t! d ƒ D] } | t | ^ qO^ q<ƒ } t" g  t! d ƒ D]% } g  t! d ƒ D] } | ^ q•^ q‚ƒ } t | ƒ j# ƒ  | k sÎt ‚ t$ d d t% | | f | | t ƒ ƒ } t | ƒ t d d d
 g d d d
 g d d d
 g g ƒ k s9t ‚ d  S(   Ns   x,ys   a,bR2   R3   R4   R5   i    i   iÿÿÿÿi   R6   i   R/   R7   R8   R9   R:   s   n m lR;   iýÿÿÿi   iþÿÿÿi   (&   R   R<   R   R   R   R=   R   R   R   R-   R   R   R   R
   R   R>   R?   R   R   R   R   R@   R   RA   RB   RC   RD   RE   RF   R'   R#   R$   R&   RG   R%   t   as_immutableR(   R)   (   R:   RI   R/   R0   R3   R4   R8   R.   RJ   RK   R;   RM   t   Y(    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_imp   sx    "&"*(&0*&,%$*38S(C3=4*020C>)c    	      C   s  t  d ƒ d k s t ‚ t  d ƒ d k s0 t ‚ t  d t ƒ t k sL t ‚ t  d t ƒ t k si t ‚ t  d ƒ d k s t ‚ t  t ƒ t k s™ t ‚ t  d d t ƒ j ƒ  t d ƒ d d t d	 k sÕ t ‚ t  d d t ƒ j ƒ  t  d d t ƒ k s	t ‚ t  d d t ƒ j ƒ  t  d t ƒ k s9t ‚ t  t t d t d ƒ ƒ ƒ ƒ d k sgt ‚ t  t d t d ƒ ƒ ƒ t k st ‚ t d
 ƒ }  t  |  ƒ j	 t
 k s¶t ‚ t  |  ƒ j t
 k sÑt ‚ t  |  ƒ j d  k sìt ‚ t  |  ƒ j d  k st ‚ t  |  ƒ j d  k s"t ‚ t  |  ƒ j d  k s=t ‚ t  |  ƒ j ƒ  t  |  ƒ k sat ‚ t  d |  ƒ t  |  ƒ k sƒt ‚ t  d |  ƒ t  |  ƒ k s¥t ‚ t  t |  ƒ t t  |  ƒ k sËt ‚ t  d t |  ƒ t t  |  ƒ k söt ‚ t  t |  ƒ ƒ t t  |  ƒ ƒ k s t ‚ t d d t
 ƒ} t d d t
 ƒ} t d d t
 ƒ} t  d | |  ƒ t  |  ƒ k s|t ‚ t  | |  ƒ t  |  ƒ k sŸt ‚ t  | | |  ƒ t  |  ƒ k sÅt ‚ t d
 d t
 ƒ}  t  |  ƒ j t
 k sòt ‚ t  |  ƒ j t k st ‚ t  |  ƒ j t k s(t ‚ t  |  ƒ j t k sCt ‚ t  |  ƒ j |  ƒ d t t |  ƒ k sst ‚ t  |  ƒ j ƒ  |  t |  ƒ k s›t ‚ t t  |  ƒ ƒ t  |  ƒ k sÀt ‚ t d
 d t
 ƒ}  t  |  ƒ j t k sít ‚ t  |  ƒ j t
 k st ‚ t  |  ƒ j t
 k s#t ‚ t  |  ƒ j d  k s>t ‚ t  |  ƒ j |  ƒ d t |  ƒ k sit ‚ t  |  ƒ j ƒ  t  |  ƒ k st ‚ t t  |  ƒ ƒ t  |  ƒ k s±t ‚ t d
 d t
 ƒ}  t  |  ƒ j t k sÞt ‚ t  |  ƒ j t
 k sùt ‚ t  |  ƒ j t
 k st ‚ t  |  ƒ j t k s/t ‚ t  |  ƒ j ƒ  |  t |  ƒ k sWt ‚ t  t |  ƒ ƒ d k sut ‚ t t  |  ƒ ƒ d k s“t ‚ t d
 d t
 ƒ}  t  |  ƒ j t k sÀt ‚ t  |  ƒ j t
 k sÛt ‚ t  |  ƒ j t
 k söt ‚ t  |  ƒ j t k st ‚ t  |  ƒ j ƒ  |  t |  ƒ k s9t ‚ t  t |  ƒ ƒ d k sWt ‚ t t  |  ƒ ƒ d k sut ‚ d }  t  |  ƒ j t k s–t ‚ t  |  ƒ j t
 k s±t ‚ t  |  ƒ j t
 k sÌt ‚ t  |  ƒ j t
 k sçt ‚ t  |  ƒ j ƒ  d k st ‚ t  t |  ƒ ƒ d k s#t ‚ t t  |  ƒ ƒ d k sAt ‚ t d d t
 d t
 ƒ} t  | ƒ j t k stt ‚ t  | ƒ j t
 k st ‚ t  | ƒ j t
 k sªt ‚ t  | ƒ j t k sÅt ‚ t  | ƒ d d k sát ‚ t  | ƒ d j t  | ƒ d f k s	t ‚ t  t d
 d t
 ƒƒ j s-	t ‚ t  t d
 d t
 ƒƒ j d  k sT	t ‚ t  t d
 d t
 ƒƒ j d  k s{	t ‚ t  t d
 d t
 ƒƒ j sœ	t ‚ t  t d
 d t
 ƒƒ j d  k sÃ	t ‚ t  t d
 d t
 ƒƒ j d  k sê	t ‚ t  t d
 d t
 d t ƒƒ j d  k s
t ‚ t d
 d t
 ƒt d ƒ }  } t  |  ƒ j t ƒ t d |  d k f d |  d k  f d t
 f ƒ k s
t ‚ t  | ƒ j t ƒ t  | ƒ k s¨
t ‚ t  |  ƒ j t ƒ d t |  ƒ d k s×
t ‚ t  | ƒ j t ƒ t  | ƒ k sþ
t ‚ t  t t t ƒ t ƒ t j k s't ‚ t d d t d ƒ ƒ t d t d ƒ ƒ t d d t d ƒ ƒ } t  | ƒ j  t  k s›t  | ƒ d k s›t ‚ d t d ƒ d t d ƒ d t d ƒ } t! | d ƒ t" d d ƒ } | | } t  | ƒ j  t  k st  | ƒ d k st ‚ d  S(   Ng333333ó?i   g333333ó¿iÿÿÿÿi   iýÿÿÿi    i   i   R:   iþÿÿÿt   pt   positiveR.   t   negativeRJ   R5   R2   t   nonzerot   nzt   integert   nonnegativet   nonpositivet   zeroRI   i
   i   i3  (#   R   R=   R   R   t   doitR   t   simplifyR   R   t	   is_finiteR<   t
   is_complext   is_imaginaryRC   t
   is_integert   is_realt   is_zeroR   RD   R?   R   R    t   argst   is_nonnegativet   is_nonpositiveR@   R   R   R   R   R   t   NegativeOnet   funcR
   R   (	   R:   RR   R.   RJ   RV   RI   t   eqt   qt   d(    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt	   test_signÉ   sÂ    <40.($""&+*&#&0(%+$$((+!''!''-9'/')G-,
c          C   sm  t  d }  |  j ƒ  |  d f k s( t ‚ t d ƒ } t | ƒ j ƒ  t | ƒ d t | ƒ d t d ƒ d t t	 t | ƒ t | ƒ ƒ d ƒ t | ƒ d t | ƒ d t d ƒ d t
 t	 t | ƒ t | ƒ ƒ d ƒ f k sê t ‚ t d d t ƒ\ } } d t | | t ƒ d j ƒ  | d | d t d d ƒ t t	 | | ƒ d ƒ d t d d ƒ | d | d t d d ƒ t
 t	 | | ƒ d ƒ d f k s«t ‚ t | d ƒ j ƒ  t | d ƒ d f k sÝt ‚ t d	 d
 t ƒ} t | d ƒ j ƒ  d t | ƒ f k st ‚ d t d t j ƒ  d k sAt ‚ d t d d t j ƒ  d k sit ‚ d  S(   Niè  i    R:   i   i   i   s   a,bR2   R4   R5   i   iþÿÿÿ(   i    i   (   iþÿÿÿi    (   R   R>   R=   R   R   R   R   R   R   R   R   R   R<   R   R   t   abs(   R.   R:   R/   R0   R4   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_as_real_imag>  s    
L[DF2.$c          C   sª   t  d }  t |  ƒ } |  | j ƒ  d k s2 t ‚ t |  | ƒ d k sN t ‚ |  t j d d i | t 6ƒd k sz t ‚ |  t j d d i | t 6ƒd k s¦ t ‚ d  S(   Niè  i   t   subsi    i   (   R   t   intt   roundR=   R   R:   R.   (   R.   R4   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_sign_issue_3068\  s    
,c    	      C   s_  t  t d „  ƒ t d ƒ \ }  } t t |  ƒ ƒ t |  ƒ k sF t ‚ t |  | ƒ j t k se t ‚ t d ƒ d k s} t ‚ t d ƒ d k s• t ‚ t d ƒ d k s­ t ‚ t t ƒ d k sÅ t ‚ t t ƒ d k sÞ t ‚ t t ƒ t k sö t ‚ t t	 ƒ t
 k st ‚ t t t ƒ t k s*t ‚ t t t ƒ t k sGt ‚ t t |  ƒ t |  ƒ k sit ‚ t t |  ƒ t |  ƒ k sŒt ‚ t d |  ƒ d t |  ƒ k s²t ‚ t d |  ƒ d	 t |  ƒ k sØt ‚ t d t |  | ƒ d t t |  | ƒ k st ‚ t t |  ƒ ƒ t |  ƒ k s2t ‚ t t |  ƒ ƒ t |  ƒ k sVt ‚ t |  ƒ j d
 t ƒ t t |  ƒ d t |  ƒ d ƒ k s˜t ‚ t d d t ƒ} t d t |  | ƒ d t | t |  ƒ k sàt ‚ t d t t |  | ƒ d t | t |  ƒ k st ‚ t d d t ƒ}  t d d t ƒ} t d | ƒ d k sZt ‚ |  d | t |  ƒ d | k s‚t ‚ t |  ƒ j |  ƒ t |  ƒ k s©t ‚ t |  ƒ t |  ƒ k sÇt ‚ t |  ƒ d |  d t |  ƒ k sñt ‚ t |  ƒ d |  d k st ‚ t |  ƒ d | j t |  ƒ d | f k sDt ‚ d t |  ƒ j t |  ƒ d f k sot ‚ d t |  ƒ d d |  d t |  ƒ k s¡t ‚ t |  ƒ d t |  ƒ |  d k sËt ‚ t |  d ƒ |  d t |  ƒ k sõt ‚ t t t ƒ t t d ƒ k st ‚ t d d t d d t ƒ d t d t t d ƒ d ƒ ƒ k sft ‚ t d d t ƒ} t t | ƒ d k s”t ‚ t d ƒ } t t | ƒ t t t | ƒ d ƒ k sÑt ‚ t d d t ƒ}  t |  ƒ j |  ƒ t |  ƒ k st ‚ t d d t d ƒ ƒ t d t d ƒ ƒ t d d t d ƒ ƒ } t | ƒ j t k st | ƒ d k st ‚ d t d ƒ d t d ƒ d t d ƒ } t | d ƒ t d d ƒ } | | } t | ƒ j t k sÿt | ƒ d k sÿt ‚ t d t t t d ƒ ƒ d k s)t ‚ t d d t ƒ d k sIt ‚ t d d t ƒ d t t ƒ k sst ‚ t t
 ƒ t
 k s‹t ‚ t t
 ƒ t
 k s¤t ‚ t t
 t ƒ t
 k sÀt ‚ t t
 t t
 ƒ t
 k sàt ‚ t d d t ƒ} t d d  t ƒ} t d ƒ }  t | ƒ j s%t ‚ t |  ƒ j d  k s@t ‚ t | ƒ j t k s[t ‚ d  S(!   Nc           S   s   t  t d d ƒ ƒ S(   Ni   i   (   R    R    (    (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   <lambda>j  t    s   x,yi    i   iÿÿÿÿiþÿÿÿi   g       Àg       @R6   R/   RS   R:   R2   R.   RW   i   i   iýÿÿÿi   i   i   i9 iùÿÿÿRI   R5   i
   i3  i	   R7   R8   R9   (   R,   t	   TypeErrorR   R   R=   Rg   R    R   R   R   R   R   R   R
   R<   R   R   R   R   R?   Rl   Rc   R	   R   R   R   RB   RC   RD   (	   R:   RI   R/   R.   Rh   Ri   RR   Rj   R8   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_Absi  s€    $"#&&6$$B6:('* 3+2**'J1(G-,
-* * c          C   s  t  d d t ƒ}  t |  ƒ j t ƒ j ƒ  } | |  t |  ƒ |  t |  ƒ k sX t ‚ xA d d d d d g D]* } | j |  | ƒ t | ƒ k sn t ‚ qn Wt  d ƒ } t | ƒ j t ƒ t | ƒ k sÏ t ‚ t  d d t ƒt  d ƒ }  } t |  ƒ j t	 ƒ t	 |  |  d k f |  t f ƒ k s+t ‚ t | ƒ j t	 ƒ t | ƒ k sRt ‚ t | ƒ j t
 ƒ | t
 | ƒ k s}t ‚ d  S(	   NR:   R2   iþÿÿÿiÿÿÿÿi    i   i   RI   (   R   R<   R    R@   R   R
   R=   Rn   Rl   R   R   (   R:   R/   R4   RI   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_Abs_rewrite¹  s    +('='c          C   s  t  d d t ƒ}  t |  d ƒ t |  ƒ k s4 t ‚ t |  d ƒ |  d k sT t ‚ t  d d t ƒ}  t |  d ƒ t |  ƒ k sˆ t ‚ t |  d ƒ |  d k s¨ t ‚ t  d d t d t ƒ} t  d d t d t ƒ} t | ƒ | k sð t ‚ t | ƒ | k s	t ‚ d  S(	   NR:   R6   i   R2   t   nnRX   t   npRY   (   R   R<   R   R    R=   (   R:   Rw   Rx   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_Abs_realÈ  s    " " c    	      C   sI  t  d ƒ }  t |  ƒ j t k s' t ‚ t |  ƒ j d  k sB t ‚ t |  ƒ j d  k s] t ‚ t |  ƒ j t k sx t ‚ t  d d t d t	 ƒ} t | ƒ j t k s« t ‚ t | ƒ j d  k sÆ t ‚ t | ƒ j t k sá t ‚ t | ƒ j
 t	 k sü t ‚ t  d d t ƒ} t | ƒ j t k s)t ‚ t | ƒ j d  k sDt ‚ t | ƒ j t k s_t ‚ t | ƒ j
 t	 k szt ‚ t  d d t ƒ} t | ƒ j t k s§t ‚ t | ƒ j d  k sÂt ‚ t | ƒ j d  k sÝt ‚ t | ƒ j t k søt ‚ t  d	 d
 t ƒ} t | ƒ j t k s%t ‚ t | ƒ j d  k s@t ‚ t | ƒ j t k s[t ‚ t  d d t ƒ} t  d d t d t	 ƒ} t | ƒ j sšt ‚ t | ƒ j t	 k sµt ‚ t | ƒ j d  k sÐt ‚ t  d d t ƒ} t  d d t d t	 ƒ} t | ƒ j st ‚ t | ƒ j t	 k s*t ‚ t | ƒ j d  k sEt ‚ d  S(   NR:   t   zR6   RZ   RR   RS   Ri   t   rationalR4   RW   R.   t   event   neR2   t   oddt   no(   R   R    Ra   R<   R=   t   is_rationalRC   t   is_positiveRd   RD   Rb   R`   t   is_event   is_odd(	   R:   Rz   RR   Ri   R4   t   eR}   t   oR   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_Abs_propertiesÚ  sD    c          C   sB   t  d d t ƒ}  t t d |  d ƒ d |  d k s> t ‚ d  S(   NR/   RS   i   i   (   R   R<   Rl   R   R=   (   R/   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_abs  s    c          C   s>  t  d ƒ t k s t ‚ t  d ƒ d k s0 t ‚ t  d ƒ t k sH t ‚ t  t ƒ t d k sd t ‚ t  t ƒ t d k s‚ t ‚ t  d t ƒ t d k s¢ t ‚ t  d t ƒ d t d k sÆ t ‚ t  d t ƒ t d k sç t ‚ t  t d t t ƒ ƒ d t k st ‚ t  t d t t ƒ ƒ d t k s;t ‚ t  t d d t t d ƒ ƒ d	 t d k sqt ‚ t d
 ƒ }  t  |  d ƒ t |  d ƒ ƒ j t ƒ s­t ‚ t	 d d t
 ƒ} t  | ƒ d k s×t ‚ t	 d d t
 ƒ} t  | ƒ t k st ‚ t	 d ƒ } t t  | ƒ ƒ t  | ƒ k s1t ‚ | t | d } t  | ƒ t  d | t ƒ k sit ‚ d | d t | d } t  | ƒ t  d d | t ƒ k s­t ‚ t d d t
 ƒ} | t | } t  | ƒ t  | d t ƒ k sót ‚ t  | | ƒ t  | d t ƒ k st ‚ | t | ƒ t t | ƒ t | ƒ } t  | ƒ j d | k sdt ‚ | d t | d d } t  | ƒ j d | k st ‚ t d
 ƒ }  d | |  d ƒ d d | |  d ƒ } t  | ƒ t  d | ƒ k sõt ‚ t  |  d ƒ ƒ j t  k r4t  |  d ƒ ƒ j |  d ƒ f k s:t ‚ d  S(   Ni    i   iÿÿÿÿi   i   i   iùÿÿÿi   iýÿÿÿt   fRR   RS   R.   RT   R:   iþÿÿÿR2   (   R   R   R=   R   R   R   R   t   atomsR   R   R<   R   R   R   R   R	   Rc   Rg   (   Rˆ   RR   R.   R:   R„   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_arg  sF     $!**60$&*&*(*"c          C   s   t  d t ƒ t d d ƒ k s% t ‚ t d d t ƒ}  t d d t ƒ} t  |  t | ƒ j t ƒ t | |  ƒ k s{ t ‚ d  S(   Ni   R:   R2   RI   (   R   R   R   R=   R   R<   R@   (   R:   RI   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_arg_rewrite:  s    %c          C   sí  t  d d t ƒ}  t  d d t ƒ} t |  ƒ |  k s= t ‚ t t |  ƒ t |  k s] t ‚ t | ƒ | k su t ‚ t t | ƒ t | k s– t ‚ t |  | ƒ | |  k s· t ‚ t t |  | ƒ t | |  k sß t ‚ t d ƒ \ } } t t | ƒ ƒ | k st ‚ t | | ƒ t | ƒ t | ƒ k s;t ‚ t | | ƒ t | ƒ t | ƒ k sgt ‚ t | | ƒ t | ƒ t | ƒ k s“t ‚ t | | ƒ t | ƒ t | ƒ k s¿t ‚ t | ƒ t | ƒ k sßt ‚ t d d t ƒ\ } } t t | ƒ ƒ | k st ‚ t | | ƒ t | ƒ t | ƒ k sAt ‚ t | | ƒ t | ƒ t | ƒ k smt ‚ t | | ƒ t | ƒ t | ƒ k s™t ‚ t | | ƒ d t | ƒ t | ƒ k sÉt ‚ t | ƒ t | ƒ k sét ‚ d  S(   NR/   t   antihermitianR0   t	   hermitians   x yt   commutativei   (   R   R<   R   R=   R   R   RD   (   R/   R0   R:   RI   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_adjointB  s,     !!(,,,, ,,,0c          C   sR  t  d d t ƒ}  t  d d t ƒ} t |  ƒ |  k s< t ‚ t t |  ƒ t |  k s] t ‚ t | ƒ | k sv t ‚ t t | ƒ t | k s– t ‚ t |  | ƒ |  | k s· t ‚ t t |  | ƒ t |  | k sß t ‚ t d ƒ \ } } t t | ƒ ƒ | k st ‚ t | | ƒ t | ƒ t | ƒ k s;t ‚ t | | ƒ t | ƒ t | ƒ k sgt ‚ t | | ƒ t | ƒ t | ƒ k s“t ‚ t | | ƒ t | ƒ t | ƒ k s¿t ‚ t | ƒ t | ƒ k sßt ‚ t  d d t ƒ}  t  d d t ƒ} t |  ƒ j st ‚ t | ƒ j d  k s3t ‚ t | ƒ j t	 k sNt ‚ d  S(	   NR/   R2   R0   R5   s   x yR7   R8   R9   (
   R   R<   R   R=   R   R   R   RB   RC   RD   (   R/   R0   R:   RI   R8   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_conjugate]  s(    ! !(,,,, c          C   s=  t  d ƒ }  t t |  ƒ ƒ t |  ƒ k s0 t ‚ t t |  ƒ ƒ t |  ƒ k sT t ‚ t t |  ƒ ƒ t |  ƒ k sx t ‚ t t |  ƒ ƒ t |  ƒ k sœ t ‚ t t |  ƒ ƒ t |  ƒ k sÀ t ‚ t t |  ƒ ƒ t |  ƒ k sä t ‚ d t f d „  ƒ  Y} | ƒ  }  t |  ƒ t |  ƒ k s!t ‚ t |  ƒ |  k s9t ‚ d  S(   NR:   t	   Symmetricc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         S   s   d  S(   N(   RC   (   t   self(    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   _eval_adjoint€  s    c         S   s   d  S(   N(   RC   (   R’   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   _eval_conjugateƒ  s    c         S   s   |  S(   N(    (   R’   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   _eval_transpose†  s    (   t   __name__t
   __module__R“   R”   R•   (    (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyR‘     s   		(   R   R   R   R   R=   R   (   R:   R‘   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_conjugate_transposev  s    $$$$$$		c          C   sX  t  d d t ƒ}  t |  ƒ |  k s* t ‚ t t |  ƒ t |  k sJ t ‚ t d ƒ \ } } t t | ƒ ƒ | k sz t ‚ t | | ƒ t | ƒ t | ƒ k s¦ t ‚ t | | ƒ t | ƒ t | ƒ k sÒ t ‚ t | | ƒ t | ƒ t | ƒ k sþ t ‚ t | | ƒ t | ƒ t | ƒ k s*t ‚ t | ƒ t | ƒ k sJt ‚ t d d t ƒ\ } } t t | ƒ ƒ | k s€t ‚ t | | ƒ t | ƒ t | ƒ k s¬t ‚ t | | ƒ t | ƒ t | ƒ k sØt ‚ t | | ƒ t | ƒ t | ƒ k st ‚ t | | ƒ d t | ƒ t | ƒ k s4t ‚ t | ƒ t | ƒ k sTt ‚ d  S(   NR/   R6   s   x yRŽ   i   (   R   R<   R   R=   R   R   RD   (   R/   R:   RI   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_transpose  s"     ,,,, ,,,0c    
   	   C   sv  d d l  m }  m } t d ƒ } t d d t ƒ} t d ƒ } i  } | d ƒ |  d ƒ | f k sj t ‚ | d t ƒ |  d t ƒ | f k s– t ‚ | t | ƒ d t	 ƒt | ƒ k sÀ t ‚ | d | d t	 ƒd | k sæ t ‚ | | t ƒ | d t	 ƒ| |  t ƒ ƒ | k st ‚ | | d	 t ƒ|  | ƒ k sBt ‚ | | d	 t ƒ| k s`t ‚ | | | ƒ d	 t ƒ| |  | ƒ ƒ k st ‚ | d | d	 t ƒ|  d | ƒ k s¼t ‚ | d | | ƒ d	 t ƒ|  d | |  | ƒ ƒ ƒ k sút ‚ | | | ƒ | ƒ \ } } | j
 | ƒ | | ƒ | k s;t ‚ t d
 ƒ } t d d t ƒ}	 | t t d ƒ | t | | d d |	 d ƒ d t t ƒ |	 | t t f ƒ d	 t ƒt t d ƒ |	 t d ƒ t t t ƒ t |	 t d ƒ d t t t ƒ t t t ƒ |  | | ƒ d t d ƒ d ƒ t d ƒ |  | ƒ d t t ƒ | t t f ƒ k srt ‚ d  S(   Niÿÿÿÿ(   t
   polar_liftt   polarifyR:   Rz   t   polarRˆ   i   Rn   t   liftt   mut   sigmaRS   i   i    (   t   sympyRš   R›   R   R<   R   R=   R   R	   RD   Rn   R"   R   R   R   R   (
   Rš   R›   R:   Rz   Rˆ   t   ESt   newexRn   Rž   RŸ   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_polarify£  s.    $,*&8$0,>%Bc          C   sù  d d l  m }  m } m } m } m } d d l  m } m } m } m	 } m
 }	 m }
 m } d d l m } |  d t ƒ d } | d t ƒ d } | d ƒ d k s¬ t ‚ | | ƒ | k sÄ t ‚ | | d ƒ | d k sä t ‚ | | | ƒ | | k st ‚ | | | ƒ | | k s$t ‚ | | | ƒ | | k sDt ‚ | t | | ƒ ƒ ƒ t | | ƒ ƒ k stt ‚ | | d t ƒ } | | ƒ | k sŸt ‚ | t | ƒ ƒ t | ƒ k sÃt ‚ | | | d t ƒ| | k sét ‚ | |	 | | | ƒ ƒ |	 | | | ƒ k st ‚ | | | ƒ ƒ | | ƒ k s?t ‚ | | | ƒ ƒ | | ƒ k sct ‚ | | | ƒ ƒ | | ƒ k s‡t ‚ | | | ƒ ƒ | | ƒ k s«t ‚ | |	 | | ƒ ƒ |	 | | ƒ k sÕt ‚ | |	 | | ƒ | | |  d	 ƒ ƒ ƒ ƒ |	 | | ƒ | | d ƒ ƒ k s%t ‚ | |	 | d	 ƒ d |  d	 ƒ ƒ ƒ |	 d	 d ƒ k s_t ‚ | |
 | d	 ƒ ƒ |
 | d	 ƒ k s‰t ‚ | | | d	 ƒ ƒ | | d	 ƒ k s³t ‚ | | | ƒ d	 k ƒ | d	 k k sÝt ‚ | t ƒ t k sõt ‚ d  S(
   Niÿÿÿÿ(   R   Rš   R	   t
   unpolarifyt   principal_branch(   t   gammat   erfR   t   tanht
   uppergammat   Eqt   Ne(   R:   i   i   i   t   exponents_onlyi    (   R    R   Rš   R	   R¤   R¥   R¦   R§   R   R¨   R©   Rª   R«   t	   sympy.abcR:   R   R=   R   R   R<   (   R   Rš   R	   R¤   R¥   R¦   R§   R   R¨   R©   Rª   R«   R:   RR   t   uR8   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_unpolarifyÆ  s<    (4    0$&2$$$$*(("***c          C   sŽ   t  d ƒ }  t |  ƒ j d t ƒ t |  ƒ k s6 t ‚ t |  ƒ j d t ƒ t |  ƒ k s` t ‚ t |  ƒ j d t ƒ t |  ƒ k sŠ t ‚ d  S(   NR:   t   trig(   R   R    R
   R<   R=   R   R   (   R:   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_issue_4035ó  s    **c          C   s4   t  d ƒ }  t t |  ƒ ƒ t |  ƒ k s0 t ‚ d  S(   NR:   (   R   R    R=   (   R:   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_issue_3206ú  s    c          C   s­   t  d d t ƒ}  t  d d t ƒ} t d ƒ } | |  ƒ j ƒ  j |  ƒ | |  ƒ j |  ƒ j ƒ  k sl t ‚ | | ƒ j ƒ  j | ƒ | | ƒ j | ƒ j ƒ  k s© t ‚ d  S(   NR:   R2   RI   R5   Rˆ   (   R   R<   R   R   R?   R=   (   R:   RI   Rˆ   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt$   test_issue_4754_derivative_conjugateÿ  s
    <c          C   s  t  d d t ƒ}  t  d d t ƒ} t d ƒ } t | |  ƒ ƒ j |  ƒ t | |  ƒ j |  ƒ ƒ k sl t ‚ t | |  ƒ ƒ j |  ƒ t | |  ƒ j |  ƒ ƒ k s¨ t ‚ t | | ƒ ƒ j | ƒ t t | | ƒ j | ƒ ƒ k sé t ‚ t | | ƒ ƒ j | ƒ t t | | ƒ j | ƒ ƒ k s*t ‚ t | |  ƒ ƒ j |  ƒ j	 | |  ƒ d t |  ƒ j
 ƒ  |  t d |  d ƒ k sƒt ‚ t | |  ƒ ƒ j |  ƒ j	 | |  ƒ d t |  d ƒ j
 ƒ  d |  d |  d k sÞt ‚ t | | ƒ ƒ j | ƒ j	 | | ƒ d | ƒ j
 ƒ  | t d | d ƒ k s4t ‚ t | | ƒ ƒ j | ƒ j	 | | ƒ t | d ƒ j
 ƒ  d | d | d k s‹t ‚ d  S(	   NR:   R2   RI   R5   Rˆ   i   i   i   (   R   R<   R   R   R?   R=   R   R   R    Rn   R[   R   R   (   R:   RI   Rˆ   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_derivatives_issue_4757  s    <<AAY[Vc       	   C   s®  d d l  m }  m } m } t d ƒ } t d ƒ } t d ƒ } | | g | g | g g ƒ } | j ƒ  } | | | t t | ƒ d t | ƒ d t | ƒ d ƒ g | t t | ƒ d t | ƒ d t | ƒ d ƒ g | t t | ƒ d t | ƒ d t | ƒ d ƒ g g ƒ k s$t ‚ t | d | d | d | d | d | d | d | d | d | d | d | d ƒ | _	 | | j	 ƒ d k sªt ‚ d  S(   Niÿÿÿÿ(   R   R#   R\   t   v0t   v1t   v2i   i   (
   R    R   R#   R\   R   t
   normalizedR   R    R=   t   norm(   R   R#   R\   Rµ   R¶   R·   t   Vt   U(    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_issue_11413  s    66Hkc          C   sò  d d l  m }  m } m } m } m } m } t d ƒ } t d d t ƒ} | d t	 ƒ |  d t	 | ƒ k su t
 ‚ | d | ƒ |  d | | ƒ k sž t
 ‚ t | d t	 d ƒ | d ƒ sÅ t
 ‚ t | d t	 d ƒ | d ƒ sí t
 ‚ t |  d t	 d d | ƒ | d ƒ st
 ‚ t |  d t	 d d | ƒ | d ƒ sJt
 ‚ | | | | ƒ ƒ |  | | ƒ k stt
 ‚ | | d t	 ƒ ƒ | d t	 ƒ k s t
 ‚ |  | d t	 ƒ d | ƒ |  d t	 d | ƒ k sÚt
 ‚ |  | d t	 ƒ d | ƒ |  d t	 d | ƒ k st
 ‚ |  | d t	 ƒ | ƒ |  | d t	 ƒ | ƒ k sLt
 ‚ | | d t	 ƒ ƒ | d	 k srt
 ‚ |  d | | ƒ |  | | ƒ k sšt
 ‚ |  | | | ƒ |  | | ƒ k sÂt
 ‚ t | d t	 ƒ ƒ t d t	 ƒ k sît
 ‚ d  S(
   Niÿÿÿÿ(   t   periodic_argumentt   unbranched_argumentR   R¥   Rš   R   R:   RR   RS   i   i   i   i   (   R    R½   R¾   R   R¥   Rš   R   R   R<   R   R=   R1   R    (   R½   R¾   R   R¥   Rš   R   R:   RR   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_periodic_argument#  s,    .))'(./,  "&((c           C   s.   t  t d t d t d ƒ d ƒ s* t ‚ d  S(   Ni   i   i    (   R1   R¥   R   R   R=   (    (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_principal_branch_failB  s    c          C   s  d d l  m }  m } m } t d d t ƒ} t d ƒ } t d d t ƒ} |  | | ƒ | ƒ |  | | ƒ k sv t ‚ |  | d t ƒ | ƒ |  d t | ƒ k s¨ t ‚ |  d | | ƒ d |  | | ƒ k sÔ t ‚ |  d t ƒ | d	 ƒ k sõ t ‚ |  d d t ƒ | t t ƒ k st ‚ |  d t ƒ | d	 ƒ k s?t ‚ |  | d
 t t ƒ | d t ƒ |  | t t ƒ | d t ƒ k s‹t ‚ |  | | t t ƒ d t ƒ | | t t ƒ k sÇt ‚ |  | t t d ƒ | | ƒ d t ƒ | t t d ƒ | k st ‚ t	 |  d t d d t ƒ d t ƒ s@t ‚ t	 |  d t d d
 t ƒ d t ƒ snt ‚ t	 |  d t d d t ƒ d t ƒ sœt ‚ |  | t ƒ j
 |  k sºt ‚ |  | d ƒ j
 |  k sØt ‚ |  | t ƒ j
 |  k s÷t ‚ |  | t ƒ j
 |  k st ‚ d  S(   Niÿÿÿÿ(   R¥   Rš   R   RR   RS   R:   RT   i   i   i    i   iüÿÿÿ(   R    R¥   Rš   R   R   R<   R=   R   R   R1   Rg   R   R   (   R¥   Rš   R   RR   R:   t   neg(    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_principal_branchH  s,    *2,!)!"*<)"...c          C   s  t  d }  t |  ƒ } t |  | ƒ d k s2 t ‚ t |  | ƒ |  | k sR t ‚ t  d } t  d } t t ƒ d t t ƒ d } | | | | } t t | ƒ ƒ d k s´ t ‚ xH d d d t	 d ƒ d f D]* } t | j
 t | ƒ ƒ d k sÑ t ‚ qÑ Wd  S(   Niè  i   i$úÿÿi   io   i   i
   (   R   Ro   R   R=   Rl   R   R:   R   R\   R   Rn   (   R.   R4   t   epst   bigt   oneR„   t   xi(    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_issue_6167_6151f  s    
 

#c          C   sv   d d l  m }  t d d d ƒ } |  | d ƒ | d k sB t ‚ |  | d	 | d
 ƒ | d | d k sr t ‚ d  S(   Niÿÿÿÿ(   R¤   R;   i   i    i   (   i    i    (   i    i    (   i    i    (   i   i    (   i    i    (   i   i    (   t$   sympy.functions.elementary.complexesR¤   R'   R=   (   R¤   R;   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_issue_14216u  s     c          C   sK   t  d d t ƒ}  t |  t d |  d k f d |  t f ƒ ƒ sG t ‚ d  S(   NR3   R2   i    i   (   R   R<   R    R   R=   (   R3   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_issue_14238|  s    c          C   sâ   t  d d t ƒ}  t  d d t ƒ} t  d d t d t ƒ} t |  ƒ j d  k sW t ‚ t |  ƒ j t k sr t ‚ t | ƒ j d  k s t ‚ t | ƒ j d  k s¨ t ‚ t | ƒ j t k sÃ t ‚ t | ƒ j d  k sÞ t ‚ d  S(   Nt   nonrealR2   t   nonimaginaryR5   t   nonzerononimaginaryRZ   (   R   RD   R   Rb   RC   R=   R   (   t   nrt   nit   nzni(    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_zero_assumptions  s    c          C   sm   t  d d t ƒ}  t d d t ƒ} t t |  | ƒ ƒ |  | ƒ ƒ } | j ƒ  t |  | ƒ ƒ k si t ‚ d  S(   NRˆ   R2   R:   (   R   R<   R   R*   R    R[   R   R=   (   Rˆ   R:   Rh   (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   test_issue_15893  s    !N(Q   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*   t   sympy.utilities.pytestR+   R,   t   sympy.core.exprR-   R1   RN   RQ   Rk   Rm   Rq   Ru   Rv   Ry   R†   R‡   RŠ   R‹   R   R   R˜   R™   R£   R¯   R±   R²   R³   R´   R¼   R¿   RÀ   RÂ   RÇ   RÉ   RÊ   RÑ   RÒ   (    (    (    sN   lib/python2.7/site-packages/sympy/functions/elementary/tests/test_complexes.pyt   <module>   sF   ÿ 		`	Y	u		P			+		.						#	-										