U
    ZÊ¹j÷s  ã                   @   sP  d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 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 d dl 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,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl m9Z9 d dl:m;Z;m<Z<m=Z= d dl>m?Z? d dlm@Z@ d dlAmBZBmCZCmDZD eDdd„ ƒZEeDdd„ ƒZFeDdd„ ƒZGeDdd „ ƒZHeDd!d"„ ƒZIeDd#d$„ ƒZJeDd%d&„ ƒZKd'd(„ ZLd)d*„ ZMeDd+d,„ ƒZNeDd-d.„ ƒZOeDd/d0„ ƒZPeDd1d2„ ƒZQd3d4„ ZRd5d6„ ZSd7d8„ ZTd9d:„ ZUd;d<„ ZVd=d>„ ZWd?d@„ ZXdAdB„ ZYeDdCdD„ ƒZZeDdEdF„ ƒZ[dGdH„ Z\dIdJ„ Z]dKdL„ Z^dMdN„ Z_dOdP„ Z`dQdR„ ZadSdT„ ZbdUdV„ ZcdWdX„ ZdeCdYdZ„ ƒZed[d\„ Zfd]d^„ ZgeDd_d`„ ƒZhdadb„ Zidcdd„ Zjdedf„ Zkdgdh„ ZleDdidj„ ƒZmeDdkdl„ ƒZndmdn„ Zododp„ ZpeCdqdr„ ƒZqdsdt„ Zrdudv„ Zsdwdx„ Ztdydz„ Zud{S )|é    )Úrefine)ÚAccumBounds)ÚProduct)ÚSum)Ú
expand_log)ÚEÚFloatÚIÚRationalÚnanÚooÚpiÚzoo)ÚPow)ÚS)ÚSymbolÚsymbols)ÚadjointÚ	conjugateÚreÚsignÚ	transpose)ÚLambertWÚexpÚ	exp_polarÚlog)ÚcoshÚsinhÚtanh)Úsqrt)ÚcosÚsinÚtan)ÚMatrixSymbol)Úgcd)ÚO)Úsimplify)Úglobal_parameters)Úmatch_real_imag©ÚxÚyÚz)Ú	unchanged)ÚArgumentIndexError)ÚraisesÚXFAILÚ_both_exp_powc                  C   sP  t jrtttƒƒtks0t‚ntttƒƒtks0t‚tddd�} ttƒtksLt‚tt	ƒt	ks\t‚tt	 ƒdksnt‚tdƒdks~t‚tdƒt
ksŽt‚tdt ƒ ¡ tjtd fks°t‚tdt ƒ ¡ tjtd fksÒt‚ttt d ƒtksêt‚ttt ƒdksþt‚ttt tddƒ ƒt k�s t‚tdt t ƒdk�s:t‚tttt d |  ƒƒdk�s\t‚tttt d | tj  ƒƒdk�s„t‚tttt d | tdd	ƒ  ƒƒtk�s°t‚tttt d | tdd	ƒ  ƒƒt k�sÞt‚tttƒƒtk�sôt‚tdttƒ ƒtd k�st‚ttttƒ ƒtt k�s0t‚td
ttƒ t
ttƒ  ƒtd
 tt
  k�sbt‚ttttƒ ƒtt k�s€t‚tttƒttƒ ƒtk�sžt‚tdttƒ t	t  ƒtt	t ƒtd  k�sÐt‚td	ttƒ ttƒ dttƒ  ƒtd td	ttƒ ttƒ ƒ k�st‚tt	 dd�jdk�s4t‚tt	dd�jdk�sLt‚d S )NÚkT©Úintegerr   é   éÿÿÿÿé   é   é   é   F©Úevaluate)r'   Ú
