
    Qi                        d dl mZmZmZmZmZ d dlmZmZm	Z	m
Z
mZmZmZmZ d dlmZ d dlmZ d dlmZmZ d dlmZmZmZmZmZmZmZmZ d dlm Z m!Z!m"Z" d dl#m$Z$ d d	l%m&Z& d d
l'm(Z(m)Z)m*Z*m+Z+m,Z, d dl-m.Z. d dl/m0Z0m1Z1 d dl2m3Z3 d dl4m5Z5 d dl6m7Z7 d dl8m9Z9 d dl:m;Z;m<Z< d dl=m>Z> d dl?m@Z@ d dlAmBZB d dl mCZC d dlDmEZE d dlFmGZGmHZHmIZI d ZJd ZKd ZLd ZMd ZNeGd             ZOd ZPd ZQd  ZRd! ZSd" ZTd# ZUd$ ZVd% ZWd& ZXd' ZYd( ZZd) Z[eId*             Z\d+ Z]d, Z^d- Z_d. Z`d/ Zad0 Zbd1 ZceGd2             Zdd3 ZeeGd4             Zfd5 Zgd6 Zhd7 Zid8 ZjeId9             Zkd:S );    )
DerivativeFunctionLambdaexpand	PoleError)EIRationalcompnanoopizoo)Eq)S)Symbolsymbols)Absadjointarg	conjugateimresign	transpose)exp	exp_polarlog)sqrt)	Piecewise)acosatanatan2cossin)sinh)
DiracDelta	Heaviside)Integral)Matrix)FunctionMatrix)MatrixSymbol)ImmutableMatrixImmutableSparseMatrix)SparseMatrix)Interval)	unchanged)ArgumentIndexError)Order)XFAILraises_both_exp_powc                 l    t          |                                 |                                d          S )z7Check whether two complex numbers are numerically closegư>)r   n)abs     /var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/sympy/functions/elementary/tests/test_complexes.pyN_equalsr<      s$    qssuue$$$    c            
         t          d          \  } }t          dd          \  }}t          dd          }t          dd          }t          t                    t          u sJ t          t                    t          u sJ t          t                     t           u sJ t          d          dk    sJ t          d	          d	k    sJ t          d
          d
k    sJ t          t
                    t
          k    sJ t          t
                     t
           k    sJ t          t          |           sJ t          | t          z            t          |            k    sJ t          |t          z            dk    sJ t          |          |k    sJ t          |t          z            t          |z  k    sJ t          |          dk    sJ t          | |z             t          |           t          |          z   k    sJ t          | |z             t          |           |z   k    sJ t          t          |                     t          |           k    sJ t          dt          z             dk    sJ t          | t          z             t          |           k    sJ t          | |t          z  z             t          |           t          |          z
  k    sJ t          | |t          z  z             t          |           k    sJ t          t          dt          z                      t          d          k    sJ t          dt          z   dz            
                    d          dk    sJ t          t          |                     t          |           k    sJ t          t          |                     t          |           k    sJ t          |                                           t          |           dfk    sJ t          ||z  | z                                |          t          || z            k    sJ t          ||z  | z                                |          t          |z  t          |           z  k    sJ t          t          ||t          z  z                       |dz  |dz  z   t          d	d          z  t!          t#          ||          dz            z  k    sJ t          |d|t          z  z   z            d|z  k    sJ t          d	t          ||t          z  z             z   dz            |dz  |dz  z   t          d	d          z  t!          t#          ||          dz            z  dz  t$          j        z   k    sJ t          |                               t                    | t$          j        t          |           z  z
  k    sJ | t          |          z                       t          t                    | |z   t$          j        t          |          z  z
  k    sJ t          dd          }t          dd          }t          d          } t          |          j        sJ t          |           j        J t          |          j        du sJ t          t$          j                  t$          j        u sJ t          d          \  }}}	t3          d||          }
t          |
          t$          j        |
t          |
          z   z  k    sJ t5          d	dt          z  z   dgddt          z  gg          }
t          |
          t5          d	dgddgg          k    sJ t7          d	dt          z  z   ddt          z  z
  gddt          z  gg          }
t          |
          t7          d	dgddgg          k    sJ t9          d t;          d          D                       }t          |          t5          g dg dg dg dg dg          z
  t5          j        d          k    sJ t          |          t5          g dg dg dg dg dg          z
  t5          j        d          k    sJ t?          ddtA          ||f||t          z  z                       }t          |          t5          g d g d!g d"g          k    sJ d S )#Nx,ya,bTrealri	imaginaryr         complex      r9   	algebraicttranscendentalxFn m lAc                 F    g | ]fd t          d          D             S )c                 0    g | ]}d z  |t           z  z   S )rI   r	   ).0rD   js     r;   
<listcomp>z&test_re.<locals>.<listcomp>.<listcomp>n   s%    333QqsQqSy333r=      range)rZ   r[   s    @r;   r\   ztest_re.<locals>.<listcomp>n   s4    FFF3333%((333FFFr=   r]   )r   r   r   r   r   )rI   rI   rI   rI   rI   )rM   rM   rM   rM   rM   )   r`   r`   r`   r`   )   ra   ra   ra   ra   )r   rG   rI   rL   rM   )r   r   r   )rG   rG   rG   )rI   rI   rI   )!r   r   r   r   r   r   r1   r	   r   r   r   r   as_real_imagdiffr   r
   r$   r#   r   HalfrewriteImaginaryUnitis_algebraicComplexInfinityNaNr,   r*   r-   r/   r_   zerosr+   r   )rS   yr9   r:   rC   rD   rP   r8   mlrU   Xs               r;   test_rero      s   5>>DAq5t$$$DAqsAsd###Ac77c>>>>b66R<<<<rc77rc>>>>a55A::::a55A::::b66R<<<<a55A::::qb66aR<<<<Rac77r!uufac77a<<<<a55A::::ac77a!ea55A::::a!e9911%%%%a!e991	!!!!bee991a!e99>>>>a!e991a!A#g;;"Q%%"Q%%-''''a!A#g;;"Q%%c!A#hh<<3q66!!!!q1uqj>>   ..!3333illr!uu$$$$RUUr!uu$$$$a55BqEE1:----ac!e99>>!1Q3''''ac!e99>>!!BqEE	))))Q1W a4!Q$;!Q7E!QKKM8J8JJK K K Ka1qs7m!####q4AaC== !#$$	
A1x1~~%c%1++a-&8&88:QVCD D D D a55==AOBqEE$9 999991Ir2&&!a%!/"Q%%2G*GGGGGsd###As4(((AsAa55a55%%%a55&&&&a  AE))))gGAq!S1Aa55QVIaLL 011111QqSQ1I&''Aa55FQFAq6?++++++!ac'1QqS5)1ac(344Aa55OaVQFO444444FFU1XXFFFGGAa556???*??*??*??*??	, - - - 17Q	@ @ @ @ a556???*??*??*??*??	, - - - 17Q	@ @ @ @ 	q!VQFA!G4455Aa55FIIIyyy)))<========r=   c            
         t          d          \  } }t          dd          \  }}t          dd          }t          dd          }t          t                    t          u sJ t          t          t
          z            t          u sJ t          t           t
          z            t           u sJ t          d          dk    sJ t          d	          dk    sJ t          d
          dk    sJ t          t          t
          z            t          k    sJ t          t           t
          z            t           k    sJ t          t          |           sJ t          | t
          z            t          |           k    sJ t          |t
          z            |k    sJ t          |          dk    sJ t          |t
          z            dk    sJ t          |          t
           |z  k    sJ t          | |z             t          |           t          |          z   k    sJ t          | |z             t          |           k    sJ t          | |t
          z  z             t          |           |z   k    sJ t          t          |           t
          z            t          |           k    sJ t          dt
          z             d	k    sJ t          | t
          z             t          |           d	z   k    sJ t          | |t
          z  z             t          |           t          |          z   k    sJ t          | |t
          z  z             t          |           |z   k    sJ t          t          dt
          z                      t          dz  k    sJ t          dt
          z   dz                                d          dk    sJ t          t          |                     t          |            k    sJ t          t          |                     t          |           k    sJ t          |                                           t          |           dfk    sJ t          ||z  | z                                |          t          || z            k    sJ t          ||z  | z                                |          t
           t          || z            z  k    sJ t          t          ||t
          z  z                       |dz  |dz  z   t!          d	d          z  t#          t%          ||          dz            z  k    sJ t          |d|t
          z  z   z            ||z  k    sJ t          d	t          ||t
          z  z             z   dz            |dz  |dz  z   t!          d	d          z  t#          t%          ||          dz            z  dz  k    sJ t          |                               t                    t(          j         | t          |           z
  z  k    sJ | t          |          z                       t          t                    | t(          j        |t          |          z
  z  z
  k    sJ t          dd          }t          dd          }t          d          } t          |          j        sJ t          |           j        J t          |          j        du sJ t          t(          j                  t(          j        u sJ t          d          \  }}}	t3          d||          }
t          |
          t(          j        dt
          z  z  |
t          |
          z
  z  k    sJ t7          d	dt
          z  z   dgddt
          z  gg          }
t          |
          t7          ddgddgg          k    sJ t9          d	dt
          z  z   ddt
          z  z
  gddt
          z  gg          }
t          |
          t9          ddgddgg          k    sJ t;          d t=          d          D                       }t?          d t=          d          D                       }t          |                                           |k    sJ tC          ddtE          ||f||t
          z  z                       }t          |          t7          g dg dg dg          k    sJ d S )Nr?   r@   TrA   rC   rD   rE   r   rG   rH   rI   rJ   rM   r9   rN   rP   rQ   rS   FrT   rU   rV   rL   c                 @    g | ]}d  t          d          D             S )c                 (    g | ]}|t           z  |z   S  rY   rZ   rD   s     r;   r\   z&test_im.<locals>.<listcomp>.<listcomp>   s     (((!acAg(((r=   r]   r^   ru   s     r;   r\   ztest_im.<locals>.<listcomp>   s-    ;;;Q((uQxx(((;;;r=   r]   c                 F    g | ]}t          t          d                     S )r]   )listr_   ru   s     r;   r\   ztest_im.<locals>.<listcomp>   s$    777d588nn777r=   )r   rG   rI   )#r   r   r   r   r   r	   r   r1   r   r   r   r   r   rb   rc   r   r
   r%   r#   re   r   rf   rg   rh   ri   r,   Oner*   r-   r.   r_   r/   as_immutabler+   r   )rS   rk   r9   r:   rC   rD   rP   r8   rl   rm   rU   rn   Ys                r;   test_imr{      s   5>>DAq5t$$$DAqsAsd###Ac77c>>>>bd88r>>>>rc!e99a55A::::a55A::::b66Q;;;;ac77a<<<<qbd88r>>>>Rac77beeac77a<<<<a55A::::ac77a<<<<a55QBF????a!e9911%%%%a!e991a!A#g;;"Q%%!)####beeAg;;"Q%%a!e99>>>>a!e991	!!!!a!A#g;;"Q%%"Q%%-''''a!A#g;;"Q%%!)####c!A#hh<<2a4q1uqj>>   ..!3333ill1v%%%%RUUr!uu$$$$a55BqEE1:----ac!e99>>!1Q3''''ac!e99>>!R!WW,,,,Q1W a4!Q$;!Q7E!QKKM8J8JJK K K Ka1qs7m!####q4AaC== !#$$	
A1x1~~%c%1++a-&8&88:; ; ; ; a55== 0A1I >>>>>1Ir2&&!aoRUU.K*KKKKKsd###As4(((AsAa55a55%%%a55&&&&a  AE))))gGAq!S1Aa55QUAaC[Q1%566666QqS!aAY'((Aa55FQFAr7+,,,,,,!ac'1QqS5)1ac(344Aa55OaWaV$4555555;;%((;;;	= 	=A77eAhh77788Aa551$$$$q!VQFA!G4455Aa55FIIIyyy)))<========r=   c            
      p   t          d          dk    sJ t          d          dk    sJ t          dt          z            t          k    sJ t          dt          z            t           k    sJ t          d          dk    sJ t          dd	                                          dk    sJ t          t          d	                                          dk    sJ t          t                    t          u sJ t          d
d
t          z  z                                             t          d
          d
d
t          z  z   z  dz  k    sJ t          d
dt          z  z                                             t          d
dt          z  z             k    sJ t          d
d
t          z  z                                             t          dt          z             k    sJ t          t          t          dt          d          z
                                dk    sJ t          t          dt          d          z
                      t          k    sJ t          d          } t          |           j	        du sJ t          |           j
        du sJ t          |           j        J t          |           j        J t          |           j        J t          |           j        J t          |                                           t          |           k    sJ t          d| z            t          |           k    sJ t          d
| z            t          |           k    sJ t          t          | z            t          t          |           z  k    sJ t          dt          z  | z            t           t          |           z  k    sJ t          t          |                     t          t          |                     k    sJ t          dd          }t          dd          }t          dd          }t          d
|z  | z            t          |           k    sJ t          || z            t          |            k    sJ t          ||z  | z            t          |           k    sJ t          dd          } t          |           j        du sJ t          |           j        du sJ t          |           j        du sJ t          |           j        du sJ t          |                               |           d
t#          t           | z            z  k    sJ t          |                                           | t%          |           z  k    sJ t          t          |                     t          |            k    sJ t          dd          } t          |           j        du sJ t          |           j        du sJ t          |           j        du sJ t          |           j        J t          |                               |           d
t#          |           z  k    sJ t          |                                           t          |           k    sJ t          t          |                     t          |           k    sJ t          dd          } t          |           j        du sJ t          |           j        du sJ t          |           j        du sJ t          |           j        du sJ t          |                                           | t%          |           z  k    sJ t          t%          |                     dk    sJ t%          t          |                     dk    sJ t          dd          } t          |           j        du sJ t          |           j        du sJ t          |           j        du sJ t          |           j        du sJ t          |                                           | t%          |           z  k    sJ t          t%          |                     dk    sJ t%          t          |                     dk    sJ d} t          |           j        du sJ t          |           j        du sJ t          |           j        du sJ t          |           j        du sJ t          |                                           dk    sJ t          t%          |                     dk    sJ t%          t          |                     dk    sJ t          ddd          }t          |          j        du sJ t          |          j        du sJ t          |          j        du sJ t          |          j        du sJ t          |          d
z  dk    sJ t          |          dz  j        t          |          dfk    sJ t          t          dd                    j        sJ t          t          dd                    j        J t          t          dd                    j        J t          t          dd                    j        sJ t          t          dd                    j        J t          t          dd                    j        J t          t          ddd                    j        J t          dd          t          d          }} t-          d          }t          |                               t0                    t1          d| dk    fd| dk     fd          k    sJ t          |                              t0                    t          |          k    sJ t          |                               t2                    d
t3          | t5          d          d
z            z  dz
  k    sJ t          |                              t2                    t          |          k    sJ t          |                              t$                    t1          dt7          |d          f|t%          |          z  df          k    sJ t           ||                                        t$                    t1          dt7           ||          d          f ||          t%           ||                    z  df          k    sJ t          t9          t          t:          z            t:          z            t4          j        u sJ t          d d!t          d          z  z              t          dt          d          z             z   t          ddt          d          z  z             z   }t          |          j        t           u st          |          dk    sJ dt          d
          z   d
t          d          z  z
  d"t          d!          z  z   }tA          |dz            tC          dd          z  }||z
  }	t          |	          j        t           u st          |	          dk    sJ d S d S )#Ng333333?rG   g333333rH   rL   rV   r   F)evaluaterI   rM   rS   Trq   ppositiver8   negativerl   rE   rA   )nonzeronz)r   integer)nonnegative)nonpositive)rB   zerork   f)r   T)H0
   r`   3  )"r   r	   doitr   r   r   simplifyr   r   	is_finite
