o
    …º¥g÷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   sB  t jrtttƒƒtu sJ ‚n
tttƒƒtu sJ ‚tddd} ttƒtu s&J ‚ttƒtu s.J ‚tt ƒdks7J ‚tdƒdks?J ‚tdƒt	ksGJ ‚tdt ƒ 
¡ tjtd fksXJ ‚tdt ƒ 
¡ tjtd fksiJ ‚ttt d ƒtksuJ ‚ttt ƒdksJ ‚ttt tddƒ ƒt ksJ ‚tdt t ƒdks›J ‚tttt d |  ƒƒdks«J ‚tttt d | tj  ƒƒdks¾J ‚tttt d | tdd	ƒ  ƒƒtksÓJ ‚tttt d | tdd	ƒ  ƒƒt kséJ ‚tttƒƒtksóJ ‚tdttƒ ƒtd ksJ ‚ttttƒ ƒtt ksJ ‚td
ttƒ t	ttƒ  ƒtd
 tt	  ks*J ‚ttttƒ ƒtt ks9J ‚tttƒttƒ ƒtksHJ ‚tdttƒ tt  ƒttt ƒtd  ksaJ ‚td	ttƒ ttƒ dttƒ  ƒtd td	ttƒ ttƒ ƒ ks†J ‚tt ddjdu s“J ‚ttddjdu sŸJ ‚d S )NÚkT©Úintegerr   é   éÿÿÿÿé   é   é   é   F©Úevaluate)r'   Ú
exp_is_powÚtyper   r*   r   r   r   r   r   Úas_base_expr   ÚExp1r   r	   r
   r   ÚHalfr   r+   r!   Ú	is_finite)r2   © rC   úh/var/www/visachat/venv/lib/python3.10/site-packages/sympy/functions/elementary/tests/test_exponential.pyÚtest_exp_values   s:   ""  &*,22JrE   c                  C   sF  t tt tddƒ ƒt tt d ƒksJ ‚t tt tddƒ ƒt tt tddƒ ƒks-J ‚t tt tddƒ ƒt tt tddƒ ƒksEJ ‚t tt td	d