exp_is_powÚtyper   r*   r   ÚAssertionErrorr   r   r   r   Úas_base_expr   ÚExp1r   r	   r
   r   ÚHalfr   r+   r!   Ú	is_finite)r2   © rD   úp/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/functions/elementary/tests/test_exponential.pyÚtest_exp_values   s:    """"(,.22JrF   c                  C   sP  t tt tddƒ ƒt tt d ƒks*t‚t tt tddƒ ƒt tt tddƒ ƒksZt‚t tt tddƒ ƒt tt tddƒ ƒksŠt‚t tt td	d
ƒ ƒt t t d
 ƒks¶t‚t tt tddƒ ƒt tt tddƒ ƒ dksêt‚t tt tdd
ƒ ƒt tt tddƒ ƒ t tt tddƒ ƒ dk�s6t‚t dtt tddƒ  ƒt dtt td
dƒ  ƒk�spt‚t td
ƒtt tddƒ  ƒd
t tt tddƒ ƒ k�s®t‚tddd�} tddd�}t |t t ƒdk�sàt‚t |d t t ƒdk�sþt‚t dd|   t t d ƒtk�s$t‚t dd|   t t d ƒt k�sLt‚d S )Né	   r9   é.   é   é   é   é   éýÿÿÿiíÿÿÿr8   é%   é   iõÿÿÿr   éûÿÿÿé   é”   é   r5   r7   r:   é   iùÿÿÿÚnTr3   Úe)Zevenr6   )r   r	   r   r
   r?   r   r   )rU   rV   rD   rD   rE   Útest_exp_periodH   s    *00,4L:>&rW   c                  C   sš   t ddd�} tt| ƒƒ| ks t‚tt| ƒƒ| ks4t‚tjsbt| ƒ ¡ tksNt‚t| ƒ ¡ tksbt‚t ddd�}tttƒƒtks‚t‚tt|ƒƒ|ks–t‚d S )Nr*   T©Úrealr+   ©Zpolar)	r   r   r   r?   r'   r=   Zinverser   r,   ©r*   r+   rD   rD   rE   Útest_exp_log\   s    r\   c                  C   s€   t ttdƒƒdt  ttdƒƒt  ƒ} |  ¡ dks8t‚t tt ƒt tƒt tƒ ksXt‚t tt ƒ ¡ t tƒt tƒ ks|t‚d S ©Nr7   r5   )r   r   r
   r*   Úexpandr?   r+   ©rV   rD   rD   rE   Útest_exp_expandk   s    ( r`   c                   C   sê   t tƒ ¡ ttfkst‚t dt ƒ ¡ tdt fks8t‚t tt ƒ ¡ ttt fksXt‚t t ƒ ¡ tt fkstt‚tt t tƒksˆt‚tdt  t dt ƒks¤t‚ttt  t tt ƒksÀt‚t tƒjtjksÔt‚t tƒj tksæt‚d S ©Nr7   )	r   r*   r@   r   r?   r+   Úbaser   rA   rD   rD   rD   rE   Útest_exp__as_base_exps   s      rc   c                  C   s’   t tt ƒtkst‚tt tt ƒƒtks,t‚tt t t ƒƒtksFt‚t tt t ƒtks^t‚t tƒtksnt‚tdddd�} t | ƒj	d ksŽt‚d S )Nr*   TF)Zextended_realZfinite)
r   r	   r+   r   r?   r   r   r   r   Z
is_complex©r*   rD   rD   rE   Útest_exp_infinityƒ   s    re   c                  C   s2  t dƒ} tdt| ƒ dd�}| | d td ¡|ks8t‚| | d d¡|ksPt‚| d  | d t¡ttddƒ ksvt‚tt| ƒt| d ƒ ƒ tt| ƒƒt¡ttt| d ƒƒ ks¶t‚t| ƒ tt¡t|  ksÒt‚tddd�} td|  ƒ td	|  ƒt¡ttdd	ƒ k�st‚td|  d	 ƒ td|  ƒt¡ttddƒ td	ƒ k�sJt‚tddd
�} tdt| ƒ ƒ | d t¡ttddƒ k�s†t‚tt| t ƒƒ td¡dd| t   k�s´t‚tt| t ƒƒ tt	¡t	t	| t ƒƒk�sât‚tt| t ƒƒ td¡dd| d   k�st‚tdƒ tt	¡t	dƒk�s.t‚d S )Nr*   r8   Fr;   r7   rJ   TrX   rL   ©Úpositive)
r   r   r   Úsubsr+   r?   r
   r   r   r!   )r*   rV   rD   rD   rE   Útest_exp_subsŽ   s     &@0<0...ri   c                   C   s    t ttƒƒtt tƒƒkst‚d S ©N)r   r   r*   r?   rD   rD   rD   rE   Útest_exp_adjoint£   s    rk   c                   C   s    t ttƒƒtt tƒƒkst‚d S rj   )r   r   r*   r?   rD   rD   rD   rE   Útest_exp_conjugate§   s    rl   c                   C   s    t ttƒƒtt tƒƒkst‚d S rj   )r   r   r*   r?   rD   rD   rD   rE   Útest_exp_transpose«   s    rm   c                  C   sØ  t tƒ t¡ttƒttƒ ks"t‚t tt ƒ t¡ttƒtttƒ  ksLt‚t dƒ t¡tdƒtdƒ ksnt‚t dƒ t¡tdƒtdƒ ks�t‚t dƒ t¡tdƒtdƒ ks²t‚t tƒ t	¡dt	td ƒ dt	td ƒ  ksät‚t t
t d ƒ t¡tdƒd tdƒt d  k�st‚t t
t d ƒ t¡tjtdƒt d  k�sNt‚tj�sÞt tttƒ ƒ t¡tt k�szt‚t ttƒttƒ ƒ t¡tttƒ tttƒ fk�s²t‚t tttƒƒt ƒ t¡ttƒt k�sÞt‚tddd�} tt t
t d ƒd |  | dtfƒ t¡ ¡ tdd	ƒtd d	  k�s4t‚tt t
t d ƒd |  | dtfƒ t¡ ¡ ddtdƒdt  d   k�s„t‚tt t
t d ƒd |  | dtfƒ t¡ ¡  ¡ dt tdƒdt   k�sÔt‚d S )
Nr5   r7   r9   r8   rU   Tr3   r   rJ   )r   r*   Úrewriter!   r   r   r?   r	   r    r   r   r   r   rB   r'   r=   r   r+   r   r   r   r   Zdoitr
   Úcancel©rU   rD   rD   rE   Útest_exp_rewrite°   s$    "*"""282$8,JP0ÿrq   c                   C   sb   t tƒ t¡dkst‚t dt ƒ t¡t dƒks4t‚t dt d td  ƒ t¡t dƒks^t‚d S )Nr5   r7   r8   )r   r*   Úas_leading_termr?   rD   rD   rD   rE   Útest_exp_leading_termÇ   s    rs   c                  C   s~   t dƒ} t| ƒ d| ¡| ks t‚t| ƒ d| ¡| d d ks@t‚t| ƒ d| ¡| d d ks`t‚t| ƒ d| ¡tjkszt‚d S )Nr*   r5   r8   é   r9   é   r6   )r   r   Útaylor_termr?   r   ÚZerord   rD   rD   rE   Útest_exp_taylor_termÕ   s
      rx   c                  C   s"   t dddƒ} t| ƒ t¡st‚d S )NÚAr7   )r#   r   Úhasr?   )ry   rD   rD   rE   Útest_exp_MatrixSymbolÞ   s    r{   c                      s   t dƒ‰ tt‡ fdd„ƒ d S )Nr*   c                      s   t ˆ ƒ d¡S ra   )r   ÚfdiffrD   rd   rD   rE   Ú<lambda>å   ó    z test_exp_fdiff.<locals>.<lambda>©r   r/   r.   rD   rD   rd   rE   Útest_exp_fdiffã   s    r€   c                   C   sT  t tƒtkst‚t tƒtks t‚t t ƒtks2t‚t tƒtksBt‚t t ƒtksTt‚t dƒtksdt‚t dƒdkstt‚t dƒtt ksˆt‚t tƒdks˜t‚t t ƒ ¡ dtt  ks¶t‚t	t tƒsÄt‚t t ƒ ¡ t tƒtt  ksæt‚t	t dƒsôt‚t dƒt dƒtt  k�st‚t tƒtt d k�s,t‚t t ƒt t d k�sJt‚t dt ƒtt d t dƒ k�spt‚t dt ƒ ¡ t t d t dƒ k�sœt‚t tt ƒtk�s²t‚t t t ƒtk�sÊt‚t ddƒtk�sÞt‚t ddƒtk�sòt‚t
t dƒ ƒd dk�st‚t tjƒt dƒ k�s(t‚t d	ƒjt k�s<t‚t d
ƒjt k�sPt‚d S )Nr   r5   r6   r:   iïÿÿÿr7   rJ   r8   rt   rI   )r   r   r?   r   r   r	   r   r   r^   r-   r   r   rB   ÚfuncrD   rD   rD   rE   Útest_log_valuesè   s4    "&,r‚   c                  C   sB  t ddd�\} }tddd�}ttjƒdks.t‚ttƒdks>t‚tdd	t  ƒd
ksVt‚ttdƒ tjt  ƒtdƒ tjfks‚t‚t| |t  ƒ| |fksžt‚t| t |t  ƒd| | fksÂt‚t| | t ƒd| | fksât‚tt	ddƒ| t ƒdk�st‚tdd|  ƒdk�st‚ttdƒdd	t   ƒdk�s>t‚d S )Núx,yTrX   Úi©Z	imaginary)r5   r   )r   r5   r8   rJ   )r8   rP   r   éþÿÿÿ)NNr5   r7   )
r   r   r(   r   ZOner?   r	   r   rB   r
   )r*   r+   r„   rD   rD   rE   Útest_match_real_imag  s    ,$  r‡   c                  C   s²  t ddƒD ]†} t| dƒdkrNtt| t t d ƒ t¡ƒ| t t d ksNt‚t ddƒD ]6} tt| t t d ƒ t¡ƒ| t t d ksXt‚qXq
tt	j
ttdƒ d  ƒt t d ks¾t‚ttddƒttdƒ d  ƒtt tddƒ ksòt‚ttdƒ d ttdƒ d  ƒt t tdd	ƒ k�s.t‚ttdƒ d tt	j
  ƒt t td
dƒ k�sdt‚ttdd	ƒtd
ƒd	  tttd
ƒd td
dƒ ƒ  ƒt t tdd
ƒ k�s¶t‚tttd
dƒtd
ƒd  ƒttdd	ƒtd
ƒd	    ƒtt tddƒ k�st‚tttdƒd	 t	j
 ƒ ttt	j
tdƒd	  ƒ  ƒtt tddƒ k�sTt‚ttdƒ d	 tdƒd	  ttdƒ d	 tdƒd	    ƒt t tddƒ k�sªt‚tdttdƒ  ƒtdƒtt tddƒ  k�sÞt‚td
d
t  ƒtd
tdƒ ƒtt d	  k�st‚ttdƒƒtdtdƒ ƒtt d  k�s>t‚ttdƒ tdƒ ttdƒ  ttdƒ  ƒtd	ƒtt tddƒ  k�sŒt‚ttddtdƒ  ƒ ttddtdƒ  ƒ  ƒtdtdƒ ƒtt td
dƒ  k�sæt‚tdttdtdƒ ƒ tdtdƒ ƒ  ƒtdttdƒd ƒ ƒtt d  k�s<t‚ttttddƒ ƒttttddƒ ƒ  ƒtt tddƒ k�s€t‚ttttdd
ƒ ƒttttdd
ƒ ƒ  ƒtt tdd
ƒ k�sÄt‚td
dt  tdƒ ƒtd
ƒtt d	  k�söt‚ttdƒtdƒ d tdƒt  t  ƒtd	ƒtt tddƒ  k�s@t‚ttdƒ dttdƒ   ƒtdtdƒ ƒtt tddƒ  k�s†t‚ttdƒt tddtdƒ  ƒ ttdtdƒ d ƒ   ƒtdƒtt d  k�sÞt‚dtdƒ d d dtdƒ  }t|ttdƒ  ƒttdƒƒtt d  k�s0t‚tt|t|  ƒ�s^t||t  ƒtk�s^t‚tttdƒdttdƒt ƒ  d ƒ�sŠt‚tttdtd
ƒ ƒdt  ƒ�s®t‚d S )Niéÿÿÿru   r5   i÷ÿÿÿé
   r8   r7   r6   r9   rJ   rt   rO   rL   rQ   é   iôÿÿÿéüÿÿÿiè  )Úranger$   r   r   r	   r   rn   r   r?   r   rB   r
   r    r!   r-   r   )rU   ÚzerorD   rD   rE   Útest_log_exact   s<    26,4<6RPNV42.NZVDD2JFX 2.,r�   c                   C   s’  t ddƒdkst‚t ddƒdks$t‚t ddƒt dƒt dƒ ksBt‚t ddƒdt dƒt dƒ  ksdt‚t ddƒdt dƒt dƒ  ks†t‚t ddƒdks˜t‚t ddƒdksªt‚t ddƒtks¼t‚t ddƒtksÎt‚t tddƒd	ƒt tddƒƒt d	ƒ ksøt‚t tddƒtddƒƒt dƒ t dƒ d k�s*t‚t tddƒtddƒƒt tddƒƒt tddƒƒ k�sbt‚t tddƒdƒt dƒ t dƒ d k�sŽt‚d S )
Nr5   r7   r   r8   rt   rO   é   rJ   rˆ   )r   r?   r   r   r
   rD   rD   rD   rE   Útest_log_baseJ  s    ""*2ÿ
r�   c                  C   s�  t ttdƒƒt tƒkst‚t ttƒƒtks.t‚t ttdƒƒt tƒksHt‚t tt ƒt tƒt tƒ ksht‚t tt ƒ ¡ t tƒt tƒ ksŒt‚t tt ƒjdd�t tƒt tƒ ks´t‚t tt ƒ ¡ tt tƒ ksÔt‚t tt ƒjdd�tt tƒ ksøt‚t tdƒt tƒt dƒ k�st‚t tdƒdt dƒ k�s4t‚tddd�\} }tddd�}t | d ƒdt | ƒ k�snt‚t | d ƒ ¡ dt | ƒ k�s�t‚t td ƒ ¡ dt tƒ k�s²t‚t | | ƒ|t | ƒ k�sÐt‚t t| ƒƒ| k�sæt‚t | | ƒt | ƒt |ƒ k�st‚t | | ƒ ¡ t | ƒt |ƒ k�s.t‚t t	d	ƒ ƒt t	d	ƒƒt
t  k�sVt‚t t| ƒ ƒ| t
t  k�svt‚t ttƒ ƒ ¡ tt
t  k�sšt‚t t|ƒ ƒ ¡ |t
t  k�s¾t‚t tt ƒtt tƒ k�sÜt‚t td
 ƒd  ¡ dt tƒ d k�st‚t | d
 ƒd  ¡ dt | ƒ d k�s0t‚t t ƒjt k�rZt t ƒjd t k�s^t‚t |  ƒjt k�rˆt |  ƒjd |  k�sŒt‚d S )Nr5   T©Úforcer7   zp,qrf   ÚrrX   r8   rP   r6   rJ   r   )r   r*   r   r?   r+   r^   r   r   r   r   r	   r   r�   Úargs)ÚpÚqr’   rD   rD   rE   Útest_log_symbolic\  s8     $( $ """&( $$**.r–   c                   C   sÈ   t tdt t ƒƒdkst‚t tdt t ƒƒtt ks<t‚t ttt tddƒ ƒƒtt tddƒ kslt‚t ttt tddƒ ƒƒtt tddƒ ksœt‚t tdt ƒƒdt d	t t  ksÄt‚d S )
Nr9   r   rP   é   r8   rK   rL   rM   r7   )r   r   r	   r   r?   r
   rD   rD   rD   rE   Útest_log_exp‚  s
     00r˜   c                  C   s:  t ddd�} t ddd�}ttfD ]œ}|tƒjd ks6t‚|tƒjd ksHt‚||ƒjd ksZt‚||ƒjd kslt‚|| ƒjdks~t‚|| ƒjdks�t‚|ttƒƒjdks¦t‚|ttƒƒjdks t‚q t	t
tt dd�jdksÚt‚t	t
dt t dd�jdksút‚t	t
tt d dd�jdk�st‚t	t
tt d	 dd�jd k�s>t‚td
dd�j�sRt‚t ddd�}t dddd�}t ddd�} t dddd�}t|ƒjd k�sšt‚t|ƒjdk�s®t‚tt|  ƒjd k�sÆt‚tt| ƒjdk�sÞt‚td
dd�jdk�söt‚ttt d	 dd�jdk�st‚ttt |  dd�jdk�s6t‚d S )Nr’   TrX   r„   r…   Fr;   r7   r8   r   Úa)Ú	algebraicÚan)rš   Únonzero)ÚrationalÚrn)r�   rœ   )r   r   r   r*   Úis_realr?   Zis_imaginaryr   Zis_extended_realr   r   r	   r   Úis_algebraic)r’   r„   rV   r™   r›   rž   rD   rD   rE   Útest_exp_assumptionsŠ  s6     "" r¡   c                   C   s$   t tddƒƒtttd ƒks t‚d S )Nr5   r7   )r   r   r   r?   rD   rD   rD   rE   Útest_exp_AccumBounds­  s    r¢   c                  C   s  t ddd�} t ddd�}t ddd�}t dddd	�}t|ƒjd
ksDt‚t|ƒjdksVt‚tdƒdksft‚tdd
d�jsxt‚td| ƒjsŠt‚t| ƒjd ksœt‚t|ƒjd
ks®t‚tdƒjdksÀt‚tt| ƒd ƒjsÖt‚tdd
d�jsèt‚tdd
d�jd
ksþt‚td| ƒj	�st‚d S )Nr”   Trf   rU   ©Únegativer,   )rŒ   r*   )ZinfiniteZextended_positiveFr7   r   r5   r;   g      à?é*   )
r   r   Úis_positiver?   Zis_extended_positiveÚis_zeroZis_negativer   r    Úis_rational)r”   rU   r,   r*   rD   rD   rE   Útest_log_assumptions²  s     r©   c                  C   sü   t ttt ƒƒkst‚tt ƒtttt ƒƒƒks0t‚tt ƒtttt ƒƒƒksLt‚dttt ƒttt ƒƒ ƒ } | jjtksxt‚dttt ƒtttt ƒƒƒ ƒ } | jjtks¨t‚ttt ƒƒ} | jtksÂt‚t jtk	sÐt‚tttt ƒƒƒtt ƒksìt‚| t ksøt‚d S )Nr5   )r*   r   r?   Úhashrb   r�   r_   rD   rD   rE   Útest_log_hashingÈ  s     r«   c                   C   s   t tdƒƒdkst‚d S r]   )r   r   r?   rD   rD   rD   rE   Útest_log_signÙ  s    r¬   c                   C   sh   t dt ƒjdd�t dƒd tt d  ks0t‚t dtdƒ ƒjdd�t tdƒd ƒtt  ksdt‚d S )Nr5   T)Úcomplexr7   r9   )r   r	   r^   r   r?   r   rD   rD   rD   rE   Útest_log_expand_complexÝ  s    0r®   c                  C   s.   t dƒt dƒ d  ¡ } |  tdƒ¡s*t‚d S )Nr8   r7   r5   z0.58496250072115618145373)r   ÚevalfÚ
epsilon_eqr   r?   )ÚvaluerD   rD   rE   Útest_log_apply_evalfâ  s    r²   c                  C   s¾  t dƒ} tdt td  ƒjtdd�tks.t‚tdt ƒjtdd�ttƒtdƒ ksXt‚tdt ƒjtdd�ttƒtdƒ ks‚t‚tdt ƒjtd| d�| tdƒ tt  ks²t‚tdt ƒjtd| d�| tdƒ tt  ksât‚tdt dt td   ƒjtdd�ttƒtdƒ tt  k�s&t‚tdt dt td   ƒjtdd�ttƒtdƒ tt  k�sjt‚tdt dt td   ƒjtdd�ttƒtdƒ k�s¦t‚tdt dt td   ƒjtdd�ttƒtdƒ dt t  k�sît‚tdt ttd   ttd   ƒjtdd�t t k�s,t‚tdt ttd   ttd   ƒjtdd�t t k�sjt‚tddt  ƒjtdd�tt k�s’t‚tddt  ƒjtdd�tt k�sºt‚d S )	Nr”   r5   r7   )Úcdirr6   r†   )r³   Úlogxr8   )r   r   r*   rr   r?   r	   r   ©r”   rD   rD   rE   Útest_log_leading_termç  s    &**00DD<H>>(r¶   c                  C   sr  t dƒ} tdt ƒjtd|  dd�| ks,t‚tdt ƒjtd|  dd�| dt t  ks\t‚ttd ƒ tdd t¡tt t td d  td d  ttd ƒ ks¨t‚ttd ƒ tdd t ¡t t t td d  td d  ttd ƒ ksøt‚ttt ttd   d ƒ tdd d¡tt tt  td d  ttd ƒ k�sNt‚ttt ttd   d ƒ tdd d¡t t tt  td d  ttd ƒ k�s¦t‚tttd  ttd   d ƒ tdd d¡tt ttd   ttd ƒ k�søt‚tttd  ttd   d ƒ tdd d¡tt ttd   ttd ƒ k�sJt‚tdt dt td   ƒ tdd d¡tdƒttƒ ttdƒd td    td ddt d    ttd ƒ k�sÄt‚tdt dt td   ƒ tdd d¡dt t tdƒ ttƒ ttdƒ d td    td ddt d    ttd ƒ k�sLt‚tdt dt td   ƒ tdd d¡t t tdƒ ttƒ ttdƒ d td    td ddt d    ttd ƒ k�sÒt‚tdt dt td   ƒ tdd d¡t t tdƒ ttƒ ttdƒd td    td ddt d    ttd ƒ k�sVt‚tt	t td  d ƒt	t td  d ƒ d ƒ tdd d¡t t tt	dƒd ƒ ttd  ddt	dƒ d    ttd ƒ k�sât‚tddt  ƒ tdd d¡tt t td d  ttd ƒ k�s(t‚tddt  ƒ tdd d¡tt t td d  ttd ƒ k�snt‚d S )	Nr”   r5   r9   )r´   r³   r6   r7   r8   r†   )
r   r   r*   Z_eval_nseriesr?   r	   r   r%   r   r   rµ   rD   rD   rE   Útest_log_nseriesü  s`    $0LPVXRR4ÿÿ
ÿ8ÿÿÿ
ÿ>ÿÿ
ÿ>ÿÿ
ÿFÿÿ
ÿFr·   c                  C   sÒ  t dt ƒ} t tttd d ƒ ƒ}| jttt dd�ddtd   ddtd    dt  tt d  t tt ƒ ttd ttt fƒ ks’t‚| jtt t dd�ddtd   ddtd    dt  tt d  t t t ƒ ttd tt t fƒ k�st‚|jttt dd�ddtd   tt d  t dƒ t tt ƒ ttd ttt fƒ k�sht‚|jtt t dd�ddtd   tt d  t dƒ t t t ƒ ttd tt t fƒ k�sÎt‚d S )Nr5   r7   r9   )Zx0rU   r8   rŠ   r6   )	r   r*   r   Zseriesr	   r   r   r%   r?   )Zexpr1Zexpr2rD   rD   rE   Útest_log_series  s4    8
ÿ
ÿÿ
:
ÿÿÿ4
ÿÿ6ÿÿr¸   c                  C   s2  t ddd�} t| tdƒtdƒ  ƒ}| ¡ tdƒtdƒ t| ƒ ksHt‚tddd�\}}}t|||  ƒjdd�t|ƒt|| ƒ ksŠt‚tt|d	 ƒt|| ƒ ƒ ¡ td	t|ƒ t|ƒ d	t|ƒ t|ƒ  ƒtt|ƒt|ƒ t|ƒt|ƒ  ƒtd	ƒ tt|ƒt|ƒ t|ƒ ƒtd	ƒ fk�s*t‚t|t|d	 ƒ ƒjdd
�t|ƒt|d	 ƒ k�s`t‚t|t|d	 ƒ ƒ ¡ d	t|ƒd	  k�sŽt‚tdƒ\}}t|| ƒjdd�t|ƒt|ƒ k�sÄt‚t|| ƒjdd�|t|ƒ k�sêt‚tt|ƒƒjdd�|k�st‚tdƒ ¡ d	tdƒ td	ƒ k�s.t‚d S )NÚwTrf   rJ   r8   úx,y,zF)Úmulr7   )Údeeprƒ   r�   rI   )r   r   r^   r?   r   r   )r¹   rV   r*   r+   r,   rD   rD   rE   Útest_log_expand%  s$    $02ÿ*"þ6.*&r½   c                  C   st   t ddd�\} }}t| ||  ƒ| |  jddd�|t| ƒ |t|| ƒ  |t| ƒ  |t|| ƒ  kspt‚d S )Nrº   Trf   )r»   r   )r   r   r^   r?   r)   rD   rD   rE   Útest_log_expand_fail;  s    $ÿÿ
ÿÿr¾   c                  C   s  t ddd�} t| d ƒ ¡ dt| ƒ ks,t‚tt| dtdƒ  ƒƒdtdƒ t| ƒ ks\t‚t dƒ}tt|ƒƒ ¡ t|ƒd ks„t‚tt|tdƒd  ƒƒtdƒd t|ƒ ks´t‚t|d ƒ ¡ t|ƒ ksÒt‚t|| | d   ƒ ¡ | t|ƒ | d  k�st‚d S )Nr*   Trf   r7   r,   r5   r6   )r   r   r^   r?   r   r   )r*   r,   rD   rD   rE   Útest_log_simplifyB  s     0 0r¿   c                   C   s¨   t tdtƒƒtddƒkst‚t tdtƒƒtt dƒks:t‚t tdtƒƒtjksRt‚t tdtƒƒtt tƒkspt‚t tt dƒƒtjksŠt‚t tt tƒƒtjks¤t‚d S )Nr5   r   r6   )r   r   r   r?   r   r   ÚNaNrD   rD   rD   rE   Útest_log_AccumBoundsN  s    rÁ   c                  C   sˆ  t dƒ} ttdƒttƒkst‚ttddd�ttƒks8t‚tdƒdksHt‚ttƒdksXt‚tdt ƒdkslt‚ttdƒ d ƒtdƒ ksŒt‚ttƒtksœt‚tddƒt ks°t‚tddƒt ksÄt‚tt d dƒt t d ksæt‚tdt dƒdksüt‚td	t	d	ƒ dƒd	k�st‚tdtdƒ ƒtdƒk�s6t‚tt d ƒtt d k�sVt‚tt	dt ƒƒtk�spt‚ttd ƒ 
t¡dttd ƒ t dttd ƒ  k�s¬t‚tt| ƒ 
t¡tt| ƒt dtt| ƒ  k�sÞt‚ttdƒƒ d
¡ tdd
ƒd¡�st‚ttddƒƒ ¡  tdƒ¡�s&t‚tdƒjdk�s:t‚tddd�j�sNt‚t ddd�}t|dd�j�snt‚t|d dd�jd k�sŠt‚t| dtj  dd�jdk�s®t‚ttjddd�jdk�sÊt‚ttddƒddd�j�sæt‚tdddd�jdk�s t‚td	ddd�jdk�st‚tddd�j�s.t‚t dddd�}t|ƒjdk�sPt‚t|ƒjdk�sdt‚t ddd�}t|ƒjdk�s„t‚d S )Nr2   r   Fr;   r5   r6   r7   r¥   r†   é   z 0.701338383413663009202120278965gG³¦þ^Zé9z-0.834310366631110r”   Trf   rˆ   iöÿÿÿÚna)rœ   rš   rU   r£   )r   r   r*   r?   r   r   r   r   r	   r   Údiffr   r¯   r°   r   r   rŸ   r   rA   rB   r
   r    r§   )r2   r”   rÃ   rU   rD   rD   rE   Útest_lambertwW  sN     " <2 ÿ
"$rÅ   c                  C   s|   t dƒ} | jdkst‚| jdk	s$t‚dddtdƒ   }|jdk	sFt‚dttt tdƒƒƒt tdƒƒ ƒ }|jdk	sxt‚d S )Nr6   FTr5   iüÿÿr†   r7   )r   Zis_comparabler?   r¦   r   r   Z
is_nonzero)rV   Úe2Ze3rD   rD   rE   Útest_issue_5673…  s    $rÇ   c                      s   t dƒ‰ tt‡ fdd„ƒ d S )Nr*   c                      s   t ˆ ƒ d¡S ra   )r   r|   rD   rd   rD   rE   r}   ‘  r~   z test_log_fdiff.<locals>.<lambda>r   rD   rD   rd   rE   Útest_log_fdiff�  s    rÈ   c                  C   s€   t dƒ} t| ƒ d| ¡| ks t‚t| ƒ d| ¡| d  d ksBt‚t| ƒ d| ¡| d d ksbt‚t| ƒ d| ¡tjks|t‚d S )Nr*   r   r5   r7   r9   rJ   r6   )r   r   rv   r?   r   rw   rd   rD   rD   rE   Útest_log_taylor_term”  s
    " rÉ   c                  C   s²   t ddd�\} }}t| | ƒ ¡ t| | ƒks2t‚t| | | ƒ ¡ t| | | ƒksZt‚ttt ƒ ¡ ttƒttƒ ks~t‚ttt t ƒ ¡ ttƒttƒ ttƒ ks®t‚d S )NzA,B,CF©Zcommutative)r   r   r^   r?   r*   r+   r,   )ry   ÚBÚCrD   rD   rE   Útest_exp_expand_NCœ  s
     ($rÍ   c                  C   sf  t ddd�} ttƒ ¡ ttƒdfks(t‚tt ƒ ¡ dttƒfksFt‚tdt ƒ ¡ dtdt ƒfksjt‚tdƒ ¡ dtdƒfks†t‚t| ƒ ¡ dt|  ƒfks¤t‚t|  ƒ ¡ t|  ƒdfksÄt‚tt t ƒ ¡ dttt ƒfksêt‚tt |  ƒ ¡ dtt|  ƒfk�st‚t|  ƒ ¡ t|  ƒdfk�s4t‚t ddd	�}t| ƒ ¡ t| ƒdfk�sbt‚d S )
NrU   Tr£   r5   r†   r7   r™   FrÊ   )r   r   r*   Zas_numer_denomr?   r	   )rU   r™   rD   rD   rE   Útest_as_numer_denom¥  s    $ &("rÎ   c                  C   s(  t ddd�\} }tttd ƒƒdks(t‚ttdƒƒdks<t‚ttddt  ƒƒtdƒks\t‚ttd	 ƒ ¡ ttd	 ƒks|t‚tttƒƒtks�t‚t| | ƒ 	¡ t| ƒt|ƒ ks´t‚t| t ƒ 	¡ tt| ƒ ksÔt‚tdƒjdksæt‚td
t
 t ƒjdd� ¡ d dk�st‚tdƒjdk�s$t‚d S )Nzx yTrZ   r9   r5   r   r7   r8   rˆ   g      ð?rJ   rp   )r   Úabsr   r	   r?   r   rU   r   r,   r^   r   Zas_real_imagr¨   r[   rD   rD   rE   Ú
test_polar¶  s      $ *rÐ   c                  C   sh   t dƒ} t dƒ\}}}}tt| | |d|f|d|fƒƒ}| ¡ tt| | ƒ|d|f|d|fƒksdt‚d S )Nr¹   zm n i jr   )r   r   r   r^   r   r?   )r¹   ÚmrU   r„   ÚjÚexprrD   rD   rE   Útest_exp_summationË  s     rÔ   c            	      C   sV  ddl m} m} tdddd�\}}tddd�\}}tddd	�}td
ƒ}tt|| |d| fƒƒ}t|ƒ|ksnt‚| ¡ t	|t|ƒ |d| fƒks’t‚tt|| ||  |d| f|d|fƒƒ}t|ƒ|ksÊt‚| ¡ t	|t|ƒ |t|ƒ  |d| f|d|fƒk�st‚ttd| ddfƒƒ}t|ƒ|k�s*t‚| ¡ |k�s<t‚|jdd�t	tdƒ| ddfƒk�sbt‚ttt
|| ƒ|d| fƒƒ}| ¡ t	|| |d| fƒk�s t‚ttt
|| ƒ|d| fƒƒ}| ¡ |k�sÎt‚|jdd�t	|| |d| fƒk�sôt‚tt|d t|ƒ |d| f|d|fƒƒ}| ¡ t	dt|ƒ t|ƒ |d| f|d|fƒk�sRt‚d S )Nr   ©rU   rÑ   úi,jT©rg   r4   rƒ   rf   r,   rX   r¹   r5   r†   r9   r�   r7   )Ú	sympy.abcrU   rÑ   r   r   r   r&   r?   r^   r   r   rÏ   )	rU   rÑ   r„   rÒ   r*   r+   r,   r¹   rÓ   rD   rD   rE   Útest_log_productÒ  s,    $(:&"&(rÙ   c                  C   sÊ   ddl m} m} tdddd�\}}tddd�\}}ttt|| |d| fƒƒƒt|t|ƒ |d| fƒksjt‚ttt|| ||  |d| f|d|fƒƒƒt|t|ƒ |t|ƒ  |d| f|d|fƒksÆt‚d S )	Nr   rÕ   rÖ   Tr×   rƒ   rf   r5   )	rØ   rU   rÑ   r   r&   r   r   r   r?   )rU   rÑ   r„   rÒ   r*   r+   rD   rD   rE   Ú test_log_product_simplify_to_sumñ  s    8**ÿrÚ   c                  C   sè   t ttddd�ƒt ttdƒƒks$t‚tttddd�ƒtttdƒƒksHt‚tddd�} tt| ƒtdƒƒ}tt| ƒtdƒƒ}tt| ƒtdƒdd�}tt| ƒtdƒdd�}t t||ƒƒt t||ƒƒksÄt‚tt||ƒƒtt||ƒƒksät‚d S )Nrˆ   Fr;   r+   Trf   rJ   )r&   r   r*   r?   r   r   r   )r+   Úl1Úb1Úl2Úb2rD   rD   rE   Útest_issue_8866û  s    $$ rß   c                   C   s°  t dƒt dƒ d jdd�t dƒt dƒ ks0t‚t dƒt dƒ jdd�t dƒt dƒ d ks`t‚t dƒt dƒ jdd�dt d	ƒt dƒ  ks�t‚t dƒt dƒ t d
ƒ  jdd�dksºt‚tt dƒdd�t dƒdt dƒ  ksât‚tt dƒt dƒ dd�t dƒt dƒ d k�st‚tt dƒt d	ƒ t dƒ dd�ddt dƒ t d	ƒ  t dƒ k�sZt‚tt dƒt d	ƒ t dƒ dd�t dƒt dƒ t d	ƒdt dƒ  t d	ƒ  k�s¬t‚d S )NrI   r8   r7   T)Úfactorr‰   rS   r5   rJ   ru   é   rL   Fé-   é   é   é   )r   r^   r?   r   rD   rD   rD   rE   Útest_log_expand_factor  s    000*(2ÿ
*ÿræ   c                  C   s$   t dddd�} t| ƒjdks t‚d S )NrU   Tr×   )r   r   Zis_nonnegativer?   rp   rD   rD   rE   Útest_issue_9116  s    rç   c                   C   s`  t tttdt ƒƒ ƒ t¡tjks(t‚t tttdt ƒƒ ƒ t¡tjksPt‚ttdt ƒƒ t¡tjkspt‚ttdt ƒƒ t¡tjks�t‚ttdt ƒd ƒ t¡t	dtdƒƒks¼t‚t tttdt ƒd ƒ ƒ t¡dksæt‚ttdt ƒd ƒ t¡tjk�st‚t tttdt ƒd ƒ ƒ t¡tjk�s:t‚ttdt ƒd ƒ t¡t	t
 tdƒƒk�sjt‚t tttdt ƒd ƒ ƒ t¡t	ddƒk�sœt‚ttdt ƒd ƒ t¡t	t
 dƒk�sÈt‚t tttdt ƒd ƒ ƒ t¡t	ddƒk�sút‚ttdt ƒd ƒ t¡t	t
 t
ƒk�s&t‚t dt ttdt ƒd ƒ ƒ t¡t	dt
ƒk�s\t‚d S )Nr5   r7   r   r8   )r   r*   r   r    rr   r   rÀ   r?   r"   r   r   r!   rD   rD   rD   rE   Útest_issue_18473  s    ((  ,*&.02,2,rè   N)vZsympy.assumptions.refiner   Z!sympy.calculus.accumulationboundsr   Zsympy.concrete.productsr   Zsympy.concrete.summationsr   Zsympy.core.functionr   Zsympy.core.numbersr   r   r	   r
   r   r   r   r   Zsympy.core.powerr   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z$sympy.functions.elementary.complexesr   r   r   r   r   Z&sympy.functions.elementary.exponentialr   r   r   r   Z%sympy.functions.elementary.hyperbolicr   r   r   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr    r!   r"   Z"sympy.matrices.expressions.matexprr#   Zsympy.polys.polytoolsr$   Zsympy.series.orderr%   Zsympy.simplify.simplifyr&   Zsympy.core.parametersr'   r(   rØ   r*   r+   r,   Zsympy.core.exprr-   r.   Zsympy.testing.pytestr/   r0   r1   rF   rW   r\   r`   rc   re   ri   rk   rl   rm   rq   rs   rx   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è   rD   rD   rD   rE   Ú<module>   s´   (
,










)*&
"

	
-
	


	