is_complexis_imaginary
is_integeris_realis_zeror   rc   r'   r   argsis_nonnegativeis_nonpositiver   re   r    r(   r   r   r   r   NegativeOnefuncr   r
   )
rS   r~   r8   rl   r   rk   r   eqqds
             r;   	test_signr      s   99>>>>::!99>>>>1::!77a<<<<E"""''))Q....U###((**a////99AaC==477A!G#4Q#66666AaC==!!##tA!G}}4444AaC==!!##tAE{{22224DGG$$%%&&!++++Qa[!!""a''''sA77$$$$77%%%%77'''77%%%77?"""77?"""77<<>>T!WW$$$$A;;$q''!!!!!99Q!99$q''	!!!!1Q<<A2d1gg:%%%%	!477!3!33333sT"""AsT"""AsT"""A!A;;$q''!!!!!99a    !A;;$q''!!!!sd###A774''''77&&&&77?e####77?e####77<<??a
A2a4 0 00000077<<>>QQZ''''T!WW$q''))))sA775((((77%%%%77?d""""77?"""77<<??a
1o----77<<>>T!WW$$$$T!WWa((((sD!!!A775((((77%%%%77?d""""77?e####77<<>>QQZ''''A<<1tAww<<1sT"""A775((((77%%%%77?d""""77?e####77<<>>QQZ''''A<<1tAww<<1	A775((((77%%%%77?d""""77?d""""77<<>>QA<<1tAww<<1	dD	1	1	1B88 E))))88$&&&&88t####88u$$$$88Q;!HHaK$r((A....s---..====s---..=EEEs---..=EEEs---..====s&&&''6>>>s&&&''6>>>sE22233BJJJ#D!!!6#;;qAA77??9%%1a!e*r1q5k9556 6 6 677??9%%a000077??9%%9Q1Q446+B+B+B)BQ)FFFFF77??9%%a000077??39aAq]Qs1vvXt<L#M#MMMMM!::c""iBqqttQKK0@11Q44AAaDD		>SWBX&Y&YYYYY 	!B$"##q}4444
rAd1ggI~

	a$q''k!2!2	2T!aQi-5H5H	HB 88=D  DHHMMMM 	
DGGaQi$tAww,.Aq!thq!nn$A	AA77<4477a<<<<<<r=   c                     t           dz  } |                                 | dfk    sJ t          d          }t          |                                          t	          |          dz  t          |          dz  z   t          dd          z  t          t          t          |          t	          |                    dz            z  t	          |          dz  t          |          dz  z   t          dd          z  t          t          t          |          t	          |                    dz            z  fk    sJ t          dd	          \  }}dt          ||t          z  z             z   dz                                  |dz  |dz  z   t          dd          z  t          t          ||          dz            z  dz  t          j        z   |dz  |dz  z   t          dd          z  t          t          ||          dz            z  dz  fk    sJ t          |dz                                            t          |dz            dfk    sJ t          d
d          }t          |dz                                            dt          |          fk    sJ dt          z   dt          z
  z                                  dk    sJ dt          z   dz  dt          z
  z                                  dk    sJ d S )N  r   rS   rI   rG   rM   r@   TrA   rD   rE   )r   rG   rL   )rq   r   )r   rb   r   r   r   r   r
   r$   r#   r%   r   r	   r   rd   abs)r8   rS   r9   r:   rD   s        r;   test_as_real_imagr   R  s   
DA
 >>1v%%%% 	sA77!!
Q%%(RUUAX
A	.s5A13F3Fq3H/I/I	IeeQhAHQNN*3uRUUBqEE/B/B1/D+E+EE	GG G G G
 5t$$$DAqa!A#g!//111q!tha  U1a[[]++,,-.0171q!thq!nn,Sq!Q-?-??ACC C C C 1::""$$adQ7777t$$$A1::""$$CFF3333UQUO))++v5555UQJA,,..'999999r=   c                  H   t           dz  } t          |           }t          d          }| |z
                                  dk    sJ t	          | |z
            dk    sJ | |z
                      d||i          dk    sJ | |z
                      d||i          dk    sJ d S )Nr   rS   rG   subsr   rI   )r   intr   roundr   r8   )r8   rD   rS   s      r;   test_sign_issue_3068r   p  s    
DAAAsAE==??aA;;! E99QaV9$$q((((E99QaV9$$q((((((r=   c                  >   t          t          d            t          d          \  } t          t                              t                    k    sJ t          | z            j        t          u sJ t          d          dk    sJ t          d          dk    sJ t          d          dk    sJ t          t                    dk    sJ t          t                     dk    sJ t          t                    t          u sJ t          t                    t          u sJ t          t          t          z            t          k    sJ t          t           t          z            t          k    sJ t          t          z            t                    k    sJ t          t           z            t                    k    sJ t          dz            dt                    z  k    sJ t          dz            d	t                    z  k    sJ t          dt          z  z  | z            dt          z  t          | z            z  k    sJ t          t                              t                    k    sJ t          t                              t                    k    sJ t                                        d
          t          t                    dz  t                    dz  z             k    sJ t!          dd
          }t          dt          z  z  |z            dt          z  |z  t                    z  k    sJ t          dt          z  t          z  z  |z            dt          z  |z  t                    z  k    sJ t!          dd
          t!          dd
          }t          d|z            dk    sJ d|z  z  t                    d|z  z  k    sJ t                                                  t                    k    sJ t%                    t                    k    sJ t                    dz  dz  t                    z  k    sJ t                    dz  dz  k    sJ t                    d|z  z  j        t                    d|z  fk    sJ dt                    z  j        t                    dfk    sJ dt                    dz  z  ddz  t                    z  z  k    sJ t                    dz  t                    dz  z  k    sJ t          dz            dz  t                    z  k    sJ t          t          t          z            t)          t           dz            k    sJ t          ddt          z  z   ddt          z  z   z            dt)          dt+          t-          dd                    z            z  k    sJ t!          dd
          } t          t          | z            dk    sJ t!          d          } t          t          | z            t)          t           t          |           z  dz            k    sJ t!          dd
          t                                                  t                     k    sJ t          ddt          d          z  z              t          dt          d          z             z   t          ddt          d          z  z             z   }t%          |          j        t
          u st%          |          dk    sJ dt          d          z   dt          d          z  z
  dt          d          z  z   }t          |dz            t-          dd          z  }||z
  }t%          |          j        t
          u st%          |          dk    sJ t          dt)          t          t          z  dz            z            dk    sJ t          ddt          z   z            dk    sJ t          ddt          z
  z            dt)          t                    z  k    sJ t          t                    t          u sJ t          t                     t          u sJ t          t          t          z             t          u sJ t          t          t          t          z  z             t          u sJ t!          dd
          }t!          d d
!          }t!          d          t          |          j        sJ t                    j        J t          |          j        d"u sJ t                                                    t                    k    sJ t          t2          fd#           t          t5          dt          z
            t5          dt          z             z            }t%          |          |k    sJ t%          dz            dt                    z  k    sJ t%          ddz  z            }	|	j        r|	dt          dz            z  k    sJ t9          t
          | z            sJ t9          t
          dz   z            sJ t9          t
          | z            sJ t!          d$d
          }t%          |z            t%                    |z  k    sJ t9          t
          t!          dd
          | z            sJ t;          d%d
          }
t           |
          dz             |
          k    sJ t9          t
          t=          d&                    sJ d S )'Nc                  <    t          t          dd                    S )NrI   rL   )r   r0   rt   r=   r;   <lambda>ztest_Abs.<locals>.<lambda>  s    c(1a..11 r=   r?   r   rG   rH   rq   rI   g       g       @TrJ   r9   r   rS   rA   r8   r   rL   rM   rV   r]   r`      i9 rk   rE   r   r   	   rN   rP   rQ   Fc                  H    t                                         d          S )NrI   )r   fdiffrS   s   r;   r   ztest_Abs.<locals>.<lambda>  s    s1vv||A r=   r~   r   zim(acos(-i + acosh(-g + i))))r5   	TypeErrorr   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   rc   r   r   r   r"   r
   rg   r   r2   r!   is_Mulr1   r   r   )rk   r9   r8   r   r   r~   r   rP   r   er   rS   s              @r;   test_Absr   ~  s
   
9112225>>DAqQ==DGG####!99>T!!!!q66Q;;;;q66Q;;;;r77a<<<<q66Q;;;;r77a<<<<s88s????s88r>>>>q2v;;"rBw<<2q1u::QrAv;;#a&&    r!t99#a&&    tAv;;#c!ff*$$$$qtAvax==AbDQqSM))))y||A&&&&SVVA&&&&q66===&&$r!uuax"Q%%(/B*C*CCCCCsT"""AqtAvax==AbDF3q66M))))qtAvaxz??ad1fSVVm++++sAsD!!!AQw<<1qs8s1vv!}$$$$q66;;q>>T!WW$$$$q66SVVq66191SVV####q66191A1tA!}- - - -c!ffH?s1vvrl****SVVQY;!QT#a&&[/))))q662:QA&&&&q!t991SVV####q!t99RCE

""""AaC1qs7#$$c"T(1a..5I5I2I.J.J(JJJJJsAq!t99>>>>sAq!t99RC1IaK((((((sd###Aq66;;q>>d1ggX%%%%
rAd1ggI~

	a$q''k!2!2	2T!aQi-5H5H	HB r77<3#b''Q,,,, 	
DGGaQi$tAww,.Aq!thq!nn$A	AAq66;#Q1qRT!V}""""q1q5z??aa!e}3r77****r77b====s88r>>>>rAv;;"rAbDy>>Rsd###As4(((AsAa55a55%%%a55&&&&q66<<>>T!WW$$$$
6666777 tAE{{4A;;&
'
'Cs88s???? qs88qQxAadFA8(Qs1a4yy[((((S!A#S!QU)$$$$$S!A#sT"""Aqs88s1vvax S&4000!344444t$$$A!a==AAaDD    S!:;;<<<<<<<r=   c                  &   t          dd          } t          |                               t                                                    }|| t          |           z  | t          |            z  z
  k    sJ dD ]+}|                    | |          t          |          k    sJ ,t          d          }t          |                              t                    t          |          k    sJ t          dd          t          d          }} t          |                               t                    t          | | dk    f|  df          k    sJ t          |                              t                    t          |          k    sJ t          |                              t                    |t          |          z  k    sJ t          dd          }t          |                              t                    t          t          |z  t          |z  dk    ft           |z  df          k    sJ t          |                              t                    t          |t          |          z            k    sJ t          |                              t                    t          |d	z             k    sJ t          dd
          }t          t          t           | z            t          t           |z            z
            d	z                      t                    t          t          | z             t          t           |z            z  d	z   t          t           | z            t          t          |z            z  z
  k    sJ d S )NrS   TrA   )rq   rH   r   rG   rI   rk   r   rD   rE   rI   extended_real)r   r   re   r(   r   r   r   r    r   r	   r   r   r   )rS   r9   rD   rk   s       r;   test_Abs_rewriter     s   sAAy!!((**A)A,,9aR==00000 & &vva||s1vv%%%%%sAq66>>)$$A....#D!!!6#;;qAq66>>)$$	1a1f+Dz(J(JJJJJq66>>)$$A....q66>>$1T!WW9,,,,sd###Aq66>>)$$	1Q3!q/QBqD$<(P(PPPPP q66>>)$$Qy||^(<(<<<<<q66>>)$$adU3333s$'''AaRT3r!t99$%%q(11)<<	QqS	#qbd))a#qbd))C!HH"445 5 5 5 5 5r=   c                     t          dd          } t          | dz            t          |           k    sJ t          | dz            | dz  k    sJ t          dd          } t          | dz            t          |           k    sJ t          | dz            | dz  k    sJ t          ddd          }t          ddd	          }t          |          |k    sJ t          |          | k    sJ d S )