ƒ ƒt t t d
 ƒks[J ‚t tt tddƒ ƒt tt tddƒ ƒ dksuJ ‚t tt tdd
ƒ ƒt tt tddƒ ƒ t tt tddƒ ƒ dksšJ ‚t dtt tddƒ  ƒt dtt td
dƒ  ƒks¶J ‚t td
ƒtt tddƒ  ƒd
t tt tddƒ ƒ ksÔJ ‚tddd} tddd}t |t t ƒdksìJ ‚t |d t t ƒdksúJ ‚t dd|   t t d ƒtksJ ‚t dd|   t t d ƒt ks!J ‚d S )Né	   r9   é.   é   é   é   é   éýÿÿÿiíÿÿÿr8   é%   é   iõÿÿÿr   éûÿÿÿé   é”   é   r5   r7   r:   é   iùÿÿÿÚnTr3   Úe)Úevenr6   )r   r	   r   r
   r   r   )rT   rU   rC   rC   rD   Útest_exp_periodH   s   *00,4J8<&,rW   c                  C   sš   t ddd} tt| ƒƒ| ksJ ‚tt| ƒƒ| ksJ ‚tjs1t| ƒ ¡ tks'J ‚t| ƒ ¡ tks1J ‚t ddd}tttƒƒtksAJ ‚tt|ƒƒ|ksKJ ‚d S )Nr*   T©Úrealr+   ©Úpolar)r   r   r   r'   r=   Úinverser   r,   ©r*   r+   rC   rC   rD   Útest_exp_log\   s   r^   c                  C   s€   t ttdƒƒdt  ttdƒƒt  ƒ} |  ¡ dksJ ‚t tt ƒt tƒt tƒ ks,J ‚t tt ƒ ¡ t tƒt tƒ ks>J ‚d S ©Nr7   r5   )r   r   r
   r*   Úexpandr+   ©rU   rC   rC   rD   Útest_exp_expandk   s   ( (rb   c                   C   sê   t tƒ ¡ ttfksJ ‚t dt ƒ ¡ tdt fksJ ‚t tt ƒ ¡ ttt fks,J ‚t t ƒ ¡ tt fks:J ‚tt t tƒksDJ ‚tdt  t dt ƒksRJ ‚ttt  t tt ƒks`J ‚t tƒjtju sjJ ‚t tƒj tkssJ ‚d S ©Nr7   )r   r*   r?   r   r+   Úbaser   r@   rC   rC   rC   rD   Útest_exp__as_base_exps   s     re   c                  C   s’   t tt ƒtks
J ‚tt tt ƒƒtu sJ ‚tt t t ƒƒtu s#J ‚t tt t ƒtks/J ‚t tƒtu s7J ‚tdddd} t | ƒjd u sGJ ‚d S )Nr*   TF)Úextended_realÚfinite)	r   r	   r+   r   r   r   r   r   Ú
is_complex©r*   rC   rC   rD   Útest_exp_infinityƒ   s   rj   c                  C   s(  t dƒ} tdt| ƒ dd}| | d td ¡|ksJ ‚| | d d¡|ks(J ‚| d  | d t¡ttddƒ ks;J ‚tt| ƒt| d ƒ ƒ tt| ƒƒt¡ttt| d ƒƒ ks[J ‚t| ƒ tt¡t|  ksiJ ‚tddd} td|  ƒ td	|  ƒt¡ttdd	ƒ ks†J ‚td|  d	 ƒ td|  ƒt¡ttddƒ td	ƒ ks£J ‚tddd
} tdt| ƒ ƒ | d t¡ttddƒ ksÀJ ‚tt| t ƒƒ td¡dd| t   ksÖJ ‚tt| t ƒƒ tt¡tt| t ƒƒksìJ ‚tt| t ƒƒ td¡dd| d   ksJ ‚tdƒ tt¡tdƒksJ ‚d S )Nr*   r8   Fr;   r7   rI   TrX   rK   ©Úpositive)	r   r   r   Úsubsr+   r
   r   r   r!   )r*   rU   rC   rC   rD   Útest_exp_subsŽ   s    &@.:.,,."rn   c                   C   ó    t ttƒƒtt tƒƒksJ ‚d S ©N)r   r   r*   rC   rC   rC   rD   Útest_exp_adjoint£   ó    rq   c                   C   ro   rp   )r   r   r*   rC   rC   rC   rD   Útest_exp_conjugate§   rr   rs   c                   C   ro   rp   )r   r   r*   rC   rC   rC   rD   Útest_exp_transpose«   s    rt   c                  C   sÌ  t tƒ t¡ttƒttƒ ksJ ‚t tt ƒ t¡ttƒtttƒ  ks&J ‚t dƒ t¡tdƒtdƒ ks7J ‚t dƒ t¡tdƒtdƒ ksHJ ‚t dƒ t¡tdƒtdƒ ksYJ ‚t tƒ t¡dttd ƒ dttd ƒ  ksrJ ‚t t	t d ƒ t
¡t
dƒd t
dƒt d  ksJ ‚t t	t d ƒ t
¡tjt
dƒt d  ks¥J ‚tjsét tttƒ ƒ t¡tt ks¹J ‚t ttƒttƒ ƒ t¡tttƒ tttƒ fv sÔJ ‚t tttƒƒt ƒ t¡ttƒt kséJ ‚tddd} tt t	t d ƒd |  | dtfƒ t
¡ ¡ tdd	ƒtd d	  ksJ ‚tt t	t d ƒd |  | dtfƒ t
¡ ¡ ddt
dƒdt  d   ks<J ‚tt t	t d ƒd |  | dtfƒ t
¡ ¡  ¡ dt t
dƒdt   ksdJ ‚d S )
Nr5   r7   r9   r8   rT   Tr3   r   rI   )r   r*   Úrewriter!   r   r   r	   r    r   r   r   r   rA   r'   r=   r   r+   r   r   r   r   Údoitr
   Úcancel©rT   rC   rC   rD   Útest_exp_rewrite°   s$   "*"""260"6*JP0ÿry   c                   C   sb   t tƒ t¡dksJ ‚t dt ƒ t¡t dƒksJ ‚t dt d td  ƒ t¡t dƒks/J ‚d S )Nr5   r7   r8   )r   r*   Úas_leading_termrC   rC   rC   rD   Útest_exp_leading_termÇ   s   .r{   c                  C   s~   t dƒ} t| ƒ d| ¡| ksJ ‚t| ƒ d| ¡| d d ks J ‚t| ƒ d| ¡| d d ks0J ‚t| ƒ d| ¡tju s=J ‚d S )Nr*   r5   r8   é   r9   é   r6   )r   r   Útaylor_termr   ÚZerori   rC   rC   rD   Útest_exp_taylor_termÕ   s
     r€   c                  C   s"   t dddƒ} t| ƒ t¡sJ ‚d S )NÚAr7   )r#   r   Úhas)r   rC   rC   rD   Útest_exp_MatrixSymbolÞ   s   rƒ   c                      ó   t dƒ‰ tt‡ fdd„ƒ d S )Nr*   c                      ó   t ˆ ƒ d¡S rc   )r   ÚfdiffrC   ri   rC   rD   Ú<lambda>å   ó    z test_exp_fdiff.<locals>.<lambda>©r   r/   r.   rC   rC   ri   rD   Útest_exp_fdiffã   ó   rŠ   c                   C   s@  t tƒtu sJ ‚t tƒtu sJ ‚t t ƒtu sJ ‚t tƒtu s!J ‚t t ƒtu s*J ‚t dƒtu s2J ‚t dƒdks:J ‚t dƒtt ksDJ ‚t tƒdksLJ ‚t t ƒ ¡ dtt  ks[J ‚tt tƒsbJ ‚t t ƒ ¡ t tƒtt  kssJ ‚tt dƒszJ ‚t dƒt dƒtt  ksˆJ ‚t tƒtt d ks”J ‚t t ƒt t d ks¢J ‚t dt ƒtt d t dƒ ks´J ‚t dt ƒ ¡ t t d t dƒ ksÉJ ‚t tt ƒtu sÓJ ‚t t t ƒtu sÞJ ‚t ddƒtu sçJ ‚t ddƒtu sðJ ‚t	t dƒ ƒd dksýJ ‚t t
jƒt dƒ ks
J ‚t d	ƒjt u sJ ‚t d
ƒjt u sJ ‚d S )Nr   r5   r6   r:   iïÿÿÿr7   rI   r8   r|   rH   )r   r   r   r   r	   r   r   r`   r-   r   r   rA   ÚfuncrC   rC   rC   rD   Útest_log_valuesè   s4   "$*r   c                  C   s<  t ddd\} }tddd}ttjƒdksJ ‚ttƒdksJ ‚tdd	t  ƒd
ks+J ‚ttdƒ tjt  ƒtdƒ tjfksAJ ‚t| |t  ƒ| |fksOJ ‚t| t |t  ƒd| | fksaJ ‚t| | t ƒd| | fksqJ ‚ttddƒ| t ƒdks€J ‚tdd|  ƒdksŒJ ‚ttdƒdd	t   ƒdksœJ ‚d S )Núx,yTrX   Úi©Ú	imaginary)r5   r   )r   r5   r8   rI   )r8   rO   r   éþÿÿÿ)NNr5   r7   )	r   r   r(   r   ÚOner	   r   rA   r
   )r*   r+   r   rC   rC   rD   Útest_match_real_imag  s   ,$ $r”   c                  C   sª  t ddƒD ]C} t| dƒdkr'tt| t t d ƒ t¡ƒ| t t d ks'J ‚t ddƒD ]} tt| t t d ƒ t¡ƒ| t t d ksGJ ‚q,qttj	ttdƒ d  ƒt t d ks_J ‚tt