NrS   TrJ   rI   rA   nn)r   rB   np)r   rB   r   r   r   )rS   r   r   s      r;   test_Abs_realr      s     	sD!!!A1::Qq!t991sA1::Qq!t991 
$T	2	2	2B	$T	2	2	2Br77b====r77rc>>>>>>r=   c                     t          d          } t          |           j        J t          |           j        du sJ t          |           j        J t          |           j        J t          |           j        J t          |           j        J t          |           j        du sJ t          dd          }t          |          j        du sJ t          |          j        du sJ t          |          j        J t          |          j        J t          |          j        du sJ t          |          j        J t          |          j        du sJ t          ddd          }t          |          j        du sJ t          |          j        du sJ t          |          j        J t          |          j        du sJ t          |          j        du sJ t          |          j	        du sJ t          dd          }t          |          j        du sJ t          |          j        du sJ t          |          j        J t          |          j        du sJ t          |          j	        du sJ t          d	d
          }t          |          j        du sJ t          |          j        du sJ t          |          j
        J t          |          j        J t          |          j        du sJ t          dd          }t          |          j        du sJ t          |          j
        du sJ t          |          j        J t          |          j        du sJ t          dd          }t          ddd          }t          |          j        du sJ t          |          j        du sJ t          |          j        J t          dd          }t          ddd          }	t          |          j        du sJ t          |	          j        du sJ t          |          j        J d S )NrS   T)finitezF)rK   r   r~   r   r   )rationalrD   r   r8   )evenne)rB   r   )oddno)rB   r   )r   r   r   is_extended_realis_rationalis_positiver   is_extended_positiveis_extended_nonnegativer   r   is_evenis_odd)
rS   r   r   r~   r   rD   r   r   or   s
             r;   test_Abs_propertiesr     sr   sAq66>!!!q66"d****q66%%%q66%%%q66 (((q66&...q66)T1111s4   Aq66>T!!!!q66"d****q66%%%q66%%%q66 D((((q66&...q66)T1111sDu---Aq66>T!!!!q66"d****q66%%%q66%%%%q66&$....q66>U""""sT"""Aq66>T!!!!q66"d****q66%%%q66%%%%q66>U""""sT"""Aq66>T!!!!q66%%%%q66$$$q66%%%q66 D((((sD!!!Aq66>T!!!!q66$$$$q66%%%q66 D((((sA	4e	,	,	,Bq66>T!!!!r77?e####q66>!!!sA	4U	+	+	+Bq66=D    r77>U""""q66=     r=   c                  z    t          dd          } t          t          d| z   dz  z            d| z   dz  k    sJ d S )Nr9   Tr   rG   rI   )r   r   r	   )r9   s    r;   test_absr   N  sI     	sT"""Aq!a%!|Q
******r=   c            	      T   t          d          t          u sJ t          d          dk    sJ t          d          t          k    sJ t          t                    t          dz  k    sJ t          t                     t           dz  k    sJ t          dt          z             t          dz  k    sJ t          dt          z             t          t	          dd          z  k    sJ t          dt          z
            t           dz  k    sJ t          t          dt          z  t          z                      dt          z  k    sJ t          t          dt          z  t          z                      dt          z  k    sJ t          t          ddt          z  t          z  dz  z
                      t          t	          d	d          z  k    sJ t          t          t          t          z  d
z                      t          d
z  k    sJ t          t          dt          z                      ddt          z  z
  k    sJ t          t          dt          z  t          z  dz                      dt          z  dz  k    sJ t          t          ddt          z  z
                      ddt          z  z   k    sJ t          t          t          ddt          z  z                                 dt          z  t          d          t          d          z  z   k    sJ t          dd          } t          t          | dt          z  z
                      dk    sJ t          d          }t           |d          t           |d          z  z                                 t                    rJ t          d          }t          t          t          |                              t          j        usJ t          t          t          t          |                                        t          j        u sJ t          dd          } t          t          |                     t          j        usJ t          t          t          |                               t          j        u sJ t          dd          }t           ||                    dk    sJ t          dt          z    ||          z            t          dt          z             k    sJ t          dd          }t          |          dk    sJ t          |t          z            t          dz  k    sJ t          dd          }t          |          t          k    sJ t          |t          z            t           dz  k    sJ t          d          }t!          t          |                    t          |          k    sJ |t          |dz  z  z   }t          |          t          d|t          z  z             k    sJ d|z  dt          z  |dz  z  z   }t          |          t          dd|z  t          z  z             k    sJ t#          dd          }|t          |z  z   }t          |          t          |dt          z   z            k    sJ t          ||z            t          |dt          z   z            k    sJ |t          |          z  t          t%          |          z  t          |          z  z   }t          |          j        d         |k    sJ |dz   t          |dz  dz
  z  z   }t          |          j        d         |k    sJ t          d          }d|z   |d          dz
  z  d|z   |d          z  z
  }t          |          t          d|z            k    sJ t           |d                    j        t           k    r+t           |d                    j         |d          fk    sJ d S )Nr   rG   rH   rI   rM   rL   r   r]   rV   r      r`         i{   rq   rC   TrA   r   rS   r   r~   )extended_positiver   r8   r   )r   r   r   r	   r
   r   r   r%   r$   r&   r   r   atomsr   r   ri   r   r   r   r   r   )rC   r   rS   r~   r8   r   s         r;   test_argr   U  s   q66S====q66Q;;;;r77b====q66RT>>>>r77rc!eq1u::ArAv;;"Xa^^+++++q1u::"Qy2a  !!QrT))))yBq!!""be++++yQrT!VAX&&''2hr1oo+=====s1R46{{r!t####s2a4yy>>R!B$Y&&&&s2a472:3r6"9,,,,s319~~"qt)++++s3q1Q3w<<  !!RUSVVDGG^%;;;;;sAs1qs7||""""A11Q44!AAaDD&=!!''+++++ 	sAs3q66{{15((((s3s1vv;;  AE))))s$'''As1vv;;ae####s3q66{{qu$$$$---Aqqtt99>>>>Aqqtt|AF++++sT"""Aq66Q;;;;qs88r!tsT"""Aq66R<<<<qs88s1usASVVA&&&&	AadF
Aq66SQqS\\!!!!
1qs1a4xAq66Sac!e__$$$$$A	AaCAq66SAE^^####qs88s1a!e9~~%%%%	#a&&1SVV8CFF?"Aq66;q>Q	
Q!QTAX,Aq66;q>QA	!QQqTTAX1QQqTT!Aq66SAYYqqtt99>S  S1YY^!w%>%>%>%>%>%>r=   c                  ,   t          dt          z             t          dd          k    sJ t          dd          } t          dd          }t          | t          |z  z                                 t                    t          ||           k    sJ d S )NrG   rS   TrA   rk   )r   r	   r#   r   re   )rS   rk   s     r;   test_arg_rewriter     s    q1u::q!$$$$sAsAq1Q3w<<&&%1++555555r=   c                      t          d           t                                          d          dk    sJ t                                          d          t          k    sJ t	          t
           fd           t	          t
           fd           t                                                    dk    sJ t                                          d          t          d          k    sJ d S )	NrS   rG   cdirr   rH   c                  \    t           t          z                                  d          S )NrG   r   )r   r	   as_leading_termr   s   r;   r   z2test_arg_leading_term_and_series.<locals>.<lambda>  s$    c!a%jj8818EE r=   c                  \    t          d z                                 t                    S )NrI   r   )r   r   r	   r   s   r;   r   z2test_arg_leading_term_and_series.<locals>.<lambda>  s$    c!A#hh66q6CC r=   )r8   )r   r   r   r   r5   r   nseriesr3   r   s   @r;    test_arg_leading_term_and_seriesr     s    sAq66!!!A!..!3333q66!!!B!//25555
9EEEEFFF
9CCCCDDDq66>>!!!!!q66>>!q>!!U1XX------r=   c                  ~   t          dd          } t          dd          }t          |           |  k    sJ t          t          | z            t          | z  k    sJ t          |          |k    sJ t          t          |z            t           |z  k    sJ t          | |z            | | z  k    sJ t          t          | z  |z            t          |z  | z  k    sJ t          d          \  }}t          t          |                    |k    sJ t          ||z             t	          |          t	          |          z   k    sJ t          ||z
            t	          |          t	          |          z
  k    sJ t          ||z            t	          |          t	          |          z  k    sJ t          ||z            t	          |          t	          |          z  k    sJ t          |           t	          |           k    sJ t          dd          \  }}t          t          |                    |k    sJ t          ||z             t          |          t          |          z   k    sJ t          ||z
            t          |          t          |          z
  k    sJ t          ||z            t          |          t          |          z  k    sJ t          ||z            d	t          |          z  t          |          z  k    sJ t          |           t          |           k    sJ d S )
Nr9   T)antihermitianr:   )	hermitianx yFcommutativerG   )r   r   r	   r   r   )r9   r:   rS   rk   s       r;   test_adjointr     s   s$'''Asd###A1::!1Q3<<1Q31::????1Q3<<A2a41Q3<<A2a41Q3q5>>QqSU""""5>>DAq71::!####1q5>>Yq\\IaLL888881q5>>Yq\\IaLL888881q5>>Yq\\IaLL888881q5>>Yq\\IaLL88888A2;;9Q<<-''''5e,,,DAq71::!####1q5>>WQZZ'!**444441q5>>WQZZ'!**444441q5>>WQZZ'!**444441q5>>Q^gajj88888A2;;71::+%%%%%%r=   c                  @   t          dd          } t          dd          }t          |           | k    sJ t          t          | z            t           | z  k    sJ t          |          | k    sJ t          t          |z            t          |z  k    sJ t          | |z            |  |z  k    sJ t          t          | z  |z            t          | z  |z  k    sJ t          d          \  }}t          t          |                    |k    sJ t          |                                          t          k    sJ t          ||z             t          |          t          |          z   k    sJ t          ||z
            t          |          t          |          z
  k    sJ t          ||z            t          |          t          |          z  k    sJ t          ||z            t          |          t          |          z  k    sJ t          |           t          |           k    sJ t          dd          } t          dd	          }t          |           j        sJ t          |          j        J t          |          j        d
u sJ d S )Nr9   TrA   r:   rE   r   rN   rP   rQ   F)r   r   r	   r   inverser   rg   )r9   r:   rS   rk   rP   s        r;   test_conjugater     sx   sAsd###AQ<<1QqS>>aRT!!!!Q<<A2QqS>>QqS    QqS>>aRT!!!!QqSUqs1u$$$$5>>DAqYq\\""a''''Q<<!!Y....QUy||ill:::::QUy||ill:::::QUy||ill:::::QUy||ill:::::aR==Yq\\M))))sd###As4(((Aa55a55%%%a55&&&&&&r=   c                     t          dd          } t          t          |                     t          |           k    sJ t          t          |                     t          |           k    sJ t          t          |                     t          |           k    sJ t          t          |                     t          |           k    sJ t          t          |                     t          |           k    sJ t          t          |                     t          |           k    sJ t          d          } t          |           t          |           k    sJ t          |           | k    sJ d S )NrS   Fr   )r   r   r   r   r   s    r;   test_conjugate_transposer     s7   s&&&AYq\\""gajj0000Yq\\""gajj00009Q<<  IaLL0000WQZZ  IaLL00009Q<<  IaLL0000WQZZ  IaLL0000sAQ<<71::%%%%Q<<1r=   c                  l   t          dd          } t          |           | k    sJ t          t          | z            t          | z  k    sJ t          d          \  }}t          t          |                    |k    sJ t          ||z             ||z   k    sJ t          ||z
            ||z
  k    sJ t          ||z            ||z  k    sJ t          ||z            ||z  k    sJ t          |           | k    sJ t          dd          \  }}t          t          |                    |k    sJ t          ||z             t          |          t          |          z   k    sJ t          ||z
            t          |          t          |          z
  k    sJ t          ||z            t          |          t          |          z  k    sJ t          ||z            dt          |          z  t          |          z  k    sJ t          |           t          |           k    sJ d S )Nr9   TrJ   r   Fr   rG   )r   r   r	   r   )r9   rS   rk   s      r;   test_transposer     s0   sD!!!AQ<<1QqS>>QqS    5>>DAqYq\\""a''''QUq1u$$$$QUq1u$$$$QUq1u$$$$QUq1u$$$$aR==QB5e,,,DAqYq\\""a''''QUy||ill:::::QUy||ill:::::QUy||ill:::::QUq9Q<</)A,,>>>>>aR==Yq\\M))))))r=   c                  `   ddl m} m} t          d          }t          dd          }t	          d          }i } |d           | d          |fk    sJ  |d	t
          z              | d	t
          z             |fk    sJ  |t          |          d
          t          |          k    sJ  |d	|z   d
          d	|z   k    sJ  | |t
                    |z   d
           | | t
                              |z   k    sJ  ||d           | |          k    sJ  ||d          |k    sJ  | ||          d           | | |                    k    sJ  |d	|z   d           | d	|z             k    sJ  |d	 ||          z   d           | d	 | | |                    z             k    sJ  | ||          |z             \  }}|                    |           ||          |z   k    sJ t          d          }t          dd          }	 |t          t          d          |z  t          | |z   dz   d|	dz  z  z            z  dt          t                    z  |	z  z  |t           t          f          d          t          t          d          |	t          d          z  t          t
          t          z            z  z  t          |	t          d          z  dt          t
          t          z            z  z  t          t
          t          z            z   | | |z             dt          d          z  z  z  dz            z  t          d          z   | |          z  dt          t                    z  z  |t           t          f          k    sJ d S )Nr   )