ddƒttdƒ d  ƒtt t
ddƒ ksyJ ‚ttdƒ d ttdƒ d  ƒt t t
dd	ƒ ks–J ‚ttdƒ d ttj	  ƒt t t
d
dƒ ks°J ‚tt
dd	ƒtd
ƒd	  tttd
ƒd t
d
dƒ ƒ  ƒt t t
dd
ƒ ksØJ ‚ttt
d
dƒtd
ƒd  ƒtt
dd	ƒtd
ƒd	    ƒtt t
ddƒ ksÿJ ‚tttdƒd	 tj	 ƒ tttj	tdƒd	  ƒ  ƒtt t
ddƒ ks&J ‚ttdƒ d	 tdƒd	  ttdƒ d	 tdƒd	    ƒt t t
ddƒ ksQJ ‚tdttdƒ  ƒtdƒtt t
ddƒ  kskJ ‚td
d
t  ƒtd
tdƒ ƒtt d	  ks„J ‚ttdƒƒtdtdƒ ƒtt d  ks›J ‚ttdƒ tdƒ ttdƒ  ttdƒ  ƒtd	ƒtt t
ddƒ  ksÂJ ‚ttddtdƒ  ƒ ttddtdƒ  ƒ  ƒtdtdƒ ƒtt t
d
dƒ  ksïJ ‚tdttdtdƒ ƒ tdtdƒ ƒ  ƒtdttdƒd ƒ ƒtt d  ksJ ‚tttt
ddƒ ƒtttt
ddƒ ƒ  ƒtt t
ddƒ ks<J ‚tttt
dd
ƒ ƒtttt
dd
ƒ ƒ  ƒtt t
dd
ƒ ks^J ‚td
dt  tdƒ ƒtd
ƒtt d	  kswJ ‚ttdƒtdƒ d tdƒt  t  ƒtd	ƒtt t
ddƒ  ksœJ ‚ttdƒ dttdƒ   ƒtdtdƒ ƒtt t
ddƒ  ks¿J ‚ttdƒt tddtdƒ  ƒ ttdtdƒ d ƒ   ƒtdƒtt d  ksëJ ‚dtdƒ d d dtdƒ  }t|ttdƒ  ƒttdƒƒtt d  ksJ ‚tt|t|  ƒs+t||t  ƒtu s+J ‚tttdƒdttdƒt ƒ  d ƒsAJ ‚tttdtd
ƒ ƒdt  ƒsSJ ‚d S )Niéÿÿÿr}   r5   i÷ÿÿÿé
   r8   r7   r6   r9   rI   r|   rN   rK   rP   é   iôÿÿÿéüÿÿÿiè  )Úranger$   r   r   r	   r   ru   r   r   rA   r
   r    r!   r-   r   )rT   ÚzerorC   rC   rD   Útest_log_exact   s>   24ÿ,4:4PNNV42.NZVDD2JFX 2.,(rš   c                   C   sŒ  t ddƒdks	J ‚t ddƒdksJ ‚t ddƒt dƒt dƒ ks!J ‚t ddƒdt dƒt dƒ  ks2J ‚t ddƒdt dƒt dƒ  ksCJ ‚t ddƒdksLJ ‚t ddƒdksUJ ‚t ddƒtu s^J ‚t ddƒtu sgJ ‚t tddƒd	ƒt tddƒƒt d	ƒ ks|J ‚t tddƒtddƒƒt dƒ t dƒ d ks”J ‚t tddƒtddƒƒt tddƒƒt tddƒƒ ks¯J ‚t tddƒdƒt dƒ t dƒ d ksÄJ ‚d S )