polar_liftpolarifyrS   r   T)polarr   rH   rG   Fr   )liftmusigmar   rI   )$sympy.functions.elementary.complexesr   r   r   r   r	   r   r   r)   r   r   r   r   )
r   r   rS   r   r   ESnewexr   r   r   s
             r;   test_polarifyr     s"   KKKKKKKKsAs$AA	B8B<<JJrNNB/////8AE??zz!a%00"555558CFF'''3q6611118AE&&&!a%////8AAaDD1H5)))QQzz!}}-=-=-AAAAA8AD!!!ZZ]]22228AD!!!Q&&&&8AAaDDt$$$**Q--(8(888888AE%%%AE):):::::8A!H4(((JJq11ZZ]];K;K7K,L,LLLLL(11Q44!8$$KE4::dqqttax''''	B7T***E 8a3"q1}aqj9:::Ad2hhJu<LM	
RC	 	 " " "%-d1gguYq\\7IIVWXZVZOO6[.[U9Q<<1Yqt__#45i"ooEjjRTQTWXQXFYFY	
9Q<<G  	 	/%aLL/))3A/789$r((
/DFG"b\&S &SS S S S S Sr=   c                  <   ddl m} m}m} ddlm} ddlm} ddlm	} ddl
m}m} ddlm} t          dt           z            d	z   }	t#          dt           z            d	z   }
 |d	          d	k    sJ  ||	          |
k    sJ  ||	d
z            |
d
z  k    sJ  ||	|z            |	|z  k    sJ  ||	|z            |
|z  k    sJ  ||	|z             |
|z   k    sJ  |t%          t'          |	                              t%          t'          |
                    k    sJ  ||d
t(          z            } ||          |k    sJ  |t%          |                    t%          |          k    sJ  ||	|	z  d          |	|
z  k    sJ  | |||	|	z                       |||	|
z            k    sJ  |t'          |	                    t'          |
          k    sJ  | ||	                     ||
          k    sJ  | ||	                     ||
          k    sJ  | ||	                     ||
          k    sJ  | |||	                     |||	          k    sJ  | |t'          |	          t'          |	t          d          z                                  |t'          |
          t'          |
d	z                       k    sJ  | | | d          d
t          d          z                       |dd
          k    sJ  |t+          |	d                    t+          |
d          k    sJ  | ||	d                     ||
d          k    sJ  | | |          dk              |dk    k    sJ  |d          du sJ d S )Nr   )r   principal_branch
unpolarify)Ne)tanh)erf)gamma
uppergammar   r   rG   rI   T)exponents_only)r   r   r   r   sympy.core.relationalr  %sympy.functions.elementary.hyperbolicr  'sympy.functions.special.error_functionsr  'sympy.functions.special.gamma_functionsr  r  	sympy.abcrS   r   r	   r   r   r%   r   r   )r   r   r   r  r  r  r  r  rS   r~   urP   s               r;   test_unpolarifyr  *  s   __________((((((::::::;;;;;;KKKKKKKK!A#AAaC1A:a==A:a==A:adq!t####:adq!t####:ac??ac!!!!:a!eA%%%%:d3q66ll##tCFF||3333 	AbD!!A:a==A:d1gg$q'')))) :ad4000AqD8888:jjAqD))**jjAqD.A.AAAAA :c!ffQ'''':dd1gg$$q'')))):eeAhh5588++++:cc!ffQ'''':jjA&&''::a+;+;;;;;:jjQQ1-=)>)>??@@
3q663q1u::&&' ' ' ':jjA)A,,??@@
1a    :bAhh2a88++++:bbAhh22a88++++:jjmma'((QU3333 :dt######r=   c                  h   t          d          } t          |                               d          t          |           k    sJ t          |                               d          t          |           k    sJ t	          |                               d          t	          |           k    sJ d S )NrS   T)trig)r   r   r   r   r   r   s    r;   test_issue_4035r  Y  s    sAq66==d=##s1vv----77>>t>$$Q////q66==d=##s1vv------r=   c                      t          d          } t          t          |                     t          |           k    sJ d S )NrS   )r   r   r   s    r;   test_issue_3206r  `  s6    sAs1vv;;#a&&      r=   c                     t          dd          } t          dd          }t          d          } ||                                                               |            ||                               |                                           k    sJ  ||                                                              |           ||                              |                                           k    sJ d S )NrS   TrA   rk   rE   r   )r   r   r   rc   rS   rk   r   s      r;   $test_issue_4754_derivative_conjugater  e  s    sAsd###AAAaDDNN""1%%!!A$$))A,,)A)A)C)CCCCCAaDDNN""1%%11Q4499Q<<*B*B*D*D)DDDDDDDr=   c                  4   t          dd          } t          dd          }t          d          }t           ||                                         |           t           ||                               |                     k    sJ t	           ||                                         |           t	           ||                               |                     k    sJ t           ||                                        |          t
           t	           ||                              |                    z  k    sJ t	           ||                                        |          t
           t           ||                              |                    z  k    sJ t           ||                                         |                                ||           dt
          | z  z                                             | t          d| dz  z             z  k    sJ t           ||                                         |                                ||           dt
          | dz  z  z                                             d| z  d| d	z  z   z  k    sJ t           ||                                        |                               ||          d|z                                             | t          d|dz  z
            z  k    sJ t           ||                                        |                               ||          t
          |dz  z                                             d|z  d|d	z  z   z  k    sJ d S )
NrS   TrA   rk   rE   r   rG   rI   rM   )r   r   r   rc   r   r	   r   r   r   r   r   r  s      r;   test_derivatives_issue_4757r  m  s   sAsd###AAaadd88==r!!A$$))A,,//////aadd88==r!!A$$))A,,//////aadd88==r"QQqTTYYq\\"2"222222aadd88==r"QQqTTYYq\\"2"222222qqtt99>>!!!!!A$$AaC0055771T!ad(^^;KKKKKqqtt99>>!!!!!A$$AadF
3388::ac1q!t8nLLLLqqtt99>>!!!!!A$$A..3355!DQTNN9JJJJJqqtt99>>!!!!!A$$AqD116688AaCQTNJJJJJJr=   c                  v   ddl m}  t          d          }t          d          }t          d          }t          |g|g|gg          }|                                }|t          |t          t          |          dz  t          |          dz  z   t          |          dz  z             z  g|t          t          |          dz  t          |          dz  z   t          |          dz  z             z  g|t          t          |          dz  t          |          dz  z   t          |          dz  z             z  gg          k    sJ t          |dz  |dz  |dz  z   |dz  z   z  |dz  |dz  |dz  z   |dz  z   z  z   |dz  |dz  |dz  z   |dz  z   z  z             |_         | |j                  dk    sJ d S )Nr   r   v0v1v2rI   rG   )sympy.simplify.simplifyr   r   r*   
normalizedr   r   norm)r   r  r  r  VUs         r;   test_issue_11413r"  {  s   000000	B	B	BbT2$  A	ASWWaZ#b''1*$s2wwz12223SWWaZ#b''1*$s2wwz12223SWWaZ#b''1*$s2wwz122235 6 6 6 6 6 6 "a%QQQ./"a%QQQ9N2OORTVWRWY[]^Y^acefafYfikmninYnRooppAF8AFq      r=   c                  Z   ddl m} m}m}m} t          d          }t          dd          } |dt          z              | dt          z   t                    k    sJ  |d|z              | d|z   t                    k    sJ t           |dt          z   dz            t          dz            sJ t           |dt          z
  dz            t           dz            sJ t           | dt          z   dz  d	t          z            t          dz            sJ t           | dt          z
  dz  d	t          z            t           dz            sJ  | ||t                               | |t                    k    sJ  | |dt          z                        |dt          z             k    sJ  |  |dt          z             dt          z             | dt          z   dt          z            k    sJ  |  |dt          z             d	t          z             | dt          z   d	t          z            k    sJ  |  |dt          z             t                     |  |dt          z             t                    k    sJ  | |dt          z                       t          d