Nr5   r7   r   r8   r|   rN   é   rI   r•   )r   r   r   r
   rC   rC   rC   rD   Útest_log_baseJ  s   ""*0ÿ.rœ   c                  C   s€  t ttdƒƒt tƒksJ ‚t ttƒƒtksJ ‚t ttdƒƒt tƒks$J ‚t tt ƒt tƒt tƒ ks4J ‚t tt ƒ ¡ t tƒt tƒ ksFJ ‚t tt ƒjddt tƒt tƒ ksZJ ‚t tt ƒ ¡ tt tƒ ksjJ ‚t tt ƒjddtt tƒ ks|J ‚t tdƒt tƒt dƒ ks‹J ‚t tdƒdt dƒ ks˜J ‚tddd\} }tddd}t | d ƒdt | ƒ ks´J ‚t | d ƒ ¡ dt | ƒ ksÄJ ‚t td ƒ ¡ dt tƒ ksÔJ ‚t | | ƒ|t | ƒ ksâJ ‚t t| ƒƒ| ksìJ ‚t | | ƒt | ƒt |ƒ ksüJ ‚t | | ƒ ¡ t | ƒt |ƒ ksJ ‚t td	ƒ ƒt td	ƒƒt	t
  ks#J ‚t t| ƒ ƒ| t	t
  ks3J ‚t ttƒ ƒ ¡ tt	t
  ksEJ ‚t t|ƒ ƒ ¡ |t	t
  ksWJ ‚t tt ƒtt tƒ ksfJ ‚t td
 ƒd  ¡ dt tƒ d ks{J ‚t | d
 ƒd  ¡ dt | ƒ d ksJ ‚t t ƒjt u r¥t t ƒjd t ks§J ‚t |  ƒjt u r¼t |  ƒjd |  ks¾J ‚d S )Nr5   T©Úforcer7   zp,qrk   ÚrrX   r8   rO   r6   rI   r   )r   r*   r   r+   r`   r   r   r   r   r	   r   rŒ   Úargs)ÚpÚqrŸ   rC   rC   rD   Útest_log_symbolic\  s8    $( $   &( $$**.2r£   c                   C   sÈ   t tdt t ƒƒdksJ ‚t tdt t ƒƒtt ksJ ‚t ttt tddƒ ƒƒtt tddƒ ks6J ‚t ttt tddƒ ƒƒtt tddƒ ksNJ ‚t tdt ƒƒdt d	t t  ksbJ ‚d S )
Nr9   r   rO   é   r8   rJ   rK   rL   r7   )r   r   r	   r   r
   rC   rC   rC   rD   Útest_log_exp‚  s
    00,r¥   c                  C   s*  t ddd} t ddd}ttfD ]N}|tƒjd u sJ ‚|tƒjd u s$J ‚||ƒjd u s-J ‚||ƒjd u s6J ‚|| ƒjdu s?J ‚|| ƒjdu sHJ ‚|ttƒƒjdu sSJ ‚|ttƒƒjdu s^J ‚qtt	t
t ddjdksmJ ‚tt	dt
 t ddjdks}J ‚tt	t
t d ddjdksJ ‚tt	t
t d	 ddjd u sJ ‚td
ddjs¦J ‚t ddd}t dddd}t ddd} t dddd}t|ƒjd u sÉJ ‚t|ƒjdu sÒJ ‚tt|  ƒjd u sÝJ ‚tt| ƒjdu sèJ ‚td
ddjdu sóJ ‚tt
t d	 ddjdu sJ ‚tt
t |  ddjdu sJ ‚d S )NrŸ   TrX   r   r   Fr;   r7   r8   r   Úa)Ú	algebraicÚan)r§   Únonzero)ÚrationalÚrn)rª   r©   )r   r   r   r*   Úis_realÚis_imaginaryr   Úis_extended_realr   r   r	   r   Úis_algebraic)rŸ   r   rU   r¦   r¨   r«   rC   rC   rD   Útest_exp_assumptionsŠ  s6       $r°   c                   C   s$   t tddƒƒtttd ƒksJ ‚d S )Nr5   r7   )r   r   r   rC   rC   rC   rD   Ú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
u s"J ‚t|ƒjdu s+J ‚tdƒdks3J ‚tdd
djs<J ‚td| ƒjsEJ ‚t| ƒjd u sNJ ‚t|ƒjd
u sWJ ‚tdƒjdu s`J ‚tt| ƒd ƒjskJ ‚tdd
djstJ ‚tdd
djd
u sJ ‚td| ƒjsˆJ ‚d S )Nr¡   Trk   rT   ©Únegativer,   )r™   r*   )ÚinfiniteÚextended_positiveFr7   r   r5   r;   g      à?é*   )	r   r   Úis_positiveÚis_extended_positiveÚis_zeroÚis_negativer   r¯   Úis_rational)r¡   rT   r,   r*   rC   rC   rD   Útest_log_assumptions²  s    r¼   c                  C   sü   t ttt ƒƒks
J ‚tt ƒtttt ƒƒƒksJ ‚tt ƒtttt ƒƒƒks&J ‚dttt ƒttt ƒƒ ƒ } | jjtu s<J ‚dttt ƒtttt ƒƒƒ ƒ } | jjtu sTJ ‚ttt ƒƒ} | jtu saJ ‚t jtushJ ‚tttt ƒƒƒtt ƒksvJ ‚| t ks|J ‚d S )Nr5   )r*   r   Úhashrd   rŒ   ra   rC   rC   rD   Útest_log_hashingÈ  s    r¾   c                   C   s   t tdƒƒdks
J ‚d S r_   )r   r   rC   rC   rC   rD   Útest_log_signÙ  s   r¿   c                   C   sh   t dt ƒjddt dƒd tt d  ksJ ‚t dtdƒ ƒjddt tdƒd ƒtt  ks2J ‚d S )Nr5   T)Úcomplexr7   r9   )r   r	   r`   r   r   rC   rC   rC   rD   Útest_log_expand_complexÝ  s   08rÁ   c                  C   s.   t dƒt dƒ d  ¡ } |  tdƒ¡sJ ‚d S )Nr8   r7   r5   z0.58496250072115618145373)r   ÚevalfÚ
epsilon_eqr   )ÚvaluerC   rC   rD   Útest_log_apply_evalfâ  s   rÅ   c                  C   s¶  t dƒ} tdt td  ƒjtddtksJ ‚tdt ƒjtddttƒtdƒ ks,J ‚tdt ƒjtddttƒtdƒ ksAJ ‚tdt ƒjtd| d| tdƒ tt  ksYJ ‚tdt ƒjtd| d| tdƒ tt  ksqJ ‚tdt dt td   ƒjtddttƒtdƒ tt  ks’J ‚tdt dt td   ƒjtddttƒtdƒ tt  ks³J ‚tdt dt td   ƒjtddttƒtdƒ ksÐJ ‚tdt dt td   ƒjtddttƒtdƒ dt t  ksóJ ‚tdt ttd   ttd   ƒjtddt t ksJ ‚tdt ttd   ttd   ƒjtddt t ks1J ‚tddt  ƒjtddtt ksEJ ‚tddt  ƒjtddtt ksYJ ‚d S )	Nr¡   r5   r7   )Úcdirr6   r’   )rÆ   Úlogxr8   )r   r   r*   rz   r	   r   ©r¡   rC   rC   rD   Útest_log_leading_termç  s   &**00BB:F>>(,rÉ   c                  C   sl  t dƒ} tdt ƒjtd|  dd| ksJ ‚tdt ƒjtd|  dd| dt t  ks.J ‚ttd ƒ tdd t¡tt t td d  td d  ttd ƒ ksTJ ‚ttd ƒ tdd t ¡t t t td d  td d  ttd ƒ ks|J ‚ttt ttd   d ƒ tdd d¡tt tt  td d  ttd ƒ ks¦J ‚ttt ttd   d ƒ tdd d¡t t tt  td d  ttd ƒ ksÑJ ‚tttd  ttd   d ƒ tdd d¡tt ttd   ttd ƒ ksùJ ‚tttd  ttd   d ƒ tdd d¡tt ttd   ttd ƒ ks"J ‚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_J ‚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s£J ‚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æJ ‚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(J ‚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snJ ‚tddt  ƒ tdd d¡tt t td d  ttd ƒ ks‘J ‚tddt  ƒ tdd d¡tt t td d  ttd ƒ ks´J ‚d S )	Nr¡   r5   r9   )rÇ   rÆ   r6   r7   r8   r’   )	r   r   r*   Ú_eval_nseriesr	   r   r%   r   r   rÈ   rC   rC   rD   Útest_log_nseriesü  s`   $0LPTVPR4ÿÿ
ÿ8ÿÿÿ
ÿ>ÿÿ
ÿ>ÿÿ
ÿFÿÿ
ÿFJ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sIJ ‚| 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ƒJ ‚|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²J ‚|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äJ ‚d S )Nr5   r7   r9   )Úx0rT   r8   r—   r6   )r   r*   r   Úseriesr	   r   r   r%   )Úexpr1Úexpr2rC   rC   rD   Útest_log_series  s4   8
ÿ
ÿ
ÿ:
ÿÿ
ÿ4
ÿ
ÿ6ÿÿrÐ   c                  C   s&  t ddd} t| tdƒtdƒ  ƒ}| ¡ tdƒtdƒ t| ƒ ks$J ‚tddd\}}}t|||  ƒjddt|ƒt|| ƒ ksEJ ‚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v s”J ‚t|t|d	 ƒ ƒjdd
t|ƒt|d	 ƒ ks®J ‚t|t|d	 ƒ ƒ ¡ d	t|ƒd	  ksÄJ ‚tdƒ\}}t|| ƒjddt|ƒt|ƒ ksÞJ ‚t|| ƒjdd|t|ƒ ksðJ ‚tt|ƒƒjdd|ksþJ ‚tdƒ ¡ d	tdƒ td	ƒ ksJ ‚d S )NÚwTrk   rI   r8   úx,y,zF)Úmulr7   )ÚdeeprŽ   r   rH   )r   r   r`   r   r   )rÑ   rU   r*   r+   r,   rC   rC   rD   Útest_log_expand%  s$   $02ÿ*"
þ4,($*rÕ   c                  C   st   t ddd\} }}t| ||  ƒ| |  jddd|t| ƒ |t|| ƒ  |t| ƒ  |t|| ƒ  ks8J ‚d S )NrÒ   Trk   )rÓ   r   )r   r   r`   r)   rC   rC   rD   Útest_log_expand_fail;  s   $ÿÿ
ÿÿrÖ   c                  C   s  t ddd} t| d ƒ ¡ dt| ƒ ksJ ‚tt| dtdƒ  ƒƒdtdƒ t| ƒ ks.J ‚t dƒ}tt|ƒƒ ¡ t|ƒd ksBJ ‚tt|tdƒd  ƒƒtdƒd t|ƒ ksZJ ‚t|d ƒ ¡ t|ƒ ksiJ ‚t|| | d   ƒ ¡ | t|ƒ | d  ksJ ‚d S )Nr*   Trk   r7   r,   r5   r6   )r   r   r`   r   r   )r*   r,   rC   rC   rD   Útest_log_simplifyB  s    0 04r×   c                   C   s¨   t tdtƒƒtddƒksJ ‚t tdtƒƒtt dƒksJ ‚t tdtƒƒtjks)J ‚t tdtƒƒtt tƒks8J ‚t tt dƒƒtjksEJ ‚t tt tƒƒtjksRJ ‚d S )Nr5   r   r6   )r   r   r   r   r   ÚNaNrC   rC   rC   rD   Útest_log_AccumBoundsN  s   rÙ   c                  C   sz  t dƒ} ttdƒttƒksJ ‚ttdddttƒksJ ‚tdƒdks$J ‚ttƒdks,J ‚tdt ƒdks6J ‚ttdƒ d ƒtdƒ ksFJ ‚ttƒtu sNJ ‚tddƒt u sXJ ‚tddƒt u sbJ ‚tt d dƒt t d kssJ ‚tdt dƒdks~J ‚td	td	ƒ dƒd	ks‹J ‚tdtdƒ ƒtdƒks™J ‚tt d ƒtt d ks¨J ‚ttdt ƒƒtks´J ‚ttd ƒ 	t¡dttd ƒ t dttd ƒ  ksÑJ ‚tt| ƒ 	t¡tt| ƒt dtt| ƒ  kséJ ‚tt
dƒƒ d
¡ tdd
ƒd¡sûJ ‚ttddƒƒ ¡  tdƒ¡sJ ‚tdƒjdu sJ ‚tdddjs J ‚t ddd}t|ddjs0J ‚t|d ddjd u s>J ‚t| dtj  ddjdu sPJ ‚ttjdddjdu s^J ‚ttddƒdddjslJ ‚tddddjdu syJ ‚td	dddjdu s†J ‚tdddjsJ ‚t dddd}t|ƒjdu s¡J ‚t|ƒjdu s«J ‚t ddd}t|ƒjdu s»J ‚d S )Nr2   r   Fr;   r5   r6   r7   r¶   r’   é   z 0.701338383413663009202120278965gG³¦þ^Zé9z-0.834310366631110r¡   Trk   r•   iöÿÿÿÚna)r©   r§   rT   r²   )r   r   r*   r   r   r   r   r	   r   Údiffr   rÂ   rÃ   r   r   r¬   r   r@   rA   r
   r¯   r¹   )r2   r¡   rÛ   rT   rC   rC   rD   Útest_lambertwW  sL    ":0
ÿ"$rÝ   c                  C   s|   t dƒ} | jdu sJ ‚| jdusJ ‚dddtdƒ   }|jdus#J ‚dttt tdƒƒƒt tdƒƒ ƒ }|jdus<J ‚d S )Nr6   FTr5   iüÿÿr’   r7   )r   Úis_comparabler·   r   r   Ú
is_nonzero)rU   Úe2Úe3rC   rC   rD   Útest_issue_5673…  s   $râ   c                      r„   )Nr*   c                      r…   rc   )r   r†   rC   ri   rC   rD   r‡   ‘  rˆ   z test_log_fdiff.<locals>.<lambda>r‰   rC   rC   ri   rD   Útest_log_fdiff  r‹   rã   c                  C   s€   t dƒ} t| ƒ d| ¡| ksJ ‚t| ƒ d| ¡| d  d ks!J ‚t| ƒ d| ¡| d d ks1J ‚t| ƒ d| ¡tju s>J ‚d S )Nr*   r   r5   r7   r9   rI   r6   )r   r   r~   r   r   ri   rC   rC   rD   Útest_log_taylor_term”  s
   " rä   c                  C   s²   t ddd\} }}t| | ƒ ¡ t| | ƒksJ ‚t| | | ƒ ¡ t| | | ƒks-J ‚ttt ƒ ¡ ttƒttƒ ks?J ‚ttt t ƒ ¡ ttƒttƒ ttƒ ksWJ ‚d S )NzA,B,CF©Úcommutative)r   r   r`   r*   r+   r,   )r   ÚBÚCrC   rC   rD   Útest_exp_expand_NCœ  s
    ($4ré   c                  C   s`  t ddd} ttƒ ¡ ttƒdfksJ ‚tt ƒ ¡ dttƒfks#J ‚tdt ƒ ¡ dtdt ƒfks5J ‚tdƒ ¡ dtdƒfksCJ ‚t| ƒ ¡ dt|  ƒfksRJ ‚t|  ƒ ¡ t|  ƒdfksbJ ‚tt t ƒ ¡ dttt ƒfksuJ ‚tt |  ƒ ¡ dtt|  ƒfksˆJ ‚t|  ƒ ¡ t|  ƒdfks˜J ‚t ddd	}t| ƒ ¡ t| ƒdfks®J ‚d S )
NrT   Tr²   r5   r’   r7   r¦   Frå   )r   r   r*   Úas_numer_denomr	   )rT   r¦   rC   rC   rD   Útest_as_numer_denom¥  s   $ && $rë   c                  C   s$  t ddd\} }tttd ƒƒdksJ ‚ttdƒƒdksJ ‚ttddt  ƒƒtdƒks.J ‚ttd	 ƒ ¡ ttd	 ƒks>J ‚tttƒƒtksHJ ‚t| | ƒ ¡ t| ƒt|ƒ ksZJ ‚t| t ƒ ¡ tt| ƒ ksjJ ‚tdƒjdkssJ ‚td
t	 t ƒjdd 
¡ d dks‡J ‚tdƒjdu sJ ‚d S )Nzx yTrZ   r9   r5   r   r7   r8   r•   g      ð?rI   rx   )r   Úabsr   r	   r   rT   r   r,   r`   r   Úas_real_imagr»   r]   rC   rC   rD   Ú
test_polar¶  s     $ (rî   c                  C   sh   t dƒ} t dƒ\}}}}tt| | |d|f|d|fƒƒ}| ¡ tt| | ƒ|d|f|d|fƒks2J ‚d S )NrÑ   zm n i jr   )r   r   r   r`   r   )rÑ   ÚmrT   r   ÚjÚexprrC   rC   rD   Útest_exp_summationË  s    0rò   c            	      C   sH  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s7J ‚| ¡ t|t|ƒ |d| fƒksIJ ‚tt|| ||  |d| f|d|fƒƒ}t|ƒ|kseJ ‚| ¡ t|t|ƒ |t|ƒ  |d| f|d|fƒksJ ‚ttd| ddfƒƒ}t|ƒ|ks“J ‚| ¡ |ks›J ‚|jddttdƒ| ddfƒks­J ‚ttt	|| ƒ|d| fƒƒ}| ¡ t|| |d| fƒksËJ ‚ttt	|| ƒ|d| fƒƒ}| ¡ |ksáJ ‚|jddt|| |d| fƒksóJ ‚tt|d t
|ƒ |d| f|d|fƒƒ}| ¡ tdt|ƒ t|ƒ |d| f|d|fƒks"J ‚d S )Nr   ©rT   rï   úi,jT©rl   r4   rŽ   rk   r,   rX   rÑ   r5   r’   r9   r   r7   )Ú	sympy.abcrT   rï   r   r   r   r&   r`   r   r   rì   )	rT   rï   r   rð   r*   r+   r,   rÑ   rñ   rC   rC   rD   Útest_log_productÒ  s,   $(8$ $(: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s5J ‚ttt|| ||  |d| f|d|fƒƒƒt|t|ƒ |t|ƒ  |d| f|d|fƒkscJ ‚d S )	Nr   ró   rô   Trõ   rŽ   rk   r5   )rö   rT   rï   r   r&   r   r   r   )rT   rï   r   rð   r*   r+   rC   rC   rD   Ú test_log_product_simplify_to_sumñ  s   8**ÿrø   c                  C   sè   t ttdddƒt ttdƒƒksJ ‚tttdddƒtttdƒƒks$J ‚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sbJ ‚tt||ƒƒtt||ƒƒksrJ ‚d S )Nr•   Fr;   r+   Trk   rI   )r&   r   r*   r   r   r   )r+   Úl1Úb1Úl2Úb2rC   rC   rD   Útest_issue_8866û  s   $$ $rý   c                   C   sª  t dƒt dƒ d jddt dƒt dƒ ksJ ‚t dƒt dƒ jddt dƒt dƒ d ks0J ‚t dƒt dƒ jdddt d	ƒt dƒ  ksHJ ‚t dƒt dƒ t d
ƒ  jdddks]J ‚tt dƒddt dƒdt dƒ  ksqJ ‚tt dƒt dƒ ddt dƒt dƒ d ks‰J ‚tt dƒt d	ƒ t dƒ ddddt dƒ t d	ƒ  t dƒ ks«J ‚tt dƒt d	ƒ t dƒ ddt dƒt dƒ t d	ƒdt dƒ  t d	ƒ  ksÓJ ‚d S )NrH   r8   r7   T)Úfactorr–   rR   r5   rI   r}   é   rK   Fé-   é   é   é   )r   r`   r   rC   rC   rC   rD   Útest_log_expand_factor  s   000*(0ÿ*ÿr  c                  C   s$   t dddd} t| ƒjdu sJ ‚d S )NrT   Trõ   )r   r   Úis_nonnegativerx   rC   rC   rD   Útest_issue_9116  s   r  c                   C   sT  t tttdt ƒƒ ƒ t¡tjksJ ‚t tttdt ƒƒ ƒ t¡tjks(J ‚ttdt ƒƒ t¡tjks8J ‚ttdt ƒƒ t¡tjksHJ ‚ttdt ƒd ƒ t¡tdtdƒƒks^J ‚t tttdt ƒd ƒ ƒ t¡dkssJ ‚ttdt ƒd ƒ t¡tjks…J ‚t tttdt ƒd ƒ ƒ t¡tjks›J ‚ttdt ƒd ƒ t¡tt	 tdƒƒks²J ‚t tttdt ƒd ƒ ƒ t¡tddƒksÊJ ‚tt
dt ƒd ƒ t¡tt	 dƒksßJ ‚t ttt
dt ƒd ƒ ƒ t¡tddƒks÷J ‚ttdt ƒd ƒ t¡tt	 t	ƒksJ ‚t dt ttdt ƒd ƒ ƒ t¡tdt	ƒks(J ‚d S )Nr5   r7   r   r8   )r   r*   r   r    rz   r   rØ   r"   r   r   r!   rC   rC   rC   rD   Útest_issue_18473  s   ((  ,*$,.0*0,:r  N)vÚsympy.assumptions.refiner   Ú!sympy.calculus.accumulationboundsr   Úsympy.concrete.productsr   Úsympy.concrete.summationsr   Úsympy.core.functionr   Úsympy.core.numbersr   r   r	   r
   r   r   r   r   Úsympy.core.powerr   Úsympy.core.singletonr   Úsympy.core.symbolr   r   Ú$sympy.functions.elementary.complexesr   r   r   r   r   Ú&sympy.functions.elementary.exponentialr   r   r   r   Ú%sympy.functions.elementary.hyperbolicr   r   r   Ú(sympy.functions.elementary.miscellaneousr   Ú(sympy.functions.elementary.trigonometricr    r!   r"   Ú"sympy.matrices.expressions.matexprr#   Úsympy.polys.polytoolsr$   Úsympy.series.orderr%   Úsympy.simplify.simplifyr&   Úsympy.core.parametersr'   r(   rö   r*   r+   r,   Úsympy.core.exprr-   r.   Úsympy.testing.pytestr/   r0   r1   rE   rW   r^   rb   re   rj   rn   rq   rs   rt   ry   r{   r€   rƒ   rŠ   r   r”   rš   rœ   r£   r¥   r°   r±   r¼   r¾   r¿   rÁ   rÅ   rÉ   rË   rÐ   rÕ   rÖ   r×   rÙ   rÝ   râ   rã   rä   ré   rë   rî   rò   r÷   rø   rý   r  r  r  rC   rC   rC   rD   Ú<module>   s¶    (
,






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