z  k    sJ  | d|z  |           | ||          k    sJ  | t          |z  |           | ||          k    sJ t           |dt          z                       t          dt          z             k    sJ d S )Nr   )periodic_argumentr   r   unbranched_argumentrS   r~   Tr   rI   rG   rL   rM   )r   r$  r   r   r%  r   r	   r   r<   r   r   )r$  r   r   r%  rS   r~   s         r;   test_periodic_argumentr&    s   {{{{{{{{{{{{sAsT"""Aq1u%%):):1q5")E)EEEEEq1u%%):):1q5")E)EEEEE''Q
33RT:::::''Q
33bSU;;;;;%%q1uqj!B$77A>>>>>%%q1uqj!B$77"Q?????//26677!R  ! ! ! ! zz!a%00115H5HQ5O5OOOOOZZA.."55!a%2&&' ' ' 'ZZA.."55!a%2&&' ' ' 'ZZA..33**QU++R001 1 1 1 zz!a%0011RT9999QqS!$$(9(9!Q(?(?????RT1%%):):1a)@)@@@@@zz!a%  !!SQZZ//////r=   c                  p    ddl m}  t           | dt          z   dz  t          dz            d          sJ d S )Nr   r   rG   rI   )r   r   r<   r	   r   r(  s    r;   test_principal_branch_failr)    sM     FEEEEE$$a!eaZA66:::::::r=   c                     ddl m} m} t          dd          }t          d          }t          dd          } | | |          |           |||          k    sJ  | | dt          z             |           |dt          z   |          k    sJ  |d|z  |          d |||          z  k    sJ  |d	t
                    t          d          k    sJ  |d
dt
          z            t          t          t
          z            k    sJ  |d
t
                    t          d          k    sJ  |t          dt
          z  t          z            |z  dt
          z             |t          t          t
          z            |z  dt
          z            k    sJ  ||t          t
          t          z            z  dt
          z            |t          t           t
          z            z  k    sJ  |t          t           t
          z  dz             | |          z  dt
          z            t          t           t
          z  dz            |z  k    sJ t           |d	t          z   dz  dt
          z            dt          z            sJ t           |d	t          z   dz  dt
          z            dt          z            sJ t           |d	t          z   dz  d	t
          z            dt          z            sJ  ||t                    j        |u sJ  ||d          j        |u sJ  ||t                     j        |u sJ  ||t                    j        |u sJ d S )Nr   )r   r   r~   Tr   rS   r   rI   rG   rH   rL   )r   r   r   r   r	   r   r   r<   r   r   r   )r   r   r~   rS   negs        r;   test_principal_branchr-    s   SSSSSSSSsT"""AsA
t
$
$
$CJJqMM1--1A1A!Q1G1GGGGGJJq1u--q115E5Ea!eQ5O5OOOOOAaC##q)9)9!Q)?)?'?????Ar""ill2222B"%%1R48888B##y||3333Iad1f--a/2661R4*AbD112 2 2 2C	"Q$/266#i2>N>N:NNNNNIqbeAg..zz#>"EE1"R%'3    $$a!eaZ266!<<<<<$$a!eaZ266!<<<<<$$a!eaZ266!<<<<< Aq!!&*:::::Ar""'+;;;;;As##(,<<<<<As##(,<<<<<<<r=   c                     t           dz  } t          |           }t          | |z
            dk    sJ t          | |z
            | |z
  k    sJ t	          d          }t           dz  }t           dz  }t          |          dz  t          |          dz  z   }||z  |z
  |z   }ddlm} t           ||                    dk    sJ dd	dt          dd
          fD ]+}t          |
                    ||                    dk    sJ ,d S )Nr   rG   rS   i$rI   r   r  o      r   )r   r   r   r   r   r$   r%   r  r   r
   r   )	r8   rD   rS   epsbigoner   r   xis	            r;   test_issue_6167_6151r5    s"   
DAAAA;;!q1u::QsA
e)C
d(C
a&&!)c!ffai
CC#A000000!!!!B8Ar??+ ( (AFF1bMM""a'''''( (r=   c                      ddl m}  t          ddd          } | |d                   |d         k    sJ  | |d         |d         z            |d         |d         z  k    sJ d S )Nr   )r   rU   rI   )r   r   )rG   r   )r   r   r,   )r   rU   s     r;   test_issue_14216r7    s    ??????S!QA:ag!D')))):agago&&!D'!D'/999999r=   c                      t          dd          } t          | t          d| dk    fd| z
  df          z             sJ d S )NrC   TrA   r   rG   )r   r   r    )rC   s    r;   test_issue_14238r9    sM    sAq9aQZ!a%7778888888r=   c                      t          d          } t          dd| z  z
            dz
  d| z
  fD ]0}t          |          t          |           z
  dk    s
J |            1d S )NrS   r   rI   rG   r   r   )rS   r9   s     r;   test_issue_22189r;    sq    sA1qs7mmaQ' ( (1vvQB1$$$a$$$$( (r=   c                     t          ddd          } t          dd          }t          ddd          }t          |           j        J t          |           j        du sJ t          |          j        J t          |          j        J t          |          j        du sJ t          |          j        J d S )	NnonrealFT)rB   r   nonimaginaryrE   nonzerononimaginary)r   rF   )r   r   r   r   )nrninznis      r;   test_zero_assumptionsrC    s    		d	3	3	3B	%	0	0	0B'euEEEDb66>!!!b66>U""""b66>!!!b66>!!!d88u$$$$d88#####r=   c                     t          dd          } t          dd          }t          t           | |                     | |                    }|                                t           | |                    k    sJ d S )Nr   TrA   rS   )r   r   r   r   r   r   )r   rS   r   s      r;   test_issue_15893rE    sx    4   AsA	C!IIqqtt	$	$B7799QQqTT

""""""r=   N)lsympy.core.functionr   r   r   r   r   sympy.core.numbersr   r	   r
   r   r   r   r   r   r  r   sympy.core.singletonr   sympy.core.symbolr   r   r   r   r   r   r   r   r   r   r   &sympy.functions.elementary.exponentialr   r   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser    (sympy.functions.elementary.trigonometricr!   r"   r#   r$   r%   r  r&   'sympy.functions.special.delta_functionsr'   r(   sympy.integrals.integralsr)   sympy.matrices.denser*   %sympy.matrices.expressions.funcmatrixr+   "sympy.matrices.expressions.matexprr,   sympy.matrices.immutabler-   r.   sympy.matricesr/   sympy.sets.setsr0   sympy.core.exprr1   r2   sympy.series.orderr3   sympy.testing.pytestr4   r5   r6   r<   ro   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-  r5  r7  r9  r;  rC  rE  rt   r=   r;   <module>rY     s   Q Q Q Q Q Q Q Q Q Q Q Q Q Q G G G G G G G G G G G G G G G G G G G G $ $ $ $ $ $ " " " " " " / / / / / / / / h h h h h h h h h h h h h h h h h h h h H H H H H H H H H H 9 9 9 9 9 9 : : : : : : R R R R R R R R R R R R R R 6 6 6 6 6 6 K K K K K K K K . . . . . . ' ' ' ' ' ' @ @ @ @ @ @ ; ; ; ; ; ; M M M M M M M M ' ' ' ' ' ' $ $ $ $ $ $ % % % % % % 2 2 2 2 2 2 $ $ $ $ $ $ = = = = = = = = = =% % %
]> ]> ]>@W> W> W>rw0 w0 w0t: : :< 
) 
) 
)e= e= e=P5 5 54  $9! 9! 9!x+ + +B? B? B?J6 6 6. . .& & &6' ' '4  * * *,  S  S  SF,$ ,$ ,$^. . .! ! !
E E EK K K! ! !0 0 0< ; ; ;= = =< ( ( ( : : :9 9 9( ( ($ $ $  # # # # #r=   