U
    ZÊ¹j D ã                   @   sj  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
 d dlmZ d dlmZmZ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 d d	l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'm(Z(m)Z)m*Z* d dl+m,Z,m-Z-m.Z. d dl/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z< d dl=m>Z>m?Z?m@Z@ d dlAmBZB d dlCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQ d dlRmSZSmTZTmUZUmVZV d dlWmXZX d dlYmZZ[ d dl\m]Z] d dl^m_Z_ d dl`maZa d dlbmcZc d dldmeZe d dlfmgZgmhZh d dlimjZjmkZkmlZlmmZmmnZnmoZompZp d dlqmrZr d dlsmtZt d dlumvZv d dlwmxZxmyZymzZzm{Z{m|Z|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�mŽZŽm�Z�m�Z�m‘Z‘m’Z’m“Z“m”Z”m•Z•m–Z–m—Z—m˜Z˜m™Z™mšZšm›Z›mœZœm�Z� d d$lžmŸZŸm Z m¡Z¡m¢Z¢m£Z£m¤Z¤m¥Z¥m¦Z¦m§Z§m¨Z¨m©Z©mªZªm«Z«m¬Z¬m­Z­m®Z®m¯Z¯m°Z°m±Z±m²Z²m³Z³ d%d&„ Z´d'd(„ Zµd)d*„ Z¶e}d+d,„ ƒZ·d-d.„ Z¸d/d0„ Z¹d1d2„ Zºd3d4„ Z»d5d6„ Z¼exd7d8„ ƒZ½d9d:„ Z¾d;d<„ Z¿d=d>„ ZÀd?d@„ ZÁdAdB„ ZÂdCdD„ ZÃdEdF„ ZÄdGdH„ ZÅdIdJ„ ZÆdKdL„ ZÇdMdN„ ZÈexdOdP„ ƒZÉe{dQdR„ ƒZÊdSdT„ ZËdUdV„ ZÌdWdX„ ZÍdYdZ„ ZÎd[d\„ ZÏd]d^„ ZÐd_d`„ ZÑdadb„ ZÒdcdd„ ZÓdedf„ ZÔdgdh„ ZÕdidj„ ZÖdkdl„ Z×dmdn„ ZØdodp„ ZÙdqdr„ ZÚdsdt„ ZÛdudv„ ZÜdwdx„ ZÝdydz„ ZÞd{d|„ Zßd}d~„ Zàdd€„ Zád�d‚„ Zâdƒd„„ Zãd…d†„ Zäd‡dˆ„ Zåd‰dŠ„ Zæe}d‹dŒ„ ƒZçd�dŽ„ Zèd�d�„ Zéd‘d’„ Zêd“d”„ Zëd•d–„ Zìd—d˜„ Zíexd™dš„ ƒZîexd›dœ„ ƒZïexd�dž„ ƒZðe}dŸd „ ƒZñe}d¡d¢„ ƒZòd£d¤„ Zód¥d¦„ Zôexd§d¨„ ƒZõd©dª„ Zöd«d¬„ Z÷d­d®„ Zød¯d°„ Zùd±d²„ Zúd³d´„ Zûdµd¶„ Züd·d¸„ Zýd¹dº„ Zþd»d¼„ Zÿd½d¾„ �Z d¿dÀ„ �ZdÁdÂ„ �ZdÃdÄ„ �ZdÅdÆ„ �ZdÇdÈ„ �ZdÉdÊ„ �ZexdËdÌ„ ƒ�ZdÍdÎ„ �ZdÏdÐ„ �Z	dÑdÒ„ �Z
dÓdÔ„ �ZdÕdÖ„ �Zd×dØ„ �ZexdÙdÚ„ ƒ�ZdÛdÜ„ �ZdÝdÞ„ �Zdßdà„ �Zdádâ„ �Zdãdä„ �Zdådæ„ �Zdçdè„ �Zdédê„ �Zdëdì„ �Zdídî„ �Zdïdð„ �Zdñdò„ �Zdódô„ �Zdõdö„ �Zd÷dø„ �Ze|dùƒdúdû„ ƒ�Ze|düƒdýdþ„ ƒ�Zdÿ�d „ �Z �d�d„ �Z!�d�d„ �Z"�d�d„ �Z#�d�d„ �Z$�d	�d
„ �Z%�d�d„ �Z&�d�d„ �Z'�d�d„ �Z(�d�d„ �Z)�d�d„ �Z*ex�d�d„ ƒ�Z+�d�d„ �Z,�d�d„ �Z-�d�d„ �Z.�d�d„ �Z/�d�d „ �Z0�d!�d"„ �Z1�d#�d$„ �Z2�d%�d&„ �Z3�d'�d(„ �Z4�d)�d*„ �Z5�d+�d,„ �Z6�d-�d.„ �Z7�d/�d0„ �Z8�d1�d2„ �Z9�d3�d4„ �Z:�d5�d6„ �Z;�d7�d8„ �Z<�d9�d:„ �Z=�d;�d<„ �Z>�d=�d>„ �Z?�d?�d@„ �Z@�dA�dB„ �ZA�dC�dD„ �ZB�dE�dF„ �ZC�dG�dH„ �ZD�dI�dJ„ �ZE�dK�dL„ �ZF�dM�dN„ �ZG�dO�dP„ �ZH�dQ�dR„ �ZI�dS�dT„ �ZJ�dU�dV„ �ZK�dW�dX„ �ZL�dY�dZ„ �ZM�d[�d\„ �ZN�d]�d^„ �ZO�d_�d`„ �ZPex�da�db„ ƒ�ZQ�dc�dd„ �ZR�de�df„ �ZS�dg�dh„ �ZTex�di�dj„ ƒ�ZUex�dk�dl„ ƒ�ZV�dm�dn„ �ZW�do�dp„ �ZX�dq�dr„ �ZYex�ds�dt„ ƒ�ZZ�du�dv„ �Z[�dw�dx„ �Z\�dy�dz„ �Z]�d{�d|„ �Z^�d}�d~„ �Z_�d�d€„ �Z`�d��d‚„ �Za�dƒ�d„„ �Zb�d…�d†„ �Zc�d‡�dˆ„ �Zd�d‰�dŠ„ �Ze�d‹�dŒ„ �Zf�d��dŽ„ �Zg�d��d�„ �Zh�d‘�d’„ �Zi�d“�d”„ �Zj�d•�d–„ �Zk�d—�d˜„ �Zl�d™�dš„ �Zm�d›�dœ„ �Zn�d��dž„ �Zo�dŸ�d „ �Zp�d¡�d¢„ �Zq�d£�d¤„ �Zr�d¥�d¦„ �Zs�d§�d¨„ �Zt�d©�dª„ �Zu�d«�d¬„ �Zv�d­�d®„ �Zw�d¯�d°„ �Zx�d±�d²„ �Zy�d³�d´„ �Zz�dµ�d¶„ �Z{�d·�d¸„ �Z|�d¹S (º  é    ©Úisclose)Ústationary_points)ÚTuple)ÚFunctionÚLambdaÚnfloatÚdiff)ÚMod)ÚEÚIÚRationalÚooÚpiÚIntegerÚ	all_close)ÚEqÚGtÚNeÚGe)ÚS)Úordered)ÚDummyÚSymbolÚsymbols©Úsympify)ÚAbsÚargÚimÚreÚsignÚ	conjugate)ÚLambertWÚexpÚlog)ÚHyperbolicFunctionÚsinhÚcoshÚtanhÚcothÚsechÚcschÚasinhÚacoshÚatanhÚacothÚasechÚacsch)ÚsqrtÚMinÚMax)Ú	Piecewise)ÚTrigonometricFunctionÚacosÚacotÚacscÚasecÚasinÚatanÚatan2ÚcosÚcotÚcscÚsecÚsinÚtan)ÚerfÚerfcÚerfcinvÚerfinv)ÚAnd)ÚMutableDenseMatrix)ÚImmutableDenseMatrix)ÚPoly)ÚCRootOf)ÚContains)ÚConditionSet)ÚImageSetÚRange)Ú
ComplementÚ	FiniteSetÚIntersectionÚIntervalÚUnionÚimagesetÚ
ProductSet)Úsimplify)ÚIndexed)Únumbered_symbols)ÚXFAILÚraisesÚskipÚslowÚSKIPÚ_both_exp_pow)Úverify_numerically)Úcm)Úsolve)Úsolveset_realÚdomain_checkÚsolveset_complexÚlinear_eq_to_matrixÚlinsolveÚ_is_function_class_equationÚinvert_realÚinvert_complexÚ_invert_trig_hyp_realÚsolvesetÚsolve_decompositionÚsubstitutionÚnonlinsolveÚsolvifyÚ_is_finite_with_finite_varsÚ
_transolveÚ_is_exponentialÚ_solve_exponentialÚ_is_logarithmicÚ_is_lambertÚ_solve_logarithmÚ_term_factorsÚ_is_modularÚNonlinearError)ÚaÚbÚcÚdÚeÚfÚgÚhÚiÚjÚkÚlÚmÚnÚqÚrÚtÚwÚxÚyÚzc                 C   s:   t | ƒttfkr(tdd„ t| |ƒD ƒƒS | |kp8|  |¡S )Nc                 s   s   | ]\}}t ||ƒV  qd S ©N)Údumeq©Ú.0r…   r†   © r–   ú`/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/solvers/tests/test_solveset.pyÚ	<genexpr>:   s     zdumeq.<locals>.<genexpr>)ÚtypeÚlistÚtupleÚallÚzipÚdummy_eq)r…   r†   r–   r–   r—   r“   8   s    r“   c                 C   s`   t | ƒ} t |ƒ}t| tƒst‚t|tƒs,t‚t| ƒt|ƒks@t‚tdd„ t| |ƒD ƒƒs\t‚dS )z2Test solutions with floats from solveset are closec                 s   s   | ]\}}t ||ƒV  qd S r’   r   ©r•   Zv1Zv2r–   r–   r—   r˜   E   s     z"assert_close_ss.<locals>.<genexpr>N)r   Ú
isinstancerS   ÚAssertionErrorÚlenrœ   r�   )Úsol1Úsol2r–   r–   r—   Úassert_close_ss>   s    r¥   c                 C   sˆ   t | ƒ} t |ƒ}t| tƒst‚t|tƒs,t‚t| ƒt|ƒks@t‚t| |ƒD ]8\}}t|ƒt|ƒksft‚tdd„ t||ƒD ƒƒsJt‚qJdS )z5Test solutions with floats from nonlinsolve are closec                 s   s   | ]\}}t ||ƒV  qd S r’   r   rŸ   r–   r–   r—   r˜   Q   s     z"assert_close_nl.<locals>.<genexpr>N)r   r    rS   r¡   r¢   r�   rœ   )r£   r¤   Ús1Ús2r–   r–   r—   Úassert_close_nlH   s    r¨   c                     s„  t ddd�‰ tjfdd„} ttˆ ƒtˆ ƒˆ | tttƒƒƒfksBt‚t ddd�‰t ddd�}tˆ d	 ˆˆ ƒˆ tˆd	 ƒfks~t‚tˆ d	 ˆˆ ƒˆ tˆd	 ƒfks¢t‚ttˆ ƒˆˆ ƒˆ ttˆƒƒfksÆt‚ttd	ˆ  ƒˆˆ ƒˆ ttˆƒd	 ƒfksòt‚ttˆ d	 ƒˆˆ ƒˆ ttˆƒd	 ƒfk�s t‚ttˆ ƒd	 ˆˆ ƒˆ | ttˆd	 ƒƒƒfk�sRt‚ttˆ ƒd	 ˆˆ ƒˆ ttˆd	 ƒƒfk�s€t‚ttˆ ƒˆˆ ƒˆ ttˆƒƒfk�s¦t‚ttd	ˆ  ƒˆˆ ƒˆ ttˆƒd	 ƒfk�sÔt‚ttˆ d	 ƒˆˆ ƒˆ ttˆƒd	 ƒfk�st‚tt	ˆ ƒˆˆ ƒˆ tˆˆ ƒfk�s(t‚td
ˆ  ˆˆ ƒˆ ttˆƒtd
ƒ ƒfk�sVt‚td
tˆ ƒ ˆˆ ƒˆ | tttˆƒtd
ƒ ƒƒƒfk�s�t‚tˆ d
 ˆˆ ƒˆ tt
ˆƒt
ˆƒ ƒfk�s¾t‚tˆ tj ˆˆ ƒˆ tˆd
 ƒfk�sæt‚tt‡ fdd„ƒ tˆ t ˆˆ ƒˆ tˆdt  ƒfk�s"t‚tˆ t t ˆ ƒˆ tjfk�sDt‚tˆ tdƒ dˆ ƒˆ tdƒfk�sjt‚tˆ d dˆ ƒˆ d tdƒfk�s�t‚tt‡ ‡fdd„ƒ tˆ d ˆ  ˆˆ ƒˆ d ˆ  tˆƒfk�sÒt‚ˆ d ˆ  }tˆd ˆ d ƒ}tt	ˆ d ˆ  d ƒˆˆ ƒ||fk�st‚tttˆ ƒˆˆ ƒˆ tˆ tdƒˆkˆtdƒk@ ttt|d
| t tˆƒ ƒtjƒtt|td
 | t tˆƒ ƒtjƒƒƒfƒ�sžt‚ttttˆ ƒƒˆˆ ƒˆ tˆ tdƒˆkˆtdƒk@ ttt|td
| t tˆƒ ƒƒtjƒtt|ttd
 | t tˆƒ ƒƒtjƒƒƒfƒ�s,t‚tttˆ ƒˆˆ ƒˆ tˆ tdƒˆkˆtk @ t ˆk ˆtdƒk@ B ttt|d
| t tˆƒ ƒtjƒtt|d
| t tˆƒ t ƒtjƒƒƒfƒ�sÀt‚ttttˆ ƒƒˆˆ ƒˆ tˆ tdƒˆkˆtk @ t ˆk ˆtdƒk@ B ttt|td
| t tˆƒ ƒƒtjƒtt|td
| t tˆƒ t ƒƒtjƒƒƒfƒ�s`t‚tttˆ ƒˆˆ ƒˆ tˆ tdƒˆkˆtdƒk@ ttt|d
| t tˆƒ ƒtjƒtt|d
| t tˆƒ ƒtjƒƒƒfƒ�sÞt‚ttttˆ ƒƒˆˆ ƒˆ tˆ tdƒˆkˆtdƒk@ ttt|td
| t tˆƒ ƒƒtjƒtt|td
| t tˆƒ ƒƒtjƒƒƒfƒ�sht‚tttˆ ƒˆˆ ƒˆ tˆ tdƒˆkˆtk @ t ˆk ˆtdƒk@ B ttt|d
| t t ˆƒ ƒtjƒtt|d
| t t ˆƒ ƒtjƒƒƒfƒ�søt‚ttttˆ ƒƒˆˆ ƒˆ tˆ tdƒˆkˆtk @ t ˆk ˆtdƒk@ B ttt|td
| t t ˆƒ ƒƒtjƒtt|td
| t t ˆƒ ƒƒtjƒƒƒfƒ�s”t‚ttt!ˆ ƒˆˆ ƒˆ tˆ t ˆk ˆtk @ tt||t t"ˆƒ ƒtjƒƒfƒ�sät‚ttt!tˆ ƒƒˆˆ ƒˆ tˆ t ˆk ˆtk @ tt|t|t t"ˆƒ ƒƒtjƒƒfƒ�	s<t‚ttt#ˆ ƒˆˆ ƒˆ tˆ t ˆk ˆtk @ tt||t t$ˆƒ ƒtjƒƒfƒ�	sŒt‚ttt#tˆ ƒƒˆˆ ƒˆ tˆ t ˆk ˆtk @ tt|t|t t$ˆƒ ƒƒtjƒƒfƒ�	sät‚ttt!t!ˆ ƒƒˆˆ ƒˆ tˆ t%t!t!ˆ ƒƒˆƒtjƒfƒ�
s t‚t ddd�‰ tˆ t ˆˆ ƒˆ tˆdt  ƒfk�
sVt‚t ddd�}t ddd�}tt&ˆ ƒ|ˆ ƒˆ tt'|ƒƒfk�
s”t‚tt&tˆ ƒƒ|ˆ ƒˆ ttt'|ƒƒƒfk�
sÂt‚tt(ˆ ƒ|ˆ ƒˆ t)tt*|ƒ t*|ƒƒtjƒfk�
søt‚tt(ˆ ƒ|d ˆ ƒˆ tt*|d ƒ t*|d ƒƒfk�s2t‚tt+ˆ ƒ|ˆ ƒˆ t)tt,|ƒƒtjƒfk�s`t‚tt-ˆ ƒ|d ˆ ƒˆ tt.|d ƒƒfk�sŽt‚tt/ˆ ƒ|ˆ ƒˆ t)tt0|ƒ t0|ƒƒtjƒfk�sÄt‚tt1ˆ ƒ|ˆ ƒˆ tt2|ƒƒfk�sêt‚ttt+tˆ ƒƒ|ˆ ƒˆ tˆ tdƒt,|ƒkt,|ƒtdƒk@ ttt|d
| t tt,|ƒƒ ƒtjƒtt|d
| t tt,|ƒƒ t ƒtjƒƒƒfƒ�s€t‚d S )Nr�   T©Úrealc                 S   s
   t || ƒS r’   )rT   )r�   Úsr–   r–   r—   ÚirealX   s    ztest_invert_real.<locals>.irealr�   ©ZpositiverŠ   é   é   c                      s   t ˆ ˆ ˆ ƒS r’   )rk   r–   ©r�   r–   r—   Ú<lambda>u   ó    z"test_invert_real.<locals>.<lambda>é   g      ø?éè  éd   ç      ð?c                      s   t tjˆˆ ƒS r’   )rk   r   ÚOner–   ©r�   r�   r–   r—   r±   }   r²   é   éÿÿÿÿrŒ   Úp)3r   r   ÚRealsrk   r$   r‘   rS   r%   r¡   r   r3   ÚHalfr]   Ú
ValueErrorr   r   ÚEmptySetr   r“   rC   rO   rV   rP   r   r<   ÚIntegersrA   r   r:   r?   r8   rB   r;   rD   r=   r@   r9   r   r'   r-   r(   rT   r.   r)   r/   r*   r0   r+   r1   r,   r2   )r¬   rŠ   ÚlhsZbase_valuesrŒ   r»   r–   r¸   r—   Útest_invert_realT   s   ($$$,.2.&..&.:.(*"&&.* $þÿ$(þÿ,"$ÿÿÿ,&(ÿÿÿ  þÿ$$þÿ," ÿÿÿ,&$ÿÿÿÿÿ ÿÿÿÿ ÿÿÿ
*&. ÿÿ.. ÿ&$$(þÿrÂ   c               
   C   s†  t dƒ} tttƒtdddƒtƒd  ttt| t	| ƒ ƒtdddƒƒtt| t	| ƒƒtdddƒƒƒ¡sft
‚tttƒtddƒtƒtttt tdƒ ƒttdƒtƒƒfks¦t
‚tttƒttj dƒtƒttttjƒ tƒfksÚt
‚tttƒt| tj| d  tjƒtƒttttdƒd ƒ ttdƒd ƒttdƒd	 ƒ ttdƒd	 ƒƒfk�sJt
‚tttƒtjtƒttt t d
¡t d
t¡ƒfk�s‚t
‚d S )NrŠ   éûÿÿÿé
   r³   éýÿÿÿr¯   r®   é   é   r   )r   rm   r(   r�   rQ   rž   rV   rP   r   r.   r¡   r*   rU   r   r0   r)   r   r½   r/   r+   rW   Ú	Naturals0rS   r1   r,   r¼   Úopen©rŠ   r–   r–   r—   Útest_invert_trig_hyp_realÛ   s$    þ
 ÿÿ
"Dÿ
ÿrË   c                   C   s´  t td ttƒtttd ƒfks$t‚t td ttƒtttd ƒfksHt‚t td d dtƒttdƒfkslt‚tt ttƒttƒtttt	t
dt t	 ttƒ  tttƒƒ ƒtjƒfƒs¸t‚t ttƒttƒttttƒƒfksÜt‚ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ tt ttƒt
tƒttttt	dt	 t t
tdtdƒ ƒ  ƒtjƒttt	dt	 t t t
tdtdƒ ƒ  ƒtjƒƒfƒ�s„t‚tt ttƒdt
 tƒttttt	dt	 t tdt
 ƒ ƒtjƒttt	dt	 t tdt
 ƒ ƒtjƒƒfƒ�sòt‚tt tdt ƒdtƒtttt	t	t d td	  ƒtjƒfƒ�s4t‚tt ttƒdt
 tƒtttt	t	t t
tdƒ  ƒtjƒfƒ�svt‚tt ttƒdtƒttttt	dt	 t
 t ƒtjƒttt	dt	 t
 t t
t  ƒtjƒƒfƒ�sØt‚tt ttƒdtƒttttt	dt	 t
 t t
t d  ƒtjƒttt	dt	 t
 t dt
 t d  ƒtjƒƒfƒ�sNt‚t ttƒdtƒttjfk�snt‚tt ttƒt tƒtt!tt"t d
ƒt"t dƒ@ ttt	t	t
 t t#t ƒ ƒtjƒƒfƒ�sÄt‚t t$tƒdtƒttjfk�sät‚tt t$tƒt tƒtt!tt"t d
ƒt"t dƒ@ ttt	t	t
 t tt ƒ ƒtjƒƒfƒ�s:t‚tt t%tƒdtƒttttt	dt	 t
 t t
t d  ƒtjƒttt	dt	 t
 t dt
 t d  ƒtjƒƒfƒ�s°t‚d S )Nr®   r³   r   r¯   c                   S   s   t dttƒS ©Nr³   )rk   r�   r�   r–   r–   r–   r—   r±   õ   r²   z%test_invert_complex.<locals>.<lambda>c                   S   s   t tttƒS r’   ©rl   r�   r–   r–   r–   r—   r±   ö   r²   c                   S   s   t ttdƒS rÌ   rÍ   r–   r–   r–   r—   r±   ÷   r²   é   rº   rÆ   )&rl   r�   r�   rS   r¡   r“   r$   rW   r   rŠ   r   r   r   r%   r   r   rÀ   r]   r¾   rC   rV   rP   r3   r?   r8   rD   r@   r0   r'   r(   r)   r¿   r}   rO   r   r/   r*   r+   r–   r–   r–   r—   Útest_invert_complexë   s`    $$$4ÿ$,0þ$$þ ÿ ÿ$þ(,þ  ÿÿ  ÿÿ(,þrÏ   c                   C   sl   t dddtd  d   tdƒdks(t‚t td tdƒdks@t‚t tttƒdksTt‚t dttƒdksht‚d S )Nr³   r¯   rº   Fr   T)rf   r�   r¡   r   r–   r–   r–   r—   Útest_domain_check  s    (rÐ   c                   C   sF   t dt d ttjƒtjks t‚t dt d ttjƒtdƒksBt‚d S )Nr   rµ   r³   )rn   r�   r   r¼   r¿   r¡   rS   r–   r–   r–   r—   Útest_issue_11536  s     rÑ   c                  C   sœ   t d td  d t d td  d  ddt d  td  td    } |  t ¡}|  t¡}|  t¡}t|||gt ttgƒ}t|ƒdkr”t|ƒdks˜t‚d S )Nr¯   é   é   )r�   r�   r‘   r	   rq   r¢   r¡   )r‚   ÚfxÚfyÚfzÚsolr–   r–   r—   Útest_issue_17479#  s    H


rØ   c                     sÒ   t dƒ\} }}| d |d  d | d |d  d  dd| d  |d  |d    }t|| ƒ}t||ƒ}t||ƒ}t|||g| ||gƒ}|D ]>\}}	}
| |||	||
i‰ t‡ fdd„|||fD ƒƒdksŽt‚qŽd S )Núx, y, zr¯   c                 3   s   | ]}|  ˆ ¡ ¡ V  qd S r’   )ÚsubsrY   )r•   Ú_©r€   r–   r—   r˜   <  s     z#test_issue_18449.<locals>.<genexpr>)r   r   r   )r   r	   rq   r›   r¡   )r�   r�   r‘   r‚   rÔ   rÕ   rÖ   r×   ÚxsÚysZzsr–   rÜ   r—   Útest_issue_184492  s    H


rß   c                  C   sÂ   dt  d tt d ƒd d  } t| t tjƒtdƒks:t‚tt ƒd d tt ƒd d  dt d   tdƒ } t| t tjƒttjtdtdƒ d ƒd  tjtdtdƒ d ƒd  ƒks¾t‚d S )Nr¯   r³   rÇ   rÆ   )r�   r3   rn   r   r¼   rS   r¡   r½   ©r‚   r–   r–   r—   Útest_issue_21047F  s     4 ÿrá   c                   C   sî  t tttƒtƒdkst‚t tttƒd tƒdks4t‚t tttƒttƒ tƒdksTt‚t tttƒttƒ t tƒdksxt‚t tttƒttƒ ttƒ tƒdks t‚t tttƒttt ƒ ttƒ tƒdksÌt‚t tttƒttt ƒ ttƒ tƒdksøt‚t ttttƒ d tƒdk�st‚t tttƒd ttƒ d tƒdk�sDt‚t tttƒt tƒdk�sbt‚t tttd ƒtƒdk�s€t‚t tttd ƒttƒ tƒdk�s¦t‚t tttƒttƒ tƒdk�sÈt‚t ttttƒƒttƒ tƒdk�sît‚t tttƒtƒdk�st‚t tttƒd tƒdk�s&t‚t tttƒt	tƒ tƒdk�sHt‚t tttƒt	tƒ t tƒdk�snt‚t tt	tƒttƒ t	tƒ tƒdk�s˜t‚t tt	tƒttt ƒ t	tƒ tƒdk�sÆt‚t tt	tƒttt ƒ t	tƒ tƒdk�sôt‚t ttttƒ d tƒdk�st‚t tttƒd t	tƒ d tƒdk�s@t‚t tttƒt tƒdk�s^t‚t tttd ƒtƒdk�s|t‚t tttd ƒt	tƒ tƒdk�s¢t‚t tttƒt	tƒ tƒdk�sÄt‚t ttt	tƒƒt	tƒ tƒdk�sêt‚d S )NTr³   r¯   F)
rj   r7   rD   r�   r¡   rC   r}   r&   r)   r'   r–   r–   r–   r—   Útest_is_function_class_equationO  sP    ÿÿ
 ÿÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿÿ
 ÿÿ

 ÿÿ

 ÿÿ
 ÿÿ
 ÿÿ
 ÿÿ
 ÿÿ

 ÿÿ
 ÿÿ
 ÿÿ
 ÿÿ
 ÿÿ
 ÿÿ
 ÿÿ
 ÿÿ

 ÿÿ

 ÿÿ
 ÿÿ
 ÿÿ
 ÿÿrâ   c                      sÔ   t tdd„ ƒ tddd�‰ tˆ dƒtjks.t‚tˆ d dƒtˆ ƒksHt‚tˆ tƒtjks\t‚tˆ ˆ d ƒtjkstt‚t t‡ fdd„ƒ t	ˆ tƒtjksšt‚t t‡ fd	d„ƒ t t‡ fd
d„ƒ t t‡ fdd„ƒ d S )Nc                   S   s   t tgtƒS r’   )re   r�   r–   r–   r–   r—   r±   ‹  r²   z$test_garbage_input.<locals>.<lambda>r�   Tr©   r³   r¯   c                      s   t ˆ gˆ ƒS r’   )rg   r–   r°   r–   r—   r±   ’  r²   c                      s   t ˆ tfˆ ƒS r’   )rn   r�   r–   r°   r–   r—   r±   •  r²   c                      s   t ˆ d tjƒS rÌ   )rn   r   r¼   r–   r°   r–   r—   r±   –  r²   c                      s   t ˆ d ˆ dƒS ©Nr³   r¯   )rn   r–   r°   r–   r—   r±   —  r²   )
r]   r¾   r   re   r   r¿   r¡   rS   r   rg   r–   r–   r°   r—   Útest_garbage_inputŠ  s    rä   c                  C   sÞ   t tt t ttƒd  tƒttdƒhtt t htj	ƒƒksBt
‚tddd�} tddd�}t | t | ttƒd  tƒt| |  tdƒƒks�t
‚t dt d dttƒ  tƒttd	ƒƒks¾t
‚t tttƒ tƒtjksÚt
‚d S )
Nr®   ÚanzT)ZnonzeroÚbbr©   r¯   rÎ   éüÿÿÿ)re   r}   r�   r~   r$   rV   r%   rT   r   r¼   r¡   r   rS   r¿   )rå   ræ   r–   r–   r—   Útest_solve_mulš  s    ÿÿ.rè   c                   C   sè   t ttƒd tƒttdƒƒks"t‚t ttƒd tƒttdƒƒksDt‚t dtd  tƒtƒ ks`t‚t ddt  tƒtƒ ks|t‚t ttttt ƒ  tƒt	t
jttttt ƒ ƒƒks¶t‚t dt d tƒtdtdƒtdƒ  ƒksät‚d S )Nr®   r¯   rÄ   r³   rÆ   )re   r$   r�   rS   r%   r¡   r�   r~   r}   rT   r   r¼   r–   r–   r–   r—   Útest_solve_invert¥  s    "" ÿ
ré   c               
   C   sÀ   t tttƒtj tƒtttt	t
d t	 t
d  ƒtjƒttt	t
d t	 t
d d  ƒtjƒƒƒsdt‚tttƒd tƒ 	d¡} tttƒtj tƒ 	d¡}dd„ | |fD ƒ}t |Ž s¼t| |fƒ‚d S )Nr¯   rÇ   rÆ   ç      à?c                 S   s    g | ]}|  d d„ dd„ ¡‘qS )c                 S   s   | j S r’   )Zis_Floatr°   r–   r–   r—   r±   »  r²   z-test_issue_25768.<locals>.<listcomp>.<lambda>c                 S   s   t | ƒ d¡S )Nr´   )r   Úlimit_denominatorr°   r–   r–   r—   r±   ¼  r²   )Úreplace©r•   r…   r–   r–   r—   Ú
<listcomp>º  s
   þþz$test_issue_25768.<locals>.<listcomp>)r“   re   rC   r�   r   r½   rV   rP   r   rŠ   r   rÀ   r¡   )Ún1Zn2Úeqr–   r–   r—   Útest_issue_25768³  s     $þ
þrñ   c                   C   s”   t ttƒtj tƒtttjƒƒks&t‚t ttƒd tƒttdƒƒksHt‚t ttƒtj	 tƒtt
tj	ƒƒksnt‚t t
tƒd tƒttdƒƒks�t‚d S ©Nr¯   )re   rE   r�   r   r½   rS   rH   r¡   rF   r·   rG   r–   r–   r–   r—   Útest_errorinversesÀ  s    ÿ
ÿÿró   c                  C   sÚ  t ddd�} t ddd�}td|  d | ƒttddƒƒks<t‚t| d d | ƒttj tjƒksbt‚t| |d  | ƒt|d ƒks„t‚t| d d|   d	 | ƒtd
dtj  td	ƒd
dtj  ƒksÆt‚tt| ƒd | ƒtdƒksät‚tt| ƒd | ƒtd	ƒk�st‚t| tdd	ƒ d | ƒtdƒk�s*t‚t| tddƒ d | ƒtdƒk�sPt‚t	t| d | d  d | ƒƒdk�sxt‚t	td
| d  d	| d   d|   d | ƒƒdk�s°t‚t| d | d	  t
 | ƒtjk�sÖt‚d S )Nr�   Tr©   r�   r®   r¯   r³   é   rÒ   éþÿÿÿé   é   rÆ   rÇ   r   )r   re   rS   r   r¡   r   r·   r½   r3   r¢   r   r¿   r¸   r–   r–   r—   Útest_solve_polynomialÊ  s"    $&"ý
 &&(8rø   c                  C   sN  t d dt d   dt d   dt   d } tt| t ƒƒ}|D ]}|jtks>t‚q>tttt d dt d   d t ƒƒd d	d
�tt d dt d   d dƒ ¡ ks¦t‚ttt d dt   d t ƒƒ}tdd„ |D ƒƒrât	|ƒdksæt‚t d dt d   dt d   dt   d } tt| t ƒƒ}|D ]}|jtk�s$t‚�q$t d dt d   dt d   t
ddƒ }t|t ƒtt|d dd� ¡ Ž k�sŽt‚t t d d  t d  t d t  d  }t|t ƒtdddtt d t  d dƒtt d t  d dƒtt d t  d dƒtt d t  d dƒtt d t  d dƒtt d t  d dƒƒ	k�sJt‚d S )NrÆ   rô   r®   r¯   rÄ   rÓ   é   r   F)ÚexponentrÇ   c                 s   s   | ]}t |tƒV  qd S r’   )r    rM   rí   r–   r–   r—   r˜   ñ  s     z&test_return_root_of.<locals>.<genexpr>rÒ   ZZZ©Údomainr³   rº   )r�   rš   rg   ÚfuncrM   r¡   r   rŠ   rœ   r¢   r   rS   rL   Z	all_roots)r‚   r«   Úrootr×   rð   r–   r–   r—   Útest_return_root_ofà  s:    ,	&ÿ ÿ",*ÿ
(ûÿrÿ   c                   C   s.  t tdt d ƒd t tƒttj tdƒƒks4t‚t ttd ƒt d tƒtdƒksZt‚t ttd ƒd tƒtdƒks|t‚t ttƒd d tƒtdƒksžt‚t ttd	 ƒtƒtd
ƒks¼t‚t ttd ƒtƒtdƒksÚt‚t ttd	 t ƒtƒtd	ƒksüt‚t ttd	 t ƒtddƒ tƒtdƒk�s*t‚d S )NrÆ   rÇ   r¯   r³   rù   rÄ   r÷   é1   r®   r   rÒ   )re   r3   r�   rS   r   r·   r¡   r   r–   r–   r–   r—   Útest_solveset_sqrt_1  s    ÿ&"""ÿr  c                     sà  t ddd�‰t ddd�} ttdˆ d ƒtˆd ƒ d ˆƒttdƒtd	ƒƒksTt‚ttˆd
 ƒd tdˆ ƒ ˆƒtdƒks‚t‚ttdˆ tˆd d ƒ ƒd
 ˆƒtdƒks´t‚ˆd ˆd dˆd   ˆ tddƒ  ‰ tˆ ˆƒttddƒtddƒƒk�st‚tdˆ d ƒtˆd ƒ tˆd ƒ ‰ tˆ ˆƒtdƒk�sDt‚tˆd ƒtdˆ d ƒ dtˆd ƒ  ‰ tˆ ˆƒtdƒk�sˆt‚tˆƒtˆd
 ƒ d ‰ tˆ ˆƒtdƒk�s¸t‚tˆd ƒtˆƒ d ‰ tˆ ˆƒtdƒk�sèt‚tdˆd  d
 ƒdˆ  ‰ tˆ ˆƒttdƒ tdƒƒk�s(t‚tdˆd  d ƒdˆ d  ‰ tˆ ˆƒtdƒk�s`t‚ttˆd ƒtˆƒ d ˆƒtƒ k�sŠt‚dˆ d tddƒ d ‰ tˆ ˆƒtdƒk�s¼t‚ttˆƒttˆƒƒ d ˆƒttddƒtdƒd  d ƒk�sþt‚tˆƒtˆd ƒ ttˆƒƒ ‰ tˆ ˆƒtƒ k�s4t‚ˆd d tˆƒd d  ‰ tˆ ˆƒtddƒk�sjt‚tˆƒtˆd ƒ tdˆ ƒ dtdƒ d  ‰ tˆ ˆƒ}tdƒ}tddƒ}t‡ ‡fdd„||fD ƒƒ�rt|ƒdk�rdd„ |D ƒdd„ ||fD ƒk�st‚ttˆƒˆtddƒ  ˆtddƒ  ˆƒtdƒk�s@t‚tˆtˆd d ƒ ˆƒtdƒk�sht‚ˆ| d  | d td| d  ƒ  ‰ tˆ ˆƒt| d ƒk�s¨t‚tddˆ tddƒ  d ˆƒttddƒƒk�sÜt‚d S )Nr�   Tr©   r�   r¯   r³   rÒ   rÆ   é   rù   r®   éúÿÿÿé   rº   é	   r   é   rö   rÎ   rç   rÇ   zÅ-1484/375 - 4*(-S(1)/2 + sqrt(3)*I/2)*(-12459439/52734375 +
    114*sqrt(12657)/78125)**(S(1)/3) - 172564/(140625*(-S(1)/2 +
    sqrt(3)*I/2)*(-12459439/52734375 + 114*sqrt(12657)/78125)**(S(1)/3))c                 3   s&   | ]}t ˆ  ˆ|¡ ¡ ƒd k V  qdS )g»½×Ùß|Û=N)ÚabsrÚ   rŠ   rí   ©rð   r�   r–   r—   r˜   J  s     z'test_solveset_sqrt_2.<locals>.<genexpr>c                 S   s   h | ]}|j d d�’qS ©T)ZchoprÊ   rí   r–   r–   r—   Ú	<setcomp>L  s     z'test_solveset_sqrt_2.<locals>.<setcomp>c                 S   s   h | ]}|j d d�’qS r	  rÊ   rí   r–   r–   r—   r
  M  s     i´~ûÿi©æ  )	r   re   r3   rS   r   r¡   r   rœ   r¢   )r�   ÚansÚraÚrbr–   r  r—   Útest_solveset_sqrt_2  sv    $ÿ ÿ$ÿ*&(,$ *ÿ
 0


ÿÿþÿÿÿ
($ÿr  c                  C   sF   t d dt d   tddƒ d t  } t| t ƒttddƒƒksBt‚d S )Nr®   r¯   r³   )r�   r   re   rS   r¡   ©rð   r–   r–   r—   Útest_solve_sqrt_fail\  s    &r  c                  C   s  t dƒ} tdƒ|  td| d  ƒ | d tdƒtd| d  ƒ d   }t|| ƒ}tddƒdtdƒ ttdtdƒ d	 ƒd ƒ d  tdƒ ttdtdƒ d	 ƒd ƒ d d
tdtddƒtdƒt d  td	dƒtdƒt d  tddƒ   ƒ d  tdƒttdtdƒ d	 ƒd ƒ d  tddƒ ttdƒ ttdtdƒ d	 ƒd ƒ d tdƒttdtdƒ d	 ƒd ƒ d  d
t	dtddƒtdƒt d  td	dƒtdƒt d  tddƒ   ƒ d    g}d
tdtddƒtdƒt d  td	dƒtdƒt d  tddƒ   ƒ d tdƒttdtdƒ d	 ƒd ƒ d  tdƒttdtdƒ d	 ƒd ƒ d  tddƒ td
t	dtddƒtdƒt d  td	dƒtdƒt d  tddƒ   ƒ d tdƒttdtdƒ d	 ƒd ƒ d  tdƒttdtdƒ d	 ƒd ƒ d    g}t
|Ž }t| t|dƒt
|Ž ƒ}||dh |dh B k�s^t‚ttt d t dt  tj d  ƒ ttd  d tdtd  dtd   dt  d ƒd  tddƒ d td d t tdtd  dtd   dt  d ƒd  tddƒ d  ƒ }tttttt d t dt  tj d  ƒttd  d tdtd  dtd   dt  d ƒd  tddƒ d td d t tdtd  dtd   dt  d ƒd  tddƒ d  ƒ dƒtjƒ}t|tƒ|k�s t‚d S )NÚRr¯   r³   rÆ   r®   rÒ   rÄ   éo   éû   é(   rº   r÷   r  é   r   rÎ   )r   r3   rg   r   r?   r=   r    r   rC   r   rS   rO   r   r¡   r‰   r‹   r   r½   r¼   re   )r  rð   r×   ÚfsetÚcsetÚfsÚcsÚunsolved_objectr–   r–   r—   Útest_solve_sqrt_3d  s†    @
4(Lÿ&þþ*&ÿLþýÿL&ÿ&ÿþN&ÿ&þý8"ÿÿÿÿ"ÿÿÿÿÿ,V*ÿÿÿÿþþr  c                	   C   sà   t td d d t tƒttdttƒ ƒtdttƒ ƒ tdttƒ ƒtdttƒ ƒ ƒks`t‚t ttdtt    tƒttt d t ƒtdt ƒ ksžt‚t ttt tt   tƒtt t tt  ƒtt ƒ ksÜt‚d S )Nr¯   r³   rº   )rg   r�   r}   rS   r3   r¡   r�   r~   r–   r–   r–   r—   Ú$test_solve_polynomial_symbolic_param†  s      ÿÿÿÿr  c                   C   sÀ   t dt d tƒttj ƒks"t‚t dttƒ d tƒtdƒksDt‚t tddt   tƒtdƒksft‚t dt td  d tƒtdƒksŒt‚t td dt   t¡tƒttjtdƒƒks¼t‚d S )Nr³   r   rÆ   r¯   rù   é   )	re   r�   rS   r   r·   r¡   r$   r	   ÚZeror–   r–   r–   r—   Útest_solve_rational”  s    """&ÿr  c                   C   s    t tdƒd tƒtjkst‚d S rÌ   )re   r3   r�   r   r¿   r¡   r–   r–   r–   r—   Útest_solveset_real_gen_is_pow�  s    r   c                   C   s  t dtt  ƒtjkst‚t tt tƒtjks2t‚t tt t tƒtjksNt‚tdtƒtjksbt‚tttƒtƒtjkszt‚ttd d tƒtjks–t‚tdt t	tƒ tƒtjks¶t‚tdt tƒtjksÎt‚tdt  dt d  ddt   tƒtjk�st‚d S )Nr³   rÒ   r¯   rÅ   )
rn   r   r�   r   r¿   r¡   re   r$   r}   r3   r–   r–   r–   r—   Útest_no_sol¡  s     &ÿr!  c                   C   sj   t dtƒtjkst‚tdttddƒƒtddƒks4t‚t td  dt  td d  d tƒtjksft‚d S )Nr   r³   r¯   )re   r�   r   r¼   r¡   rn   rU   r–   r–   r–   r—   Útest_sol_zero_real®  s     r"  c                   C   sP   t ttd  d d tƒtjks$t‚t td ddtd    tƒtjksLt‚d S )Nr³   r®   rõ   )re   r�   r   r¿   r¡   r–   r–   r–   r—   Ú test_no_sol_rational_extragenous´  s    $r#  c                   C   s¸   t ttƒd tƒtdƒkst‚t ttƒd tƒtdƒks<t‚t ttddƒ d tƒtdƒks`t‚t ttddƒ d tƒtdƒks„t‚t tttjd  d  tƒttjtdƒƒks´t‚dS )zŽ
    Test for solving on equations that can be converted to
    a polynomial equation using the change of variable y -> x**Rational(p, q)
    r³   r¯   rÒ   rö   r®   r÷   N)	re   r3   r�   rS   r¡   r   r   r·   r  r–   r–   r–   r—   Útest_solve_polynomial_cv_1a¹  s    $$ÿr$  c                  C   s|   t ddd�} t ddd�}t| |d  |d td|d  ƒ  | ƒt|d ƒksRt‚td|  | d  d | ƒtdƒksxt‚dS )	z)Test solveset_real for rational functionsr�   Tr©   r�   r®   r¯   r³   N)r   re   r3   rS   r¡   r¸   r–   r–   r—   Útest_solveset_real_rationalÆ  s    (
ÿr%  c                   C   s6   t ttd td  ƒtƒttdƒtdƒ ƒks2t‚d S rã   )re   r%   r�   rS   r3   r¡   r–   r–   r–   r—   Útest_solveset_real_logÐ  s    ÿr&  c                   C   s<   t ddtd  dt   d tƒttddƒtjƒks8t‚d S )NrÒ   r¯   rÎ   rÅ   )re   r�   rS   r   r   r½   r¡   r–   r–   r–   r—   Útest_poly_gensÕ  s     ÿr'  c                  C   sf  t dƒ} ttdd„ ƒ tttƒ|  ttjƒ t	tt
| tdtƒƒ|  | hƒ¡sPt‚tttƒd tƒtddƒkspt‚tttƒd tƒtjksŒt‚tttd ƒdttd ƒ  tƒtdd	ƒks¼t‚tdttƒ ttd ƒ tƒtd
tddƒƒksît‚t	ttt
ttdtƒƒt
tt tdtƒƒt
tt tdtƒƒƒtt t d t t d tt d tt d ƒƒ}tttd ƒt ƒt }t|dtƒd |k�sŽt‚tdtdi}| |¡}| |¡D ]}| t|¡�r®t‚�q®ttttttƒƒdƒttjd�tttdtƒtttt| d|  t dt d  ƒtjƒtt dƒƒttt| d|  t td  ƒtjƒtdtƒƒƒƒƒƒ�sbt‚d S )NrŠ   c                   S   s   t ttƒd tƒS rÌ   ©rn   r   r�   r–   r–   r–   r—   r±   Ü  r²   z test_solve_abs.<locals>.<lambda>r   r¯   rõ   r®   r³   r  rº   rû   ) r   r]   r¾   rn   r   r�   r   r¼   rž   rO   rN   rU   r   r¡   re   rS   r¿   r   rI   r~   r}   rk   rÚ   r“   r   rC   rV   rT   rP   r   r   rÀ   )rŠ   r×   rð   ZrepsZeqabÚsir–   r–   r—   Útest_solve_absÚ  sL    ÿ  ÿÿý0ú
 &
ÿ"ÿýÿr*  c                   C   s�   t tttƒd dttƒ  d tƒtttdt t td  ƒtj	ƒƒsJt
‚t tttƒd dttƒ  d tƒtttdt t ƒtj	ƒƒsŒt
‚d S ©Nr¯   r³   )r“   rn   rC   r�   rP   r   rŠ   r   r   rÀ   r¡   r?   r–   r–   r–   r—   Útest_issue_9824û  s    Jr,  c                   C   s6   t ttd td  ƒtddƒktƒtddƒks2t‚d S )Nr³   rÆ   r®   rº   r¯   )re   r   r�   r   rU   r¡   r–   r–   r–   r—   Útest_issue_9565   s    r-  c                  C   sD   t dtd  ƒd dk} t| tƒtt dd¡t dd¡ƒks@t‚d S )Nr³   r   r¯   )r  r�   re   rV   rU   rÉ   r¡   r  r–   r–   r—   Útest_issue_10069  s
    

 
ÿr.  c                  C   s‚   t ddd�\} }tt| d |d  ƒd | ƒtt|d d ƒ t|d d ƒƒksVt‚tt| d |d  ƒd | ƒtjks~t‚d S )Nza bTr©   r¯   r®   r  )r   re   r3   rS   r¡   r   r¿   ©r}   r~   r–   r–   r—   Útest_real_imag_splitting
  s    "ÿÿr0  c                   C   s.   t dt ddt   tƒtdt ƒks*t‚d S rã   )re   r�   rc   rS   r¡   r–   r–   r–   r—   Ú
test_units  s    r1  c                  C   sœ   t ddd�} tttƒ|  tƒtt| ƒƒks.t‚tttƒtt ƒ d tƒtttdƒ d ƒttdƒd ƒƒksrt‚tttƒtt ƒ |  tƒtj	ks˜t‚d S )Nr�   Tr­   rÒ   r®   r¯   )
r   re   r$   r�   rS   r%   r¡   r3   r   r¿   ©r�   r–   r–   r—   Útest_solve_only_exp_1  s    ""ÿr3  c                   C   s0   t ttdƒtd  tƒtdtdƒ ƒks,t‚d S ©Nr¯   r®   )re   r>   r�   r   rS   r3   r¡   r–   r–   r–   r—   Ú
test_atan2  s    r5  c                  C   s>  t td ttdƒfdt dfƒd } tt| tƒƒttddƒƒksDt‚t td dtd kfdt dtd kfƒ}tddd�}t|| tƒt| d |d ƒks t‚t td d tdkfd	ƒ}t|tt	j
d
�ttdƒtt dddƒƒksèt‚tt td tdkftdfƒt tt	j
ƒtt dƒk�s"t‚tt td tttƒftdfƒtƒtdƒk�sRt‚t dtdkfd	ƒ}t|dktt	j
ƒt dt¡k�sˆt‚ddlm} |ƒ }t|ttddƒd
�tddƒk�s¾t‚t dttdƒftd ttƒ dfƒ}t dtttƒftt ttƒ dfƒ}t|tt	j
d
�tdƒk�s$t‚t|ƒttƒk�s:t‚d S )Nr¯   Tr®   rº   rÆ   r   r�   r­   ©r   Trû   r³   rÄ   )ÚBooleanTruerÅ   )r6   r�   r   Úsetre   rS   r¡   r   rn   r   r¼   rV   rU   r   r   r   rÉ   Úsympy.logic.boolalgr7  r   r   r   rC   )rð   Zabsxm3r�   r‚   rƒ   r7  r–   r–   r—   Útest_piecewise_solveset$  s6    $ þ&.  ÿ
þ
0$$$$r:  c                
   C   sX  t ttd  tt  t tƒtt dt  tdt t td  ƒdt   t dt  tdt t td  ƒdt   ƒks€t‚t ttd  tƒttt	ddƒ  d t
tdƒ tt	ddƒ  d  tt	ddƒ tt	ddƒ  d t
tdƒ tt	ddƒ  d  ƒk�s
t‚t tdt  d tƒttjt
tdƒ d  tjt
tdƒ d  ƒk�sTt‚d S )Nr¯   rç   r®   r³   )rg   r}   r�   r~   r   rS   r3   r¡   r�   r   r   r   r½   r–   r–   r–   r—   Ú test_solveset_complex_polynomialF  s    .,ÿÿ00ý,ÿr;  c                   C   s   t dtƒtjkst‚d S ©Nr   )rg   r�   r   Ú	Complexesr¡   r–   r–   r–   r—   Útest_sol_zero_complexT  s    r>  c                   C   s¾   t td tt  td  tƒtdtƒks,t‚t ttd  td tdtd  ƒ  tƒttd ƒksft‚t td  t tƒttdƒ d tdƒt d  tdƒd tdƒt d  ƒksºt‚d S ©Nr³   r®   r¯   )rg   r�   r   rS   r¡   r�   r3   r–   r–   r–   r—   Útest_solveset_complex_rationalX  s    ÿ(
ÿ:ÿr@  c                  C   s¸   t dƒ td dtd   dtd   dt  d } t| tƒ}|D ]&}|  t| ¡ ¡ ¡ }t|d	ƒsBt‚qBtd d
t  d } t| tƒ}|D ]&}|  t| ¡ ¡ ¡ }t|d	ƒsŒt‚qŒd S )NzThis test is too slowrÆ   én   r®   é7   r¯   i	  iÓ  r   rô   r  )r^   r�   rg   rÚ   rŠ   Útnr¡   )r‚   r«   rþ   Úresr–   r–   r—   Útest_solve_quinticsb  s    ,

rE  c                	   C   sÈ   t tttƒd tƒttttd t t ƒt	j
ƒƒs6t‚t tttƒt tƒttttdt t td   ƒt	j
ƒƒstt‚tdttƒ tƒt	jks�t‚t tttƒ t¡tƒttttt t ƒt	j
ƒƒsÄt‚d S rã   )r“   rg   r$   r�   rW   r   rŠ   r   r   r   rÀ   r¡   r¿   r'   Úrewriter–   r–   r–   r—   Útest_solveset_complex_expq  s    ÿ$ÿÿrG  c                   C   sH  t tdt dƒttjƒtdƒks$t‚t tdt  dƒttjƒtjksHt‚t tdt dƒttjƒtjksjt‚t tdtd  dƒttjƒtd	ƒks’t‚t tdtd	  d
ƒttjƒtjks¸t‚t tdtd	  dƒttjƒtdƒksàt‚t tdt tƒttjƒt	tjtt
tƒt
dƒ ƒƒk�st‚tddt  d dtƒttdƒfk�sDt‚d S )Nrõ   rÒ   r¯   rÅ   r÷   rÃ   r³   iq  r®   éðÿÿÿlûÿÿÿx¿pÂEìA é*   rö   r   )rn   r   r�   r   r¼   rS   r¡   r¿   r�   rT   r%   rk   r–   r–   r–   r—   Útest_solveset_real_exp{  s    $$"(&(:rJ  c                   C   sh   t ttƒtƒtdƒkst‚t dttdtd   ƒ tƒttt t ƒ d tt t ƒd ƒksdt‚d S )Nr³   rÒ   r¯   )rg   r%   r�   rS   r¡   r}   r3   r   r–   r–   r–   r—   Útest_solve_complex_log‡  s    &ÿrK  c                   C   s°   t tdt d ƒd t tƒttj tdƒƒks4t‚t tdt d ƒddt   t tƒttdƒ ddt  ƒksvt‚t dt dtttƒ   tƒttj	dtd  ƒks¬t‚d S )NrÆ   rÇ   r¯   r®   rÒ   r³   )
rg   r3   r�   rS   r   r·   r¡   r   r}   r  r–   r–   r–   r—   Útest_solve_complex_sqrt�  s    ÿ$ÿÿrL  c               	   C   sV   t ttƒ t¡tƒ} t| tttt	t ƒt
jƒtttt	t t	d  ƒt
jƒ ƒsRt‚d S rò   )rg   rD   r�   rF  r$   r“   rW   r   rŠ   r   r   rÀ   r¡   )r«   r–   r–   r—   Útest_solveset_complex_tan–  s    ÿrM  c                   C   s
  t tttƒtƒttttdt t ƒt	j
ƒtttdt t t ƒt	j
ƒƒƒsNt‚t tttƒd tƒtttdt t td  ƒt	j
ƒƒsˆt‚t tttƒtƒttttdt t td  ƒt	j
ƒtttdt t ttddƒ  ƒt	j
ƒƒƒsèt‚t tttƒttƒ tƒttttdt t ttddƒ  ƒt	j
ƒtttdt t ttddƒ  ƒt	j
ƒƒƒ�sXt‚tttƒd ttƒd  tƒt	jk�s‚t‚t tttƒt	j tƒttttdt t ttddƒ  ƒt	j
ƒtttdt t td  ƒt	j
ƒƒƒ�sêt‚t tttt ƒttƒ tt	jd�ttt	dƒttƒkttƒt	dƒk@ ttttdt t t tttƒƒ ƒt	j
ƒtttdt t t tttƒƒ t ƒt	j
ƒƒƒƒ�s�t‚t ttdt ƒttƒ tdt ƒttƒ  d tƒttttt tddƒ td	  ƒt	j
ƒƒ�sòt‚t tdttƒ ttƒ d tƒttttdt t ttdƒtdtd
ƒ ƒ dtd
ƒ  ƒ t ƒt	j
ƒtttdt t ttdƒtdtd
ƒ ƒ dtd
ƒ  ƒ t ƒt	j
ƒƒƒ�s¦t‚t ttdt ƒtdt ƒ d tƒttttt ƒt	j
ƒƒ�sæt‚t tttd ƒtddƒ ƒttttdt t dtt	dƒd ƒ  dt  ƒt	j
ƒtttdt t dtt	dƒd ƒ  dt  ƒt	j
ƒƒƒ�svt‚t tttd ƒttd ƒ ƒttttdt t dt d  ƒt	j
ƒtttdt t dt d  ƒt	j
ƒtttdt t dt d  ƒt	j
ƒtttdt t dt d  ƒt	j
ƒtttdt t dt d  ƒt	j
ƒtttdt t dt d  ƒt	j
ƒƒƒ�sxt‚t tttdƒt d ƒd ƒttttdtdƒ dt t tdƒ  d ƒt	j
ƒtttdtdƒ dt t tdƒ  d ƒt	j
ƒƒƒ�st‚t ttttt ƒttd t ƒ ƒƒttttdt d ƒt	j
ƒtttdt d ƒt	j
ƒtttdt tddƒ ƒt	j
ƒtttdt tddƒ ƒt	j
ƒtttdt tddƒ ƒt	j
ƒtttdt tddƒ ƒt	j
ƒƒƒ�sÜt‚t ttdt ƒƒttttdt t d td  ƒt	j
ƒtttdt t d td	  ƒt	j
ƒƒƒ�sBt‚t ttdt ƒtdt ƒ tt	jƒtttttt d td  ƒt	j
ƒttttt d dt d  ƒt	j
ƒttttt d dt d  ƒt	j
ƒttttt d dt d  ƒt	j
ƒttttt d dt d  ƒt	j
ƒttttt d td  ƒt	j
ƒƒƒ�sBt‚t tdttƒ tdt ƒ d tƒttttdt t dttddtddƒ  ddtdƒ  tddƒ  ddtddƒ   dddtdƒ  tddƒ   ƒdddtdƒ  tdd	ƒ   ƒ  ƒt	j
ƒtttdt t dttddtddƒ  ddtdƒ  tddƒ  ddtddƒ   dddtdƒ  tddƒ   ƒdddtdƒ  tdd	ƒ   ƒ  dt  ƒt	j
ƒƒƒ�	s¶t‚t ttttd t ƒt	j tt	jƒƒttttdt d ƒt	j
ƒtttdt d ƒt	j
ƒƒƒ�
st‚d S )Nr¯   r³   r®   rÒ   rù   rÆ   rû   rº   rÇ   r  rÄ   rÓ   rô   r  é-   éK   éi   rÃ   é   r  é   rÎ   r  rö   rõ   éC   é9   é´   ih  é–   )r“   re   rC   r�   rV   rW   r   rŠ   r   r   rÀ   r¡   r?   r   r¿   rg   r½   rn   r�   r}   r¼   rO   rP   r<   rD   r=   r3   rB   r;   rY   r@   r–   r–   r–   r—   Útest_solve_trigœ  s   ÿÿ ÿ"&ÿÿ(&ÿÿ
*( ÿÿ
 $(,þÿ
2&ÿ
 (
ÿÿÿ(
ÿÿÿý"ÿ
44þ$$$$$$ú00þ&ú$$þ$ $$$$ ú
"*
ÿÿÿ
ÿÿÿþ
þ(
ÿÿÿ
ÿÿÿþýýýÿ

&þrW  c                  C   s„  t dƒ} ttdt d ƒtdƒd  tƒ ttt| | t	 tdƒd  dt	 d  ƒtj
ƒtt| | t	 tdƒd  dt	 d  ƒtj
ƒƒ¡sŽt‚ttdt d ƒtdƒd  tƒ ttt| | t	 tdƒd  dt	 d  ƒtj
ƒtt| | t	 tdƒd  dt	 d  ƒtj
ƒƒ¡�st‚tttƒtt	d ƒ tƒ tt| | t	 t	d  ƒtj
ƒ¡�sVt‚tttƒtt	d ƒ tƒ tt| | t	 t	d  ƒtj
ƒ¡�s–t‚tdtdt ƒ d	 tƒtttd	ƒd ƒ d ttd	ƒd ƒd ƒk�sât‚tdtdt ƒ d	 tƒ ttt| | t t	 ttd	ƒd ƒd  ƒtj
ƒtt| | t t	 ttd	ƒd ƒd  ƒtj
ƒƒ¡�sbt‚tttd ƒd tƒttdƒd ƒk�sŽt‚tttd ƒd tƒ ttt| d|  t t	 tdƒ d ƒtj
ƒtt| d|  t t	 tdƒ d tt	  ƒtj
ƒƒ¡�s
t‚ttttƒƒtt	d ƒ tƒ ttt| td|  t	 t	d  ƒƒtj
ƒtt| td|  t	 d
t	 d  ƒƒtj
ƒƒ¡�s‚t‚ttttƒƒtt	d ƒ ttddƒƒttd
t	 d ƒtdt	 d ƒƒk�sÐt‚tttd d ƒd tƒttdtdƒ ƒ tdtdƒ ƒƒk�st‚tttƒd tƒtjk�s2t‚tttƒd tƒtjk�sPt‚tttƒtƒtjk�sjt‚tttƒtƒtjk�s„t‚tttƒd tƒtjk�s¢t‚tttƒtƒtjk�s¼t‚tttƒd tƒtjk�sÚt‚tttƒtƒtjk�sôt‚tttƒd tƒtjk�st‚tttƒdƒtjk�s,t‚tttƒdƒtjk�sFt‚tttƒdƒtjk�s`t‚tttƒdƒtjk�szt‚ttttƒƒd tƒtt dƒ t dƒƒk�sªt‚tttd d ƒt!dƒ tƒttt"t!dƒƒd ƒ tt"t!dƒƒd ƒƒk�sút‚ttt#tƒƒd tƒtt!t$dƒ ƒƒk�s(t‚ttt!tƒƒd tƒtjk�sJt‚tttƒtd  tƒ ttt| dt t	 |  d	t t	 d  ƒtj
ƒtt| dt t	 |  tt	 d  ƒtj
ƒƒ¡�sÂt‚tttd ƒt%ddƒ tƒ ttt| d|  t t	 dttdƒd ƒ  ƒtj
ƒtt| d|  t t	 dttdƒd ƒ  dt t	  ƒtj
ƒƒ¡�sXt‚tttdƒt d ƒd	 tƒ ttt| dtdƒ d|  t t	 t&dƒ  d ƒtj
ƒtt| dtdƒ d|  t t	 t&dƒ  d ƒtj
ƒƒ¡�sìt‚ttdt ƒtƒ ttt| d|  t t	 d tt	 d  ƒtj
ƒtt| d|  t t	 d tt	 d  ƒtj
ƒƒ¡�sdt‚td	 dt  d  'ttt(ƒ¡}t|t(tj)ƒ ttt| | t t	 t$t*td	 dt  d dƒƒ ƒtj
ƒtt| | t t	 t$t*td	 dt  d dƒƒ ƒtj
ƒtt| | t t	 t$t*td	 dt  d dƒƒ ƒtj
ƒtt| | t t	 t$t*td	 dt  d dƒƒ ƒtj
ƒtt| | t t	 t$t*td	 dt  d dƒƒ ƒtj
ƒƒ¡�	s®t‚t|t(tj+ƒtt$t*td	 dt  d dƒƒt$t*td	 dt  d dƒƒƒk�
s t‚ttdƒd  td   ,¡  'tttƒ¡}t|ttj)ƒ ttt| d|  t	 t-dƒ ƒtj
ƒtt| d|  t	 t-dƒ ƒtj
ƒtt| d|  t	 t	d  ƒtj
ƒtt| d|  t	 dt	 d  ƒtj
ƒƒ¡�
sÈt‚t|ttj+ƒ ttt| d|  t	 t	d  ƒtj
ƒtt| d|  t	 dt	 d  ƒtj
ƒƒ¡�s(t‚tdttdƒt d ƒd  dttdƒt d ƒ  ƒ ttt| tdƒd|  t	 d t.tƒ  d ƒtj
ƒtt| tdƒd|  t	 d t.tƒ  d ƒtj
ƒtt| tdƒd|  t	 d t.t ƒ  d ƒtj
ƒtt| tdƒd|  t	 d t.t ƒ  d ƒtj
ƒƒ¡�s2t‚t/ttdt ƒtdƒd  d ttddƒƒtdddt	  ddt	  ƒƒ�s€t‚d S )NrŠ   r¯   r®   r³   r  r  r  rÄ   rÆ   é   é   rº   r   é÷ÿÿÿrÇ   rÒ   rÓ   rÃ   r  rR  rõ   rQ  g…ëQ¸	@gƒÀÊ¡E¶@g|º^z¯ÏÙ?gœŠçšÕaÔ?gœŠçšÕaä?)0r   re   rC   r�   r   rž   rV   rP   r   r   rÀ   r¡   rg   rD   r(   rS   r.   r   r'   r-   r?   rn   rU   r3   r¿   rB   rA   r*   r+   r)   r,   r  r2   r$   r/   r%   r0   r   r1   rÚ   r‘   r=  rM   r¼   Úexpandr8   r;   r   )rŠ   rð   r–   r–   r—   Ú test_solve_trig_hyp_by_inversionù  sÞ    $,,þ
$,,þÿ
ÿ
 ÿ,,þ
ÿ(0þ $(þ$ ÿ
 ÿ0 ÿ.",(þ0<þ 44þ,,þ 66666û ÿ(   $ü $þ:0022ü*
ÿÿr\  c                  C   sš  t ttƒttjƒtdƒkst‚t ttƒttjƒ t	t
ttdt t t ƒtjƒt
ttdt t t tt  ƒtjƒƒ¡s|t‚t ttt ƒttjƒ t	t
ttdt t t t ƒtjƒt
ttdt ƒtjƒƒ¡sÒt‚t ttt ƒtƒ t	t
ttdt t t t ƒtjƒt
ttdt ƒtjƒƒ¡�s&t‚t ttdt dt  ƒ tƒ t
tttt d dt d  t ƒtjƒ¡�svt‚tt tdt ƒd ttddt ƒƒtddt ddt  dt ƒƒ�s¾t‚t	t
tttt d ƒtjƒt
tttt d ƒtjƒƒ} t tdt ƒd ttjƒ}| | t¡ ¡ t¡}t|| ƒ�s4t‚t tdt ƒd ttjƒ}| | t¡ ¡ t¡}t|| ƒ�stt‚t ttƒtdƒ ttdtd ƒƒtttdƒƒƒk�s¬t‚t ttƒt ttdtd ƒƒtttƒƒk�sÜt‚t ttƒt ttjƒ tttd	ƒtkttd
ƒk@ t	t
ttdt t ttƒ ƒtjƒt
ttdt t ttƒ ƒtjƒƒƒ¡�s\t‚t tt tƒƒttdd
ddƒƒ t	t!t
ttt"dt t ƒƒtjƒt #dd
¡ƒt!t
ttt"dt t t ƒƒtjƒt #dd
¡ƒƒ¡�sàt‚t ttƒtd
ƒ ttjƒ t	t
ttdt t d
 ƒtjƒt
ttdt t d
 t ƒtjƒƒ¡�sDt‚t ttƒtdƒd  ttjƒ t	t
ttdt t t$tdƒd ƒ ƒtjƒt
ttdt t t$tdƒd ƒ t ƒtjƒƒ¡�sÄt‚t ttƒt%dƒ ttjƒtt&t%dƒƒƒk�sôt‚t t'ttƒtƒttjd� ttt( tk tt(k @ t
tttt ttƒ ƒtjƒƒ¡�sJt‚t)ddd�}t t'ttƒ|ƒttjd� t
tttt t|ƒ ƒtjƒ¡�s–t‚d S )Nr   r¯   rÎ   r  rö   rê   ggs-8RÁà?ggs-8RÁà¿rº   r³   TFrÆ   r®   rû   rŒ   r©   )*rn   r'   r�   r   r¼   rS   r¡   r=  rž   rV   rP   r   rŠ   r   r   rÀ   rC   r@   r   r   r?   rU   rÚ   Zatomsr   ÚpoprD   r3   r=   r�   rO   r8   r%   rT   r$   ÚLopenr<   r(   r-   r   r   r   )r×   ÚretrŒ   r–   r–   r—   Útest_old_trig_issues[  s|    $þ
 þ
 þ(ÿ
$ 
 þÿ80  þÿ
,.ÿÿ
 þ (,þ0ÿÿ
ÿr`  c                  C   s  t dƒ} tttƒttƒ tƒtjks(t‚tttƒttƒ tƒt	tt
ttƒttƒ dƒtjƒksbt‚tttƒttƒ tƒttttdƒd ƒƒƒks”t‚ttdt ƒdttƒ  d tƒttdtdƒ ƒtdtdƒ ƒƒksÜt‚tttƒtdt ƒ ttƒ d tƒtttjtdƒd  ƒtdtdƒ ƒƒk�s0t‚tttƒttƒ d tƒttdtd	ƒ ƒd ƒk�sht‚tttƒttƒ d tƒtttdƒd ttdƒ d tdƒ ƒ ƒƒk�s¶t‚ttttƒttƒ tƒttt| d|  t t ttdtdƒ ƒƒ ƒtjƒtt| td|  t td   ttdtdƒ ƒƒ ƒtjƒtt| td|  t t  ttdtdƒ ƒƒ ƒtjƒtt| td|  t td   ttdtdƒ ƒƒ ƒtjƒƒƒ�s®t‚ttttd
 ƒttd ƒ ƒttt| d
t d|  t td   ƒtjƒtt| d
t d|  t td   ƒtjƒtt| d
t d|  t dt d   ƒtjƒtt| d
t d|  t dt d   ƒtjƒtt| d
t d|  t td   ƒtjƒtt| d
t d|  t td   ƒtjƒƒƒ�sÐt‚ttttt ƒttd t ƒ ƒttt| dt d|  t td   t ƒtjƒtt| dt d|  t td   t ƒtjƒƒƒ�sVt‚tttƒtdt ƒ tdt ƒ ttjƒ t	tt
ttƒtdt ƒ tdt ƒ dƒtjƒ¡�s¸t‚ttdt ƒtdt ƒ ƒ t	tt
tdt ƒtdt ƒ dƒtjƒ¡�st‚d S )NrŠ   r   rÆ   r¯   rõ   r³   r®   rÒ   r  rô   rÎ   r  )r   rn   r'   r�   r(   r   r¿   r¡   r?   rO   r   r=  re   r+   rS   r%   r3   r*   r½   r)   r“   rg   rV   rP   r   r   r   rÀ   r¼   rž   rÊ   r–   r–   r—   Útest_solve_hyperbolic   sd      ÿ
ÿ
" ÿ
& ÿÿ(ÿ0848ü((,,((ú",,þ*$ ÿÿ
&ÿra  c                  C   sº  t tttt ƒtƒttttdƒttt	t
dt
 t t t ƒtjƒtt	t
dt
 t t ƒtjƒƒƒƒsht‚t tttt ƒtƒttttdƒttt	t
tdt
 t t tt d   ƒtjƒtt	t
tdt
 t t dt t d   ƒtjƒƒƒƒsðt‚t ttdtdƒ d td  tt  t ƒtdtdƒ d td  tt  t ƒ tƒttttdƒttd dƒ@ ttt	t
tdƒt t dt
 t td   dtd   ƒtjƒtt	t
tdƒt t dt
 t dt d   dtd   ƒtjƒtt	t
tdƒt t dt
 t td   dtd   ƒtjƒƒƒƒ�s(t‚t tttd d t ƒd tƒttttd d dƒttt	t
dt
 t t tdƒ td d  ƒtjƒtt	t
dt
 t t tdƒ td d  ƒtjƒƒƒƒ�sÊt‚tdd	d
�} tt| d d t ƒd ttjƒttdƒ | d d  tdƒ| d d  ƒk�s*t‚t tttdt t ƒtddt  t ƒ tƒƒttt	t
tdt  dt
 d  d ƒtjƒtt	t
tdt  dt
 d  d ƒtjƒƒƒ�s¶t‚d S )Nr   r¯   r®   rÒ   rÆ   rÇ   r³   ÚarTr©   )r“   rn   rC   r}   r�   rO   r   rV   rP   r   rŠ   r   r   rÀ   r¡   r(   r   r3   r~   r?   r.   r   r¼   rS   rY   r@   )rb  r–   r–   r—   Útest_solve_trig_hyp_symbolicË  sH      þ ,0þ*&ÿÿ<@<ýþ
   00þÿ" ÿ0((þrc  c                  C   s\  t tttƒttƒ d tƒttttdt t	 t
 ttdƒd ttj tdƒ ƒ ƒ ƒtjƒtttt	dt t
 ttdƒttjtdƒ ƒ ƒ t
  ttdtdƒ ƒƒ ƒtjƒtttt	dt t
 t
  ttdƒ d ttj tdƒ ƒ ƒ ƒtjƒtttt	dt t
 t
 ttdƒttjtdƒ ƒ ƒ  ttdtdƒ ƒƒ ƒtjƒƒƒ�sRt‚ttƒ t¡} ttƒ t¡}t t| | d tƒtttttt	dt t
 t
  ttdƒ d ttj tdƒ ƒ ƒ ƒtjƒtttt	dt t
 t
  d ƒtjƒƒttttt	dt t
 t
 ttdƒttjtdƒ ƒ ƒ  ttdtdƒ ƒƒ ƒtjƒtttt	dt t
 t
  d ƒtjƒƒttttt	dt t
 ttdƒttjtdƒ ƒ ƒ t
  ttdtdƒ ƒƒ ƒtjƒtttt	dt t
 t
  d ƒtjƒƒttttdt t	 t
 ttdƒd ttj tdƒ ƒ ƒ ƒtjƒtttt	dt t
 t
  d ƒtjƒƒƒƒ�sXt‚d S rã   )r“   rn   r'   r�   r)   rV   rP   r   rŠ   r   r   r%   r3   r   r½   rÀ   r=   r¡   rF  r$   rR   )Úf1Úf2r–   r–   r—   Útest_issue_9616ë  sT    @6ÿÿF6ÿÿû> ÿ$þ8ÿÿ$þ8ÿÿ$þ@$þörf  c                   C   s<   dt ttƒt tƒkst‚dtttƒd t tƒks8t‚d S ©Nr   r³   )re   rC   r�   r¡   rg   r$   r–   r–   r–   r—   Útest_solve_invalid_sol  s    rh  c                  C   s¢   t dƒ} ttttƒtƒtt| | t ƒtj	ƒƒs2t
‚ttttƒtƒtt| | t td  ƒtj	ƒƒsdt
‚ttttƒttƒ tƒtt| | t td  ƒtj	ƒƒsžt
‚d S )NrŠ   r¯   rÒ   )r   r“   re   rC   r�   rW   r   r   r   rÀ   r¡   r?   rÊ   r–   r–   r—   Útest_solve_trig_simplified	  s    ÿÿÿri  c                  C   sÔ  t tttƒ d tƒttdƒƒks&t‚t ttƒt tƒttdƒ ƒksJt‚t tdt  tƒtttdƒƒ tdƒ ƒkszt‚t dt d ddt d   tƒ} | ttddƒtddtddƒ  tdƒ d ƒdtdƒ   ƒksàt‚ddt d d  dd	dt d
    }t |tƒ}ttdƒdttd	d	dtddƒ  d  ƒ ƒ  dtd	ƒ  d ƒ} || k�sdt‚t | ¡ tƒ|k�s|t‚t dt d dtdd	t  ƒ  tƒttddƒtdttddƒƒ d ƒd	  ƒk�sÔt‚t dt d tdt d ƒ tƒttddƒtdttddƒƒ d ƒd  ƒk�s(t‚t dt tdt ƒ tƒtttddƒƒd ƒk�s^t‚t tt d ƒttttdƒƒƒƒk�sˆt‚t	dƒ}t | t dt ttƒ  tƒtt|d ƒƒk�sÆt‚t	ddd�}t |t ttd ƒ tƒtdt| d ƒ ƒk�st‚t |t ttd ƒ  
t¡tƒtdttdƒt|ƒ d ƒ ƒk�sNt‚t ttd ƒttd ƒ d tƒtjk�s|t‚t td dt  d  tttƒdt  ¡tƒttdtj ƒd ƒk�sÆt‚t td dt  d  tttƒdt  d d ¡tƒttdttdƒ ƒ ƒd tdttdƒƒ ƒd ƒk�s6t‚t td dt  d  tttƒdt  ¡tƒttdtdtdƒ ƒ ƒd tdttdƒ d ƒ ƒd ƒk�s¦t‚t tttƒ dt  d tƒttdttdƒ ƒ ƒƒk�sät‚tttƒ d  ttttƒ ¡}t |tƒttdttdƒ ƒ ƒƒk�s.t‚t dt|dt d  ƒ |dt d   tƒtt|d ƒttddƒƒ dt|ƒ   ƒk�sŽt‚tddd�}t dt|dt d  ƒ |dt d   tƒttdtddƒ  dtddƒ t  ttddƒƒtddƒ  d|tddƒ   ƒt|ƒ tdtddƒ  dtddƒ t  ttddƒƒtddƒ  d|tddƒ   ƒt|ƒ tdttddƒƒ |d  ddt|ƒ   ƒƒk�s¬t‚t	dƒ}dt|dt d  ƒ |t|dt d  ƒ  |dt d   }t |tƒtt|d ƒtd|d  ƒ dt|ƒ   ƒk�s2t‚t |t ttd ƒ  
td¡tƒtdtdtddƒ |tddƒ  d ƒ ƒk�s†t‚t td dt  tƒtdtdƒ ttdƒ d ƒ ƒk�sÄt‚t dttƒ ttƒd  ƒttdttdƒ d ƒ tdƒ ƒƒk�st‚t td dt  tƒt td  dt  tƒk�s@t‚t dttƒ ttdƒ  ƒtdttdƒ d ƒ tdƒ dttdƒ d dƒ tdƒ ƒk�s¢t‚t tdt ƒt ƒttttƒ d ƒk�sÐt‚d S )Nr³   r¯   r®   rÆ   rÃ   i ØÿÿrÒ   rÇ   rù   r  ia	  rº   iëÿÿÿiíÿÿÿr}   Tr©   rÅ   r»   r­   r~   )re   r�   r$   rS   r#   r¡   r%   r   r[  r   r	   r3   r)   r   r¿   rÚ   ZExp1r   r   r?   r8   r�   )r  rð   Úresultr}   r»   r~   r–   r–   r—   Útest_solve_lambert  s¶    &$ÿ",ÿ(
&ÿ
ÿÿ$*ÿ
 *ÿ
ÿ
*6ÿ
ÿ
.,ÿ
42ÿ
,:ÿ
ÿ
 ÿ
,*ÿ
,VV,ýÿ
@
(ÿ"&ÿ ÿ
 ÿÿ
þÿrk  c                  C   sN   t ddƒ} tt|  | t  tƒt| |  tt| ƒ |  ƒ t| ƒ ƒksJt‚d S )NrÇ   rÆ   )r   re   r�   rS   r#   r%   r¡   )r}   r–   r–   r—   Útest_other_lambertm  s
    
 ÿrl  c                  C   sj  t dƒ} ttdd„ ƒ ttdƒtjks*t‚t| dƒd t d | dƒƒt	t
t d ƒ t
t d ƒƒkslt‚t| dƒd d | dƒtjƒt	ddƒks˜t‚t| dƒd d | dƒƒt	t tƒksÂt‚ttd dƒt	tƒksÜt‚tttƒttƒ ttƒƒt	ttƒƒk�st‚tdtjd�tjk�s"t‚tdƒtjk�s6t‚td	tjd�tjk�sPt‚td
tjd�tjk�sjt‚tttƒd tjd�t	dƒk�sŽt‚tttƒd ttjƒt	dƒk�s²t‚ttttƒdƒttjƒt	dƒk�sØt‚tttƒd ttƒtjƒt	dƒk�s t‚tdtƒ}t|d |tjƒt	dƒk�s*t‚ttd dkttjƒtdtƒk�sPt‚tttƒd dkttjƒtdtƒk�szt‚ttttƒd tƒtttdt t t ƒtjƒƒ�s²t‚tttttƒdƒtƒtttdt t t ƒtjƒƒ�sìt‚ttd | dƒ d tƒt
| dƒ d ƒ t
| dƒ d ƒhk�s2t‚ttttƒƒdktt dt¡d�t dt¡k�sft‚d S )Nr‚   c                   S   s   t tt ƒS r’   )rn   r�   r�   r–   r–   r–   r—   r±   w  r²   ztest_solveset.<locals>.<lambda>r³   r¯   rº   r   rû   TFÚA)r   r]   r¾   rn   r�   r   r¿   r¡   r�   rS   r3   r¼   r   rC   r?   r$   r   rZ   rU   r   r“   rW   r   rŠ   r   rÀ   r=   r%   rÉ   )r‚   rm  r–   r–   r—   Útest_solvesett  s8    ÿ,*,$$&(
 &*8*ÿFrn  c                  C   s€  t dƒ\} }}tttttƒƒd tƒtt| tfftd|  t	 t
dt t t	 tdƒ ƒ  ttdt t t	 tdƒ ƒƒ ƒttjtjƒƒƒs’t‚ttttttt t ƒƒ t tƒtttt t t ƒtt| tfftd|  t	 t
tdt t	 t
t t ƒ  tttt ƒƒ ƒ  tttdt t	 t
t t ƒ  tttt ƒƒ ƒƒ ƒttjtjƒƒƒƒ�sft‚tttttttt t ƒƒƒ t tƒtttt t t ƒtt|| tfftd| t	 t
td|  t	 t
tdt t	 t
t t ƒ  tttt ƒƒ ƒ  tttdt t	 t
t t ƒ  tttt ƒƒ ƒƒ ƒ  tttd|  t	 t
tdt t	 t
t t ƒ  tttt ƒƒ ƒ  tttdt t	 t
t t ƒ  tttt ƒƒ ƒƒ ƒƒ ƒttjtjtjƒƒƒƒ�sØt‚ttttttttt t ƒƒƒƒ t tƒtttt t t ƒtt||| tfftd| t	 t
td| t	 t
td|  t	 t
tdt t	 t
t t ƒ  tttt ƒƒ ƒ  tttdt t	 t
t t ƒ  tttt ƒƒ ƒƒ ƒ  tttd|  t	 t
tdt t	 t
t t ƒ  tttt ƒƒ ƒ  tttdt t	 t
t t ƒ  tttt ƒƒ ƒƒ ƒƒ ƒ  tttd| t	 t
td|  t	 t
tdt t	 t
t t ƒ  tttt ƒƒ ƒ  tttdt t	 t
t t ƒ  tttt ƒƒ ƒƒ ƒ  tttd|  t	 t
tdt t	 t
t t ƒ  tttt ƒƒ ƒ  tttdt t	 t
t t ƒ  tttt ƒƒ ƒƒ ƒƒ ƒƒ ƒttjtjtjtjƒƒƒƒ�s|t‚d S )Nz
k1, k2, k3rÆ   r¯   )r   r“   rn   r$   r�   rW   r   rŠ   r   r   r   r%   r   rX   r   rÀ   r¡   r€   r}   r~   r   rP   )Úk1Zk2Zk3r–   r–   r—   Útest_multi_exp™  sb    Xÿÿ" vÿþÿ
&"N4ÿ.ÿ4ÿÿÿüÿ
*$\4ÿ.ÿ4ÿÿzÿ~þþÿúÿrp  c                  C   s²  ddl m}  ddlm} | td d gtgtjgƒtddƒksBt‚| tt td gttg||gƒtdƒksnt‚| tt td gttg||gƒtd	ƒksšt‚| tt tt d gttg||gƒttdƒd tdƒ d fƒksàt‚| td td gttg||gƒtd
ƒk�st‚t	| tt gttg||gƒt
tttfftt fƒt|ƒƒtttfft tfƒt|ƒƒƒƒ�snt‚| tt tt d gttg||gƒtjk�sžt‚| tt tt td gttg||gƒtjk�sÐt‚| tt tt td gttg||gƒtjk�st‚| tt t d tt t d tt t d gtttg|||gƒtdtj tj fƒk�s`t‚ddlm} | td td  d tt gttg||gƒtdd	ƒk�s¨t‚| td d tgttg||gƒtddƒk�sØt‚t	| td td  gttg||gƒt
tttfftttƒ fƒt|ƒƒtttfftttƒfƒt|ƒƒtttffttƒ tfƒt|ƒƒtttffttƒtfƒt|ƒƒƒƒ�s„t‚| tt|ƒ d tt|ƒ g|tgtdtƒtddƒgƒtdtdfƒk�sÐt‚| tt|ƒ d tt|ƒ gt|gtddƒtdtƒgƒtdƒk�st‚| tt|ƒ t tt|ƒ gt|gtddƒtdtƒgƒt
tttfftdfƒttttfƒtddƒƒƒtt|ffd|fƒtt||fƒtdtƒƒƒƒk�s®t‚d S )Nr   )Ú_solveset_multi)r¼   r¯   r³   ©r³   ©rº   ©rº   r³   )r³   rº   )r³   r¯   r®   )Útheta)r³   r   )rº   r   rº   )r   r³   )Úsympy.solvers.solvesetrq  Z
sympy.setsr¼   r�   r   rS   r¡   r�   r“   rV   rP   r   rX   r¿   r‘   r½   Ú	sympy.abcru  r   rŒ   r?   rC   rU   r   )rq  r¼   ru  r–   r–   r—   Útest__solveset_multiµ  sf    *,,F.þ0228 ÿÿ
<0$  ü"ÿÿ
"ÿÿ
"ÿÿÿýÿrx  c                	   C   s¤  t tttƒd ttƒd  dƒttjd�tjks4t‚t ttd tttƒ  dƒttjd� t	tttd tttƒ  d dƒtjƒ¡sˆt‚t
t tt ttt ƒtt t ƒ  d dƒtƒtttdt t td  ƒtjƒƒsàt‚t tttƒ dkttjd� t	ttttƒ dktjƒ¡�st‚t ttttƒƒtƒttjd� t	ttt tttƒƒ dƒtjƒ¡�sft‚t tt t ttjƒ t	tttt t dƒtjƒ¡�s t‚d S )Nr¯   r³   rû   r   )rn   r   rC   r�   r?   r   r¼   r¡   rž   rO   r“   r   r$   rW   r   rŠ   r   rÀ   r   r�   r‘   r–   r–   r–   r—   Útest_conditionsetä  s$    (ÿ&&ÿ0 ÿÿ
 ÿ
ÿry  c                   C   s4   t tttƒtƒtƒtttttƒtƒtjƒks0t‚dS )z? Checking equality of different representations of ConditionSetN)	rn   r   rD   r�   r�   rO   r   r=  r¡   r–   r–   r–   r—   Útest_conditionset_equalityø  s    rz  c                   C   sz   t td t d ttdtƒƒtdƒks*t‚t td d ttdtƒƒtdƒksPt‚t td d ttddƒƒtdƒksvt‚d S )	Nr¯   rÇ   r   r®   r³   rÒ   rö   rÄ   ©rn   r�   rU   r   rS   r¡   r–   r–   r–   r—   Útest_solveset_domainþ  s    *&r|  c                  C   sL   t ttƒttƒ ttjƒ} tttttƒttƒ dƒtjƒ}|  |¡sHt	‚d S r<  )
rn   r$   r�   rC   r   r¼   rO   r   rž   r¡   )Úsolutionr  r–   r–   r—   Útest_improve_coverage  s     r~  c                  C   st   t dtd d  t dtd d  d ƒ} t dt t dt ƒ}t| ttjƒtjksXt‚t|ttjƒtjkspt‚d S )Nr³   r¯   rÒ   )r   r�   rn   r   r¼   r¿   r¡   )Úexpr1Úexpr2r–   r–   r—   Útest_issue_9522
  s    *r�  c                   C   sê   t td d ttjƒg kst‚t td d ttjƒdtjtdƒt d  tjtdƒt d  gksft‚t t	tƒttjƒdgks‚t‚t t
tƒttjƒtd ttddƒ gks®t‚t ttƒd ttjƒttddƒ gksØt‚ttdd„ ƒ d S )Nr¯   rÄ   r®   r³   rº   c                   S   s   t tttƒƒttjƒS r’   )rr   rC   r$   r�   r   r=  r–   r–   r–   r—   r±     r²   ztest_solvify.<locals>.<lambda>)rr   r�   r   r¼   r¡   r=  r½   r3   r   r%   r?   r   r   rC   r]   ÚNotImplementedErrorr–   r–   r–   r—   Útest_solvify  s    *ÿ
,*rƒ  c                  C   s   t dtdk ftd tdkfttƒdfƒ} t dtdk ftd dt  d td	kfƒ}t dttdƒftd ttƒ dfƒ}t dtttƒftt ttƒ dfƒ}t| ttj	ƒdgks²t
‚t|ttj	ƒd
dgksÌt
‚t|ttj	ƒdgksät
‚t|ttj	ƒtgksüt
‚d S )Nr   rº   r¯   r³   TéöÿÿÿrÆ   rÇ   rZ  r  )r6   r�   r%   r   r   r   rC   rr   r   r¼   r¡   )Úp1Zp2Zp3Zp4r–   r–   r—   Útest_solvify_piecewise  s    (*$$r†  c                  C   sX   t ddd�} ttt| ƒƒ| tjƒdtgks.t‚t dƒ} ttt| ƒƒ| tjƒd ksTt‚d S )Nr�   Tr­   r   )r   rr   rC   r   r   r¼   r   r¡   r°   r–   r–   r—   Útest_abs_invert_solvify)  s    "r‡  c                     sø  t dtƒtdggƒtdggƒfks&t‚t dtƒtdggƒtdggƒfksLt‚dt t dt  d tt t tt dt  d g} tdt dt  t dƒtdt dt  dt  dƒdt t dt  g}t | tttƒ\}}|tdddgdddgdddggƒk�st‚|tdgdgdggƒk�s&t‚t |tttƒ\}}|tdddgdddgdddggƒk�sbt‚|tdgdgdggƒk�s€t‚tt t tt  t	t  t
 tt t
t  tt  tt  t tt tt  tt  t g‰ t ˆ tttƒ\}}|ttt tt	gt
t ttgtttggƒk�s"t‚|tt
gtgtggƒk�s@t‚tt‡ fd	d
„ƒ tt‡ fdd
„ƒ ttdd
„ ƒ ttdd
„ ƒ ttdd
„ ƒ ttdd
„ ƒ ttdd
„ ƒ t tgdt gƒtdggƒtt ggƒfk�sÜt‚t tttdt d  d   tƒtdt t d ggƒtt dt d  ggƒfk�s6t‚t ttt tt  d gdt dt  t	 ggƒttƒtttgddggƒtdgt	ggƒfk�s˜t‚t ttd dƒtƒtdggƒtdggƒfk�sÊt‚ttdd
„ ƒ ttdd
„ ƒ ttdd
„ ƒ d S )Nr   r³   rº   r¯   r®   r  rÒ   rõ   c                      s   t ˆ ƒS r’   )rh   r–   ©Zeqns3r–   r—   r±   I  r²   z*test_linear_eq_to_matrix.<locals>.<lambda>c                      s   t ˆ tttgƒS r’   ©rh   r�   r�   r–   rˆ  r–   r—   r±   K  r²   c                   S   s   t tdt t dt ƒtgƒS rÌ   ©rh   r   r�   r–   r–   r–   r—   r±   M  r²   c                   S   s   t td gtgƒS rò   ©rh   r�   r–   r–   r–   r—   r±   N  r²   c                   S   s   t tt gttgƒS r’   r‰  r–   r–   r–   r—   r±   O  r²   c                   S   s   t tttƒtƒS r’   rŠ  r–   r–   r–   r—   r±   R  r²   c                   S   s   t tttd ƒtƒS rÌ   rŠ  r–   r–   r–   r—   r±   S  r²   rù   rÆ   rÇ   c                   S   s   t g tthƒS r’   r‰  r–   r–   r–   r—   r±   e  r²   c                   S   s   t tt gtthƒS r’   r‰  r–   r–   r–   r—   r±   f  r²   c                   S   s   t tt httfƒS r’   r‰  r–   r–   r–   r—   r±   g  r²   )rh   r�   ÚMatrixr¡   r�   r‘   r   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r]   r¾   r|   Ú	TypeError)Zeqns1Zeqns2rm  ÚBr–   rˆ  r—   Útest_linear_eq_to_matrix1  sV    &&6J**^22  ÿ*ÿ ÿ ÿÿ

 
ÿr�  c                   C   sX   t ttdt dt   dt  dƒttƒtdt dt d ggƒtdggƒfksTt‚d S )Nr¯   r®   rÒ   rÆ   )rh   r   r}   r�   r�   rŒ  r¡   r–   r–   r–   r—   Útest_issue_16577j  s    ( 
ÿr�  c                   C   s"   t ttƒdtƒttjfkst‚d S r<  )rk   r$   r�   r   r¿   r¡   r–   r–   r–   r—   Útest_issue_10085o  s    r‘  c               	      sT  t dƒ\‰‰} }tdddddgdddddgdddd	dggƒ}|d d …d d…f |d d …df f }\‰ ‰ˆdˆ  |  | d ˆdˆ  d|   | d dˆ dˆ  d	|  d g‰td
ˆ d|  d ˆd| d |fƒ}tˆˆˆ| |fƒ|ksøt‚tˆfˆˆ| |fžŽ |k�st‚t|ˆˆ| |fƒ|k�s4t‚t|fˆˆ| |fžŽ |k�sTt‚t dtd�\‰‰} }t|ˆˆ| |ƒtd
ˆ d|  d ˆd| d |fƒk�s¦t‚tt‡fdd„ƒ tt‡fdd„ƒ tt‡‡fdd„ƒ tt‡ ‡‡fdd„ƒ tt‡ ‡‡‡fdd„ƒ tt‡fdd„ƒ tt‡fdd„ƒ ttdd„ ƒ ttdd„ ƒ tt	t
 d t	d t d gt
tgƒt	 d t	d  d fhk�s’t‚tttgttggƒ‰ ttgtggƒ‰ˆ ˆf}tt t tt  tt tt   tt tt  tt tt   fƒ}t|t	tgƒ|k�st‚tdddgddd	gdd	dggƒ‰ tdddgƒ‰tˆ ˆft	tt
fƒtjk�sjt‚t dƒ\‰ ‰}}tdt | dt | d
| gd
t | d
t | d| gdddt ||  gdddggƒ}t|ˆ ˆƒtdt||  fƒk�süt‚tddddddgddddddggƒ}t|tttttƒttdtdtfƒk�sJt‚t dƒ\}	‰‰}
ttddddddgddddd|
ggƒƒt|	dˆ|
ˆfƒk�sšt‚t dƒ\}	‰‰}
ttddddddgddddd|
ggƒƒt|	dˆ|
ˆfƒk�sêt‚t dƒ\}	‰‰}
ttddddddgddddd|
ggƒƒt|	dˆ|
ˆfƒk�s:t‚t dƒ\}	‰}t|tdƒƒt|	dˆd|fƒk�snt‚|	|d < t d!ƒ|d < tt|tdtd�ƒjƒdk�s¤t‚td"ƒ}t|t	ƒd g|t	ƒƒtd#ƒk�sÒt‚dd$lm}m}m} || }d%| t	 t d&| | dt	 |  g‰tˆt	tƒ|| td'dƒ |tddƒ fhk�sJt‚ttt	t	t ƒgt	tgƒt	dfhk�stt‚ttt	t	t  dt ƒgt	gƒd(hk�s t‚ttdt t	t	t  ƒgt	gƒd(hk�sÌt‚ttd)d„ ƒ tg t	gƒtjk�sòt‚tdgt	gƒt	fhk�st‚tt	gt	tgƒdtfhk�s.t‚tt	dgt	tgƒdtfhk�sPt‚d S )*Nzx1, x2, x3, x4r³   r¯   rù   rº   r  rÒ   r   rÇ   rõ   r®   rÆ   zx:4)Úclsc                      s   t ˆ ƒS r’   ©ri   r–   )ÚEqnsr–   r—   r±   ˆ  r²   ztest_linsolve.<locals>.<lambda>c                      s   t ˆ ƒS r’   r“  r–   ©Úx1r–   r—   r±   ‰  r²   c                      s
   t ˆ ˆƒS r’   r“  r–   )r–  Úx2r–   r—   r±   Š  r²   c                      s   t ˆ fˆˆƒS r’   r“  r–   )rm  r–  r—  r–   r—   r±   ‹  r²   c                      s   t ˆ ˆˆˆƒS r’   r“  r–   )rm  rŽ  r–  r—  r–   r—   r±   Œ  r²   c                      s   t ˆ gˆ ˆ ƒS r’   r“  r–   r•  r–   r—   r±   �  r²   c                      s   t ˆ gdd„ ˆ ˆ fD ƒƒS )Nc                 s   s   | ]
}|V  qd S r’   r–   rí   r–   r–   r—   r˜   Ž  s     z2test_linsolve.<locals>.<lambda>.<locals>.<genexpr>r“  r–   r•  r–   r—   r±   Ž  r²   c                   S   s&   t tt d td t d gttgƒS )Nr³   r¯   r®   )ri   r�   r�   r–   r–   r–   r—   r±   ‘  r²   c                   S   s   t ttƒt tt gttgƒS r’   )ri   r?   r�   r�   r–   r–   r–   r—   r±   ’  r²   r  z	A B J1 J2ztau0 tau1 tau2 _tau0ztau00 tau01 tau02 tau0ztau00 tau01 tau02 tau1z
x0, x2, x4r�   ©rº   rº   Ú_x0r‚   )rÆ   )ÚmeterÚnewtonÚkilorÎ   é   iäÿÿÿrr  c                   S   s"   t ttd td t ƒgttgƒS rò   )ri   r   r�   r�   r–   r–   r–   r—   r±   Õ  s    )r   rŒ  rS   ri   r¡   r   r]   r¾   r|   r�   r‘   r�   r}   r~   r   r€   r�   rƒ   r   r¿   r   r[   r¢   Úfree_symbolsr   Úsympy.physics.unitsrš  r›  rœ  r   r   )Úx3Úx4ÚMZsystem1r×   Zsystem2ZJ1ZJ2Z	AugmatrixÚx0r™  r‚   rš  r›  rœ  ZkNr–   )rm  rŽ  r”  r–  r—  r—   Útest_linsolves  s¦    ,,0ÿ(  "ÿFF  ü&$*&ÿ
&ÿ
&ÿ
ÿ
 
ÿÿ
&(
ÿ*,, r¤  c                  C   s0   dd„ } d}| |ƒ\}}}t ||ƒ|ks,t‚d S )Nc                 S   s~   t d | ¡ƒ}t d | ¡ƒ}|| }g }tj f|  tjf|   }t||ƒD ]"\}}| || || d g¡ qL||t|ƒfS )Nzx:{}zy:{}r³   )r   Úformatr   r½   r�   ÚextendrS   )rŠ   rÝ   rÞ   ÚsymsÚeqsr×   ÚxiÚyir–   r–   r—   Ú_mk_eqs_solç  s    z/test_linsolve_large_sparse.<locals>._mk_eqs_soliô  )ri   r¡   )r«  rŠ   r¨  r§  r×   r–   r–   r—   Útest_linsolve_large_sparseâ  s    
r¬  c                  C   s~   t dddgdddgdddggƒ} t dddgƒ}t| |gtttfƒtdƒksNt‚t dddgdddggƒ} t| ƒtdƒkszt‚d S )	Nr³   r¯   r   rº   )r³   r®   rº   rù   r®   )rÆ   r¯   )rK   ri   r�   r�   r‘   rS   r¡   )rm  rŽ  r–   r–   r—   Útest_linsolve_immutableö  s
      r­  c                  C   s$  t dƒ} tdt ƒdtdt ƒ  dttƒ  d }ttƒd dttƒ  d }ttƒd ttƒ }ttd ƒ}ttd ƒd }dttƒ }dt }tt| d|  t ƒtj	ƒ}tt| d|  t t ƒtj	ƒ}	tt| d|  t td  ƒtj	ƒ}
tt| d|  t d ƒtj	ƒ}tt| d|  t d t ƒtj	ƒ}t
|ttjƒtdtdƒtdƒƒk�sVt‚tt
|ttjƒ|
ƒ�spt‚tt
|ttjƒt||	|
ƒƒ�s’t‚tt
|ttjƒt||ƒƒ�s²t‚t
|ttjƒtdƒk�sÎt‚t
|ttjƒtjk�sèt‚t
|ttjƒtjk�st‚t
tttddƒƒtjk�s t‚d S )	NrŠ   r®   rÇ   r¯   rQ  r³   r   rõ   )r   r$   r�   rC   r%   rP   r   r   r   rÀ   ro   r¼   rS   r¡   r“   rV   r¿   rU   )rŠ   rd  re  Úf3Úf4Úf5Zf6Zf7r¦   r§   Zs3Zs4Zs5r–   r–   r—   Útest_solve_decompositionÿ  s*    ,""(" r±  c                  C   sn  t g g ƒtjkst‚t g ttgƒtjks,t‚ttt d g} t tgttgƒtdtfƒks\t‚t | tgƒtjksrt‚ttt	dt	 t
 t
d  ƒtjƒf}tt ttƒd gtgƒtt|ƒƒƒs¾t‚ttt	dt	 t
 t
 ƒtjƒdfttt	dt	 t
 ƒtjƒdff}tt ttƒtd gttgƒt|Ž ƒ�s(t‚t td d gtgƒtddƒk�sNt‚tttfƒ}t tt dgttƒ|k�sxt‚t dtt gttƒ|k�s–t‚t tt tt gttƒ|k�s¸t‚t tdgttƒtdtfƒk�sÚt‚tdƒ}t |tƒdg|tƒtƒtdtfƒk�st‚t |tƒdg|tƒ|tƒƒtd|tƒfƒk�s>t‚tdtƒ}t |dg|tƒtdtfƒk�sjt‚t td d gttƒgƒttjfƒk�s–t‚t td d gttƒƒttjfƒk�sÀt‚t td d gdƒttd fƒk�sèt‚t td d gtt ƒttjfƒk�st‚t tdtt ƒtdt t d ƒtdt t d ƒgttƒttj d	tj fƒk�sjt‚d S )
NrÆ   r   r¯   r³   rs  rr  r‚   rm  r®   )rq   r   r¿   r¡   r�   r�   rS   rP   r   rŠ   r   rÀ   r“   rC   r›   r   rZ   r   r½   )ÚsystemÚsolnr‚   rm  r–   r–   r—   Útest_nonlinsolve_basic  s:     $( ÿ*&""*2
",*(*<ÿr´  c                  C   s6   t ttft tfƒ} tttƒt gttƒ| ks2t‚d S r’   )rS   r�   rq   r   r�   r¡   )r³  r–   r–   r—   Útest_nonlinsolve_abs;  s    rµ  c                   C   s    t tdd„ ƒ t tdd„ ƒ d S )Nc                   S   s   t td d gg ƒS r+  ©rq   r�   r–   r–   r–   r—   r±   A  r²   z2test_raise_exception_nonlinsolve.<locals>.<lambda>c                   S   s   t td d gƒS r+  r¶  r–   r–   r–   r—   r±   B  r²   )r]   Ú
IndexErrorr¾   r–   r–   r–   r—   Ú test_raise_exception_nonlinsolve@  s    r¸  c                  C   s|   t ttƒd ttƒd gtƒtjks(t‚ttt	dt	 t
 t
d  ƒtjƒf} t| ƒ}tt ttƒd ttƒgtƒ|ƒsxt‚d S rã   )rq   rC   r�   r?   r   r¿   r¡   rP   r   rŠ   r   rÀ   rS   r“   )Úsoln1r³  r–   r–   r—   Útest_trig_systemE  s    ($rº  c               
   C   sº  t t td  tt ƒttƒ d g} ttttt td  ƒtjƒttttt ƒtjƒf}t	|ƒ}ttttt ƒtjƒttttt td  ƒtjƒf}t	|ƒ}|| }t
t| t tgƒ|ƒs¼t‚tt ƒttƒ tdƒd d  tt ƒttƒ tdƒd d  g} ttttdt t td  ƒtjƒtttdt t ttddƒ  ƒtjƒƒ}ttttdt t td  ƒtjƒtttdt t ttddƒ  ƒtjƒƒ}t
t| t tgƒt	||fƒƒ�s¶t‚d S )Nr¯   r³   r®   rÇ   rÆ   )r�   r�   r   rC   rP   r   rŠ   r   rÀ   rS   r“   rq   r¡   r3   rV   r   )ÚsysZsoln_1Zsoln_2r³  Zsoln_xZsoln_yr–   r–   r—   Útest_trig_system_failN  s&    $ÿÿ@"&ÿ"&ÿr¼  c                  C   sÄ  t ddd�\} }}}}}t| | | | |  g| |gƒtd|fƒksFt‚|d ||  || g}t|||gƒtd| | fƒks‚t‚|| | | }|| ||  ||  ||  }|| | || |  || |  || |  }	|| | | d }
|||	|
g}d| | d| t|ƒtdƒ f}d| | d| t|ƒtdƒ f}t||ƒ}t|||||gƒ|k�slt‚t| d	 d
| d   ||   | td  |t d g| |tgƒddt tfhk�sÀt‚d S )Nzx, y, a, b, c, dT)Zextended_realr   r¯   ©r   r   r³   rº   rÒ   r®   )r   rq   rS   r¡   r‘   )r�   r�   r}   r~   r   r€   r²  Úeq1Úeq2Úeq3Úeq4r£   r¤   r³  r–   r–   r—   Ú%test_nonlinsolve_positive_dimensionalf  s     .$ 0""
<ÿrÂ  c                  C   sŠ  t ddd�\} }}t| d | d | d | g| |gƒtjksBt‚| d |f}t| | d d | | d g| |gƒt|ƒks‚t‚| d |d  g}t| |f||fƒ}tt|ƒ |ft|ƒ|fƒ}|| }t|| |gƒ|ksât‚| d |d  g}t|| f||fƒ}t|t|ƒ f|t|ƒfƒ}|| }t||| gƒ|k�sDt‚| d | d | | d g}t|| |fƒt||| fƒk�s‚t‚t| d  |d  | d|  d| tjg| ||gƒtjk�sÂt‚t| | | tjtjtjg| ||gƒtjk�sôt‚| d  |d  | | |  |d  d|  |d  ||  | | d|d   d| d  | | |  g}t|| ||gƒtdd|f| ddfƒk�s†t‚d S )	NrÙ   Tr©   r¯   rÒ   r®   rõ   r   )r   rq   r   r¿   r¡   rS   r   r·   )r�   r�   r‘   r«   r²  Ú	soln_realÚsoln_complexr³  r–   r–   r—   Útest_nonlinsolve_polysys}  s(    02"@2frÅ  c                  C   s4  t ddd�\} }}}| | | |d  d g}|| |d  d | }| |f}t|| |gƒt|ƒksjt‚|d | d  |d |d  t| ƒ  g}|| df}t| d ƒ t| ƒ | |f}t| d ƒt| ƒ | |f}	|  t| d ƒ | |f}
| t| d ƒ | |f}|| |g}t||
|||	ƒ}t||ƒ|k�s0t‚d S )Nz
x, y, z, nTr©   r¯   r   )r   rq   rS   r¡   r$   r   )r�   r�   r‘   rŠ   r²  Ús_xr³  Zsoln_real_1Zsoln_real_2Zsoln_real_3Zsoln_complex_1Zsoln_complex_2r§  r–   r–   r—   Ú#test_nonlinsolve_using_substitutionš  s"    
*

 ÿrÇ  c                  C   sª  t dƒ} ttttƒttƒ dt d gttgƒtt| d|  t	 t
 tttddƒƒƒ ƒtjƒtddƒfhƒspt‚ttƒttƒ dttƒ d g}tt|ttgƒtt| t	d|  t
 t
  tttdƒƒƒ ƒtjƒtdƒ ftt| t	d|  t
 ttd|  t	 t
 tdƒ ƒƒ  tttd|  t	 t
 tdƒ ƒƒƒ ƒtjƒtt| d|  t	 t
 tdƒ ƒtjƒfhƒ�sjt‚ttƒttƒ td d g}tt|ttgƒtt| t	d|  t
 t
  ttdƒƒ ƒtjƒdftt| d|  t	 t
 ttdƒƒ ƒtjƒdfhƒ�süt‚ttƒd td d g}tt|ttgƒtdƒtdƒ ftdƒtdƒftt| d|  t	 t
 tdƒ ƒtjƒtdƒ ftt| d|  t	 t
 tdƒ ƒtjƒtdƒfhƒ�s¦t‚d S )NrŠ   r³   r®   r¯   rÒ   rõ   )r   r“   rq   r$   r�   rC   r�   rP   r   r   r   r%   r   r   rÀ   r¡   r   r   r3   )rŠ   r²  r–   r–   r—   Útest_nonlinsolve_complex­  sB    &8ÿ
 ÿÿÿ4"ÿÿ$þý0,þ .,ýrÈ  c                   C   s<   t ttƒt t td gtttgƒdt dtfhks8t‚d S rÌ   )rq   r3   r�   r�   r‘   r¡   r–   r–   r–   r—   Útest_nonlinsolve_radicalÆ  s    rÉ  c                      sÌ  ddg‰t tt d d td td  d gttgƒ‰ t‡ ‡fdd„tdƒD ƒƒsVt‚t tt d d tt d d gttgƒtjksŠt‚t td td d  d	 dt d
 dt gttgƒtjksÈt‚t td t d tt d tt	ƒgttt	gƒ‰ dddg‰t‡ ‡fdd„tdƒD ƒƒ�s"t‚t ttd  td t d
 gttgƒ‰ dddt
  ddt
  fddt
  ddt
  fddt
  ddt
  fddt
  ddt
  fg‰t‡ ‡fdd„tdƒD ƒƒ�sÈt‚d S )N)g      ú¿g      ö¿)g      ú?g      ö?r¯   r  g      è?c                 3   s>   | ]6}t d ƒD ](}tˆ j| | ˆ| |  ƒdk V  qqdS ©r¯   ç•Ö&è.>N©Úranger  Úargsr”   ©rD  r×   r–   r—   r˜   Í  s    
 ÿz+test_nonlinsolve_inexact.<locals>.<genexpr>rê   g      °?r¶   )g[™°Ðõl×¿g[™°Ðõl×?r³   )g[&,t=Ûõ?g[&,t=Ûõ¿r³   c                 3   s>   | ]6}t d ƒD ](}tˆ j| | ˆ| |  ƒdk V  qqdS )r®   rË  NrÌ  r”   rÏ  r–   r—   r˜   Ù  s    
 ÿr®   rÆ   )gÕù±ïF­ò¿gZŠ*4Íõ?gÍrüîŸ2Ç¿gèdxAàWñ?gyU;~Fò¿g ;W2%Ù?gqëîyè?g?„¾ÐäŽÖ?g‡¡Ø£ñ}Ý?gòƒZ Aá?c                 3   s>   | ]6}t d ƒD ](}tˆ j| | ˆ| |  ƒdk V  qqdS rÊ  rÌ  r”   rÏ  r–   r—   r˜   æ  s    
 ÿ)rq   r�   r�   rœ   rÍ  r¡   r   r¿   r%   r‘   r   r–   r–   rÏ  r—   Útest_nonlinsolve_inexactÊ  sF    .ÿ42ÿ.þÿ&

ÿ

ÿ

ÿ

ÿù	ÿrÐ  c                  C   s:  t ddd�\} }tdt|d ƒ |fƒ}t|  tt| ƒƒ |f| tt| ƒƒ |fƒ}t| t| d ƒ | fƒ}tdt|d ƒ |ƒ}t| d |d t| ƒ  g| |gƒ|ks®t‚t| d |d t| ƒ  g|| gƒ|ksÚt‚t| d |d t| ƒ  g|| gƒ|k�st‚t| d |d t| ƒ  g| |gƒ|k�s6t‚d S )Núx, yTr©   r¯   )r   rS   r#   r3   r$   rq   r¡   )r�   r�   r¹  Úsoln2Zsoln3Zsoln4r–   r–   r—   Útest_solve_nonlinear_transé  s    ,,,.rÓ  c            	      C   s  t dƒ\} }}}}}| |  ||  d|  | |  ||  }| |  ||  d|  | |  ||  }|| ||  d| | |  | |   }t|||g|||gƒtd| | dt| d |d |d   |d  ƒ  dt| d |d |d   |d  ƒ |  d| |d  |d  |  d| t| d |d |d   |d  ƒ |   fd| | dt| d |d |d   |d  ƒ  dt| d |d |d   |d  ƒ |  d| |d  |d  |  d| t| d |d |d   |d  ƒ |   fƒk�sþt‚d S )Nza1, b1, c1, ca, cb, cgç       @r¶   r¯   g      ð¿r³   )r   rq   rS   r3   r¡   )	Úa1Úb1Úc1ÚcaÚcbZcgr¾  r¿  rÀ  r–   r–   r—   Útest_nonlinsolve_issue_25182÷  s    (((2*Jþ2*JþürÚ  c                  C   s†  t dƒ} d| d  | d  d t }t|| ƒ}t|jd ddt   ƒdksPt‚t|jd	 d
dt   ƒdksrt‚t|jd ddt   ƒdks”t‚tj| d  | d  tj t }tdt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd  d ddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  d  td	ƒd   ttddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd   ƒd ƒ d tdƒd  dttddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd   ƒd ƒ ddt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd  d ddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  d  td	ƒd     tdt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd  d ddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  d  td	ƒd   t
tddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd   ƒd ƒ d dt
tddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd   ƒd ƒ ddt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd  d ddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  d  td	ƒd       tdƒ d t	dƒdt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd  d ddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  d  td	ƒd   t
tddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd   ƒd ƒ d  dtd	td	ƒ d t	dƒt d  tdƒd dt  t	dddt  d  ƒd  td	ƒd    ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd  d ddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  d  td	ƒd  ttddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd   ƒd ƒ d  tdtd	td	ƒ d t	dƒt d  tdƒd dt  t	dddt  d  ƒd  td	ƒd    ƒ d dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd  d ddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  d  td	ƒd  t
tddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd   ƒd ƒ d  t	dƒdt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd  d ddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  d  td	ƒd   ttddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd   ƒd ƒ d    tdƒ d dtd	td	ƒ d t	dƒt d  tdƒd dt  t	dddt  d  ƒd  td	ƒd    ƒ d  t	dƒdt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd  d ddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  d  td	ƒd   t
tddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd   ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd  d ddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  d  td	ƒd  ttddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd   ƒd ƒ d  tt	dƒ dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd  d ddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  d  td	ƒd   ttddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd   ƒd ƒ d dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd  d ddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  d  td	ƒd  t
tddt	dƒ dtd	ƒd   tttdƒd ƒd ƒ d  dt	dƒ dtd	ƒd   t
ttdƒd ƒd ƒ d tdƒd   ƒd ƒ d  dtd	td	ƒ d t	dƒt d  tdƒd dt  t	dddt  d  ƒd  td	ƒd    ƒ d    ƒ}t|| ƒ|k�s‚t‚d S )Nr�   rê   r®   r¯   r   g©í	nëBÀg/H|n$ýÓ?rË  r³   gðuªÙÓ¿gÞÊ+Nð?g¸®b�š�â?gÀqãw�æ?iñ|  rÒ   é¬   r   é+   r÷   rÇ   i ÿÿÿé6   rç   )r   r   rn   r  rÎ  r¡   r   r½   rS   r3   rC   r=   r?   r    r   )r�   rï   r}  rD  r–   r–   r—   Útest_issue_14642  s¼   
""" 8
ÿÿ,ÿÿÿÿ
þ ÿÿ
ÿÿÿ
ÿÿþþü
ü6ÿ
ÿÿÿ
ÿÿþÿÿÿÿ
ÿÿ>þÿþþü	8
ÿÿ,ÿÿÿÿ
þ"ÿÿ*ÿÿ
ÿÿþþü"ÿÿ$ÿÿÿ
ÿÿþ 
ÿÿÿ
ÿÿÿÿÿÿ
þþü÷ÿÿÿÿ
ÿÿ>þÿþ8ÿBÿþýû8ÿÿ
ÿ
ÿûÿÿ
ÿÿÿÿÿÿ
þÿÿÿÿÿ
ÿÿþþüú
ÿ4ÿÿþ6
ÿÿ4ÿÿÿ
þ$
ÿÿÿ6
ÿÿþþüþ*ÿÿÿ
ÿÿ 
ÿÿÿÿÿ
þÿÿÿ
ÿÿÿ
ÿÿþþüúöÿ4ÿÿþ<
ÿÿ4ÿÿÿ
þ$
ÿÿÿ6
ÿÿþþüþ6
ÿÿ4ÿÿÿ
þ$
ÿÿÿ6
ÿÿþþüú
(
ÿÿÿ
ÿÿÿÿÿÿ
þ
ÿÿÿÿÿ
ÿÿþþüÿÿ
ÿÿÿÿÿÿ
þ
ÿÿÿÿÿ
ÿÿþþüü":ÿÿøöÛ:rÞ  c                  C   s@  t dƒ } \	}}}}}}}}}	||	 ||	  | |||	  | ||	d  ||	  ||	  | |	| |	 ||	  |  |	| ||	  |  f}
t|||	  | |	 ||	  | |	d  |||	d  ||||t|	hdhƒf	|||	  ||	 ||	  | |	d  d |||	d  ||||t|	hdhƒf	ƒ}t|
f| žŽ |k�s<t‚d S )Nzax bx cx gx jx lx mx nx qr¯   r   rº   ©r   rS   rR   rq   r¡   )ÚVZaxZbxZcxZgxZjxÚlxZmxÚnxr‹   r   r×   r–   r–   r—   Útest_issue_13961L  s    nJJÿrã  c                  C   sX   t ttd  d ƒtƒ} t| jd dt  ƒdks6t‚t| jd dt  ƒdksTt‚d S )Nr¯   rÔ  r   gã;fž ö?rË  r³   )rn   r3   r�   r  rÎ  r   r¡   )Z	solutionsr–   r–   r—   Útest_issue_14541V  s    rä  c                  C   sz   dt  ttd  t d  ƒ ttƒ } tdƒ}t| t tjd�|ksFt‚tt	td t d  ƒt
d  t tjƒtjksvt‚d S )Nrõ   r¯   r   rû   )r�   r$   r�   r   rS   rn   r   r¼   r¡   r=   r   r¿   )Úexprr×   r–   r–   r—   Útest_issue_13396\  s    &ræ  c                  C   s.  t tddtddƒtdƒd  tddƒ   dtddƒtdƒd  tddƒ   ƒ d ttdtddƒtdƒd  tddƒ  ddtddƒtdƒd  tddƒ    dtddtddƒtdƒd  tddƒ   dtddƒtdƒd  tddƒ   ƒ  ƒƒd  ttdtddƒtdƒd  tddƒ  ddtddƒtdƒd  tddƒ    dtddtddƒtdƒd  tddƒ   dtddƒtdƒd  tddƒ   ƒ  ƒƒ d tddtddƒtdƒd  tddƒ   dtddƒtdƒd  tddƒ   ƒd  tddtddƒtdƒd  tddƒ   dtddƒtdƒd  tddƒ   ƒd tttdtddtddƒtdƒd  tddƒ   dtddƒtdƒd  tddƒ   ƒ dtddƒtdƒd  tddƒ   ddtddƒtdƒd  tddƒ    ƒƒ d  tddtddƒtdƒd  tddƒ   dtddƒtdƒd  tddƒ   ƒd tttdtddtddƒtdƒd  tddƒ   dtddƒtdƒd  tddƒ   ƒ dtddƒtdƒd  tddƒ   ddtddƒtdƒd  tddƒ    ƒƒ d  ƒ} ttd t d tƒ| k�s*t‚d S )	Nrõ   r®   r³   rö   iQ  é�   r¯   rÒ   )rS   r3   r   r   r   rn   r�   r¡   ©r×   r–   r–   r—   Útest_issue_12032f  s|    *"ÿÿ&&ÿ*"ÿþýþ&&ÿ*"ÿþý("ÿÿü("ÿÿ0"ÿ"þ&ýýþ("ÿÿ0"ÿ"þ&ýýþîré  c                   C   s    t dttƒ tƒtjkst‚d S rÌ   ©rn   r3   r�   r   r¿   r¡   r–   r–   r–   r—   Útest_issue_10876‚  s    rë  c                   C   sZ  t ttt ttƒgttgƒttttdt t	 ƒt
jƒtttdt t	 ƒt
jƒftttdt t	 t	 ƒt
jƒtttdt t	 t	 ƒt
jƒfƒƒs’t‚t ttt ttƒttƒ gttgƒttttdt t	 dt	 d  ƒt
jƒtttdt t	 dt	 d  ƒt
jƒftttdt t	 dt	 d  ƒt
jƒtttdt t	 dt	 d  ƒt
jƒfƒƒ�sVt‚d S )Nrõ   r¯   r®   rÒ   rù   )r“   rq   r�   r�   rC   rS   rP   r   rŠ   r   r   rÀ   r¡   r?   r–   r–   r–   r—   Útest_issue_19050†  s    4:ÿÿ"LJÿÿrì  c                  C   s  t tƒt tƒ ttƒttƒ d g} ttttdt t ƒt	j
ƒtttdt t ƒt	j
ƒftttdt t t ƒt	j
ƒtttdt t t ƒt	j
ƒfƒ}t| ttgƒ}tt|ƒt|ƒƒD ]F\}}t|ƒt|ƒ  krÚdksàn t‚tdd„ t||ƒD ƒƒs¶t‚q¶t|ƒt|ƒk�st‚d S )Nr³   r¯   c                 s   s   | ]\}}|  |¡V  qd S r’   )rž   )r•   r}   r~   r–   r–   r—   r˜   š  s     z#test_issue_16618.<locals>.<genexpr>)rC   r�   r�   r?   rS   rP   r   rŠ   r   r   rÀ   rq   r�   r   r¢   r¡   rœ   )Zeqnr  r×   Zi0Zj0r–   r–   r—   Útest_issue_16618�  s    $4:ÿ"rí  c                   C   sd   t ddt  dt   dt  ddt  tdƒdt   gttƒttdƒ tdƒ dfƒks`t‚d S )Né    r¯   rÒ   r÷   r®   r³   éQ   )rq   r�   r�   r   rS   r%   r¡   r–   r–   r–   r—   Útest_issue_17566ž  s    @ÿrð  c               	   C   sb   t dƒ} ttd ttƒ tƒ ttt| d|  t t ƒt	j
ƒtt| d|  t ƒt	j
ƒƒ¡s^t‚d S )NrŠ   r¯   )r   rn   r�   rC   rž   rV   rP   r   r   r   rÀ   r¡   rÊ   r–   r–   r—   Útest_issue_16643£  s    4ÿrñ  c                  C   sh   t dƒ\} }tdd|  d|   d|   dd|  d|    g|| ƒttdƒ tdƒ dfƒksdt‚d S )	Nzn mrî  r¯   rÒ   r÷   r®   rï  r³   )r   rq   rS   r%   r¡   )rŠ   r‰   r–   r–   r—   Útest_issue_19587©  s    8ÿrò  c                  C   sž  t td td  ƒt dƒ tt d g} t| ttgƒtddƒksDt‚tdƒ}ttƒd ttƒ t	d  dttƒ d g}t
dƒ }t tdt ƒ tt
dƒƒ ƒ}t||f|| fƒ}t|d| t t t
dƒ  ƒ}t|tjƒ}t|t tdt ƒ td| t t t
dƒ  ƒ ƒƒ}t|tjƒ}t|t tdt ƒ td| t t t
dƒ  ƒ ƒ ƒ}t|tjƒ}	t||f||	fƒ}
||
 }tt|tt	gƒ|ƒ�sšt‚d S )	Nr¯   rÄ   rÒ   )r³   r®   )r®   r³   rŠ   r³   r®   )r3   r�   r�   rq   rS   r¡   r   r$   rC   r‘   r%   r   r   r   rP   r   rÀ   r“   )r²  rŠ   r¨  Ús_real_yÚs_real_zrÃ  ÚlamÚs_complex_yÚs_complex_z_1Ús_complex_z_2rÄ  r³  r–   r–   r—   Útest_issue_5132_1¯  s&    (,
 68þrù  c                  C   sd  t ddd�\} }t| ƒd t|ƒ td  g}tdƒ}ttd  t|ƒ ƒd tf}t|td| t t	td  t|ƒ ƒ  d tt
td t|ƒ ƒƒd  ƒ}t|tjƒ}|tf}t||ƒ}tt|| tgƒ|ƒsÖt‚t| d  |d  ttƒ||   g}	ttttƒd d  ƒ}
ttttƒd d  ƒttƒ }t|
|f|
 | fƒ}t|	| |gƒ|k�s`t‚d S )NrÑ  Tr©   r¯   rŠ   r³   )r   r$   rC   r‘   r   r%   r   r   r   r   r   rP   r   rÀ   rS   r“   rq   r¡   rŒ   rD   r�   r3   )r�   r�   r¨  rŠ   rÃ  rõ  ZimgrÄ  r³  r²  rÆ  Ús_yr–   r–   r—   Útest_issue_5132_2Æ  s    L
$ rû  c                  C   s>   t ddd�\} }t| d |  | | g| |gƒddhks:t‚d S )Nza, bTr©   r¯   r˜  r½  )r   rq   r¡   r/  r–   r–   r—   Útest_issue_6752Ù  s    rü  r_   c               	   C   s  ddl m} m} ttttttt	g}tt
t  tt  tdt dt  dt   tt  t
t  tdt dt  dt   tt  tt  tdt dt  dt   tt  tt  tdt d|   d|   tt  t	|  t	d| dt   t|  g}tt||ƒƒdk�st‚d S )Nr   )Úor»   r³   )rw  rý  r»   r}   r~   r   r‚   r„   r‡   rŠ   rŒ   r€   r�   rƒ   r…   r†   rˆ   r‰   r‹   r¢   rq   r¡   )rý  r»   r§  r¨  r–   r–   r—   Útest_issue_5114_solvesetÞ  s    ****ûrþ  ZHangsc                  C   s  t dƒ\} }}| dt  |dtd   t  dt d t  |dtd   t dt  dt  tt | g}tt|g}tt||ƒƒdksŒt‚| dt  |dtd   t  dt d t  |dtd   t dt  dt  tt | g}tt|g}tt||ƒƒdk�st‚d S )Nzlam a0 concr¯   r³   g{®Gázt?gÌ«¢Ã;Êç?)r   r�   r�   r¢   rq   r¡   )rõ  Za0Zconcr¨  Úsymr–   r–   r—   Ú_test_issue_5335ï  s    ."
þ
."
þ
r   c                  C   sÜ   t ddd�\} }t| d |d  ƒd t|d |  d d  ƒd  }}tddƒdtd	ƒ d  }}|| f||fh}t||f| |fƒ|ks�t‚t||| |  f| |fƒtjks´t‚|d
7 }t||f| |fƒtjksØt‚d S )Núx yTr©   r¯   rÄ   r®   é¿   rÓ   i‡  rÇ   )r   r3   r   rq   r¡   r   r¿   )r�   r�   Úe1Úe2r}   r~   r  r–   r–   r—   Útest_issue_2777	  s    8$r  c                  C   s  d} d}d}d}d}d}d}d}t ttg}t |  d	 t| d	  |t d	  }	|t  d	 |t d	  td	  }
t | d	 t| d	  |t d	  }|	|
|g}tt |  d	 t| d	  ƒt | }|
}tt | d	 t| d	  ƒt | }|||g}t||ƒ}t||ƒ}||k�st‚d S )
Nr   i”ýÿÿi˜  é~   i  é3   éÍ   éh   r¯   )r�   r�   r‘   r3   rq   r¡   )r–  Úy1Úr1r—  Úy2r   Úy3Zr3Úvrd  re  r®  ÚFÚg1Úg2Zg3ÚGrm  rŽ  r–   r–   r—   Útest_issue_8828	  s(    
$ $
$$


r  c                  C   s˜   t dƒ} | tƒtd  }| tƒttddƒ  }td| tƒ t dƒtd| tƒ dt  dƒ@ }tttƒ}t||tj	d ƒ}t
||gttgƒ|ks”t‚d S )Nr‚   r¯   r®   r   )r   r�   r   r�   r   r   r   rO   r   r=  rq   r¡   )r‚   rd  re  Zintermediate_systemr§  r³  r–   r–   r—   Útest_nonlinsolve_conditionset*	  s    0
ýr  c                  C   sú   t g ttgƒtjkst‚t g g ƒtjks,t‚dtd  dtd   d dtd  dtd   d g} tddddƒ}t | ttgƒ|ksˆt‚td	ƒ}t tt gtgtd
igtgtƒ ttgƒ|ksÀt‚t tt gtgtd
igtgtd
 httgƒtjksöt‚d S )Nr¯   r®   r  é   )rÅ   rõ   )rÅ   r¯   )r®   rõ   )r®   r¯   rt  r³   )rp   r�   r�   r   r¿   r¡   rS   r8  )r²  r³  r–   r–   r—   Útest_substitution_basic9	  s"    80    þþr  c                   C   sl  t td td td td dt gtttgƒddtfhks>t‚t tt t tj	tj	tj	gtttgƒt t ttfhkszt‚t t
t tt tt td d gt
tttgƒtt t tfhks¾t‚t t
t
ttƒ  t
td  gt
tgƒdtfhksòt‚t t t dt  dt  dt dtd   d	 d
t t t td  td dt  d gttttgƒjthk�sht‚d S )Nr³   r¯   rÒ   rõ   r   rÇ   i¯ÿÿÿr   i  rÅ   r®   )rp   r„   r‡   r‚   r¡   r�   r�   r‘   r   r·   r}   r€   r~   r   r%   rž  r–   r–   r–   r—   Útest_substitution_incorrectG	  s,    "ÿ
ÿ$ÿ,ÿ$ÿ0 ÿ
þþr  c                  C   s”   t td td  td gttgƒt dftdfttd ƒ dfttd ƒdfhksVt‚t tt td dtd   d gttgƒ} t| ƒdks�t‚d S )Nr¯   r³   r®   rÆ   )rp   r�   r�   r‘   r3   r¡   r¢   )rD  r–   r–   r—   Útest_substitution_redundant`	  s
     .ÿ*r  c                  C   s2  t ddd�\} }}}}|| d  |d  t|ƒ||   g}ttt|t|ƒd d  ƒ ƒtdƒƒ}ttt|t|ƒd d  ƒƒtdƒƒ}t|t|ƒd d  ƒt|ƒ }t||fƒt|| fƒ }	t|| |gƒ|	ksØt‚tdƒ}
t| ƒd t	|ƒ |d  dt|ƒ d g}t
dƒ }ttd|  ƒ t	t
dƒƒ ƒ}t||f|| fƒ}t|
d|
 t t t
dƒ  ƒ}t|tjƒ}t|
ttd|  ƒ t	d|
 t t t
dƒ  ƒ ƒƒ}t|tjƒ}t|
ttd|  ƒ t	d|
 t t t
dƒ  ƒ ƒ ƒ}t|tjƒ}t||f||fƒ}|| }	tt|||gƒ|	ƒ�s.t‚d S )	Nzx, y, z, r, tTr©   r¯   r³   r   rŠ   r®   )r   rD   rR   rS   r3   rp   r¡   r   r$   rC   r%   r   r   r   rP   r   rÀ   r“   )r�   r�   r‘   rŒ   r�   r²  Zs_x_1Zs_x_2rú  r³  rŠ   r¨  ró  rô  rÃ  rõ  rö  r÷  rø  rÄ  r–   r–   r—   Útest_issue_5132_substitutionk	  s0    $(& ,
 68þr  c                   C   sJ   t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ d S )Nc                   S   s   t td d gg ƒS r+  ©rp   r�   r–   r–   r–   r—   r±   ‡	  r²   z*test_raises_substitution.<locals>.<lambda>c                   S   s   t td d gƒS r+  r  r–   r–   r–   r—   r±   ˆ	  r²   c                   S   s   t td d gttƒgƒS r+  )rp   r�   rC   r–   r–   r–   r—   r±   ‰	  r²   c                   S   s   t td d gtƒS r+  r  r–   r–   r–   r—   r±   Š	  r²   c                   S   s   t td d gdƒS r+  r  r–   r–   r–   r—   r±   ‹	  r²   )r]   r¾   r�  r–   r–   r–   r—   Útest_raises_substitution†	  s
    r  c                     sD  ddl m‰  ddddddd	g} td
ƒ}‡ fdd„| D ƒ} tttjdd„ | D ƒŽ ƒƒ}t| |ƒ}t|d|ddddt	dƒ dt	dƒ f|d|ddddt	dƒ dt	dƒ f|d|ddddt	dƒ dt	dƒ f|d|ddddt	dƒ dt	dƒ fƒ}t
|ƒt
|ƒ  k�rdk�sn t‚||k�s t‚|jD ]}t
|ƒdk�s&t‚�q&d S )Nr   r   zk-16zp-8zy*y+z*z-x*xz	d - x + pzd*d+k*k-y*yzz*z-p*p-k*kzabc-efgÚefgc                    s   g | ]}ˆ |ƒ‘qS r–   r–   ©r•   r�   r   r–   r—   rî   ›	  s     z$test_issue_21022.<locals>.<listcomp>c                 S   s   g | ]
}|j ‘qS r–   )rž  r  r–   r–   r—   rî   �	  s     rî  rö   rÎ   r  rH  rÆ   éøÿÿÿrÒ   )Úsympy.core.sympifyr   r   rš   r   r8  Úunionrq   rS   r3   r¢   r¡   rÎ  )r¨  r  ZsybrD  r  rj  r–   r   r—   Útest_issue_21022Ž	  s.    ù	
""""ü&
r!  c               	   C   sœ   t dƒ} t dƒ}tt|| fftd| t td|  t t tdƒ ƒ  ttd|  t t tdƒ ƒƒ ƒtt	j
t	j
ƒƒ}ttttƒƒd tƒ |¡s˜t‚d S )NrŠ   ro  r¯   rÆ   )r   rP   r   r   r   r   r%   r   rX   r   rÀ   rn   r$   r�   rž   r¡   )rŠ   ro  r×   r–   r–   r—   Útest_issue_17940¬	  s    6ÿþr"  c                   C   s0   t dtd d  dt  tƒtddƒks,t‚d S )Nrù   r¯   éP   r   r  rÄ   )rn   r�   rS   r¡   r–   r–   r–   r—   Útest_issue_17906µ	  s    r$  c                  C   s¤   t tdƒ tttƒ  } t tdƒ tttƒ  }dt  tdƒ d tttƒ  }dt  tdƒ d tttƒ  t }t| |||gt tttƒtdddtfƒks t‚d S )NrN  r  rÄ   r   )	r�   rC   r�   r?   r‹   r‘   rq   rS   r¡   )r¾  r¿  rÀ  rÁ  r–   r–   r—   Útest_issue_17933¹	  s     $ÿr%  c                     s¾   t tdƒ tttƒ  } t tdƒ tttƒ  }dt  tdƒ d tttƒ  }dt  tdƒ d tttƒ  t }tdƒ‰ ‡ fdd„| |||fD ƒ}t|t ttˆ ƒtdddˆ fƒksºt	‚d S )NrN  r  rÄ   Úzzc                    s   g | ]}|  tˆ ¡‘qS r–   )rÚ   r‹   )r•   r�   ©r&  r–   r—   rî   Ê	  s     z(test_issue_17933_bis.<locals>.<listcomp>r   )
r�   rC   r�   r?   r‹   r‘   r   rq   rS   r¡   )r¾  r¿  rÀ  rÁ  r¨  r–   r'  r—   Útest_issue_17933_bisÂ	  s     $r(  c                	   C   sX   t ttt tttdt t ƒ  gttgƒtt t t	t
ttt ƒtjƒfƒƒsTt‚d S )Nrõ   )r“   rq   r‡   r‰   r$   r   rS   rŠ   r   rP   r   r   rÀ   r¡   r–   r–   r–   r—   Útest_issue_14565Î	  s    *"ÿr)  c                  C   sn   t ddd�} tttƒd ttjƒtjks,t‚tttƒ|  ttjƒtjksLt‚tt| dƒ| tjƒtjksjt‚d S )Nr~   Tr­   r³   rº   )	r   rn   r   r�   r   r¼   r¿   r¡   r   )r~   r–   r–   r—   Útest_issue_9556×	  s      r*  c                   C   sL   t ttt t tƒttjƒtjks&t‚t ttt t tƒtƒtjksHt‚d S r’   )	rn   r   r�   r}   r   r¼   r¡   r�   r=  r–   r–   r–   r—   Útest_issue_9611ß	  s    &r+  c                   C   s>   t td t ttjƒttjttt ƒ tt ƒƒƒks:t‚d S rò   )	rn   r�   r}   r   r¼   rT   rS   r3   r¡   r–   r–   r–   r—   Útest_issue_9557ä	  s    ÿr,  c                  C   sž   t ddd�} t ddd�}t| d d | tjƒtdƒks:t‚t| tddƒ d | tjƒtjks`t‚t| d | | tjƒtt|ƒtddƒ  t	|ƒ ƒksšt‚d S )	Nr�   Tr©   r�   r®   r³   rº   rÆ   )
r   rn   r   r¼   rS   r¡   r   r¿   r   r!   r¸   r–   r–   r—   Útest_issue_9778é	  s    "&ÿr-  c                  C   sÚ   t ttddƒ d ttjƒtjks&t‚t ttddƒ d ttjƒtjksLt‚tdtddƒ  ƒ} t ttdƒ d ttjƒ| ks‚t‚ttdƒ d  tt	| ƒd ¡dksªt‚ttdƒ d  tdtddƒ  ¡dksÖt‚d S )Nr®   r¯   rÒ   rÅ   r   rõ   )
rn   r�   r   r   r¼   r¿   r¡   rS   rÚ   rš   )r  r–   r–   r—   Útest_issue_10214ò	  s    &&"(r.  c                   C   s(   t tttƒƒd ttjƒtjks$t‚d S rÌ   )rn   r   rC   r�   r   r¼   r¿   r¡   r–   r–   r–   r—   Útest_issue_9849ü	  s    r/  c                   C   s   t g tƒtjkst‚d S r’   )ri   r�   r   r¿   r¡   r–   r–   r–   r—   Útest_issue_9953 
  s    r0  c                	   C   sŽ   t dt dtd d   ttjƒtdtdƒ d tddƒ tddƒ  d dddtdƒ d tddƒ tddƒ    td	dƒ ƒksŠt‚d S )
Nr¯   r³   rÄ   r®   i^  rÒ   i»  rµ   rÓ   )rn   r�   r   r¼   rS   r3   r   r¡   r–   r–   r–   r—   Útest_issue_9913
  s     ,&ÿÿÿr1  c                   C   s"   t ttƒttjƒtdƒkst‚d S r<  )rn   r3   r�   r   r=  rS   r¡   r–   r–   r–   r—   Útest_issue_10397

  s    r2  c                   C   s‚   t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ t td	d„ ƒ t td
d„ ƒ d S )Nc                   S   s   t td gtƒS rò   r‹  r–   r–   r–   r—   r±   
  s    ÿz"test_issue_14987.<locals>.<lambda>c                   S   s(   t tdt d  dt  t gttgƒS )NrÅ   r³   r¯   )rh   r�   r�   r}   r–   r–   r–   r—   r±   
  s    ÿc                   S   s$   t td dt  td  d gtƒS r4  r‹  r–   r–   r–   r—   r±   
  s    ÿc                   S   s,   t td d td  dtd   d gtƒS )Nr³   r®   r¯   rù   r‹  r–   r–   r–   r—   r±   
  s   $ ÿc                   S   s    t tdt d  t gttgƒS rÌ   r‰  r–   r–   r–   r—   r±   
  s    ÿc                   S   s   t td t gttgƒS rÌ   r‰  r–   r–   r–   r—   r±   
  s    ÿc                   S   s"   t tdt dt t ƒgttgƒS rÌ   ©rh   r   r�   r�   r–   r–   r–   r—   r±   
  s    ÿc                   S   s"   t ttt tt t ƒgttgƒS r’   )rh   r   r�   r�   r–   r–   r–   r—   r±   
  s    ÿc                   S   s&   t tttd  td t ƒgttgƒS rã   r3  r–   r–   r–   r—   r±   
  s    ÿ)r]   r¾   r–   r–   r–   r—   Útest_issue_14987
  s    r4  c                  C   sÖ   t tt dt dt    } t| t ƒttjƒks4t‚t| t tjƒt	tt dt dt    htjƒksjt‚t
ddd�}t
ddd�}t || d| d|    } t| t ƒttjƒks¶t‚t| t tjƒttjƒksÒt‚d S )Nrõ   r¯   ÚapTr­   Úbn)Únegative)r�   r}   r~   rn   rS   r   r½   r¡   r¼   rT   r   )rð   r5  r6  r–   r–   r—   Útest_simplification#
  s    6r8  c            
      C   sB  dt  d dk} t d dt   d dk}t dt   ddt   k}t tt d d ƒ dk}t dt   ddt   k}| t tt ƒ¡}tt ƒt  dk}tt ƒt  dk }t t d  dk }t t d d  dk }	t| t tjƒtdtdƒksât	‚t|t tjƒt
tt ddƒtdtdƒƒk�st	‚t|t tjƒt
tdddƒtdtdƒƒk�s@t	‚t|t tjƒtdtdƒk�s`t	‚t|t tjƒtdtdƒk�s€t	‚t|t tjƒtdddƒk�s t	‚t|t tjƒtjk�sºt	‚t|t tddƒd	�tdddƒk�sàt	‚t|	t tddƒd	�t
tdddƒtdddƒƒk�st	‚tt d dk t tjƒtt ddƒk�s>t	‚d S )
Nr¯   r®   r   r³   rõ   rÆ   rº   rÅ   rû   )r�   r3   rÚ   r%   rn   r   rÀ   rQ   r   r¡   rV   r¿   )
r¾  r¿  rÀ  rÁ  rð   Zeq5Zeq6Zeq7Zeq8Zeq9r–   r–   r—   Útest_integer_domain_relational/
  s(    0.   &4r9  c                  C   s¤   t dƒ} t dƒ}t| tƒtd  ttjƒ ttt| tƒtd  dƒtjƒ¡sPt	‚t| |tƒƒtd  |tƒtjƒ t|tƒt| |tƒƒtd  dƒtjƒ¡s t	‚d S )Nr‚   rƒ   r¯   r   )
r   rn   r�   r   r   r¼   rž   rO   r   r¡   )r‚   rƒ   r–   r–   r—   Útest_issue_10555I
  s    ÿ"&ÿr:  c                  C   sx   t dt   ddt   k} t| t tjƒt dt¡tdƒ ks>t‚t|  	t t
t ƒ¡t tjƒt tdƒt¡tdƒ kstt‚d S )Nr³   rõ   r   )r�   rn   r   r¼   rU   rÉ   r   rS   r¡   rÚ   r%   r$   r  r–   r–   r—   Útest_issue_8715R
  s    ÿÿr;  c                  C   sè   t d tdt ƒ ttƒ } ttjtt	t d  ttƒ ƒd ƒƒ}t
| ttjƒ|ksXt‚ttƒtttƒƒ tttƒd d ƒ tttƒ  } ttƒ tttƒƒ tttƒd d ƒttƒ  }ttjt|ƒƒ}t
| ttjƒ|ksät‚d S r+  )r‘   r$   r�   rC   r�   rT   r   r¼   rS   r%   rn   r¡   r3   rŒ   r   rD   r�   )rð   r³  r«   r–   r–   r—   Útest_issue_11174Z
  s    &42r<  c            	      C   sò   t ddd�} t ddd�}| | t| d  d ƒ  }|d  | d | d  d   }t| t|d d ƒ ƒt|t|d d ƒ ƒ }}t| t|dƒ|ƒ}|ddh |ddh B }||B ddh }t|| tjƒ|ksØt‚t|| tjƒ|ksît‚d S )	Nr�   Tr©   r�   r¯   r³   r   rº   )	r   r3   rS   rO   r   rn   r   r¼   r¡   )	r�   r�   r¾  r¿  r¦   r§   r  r£   r¤   r–   r–   r—   Útest_issue_11534e
  s     
4r=  c                   C   sJ   t td dt  d t dk ttjƒtt t d¡t dd¡ƒksFt‚d S )Nr¯   rÒ   r®   rÅ   r   r³   )	rn   r�   r   r¼   rV   rU   rÉ   r   r¡   r–   r–   r–   r—   Útest_issue_10477€
  s    $ÿr>  c                  C   sT   t ttƒttdtƒƒtdtƒks$t‚tddƒ} t dt  t¡dk t| ƒ| ksPt‚d S )Nr   r³   rÄ   )	rn   rC   r�   rU   r   rS   r¡   r�   r	   )r…   r–   r–   r—   Útest_issue_10671…
  s    $
r?  c                  C   sŽ   t tt d d ƒ } t| dkt tjƒttdƒtƒks8t‚t| dk t tjƒtt tdƒ ƒks`t‚t| tdƒkt tjƒt tdƒt¡ksŠt‚d S )Nr¯   rÆ   r   )	r�   r3   rn   r   r¼   rU   r   r¡   r^  r  r–   r–   r—   Útest_issue_11064‹
  s    ÿÿÿr@  c                  C   sh   t td ƒd } t| tƒ}|tjks(t‚t| dk ttjƒtjksDt‚t| dkttjƒtdt	ƒksdt‚d S ©Nr¯   r   )
r3   r�   re   r   r¿   r¡   rn   r¼   rU   r   )rð   r³  r–   r–   r—   Útest_issue_12478•
  s
    
rB  c                  C   s6   t ttƒt dkttjƒ} t dd¡}| |ks2t‚d S rg  )rn   r%   r�   r   r¼   rU   r^  r¡   )rð   r×   r–   r–   r—   Útest_issue_12429�
  s    rC  c                  C   sZ   t tt ƒ} tdƒ}t| ƒ tt|tt	|ƒd dƒt
jƒt|t|ƒdkt
jƒƒ¡sVt‚d S )NÚCr³   r   )r   r�   r   r   rn   rž   rT   rO   r   r   r   r=  r    r¡   )rð   rD  r–   r–   r—   Útest_issue_19506£
  s
    $ÿrE  c                   C   sV   t ttƒttjƒt dt¡ks"t‚t tdt d ƒttjƒt t	ddƒt¡ksRt‚d S )Nr   rÒ   r®   )
rn   r   r�   r   r¼   rU   rÉ   r   r¡   r   r–   r–   r–   r—   Útest_solveset_argª
  s    "rF  c                      sP   t ‰ t‡ fdd„tƒ tdd�tdd�fD ƒƒs2t‚ˆ dtdd� ƒdksLt‚d S )Nc                 3   s   | ]}ˆ d | ƒdkV  qdS )r³   Nr–   r  rà   r–   r—   r˜   ²
  s     z3test__is_finite_with_finite_vars.<locals>.<genexpr>Tr©   )Úcomplexr³   F)rs   rœ   r   r¡   r–   r–   rà   r—   Ú test__is_finite_with_finite_vars¯
  s      ÿrH  c                   C   s6   t td dt  d ttt dƒd�tdƒks2t‚d S )Nr¯   rô   r   )Úsymbolrü   rÅ   r{  r–   r–   r–   r—   Útest_issue_13550·
  s    rJ  c                   C   s4   t ttdƒtdƒ  tdƒ tftƒtjks0t‚d S )NrÆ   r¯   )rq   r�   r3   r   r¿   r¡   r–   r–   r–   r—   Útest_issue_13849»
  s    rK  c                   C   sŠ   t ttttdƒ ƒd  t¡ttjƒtddƒks4t	‚t ttttdƒ ƒd  t¡tt
ddƒƒtdƒksjt	‚t tttddƒƒtjks†t	‚d S )Nr¯   rº   r³   r   )rn   r   r�   r4   rF  r6   r   r¼   rS   r¡   rU   r¿   r–   r–   r–   r—   Útest_issue_14223¿
  s    ÿÿÿÿrL  c                	      s°  t j‰ ttttdƒ d tˆ ƒttddƒƒks2t‚ttttdƒ d tˆ ƒtt	dƒ t	dƒƒksdt‚ttt
td ƒd td ƒd tˆ ƒtddƒks˜t‚tt
td ƒt
tƒ tˆ ƒtt
tƒ d t
tƒd ƒksÔt‚tt
tdt
td ƒ  ƒtˆ ƒttddƒtdd	ƒƒk�st‚tdt
tt
ttdtƒ ƒ ƒ d tt jƒtdd
ƒk�sLt‚t j‰ tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ fdd„ƒ d S )Nrô   rÄ   r¯   r®   r³   rº   rÒ   rç   rÆ   rõ   c                      s   t tttdƒ d tˆ ƒS ©Nrô   rÄ   )rn   r�   r5   r–   ©Údomr–   r—   r±   Ð
  r²   z"test_issue_10158.<locals>.<lambda>c                      s   t tttdƒ d tˆ ƒS rM  )rn   r�   r4   r–   rN  r–   r—   r±   Ñ
  r²   c                      s&   t tttd ƒd td ƒd tˆ ƒS )Nr®   r³   r¯   )rn   r5   r   r�   r–   rN  r–   r—   r±   Ò
  r²   c                      s   t ttd ƒttƒ tˆ ƒS rÌ   )rn   r   r�   r�   r–   rN  r–   r—   r±   Ó
  r²   c                      s    t ttdttd ƒ  ƒtˆ ƒS )NrÒ   r³   r(  r–   rN  r–   r—   r±   Ô
  r²   )r   r¼   rn   r�   r5   rS   r   r¡   r4   r3   r   r�   r=  r]   r¾   r–   r–   rN  r—   Útest_issue_10158Ç
  s    ,24<<<rP  c               
   C   s¤   dt dt ƒ t } ttt d ƒ d ƒ}t| ttjƒttj|ƒksJt	‚t
t| tƒtttt dt t tt d ƒ  d tttd ƒƒd  ƒtjƒƒs t	‚d S )Nr³   i€Wíþi€¨r¯   )r$   r�   r�   rS   r%   rn   r   r¼   rT   r¡   r“   rP   r   rŠ   r   r   r   r   rÀ   )r‚   rÕ  r–   r–   r—   Útest_issue_14300×
  s    
ÿ
(ÿÿÿrQ  c                      s@   t td t d dƒ‰ tt‡ fdd„ƒ ttd ˆ tƒs<t‚d S )NrÒ   r³   r¯   c                      s   t ˆ dtƒS r<  )rk   r�   r–   ©Únumberr–   r—   r±   ä
  r²   z"test_issue_14454.<locals>.<lambda>)rM   r�   r]   r¾   rk   r¡   r–   r–   rR  r—   Útest_issue_14454â
  s    rT  c                   C   sn   t dtd  dtd d tdƒd    ddtd d tdƒd     ttjƒttdƒtdƒ ƒksjt‚d S )Nr  r¯   r  r³   rÒ   r®   )rn   r�   r   r=  rS   r3   r¡   r–   r–   r–   r—   Útest_issue_17882è
  s    PÿrU  c               	   C   s¬   t tdt d ƒƒddt gks$t‚dtd  dtd   dtd   dtd   dtd   } tt| ƒƒdtd  dtd  dtd  dtd  ddtd  hks¨t‚d S )Nr®   r¯   rõ   rÒ   r³   rº   )rš   rz   r�   r¡   r8  )rå  r–   r–   r—   Útest_term_factorsí
  s    $<

 
 
 
  
ÿrV  c                   C   sJ   t dt ttjƒtjkst‚t dt dtd   ttjƒtdƒksFt‚d S )Nr®   r  rÆ   r„  )rt   r�   r   r¼   r¿   r¡   rS   r–   r–   r–   r—   Útest_transolveö
  s    rW  c                  C   sl   dt  tt  tttt ƒ  t tttt ƒ  t d } t|  ¡ tƒttttdt  d ƒ ƒksht‚d S r+  )	r�   r�   r‘   rE   rn   r[  rS   rH   r¡   r  r–   r–   r—   Útest_issue_21276ü
  s    <rX  c               
   C   s4  ddl m}  ddt  dtd   }dddt   ddt   }dt dt  }ttdƒt ƒdt  }tt|  ƒtt |  ƒ d }dtd  dtd   }dtd	  dtd   dtd	   dtd   dtd   }d
tdt d ƒ dtdt d	 ƒ  }dt dt  dt  d }	ddtd	   dt  ddt   }
t|ttjƒt	dtdƒ dtdƒ tdƒ  ƒk�szt
‚t|ttjƒt	tddƒƒk�sœt
‚t|ttjƒtjk�s¶t
‚t|ttjƒt	dƒk�sÒt
‚t|ttjƒttjt	| tdtt|  ƒ ƒ ƒƒk�s
t
‚t|ttjƒt	dƒk�s&t
‚t|ttjƒt	dƒk�sBt
‚t|ttjƒt	dtdƒ d dtdƒ d  tddƒ ƒk�s„t
‚t|	ttjƒt	dƒk�s t
‚t|
ttjƒt	tdƒ tdƒ tdƒ tdƒ tdƒ tdƒ  ƒk�sìt
‚td
tdt d ƒ dtd	   tƒt	ddtdƒ  tdƒ tdƒd   ƒk�sBt
‚tdtd  dtd   tƒt	dƒk�snt
‚tdƒttdƒƒ ttdƒƒ }tdtd  ddt   tƒt	| |ƒk�s¾t
‚tdƒ\}}tdƒ}t||td   t|tƒ ƒ |tƒƒttjt	t||td   ƒ ƒƒk�s"t
‚tddd�} ttd | d ttƒ  | ƒttjt	ttd ttƒ ƒ ttd ttƒ ƒƒƒk�s†t
‚tddd�}td	| d	 |d	  |ƒ tttd	d	t  td	  dƒtjƒ¡�sØt
‚tdt dt  d ttjƒdhk�st
‚tdt ddt   d ttjƒdhk�s0t
‚d S )Nr   r2  r®   r¯   rÒ   rÆ   r  rÎ   r³   rZ  rõ   éT   é   ig  é{   i¦
  rÅ   rô   rÃ   rÇ   zC1 C2r‚   r�   Tr­   r»   r  )rw  r�   r�   r$   r%   r‘   rn   r   r¼   rS   r¡   r   r¿   rT   re   r3   r   r   r   rž   rO   r   )r�   r  r  Ze3Ze4Ze5Ze6Ze7Ze8Ze9Ze10r~   ZC1ZC2r‚   r»   r–   r–   r—   Útest_exponential_real  sb    <($ÿ" ÿBL&$ÿ, 0( ÿ *ÿ"ÿ
*r\  c            	   	   C   sÜ  t dƒ} ttdt dt  tƒtt| td|  t t  tdƒ ƒt	j
ƒƒsNt‚ttt tt  d tƒttdƒttƒttƒ  ƒksˆt‚ttdtd  dtd   tƒtt| d|  t t tdƒ ƒt	j
ƒƒsÒt‚ttdt d tƒtt| td|  t t  dtdƒ  tdƒ ƒt	j
ƒƒ�s"t‚dttd t ƒ d td d  }ttƒtttdƒƒ ttdƒd|  t t  ƒ ƒ }t|tƒt| |ƒk�s˜t‚tt| td|  t ttddƒ   tdƒ ƒt	j
ƒ}tt| td|  t ttddƒ   tdƒ ƒt	j
ƒ}ttdt dt  dt  tƒt||ƒƒ�s0t‚dtd	  dtd   dtd	   dtd   dtd   }t|tƒ}d|  t t dtdƒ  dtdƒ  }d
tdƒ tdƒ }tt| || ƒt	j
ƒ}t||ƒ�sØt‚d S )NrŠ   r¯   rÒ   r®   rî  rÆ   rô   rÎ   r³   rõ   )r   r“   rg   r�   rW   r   r   r   r%   r   rÀ   r¡   r‘   r�   rS   rn   r$   r3   r   rV   )	rŠ   rð   r}   Zunion1Zunion2rD  ÚnumZdenr  r–   r–   r—   Útest_exponential_complex2  s8      ÿ
ÿ
  ÿ
, ÿ$6440<
(r^  c                  C   sˆ  t tƒd t d } td t t d }dt t tƒ d }ttƒt tƒ }dt dt  dt  }t| ttjƒ ttt	t tƒd t d dƒtjƒ¡sœt
‚t|ttjƒ ttt	ttd t  d dƒtjƒ¡sÔt
‚t|ttjƒ ttt	dt t tƒ d dƒtjƒ¡�st
‚t|ttjƒ ttt	t tƒ ttƒ dƒtjƒ¡�sFt
‚t|ttjƒ ttt	dt dt  dt  dƒtjƒ¡�s„t
‚d S )Nr³   r¯   r®   rÆ   r   )r$   r�   r�   r%   rn   r   r¼   rž   rO   r   r¡   )rd  re  r®  r¯  r°  r–   r–   r—   Útest_expo_conditionsetO  s<      ÿ
  ÿ
  ÿ  ÿ  ÿr_  c            	      C   s€  t ddd�\} }}t ddd�\}}t||  | | tjƒttjtt|ƒt|ƒ ƒƒksXt‚d| t  d|t   }| | t d }ttdƒt| ƒt|ƒ  htjƒ}ttdƒt| | ƒ htjƒ}t|ttjƒ|ksätt|ttjƒƒ‚t|ttjƒ|k�s
tt|ttjƒƒ‚t| |  | t	 
dt¡ƒ ttttt dƒt	 dt¡ƒ¡�sHt‚t| | d	 |tjƒtdƒk�slt‚tt| | ƒt| | ƒ d |tjƒtt|tt| ƒ| dƒtt|ƒ| dƒ@ ttt| | tdƒ ƒtjƒtdƒƒƒtdƒƒk�sòt‚tt|| ƒt| | ƒ d |tjƒtt|| tdƒ ƒtdƒƒk�s>t‚tt|  t|   | ƒ ttttdƒttdƒ@ tdƒƒ¡�s|t‚d S )
Nzx y zTr­   zxr, zrr©   r¯   rÒ   r   r³   )r   rn   r   r¼   rT   rS   r%   r¡   rŽ   rU   r^  r   rž   rO   r   rÉ   r$   rR   r   r}   r~   r   )	r�   r�   r‘   ZxrZzrrd  re  r£   r¤   r–   r–   r—   Útest_exponential_symbolsc  s>     ÿ
"$&ÿ
$&($ÿÿÿ
&ÿ
  ÿr`  c                  C   s@   t ddd�} t dƒ}t| d d | ƒt|d d |ƒks<t‚d S )Nr�   Tr­   r¯   rÒ   )r   rg   r¡   )Zxposr�   r–   r–   r—   Útest_ignore_assumptions~  s
    ÿra  c                   C   s*   t ttt  t ttjƒtdƒks&t‚d S rÌ   )rn   r�   r�   r‘   r   r¼   rS   r¡   r–   r–   r–   r—   Útest_issue_10864†  s    rb  c                   C   sX   t tttƒƒttt ƒƒ d tƒtdttdƒ d ƒ dttdƒd ƒ ƒksTt‚d S )NrÒ   r¯   r®   )re   r3   r$   r�   rS   r%   r¡   r–   r–   r–   r—   Útest_solve_only_exp_2‹  s    "*ÿrc  c                   C   sL  t ttƒdkst‚t dt d tƒdks,t‚t dt ddt   tƒdksNt‚t tdt ƒdt  tƒdkspt‚t tt t tƒdksŠt‚t tt t tƒdks¤t‚t dt dt  d tƒdksÆt‚t ttt  t tƒdksät‚t tdt  dt  tƒdk�st‚t tt tt  tƒdk�s(t‚t tt tt  tƒdk�sHt‚d S )	NFr®   r¯   TrÆ   rù   rÒ   r³   )ru   r�   r�   r¡   rC   r‘   r–   r–   r–   r—   Útest_is_exponential‘  s    """$ rd  c                   C   s  t ddt  dtd   dttjƒtdtdƒ dtdƒ tdƒ  ƒksLt‚t dt dt  dttjƒtttddƒt	d	ƒd  ƒtdƒ ƒks’t‚t dt dt  dttjƒtj
ks¸t‚t dt dt  d	t  dttjƒtttdt dt  d	t  dƒtjƒk�s
t‚d S )
Nr®   r¯   r   rÅ   rõ   rÒ   r³   rº   rÆ   )rv   r�   r   r¼   rS   r%   r¡   r�   r   r3   r¿   rO   r   r–   r–   r–   r—   Útest_solve_exponentialŸ  s    ""ÿ$ÿÿ"&ÿre  c               
   C   s  t ttd ƒttd ƒ tƒttdƒ tdƒƒks6t‚t ttd ƒtdt d ƒ tƒtdƒksdt‚t ttd ƒtddt  ƒ d tƒtdtdtdƒ ƒttddƒƒ d  tdƒd  tdtdƒ ƒ ttddƒƒ d d tdƒd  ƒksöt‚tttƒ tt	tdt	d td     ƒ } t | tƒt
tjttt	d t	ttƒ  ƒ tt	d t	ttƒ  ƒƒƒt
tjttt	d ƒ tt	d ƒƒƒ k�s’t‚t tdt ƒtt d ƒ tdt d ƒ tƒttddƒtjƒk�sÚt‚tttt	 ƒt	ttƒ  ttjƒtjk�st‚d S )	Nr®   rÄ   r³   r¯   rÅ   iôÿÿÿrº   rÒ   )re   r%   r�   rS   r3   r¡   r$   r   r‘   r�   rT   r   r¼   r½   rn   r  r–   r–   r—   Útest_logarithmic­  s0     ÿ
.&02þ
, ÿ"þÿ
( ÿÿ
rf  c                  C   sz   t tdt ƒd ƒt ttƒ d ƒ t dƒ } t| tƒtjksBt‚t dt ƒt ttƒd ƒ d } t| tƒtjksvt‚d S )Nr¯   r³   rÎ   )	r%   r$   r�   r)   re   r   r¿   r¡   r3   r  r–   r–   r—   Útest_uselogcombine_2¾  s    . rg  c                   C   sÆ  t ttƒdkst‚t ttƒtƒdks(t‚t ttƒd tƒdksBt‚t ttƒttƒ tƒdks`t‚t ttƒd tƒdkszt‚t ttd ƒttd ƒ tƒdks t‚t ttt ƒtttƒ  tƒdksÆt‚t tttƒƒtƒdksàt‚t tt tƒdksöt‚t tdt ƒtdt ƒ d tƒdk�s"t‚t ttƒttƒ t tƒdk�sFt‚t tttd ƒƒttd ƒ tƒdk�srt‚t ttdƒt ƒttƒ tƒdk�sšt‚t ttƒtd  ttƒ tƒdk�sÂt‚d S )NFTr®   r¯   r³   rÒ   )rw   r�   r�   r¡   r%   rC   r–   r–   r–   r—   Útest_is_logarithmicÆ  s    &&,$,(rh  c                  C   sn   t dƒ} ttt|  ƒ| ttƒ  dttjƒtjks6t‚t ddd�} tttƒt| ƒ dttjƒtdƒksjt‚d S )Nr�   r   Tr­   r³   )r   ry   r%   r�   r   r¼   r¡   rS   r2  r–   r–   r—   Útest_solve_logarithm×  s    .ri  c                  C   sè  t dƒ\} }}ttd tƒdks$t‚t| td  |t  | tƒdksJt‚ttd tƒdks`t‚tttd  tƒdkszt‚tdttƒ ttdƒ  tƒdks t‚ttttd ƒƒttd ƒ tƒdksÊt‚tdt d dtddt  ƒ  tƒdksøt‚t| t ttd ƒ  td¡tƒdk�s$t‚ttd dt  d  tttƒdt  d d ¡tƒdk�sdt‚ttt	tƒ d tƒdk�s„t‚ttt
tƒ d tƒdk�s¤t‚tttƒdt  tƒdk�sÄt‚tttƒt	tƒ tƒdk�sät‚d S )	Nza,b,cr¯   FTr®   rÆ   r³   rù   )r   rx   r�   r¡   r   r%   r$   r	   rÚ   r'   r?   r)   r(   )r}   r~   r   r–   r–   r—   Útest_is_lambertá  s    &&*.,@   rj  c                      st  ddl m‰  ˆ dtƒddgks"t‚tdd„ ˆ dtƒD ƒƒs>t‚ˆ tdt  d ttƒdddgksdt‚ˆ tdt  d ttƒdddgksŠt‚ˆ tdtd   d ttd ƒdddgks¸t‚tt‡ fdd	„ƒ tt‡ fd
d	„ƒ tt‡ fdd	„ƒ ˆ ttt  ttƒttdgk�st‚ˆ dttƒdddgk�s.t‚ˆ t	ttt ƒttdd�tdik�sVt‚ˆ dttdd�i k�spt‚d S )Nr   ©Úlinear_coeffsc                 s   s   | ]}|t jkV  qd S r’   )r   r  rí   r–   r–   r—   r˜   ÷  s     z%test_linear_coeffs.<locals>.<genexpr>r¯   r®   r³   c                      s$   ˆ t dt d   t d  t t d ƒS r4  r°   r–   rk  r–   r—   r±   û  s    z$test_linear_coeffs.<locals>.<lambda>c                      s   ˆ dt  t d  dt   t ƒS rÌ   r°   r–   rk  r–   r—   r±   ý  s    c                      s   ˆ t t t ƒS r’   r°   r–   rk  r–   r—   r±   ÿ  s    r¶   T)Údictrº   )
rv  rl  r�   r¡   rœ   r�   r]   r¾   r}   r   r–   r–   rk  r—   Útest_linear_coeffsô  s    &&.$(rn  c                   C   sP  t ttƒdkst‚t ttdƒd tƒdks.t‚t ttd dtd   t d dƒd tƒdksbt‚t tttt ƒdƒd tƒdks†t‚t tttt ƒdƒttƒ tƒdks®t‚t ttdƒd tƒdksÊt‚t ttdƒd d tƒdksêt‚t ttdƒd t tƒdk�st‚t tttdƒƒd tƒdk�s.t‚t tdtƒd tƒdk�sLt‚d S )NFr®   r³   Tr¯   rÆ   )r{   r�   r�   r¡   r
   r$   r%   r–   r–   r–   r—   Útest_is_modular  s    4$( ""ro  c                  C   s  t ddd�} ddlm} |ttdƒtdƒd | tƒttjfksBt‚|tttƒd	ƒtd
ƒ| tƒtttƒd	ƒd
fkstt‚|tt	tƒd	ƒtd
ƒ| tƒtt	tƒd	ƒd
fks¦t‚|tt
tƒd	ƒtd
ƒ| tƒtt
tƒd	ƒd
fksØt‚t|ttd	ƒtd
ƒ| tƒttt| d	|  d
 ƒtjƒfƒ�st‚t|ttd d	ƒtd
ƒ| tƒttt| d	|  d ƒtjƒfƒ�sXt‚|ttd t d	ƒtd
ƒ| tƒttd t d	ƒd
fk�s”t‚t|tdt d	ƒtd
ƒ| tƒttt| d	|  d ƒtjƒfƒ�sÖt‚|ttd td  d	ƒtd
ƒ| tƒttd td  d	ƒd
fk�st‚|ttd d	ƒtd
ƒ| tƒttjfk�sFt‚t|tdt dƒtdƒ| tƒttt| d|  d ƒtjƒfƒ�sˆt‚t|tdtd t d  d	ƒtdƒ| tƒtd t d tt| d|  d ƒtjƒfƒ�sât‚|tttƒd d	ƒtd
ƒ| tƒttjfk�st‚d S )NrŠ   T©Úintegerr   )Ú_invert_modularr  r³   r¯   rù   rÆ   rÎ   rÒ   r®   )r   rv  rr  r
   r�   r   r¿   r¡   rC   r$   r%   r“   rP   r   rÀ   rÈ   )rŠ   Zinvert_modularr–   r–   r—   Útest_invert_modular  s>    *222ÿ
ÿ
ÿ
ÿ
"ÿ
ÿ
ÿ
((ÿ
rs  c                  C   s:	  t ddd�} tttdƒt ttjƒ tttt ttdƒ dƒtjƒ¡sJt	‚tdtt
tƒdƒ ttjƒ ttttt
tƒdƒd dƒtjƒ¡sŽt	‚tdtttƒdƒ ttjƒ ttttttƒdƒd dƒtjƒ¡sÒt	‚tdtttƒdƒ ttjƒ ttttttƒdƒd dƒtjƒ¡�st	‚tdttdƒ ttjƒtjk�s<t	‚tdttdƒ ttjƒtjk�s`t	‚ttd	ttd
ƒ ttjƒtt| d
|  d	 ƒtjƒƒ�sšt	‚tdttd
ƒ ttjƒtjk�s¾t	‚ttdttdƒ ttjƒtt| d|  d ƒtjƒƒ�søt	‚ttdtdt d dƒ ttjƒtt| d|  d ƒtjƒƒ�s:t	‚ttdtdt dƒ ttjƒtt| d|  d	 ƒtjƒƒ�sxt	‚ttttd	 dƒd ttjƒttt| d|  d ƒtjƒtt| d|  d ƒtjƒtt| d|  d ƒtjƒtt| d|  d ƒtjƒtt| d|  d ƒtjƒtt| d|  d ƒtjƒtt| d|  d ƒtjƒtt| d|  d ƒtjƒƒƒ�sbt	‚tdttd dƒ ttjƒtjk�sŠt	‚ttttd dƒd ttjƒttt| d|  d ƒtjƒtt| d|  d ƒtjƒtt| d|  d ƒtjƒtt| d|  d ƒtjƒƒƒ�st	‚tttdt dƒd ttjƒtt| d|  d ƒtjƒƒ�sRt	‚tttdt dƒd ttjƒtt| d|  d	 ƒtjƒƒ�s�t	‚tttdt dƒd ttjƒtt| d	|  d ƒtjƒƒ�sÎt	‚tttd	t dƒd	 ttjƒtt| d|  d ƒtjƒƒ�st	‚tttddt  dƒd ttjƒttt| ttd	|  d ƒtdƒ htjƒƒtjƒtjƒƒ�slt	‚tttd dƒd	 ttjƒtjk�s”t	‚ttttd dƒd ttjƒtt| d|  d ƒtjƒƒ�sÒt	‚ttttd dƒd ttjƒttt| d|  d ƒtjƒtt| d|  d ƒtjƒƒƒ�s,t	‚ttdtdt d dƒ ttjƒttt| d|  d ƒtjƒtjƒƒ�svt	‚tttdƒt ttjƒtjk�sšt	‚tttt dƒd	 ttjƒ tttttt dƒd	 dƒtjƒ¡�sàt	‚tttt dƒd	 ttjƒ tttttt dƒd	 dƒtjƒ¡�s&t	‚ttttd dƒd ttjƒttt| d|  d ƒtjƒtt| d|  d ƒtjƒƒƒ�s€t	‚ttttd  d!ƒd" ttjƒtt| d!|  d  ƒtjƒƒ�s¾t	‚tddd�} d#}d$}d%}d&}tt|t||  | |ƒ | tjƒtt| d'|  d( ƒtjƒƒ�st	‚tt|t||  | |ƒ | tjƒttt| d'|  d( ƒtjƒtjƒƒ�sft	‚tt|t|d	|   | |ƒ | tjƒttt| d)|  d* ƒtjƒtjƒƒ�s´t	‚t|t|d	|  d  | |ƒ | tjƒtjk�sèt	‚tt|t|| d  | |ƒ | tjƒttt| d'|  d+ ƒtjƒtjƒƒ�	s6t	‚d S ),NrŠ   Trp  rÒ   r   r®   rù   rÆ   r¯   rÅ   rÎ   é    r  r  rS  éM   éS   é]   é“   é�   r  r  r  é)   rô   r  é   rR  rÇ   r³   rQ  r¹   éJ   rÜ  i­VH,i½.qiÿÿÿi@È3iþÿÿrµ   iÿÿÿ?é2   r	  )r   rn   r
   r�   r   rÀ   rž   rO   r   r¡   rC   r%   r$   r¿   r“   rP   r   rV   rÈ   rT   r   r   )rŠ   r}   r~   r‰   r   r–   r–   r—   Útest_solve_modular6  sú    ÿþ þ þÿÿ
$$ÿ
$ÿ
 ÿ
ÿ
ùÿ
	(ýÿ
ÿ
ÿ
ÿ
ÿ
 "ÿÿÿÿ
(ÿ
ÿÿ
  ÿ
ÿ
 þ
 þ
ÿÿ
ÿ
 ÿ
 ÿÿ
$ÿÿ
4$ÿÿr~  c                   C   sd   t ttdtdƒd  ƒttt dtdƒ ƒgttƒtdtdƒd  ddtdƒd   fƒks`t‚d S )NrÆ   r³   rY  r®   rÄ   )rq   r   r�   r   r�   r3   rS   r¡   r–   r–   r–   r—   Útest_issue_17276¡  s    2&ÿr  c                  C   s¸   t dƒ} tdƒ}t dƒ}tt| | ƒt| ƒ |ƒ t dƒ¡ttt|d| t ƒt	j
ƒtt	jtt|t td| t ttdt |  ƒ ƒ  dt| ƒ   ƒt	j
ƒƒƒ t dƒ¡ks´t‚d S )Nr�   r}   rŠ   r¯   rõ   zx,n)r   r   rn   rC   rž   rV   rP   r   r   r   rÀ   rT   r=  r   r   r$   r   r¡   )r�   r}   rŠ   r–   r–   r—   Útest_issue_10426¦  s    $Dÿþýr€  c                   C   s(   t ttƒd t ƒtdt ƒks$t‚dS )z,Test solveset for simple conjugate functionsr®   N)rn   r"   r�   r   rS   r¡   r–   r–   r–   r—   Útest_solveset_conjugate°  s    r�  c            '   $   C   sN  t dƒt dƒ } | \}}}}}}}}}	}
}}}}}}}}}}}}}}}}}}|| | | d || | | d || | | d || | | d || | | d || | | d || |	 |
 d || | | d	 || | |	 d
 || | |
 d || |	 |
 d || |	 |
 d || | | d || | |	 d || | |
 d || | | d || | | d || | | d || | | d || | | d || | | d || | | d || | | d || | | d || | | d || | | d || | | d |d |d |d |d |d |d |d |d g#}d| |d d	| |d| |d d| |dddddddddd| | d || d | | | d  || | d! d"| |d#| |d#| |g}t|| ƒ\}} d$d%„ t| |ƒD ƒ}!t|| ƒ|!k�s(t‚tt|Ž ƒ}"t|| ƒ|"k�sHt‚t|| f| ƒ|"k�s`t‚| | ¡\}#}$t	|#ƒ}#|" 
t|||||g|$ƒ¡}%tt|#Ž ƒ|%k�s¦t‚td| |d d	| |d| |d d| |dddddddddd| | d || d  d| |d"| |d#| || | | d  || | d! fƒ}&t|| ƒ|&k�sJt‚d S )&Nzx0:16zy0:12r  é.   é'   r}  é#   é"   rX  rY  é,   rZ  rB  é5   é8   rT  é4   rÝ  é0   é<   r¯   rÆ   r³   rÇ   r{  r  rÓ   é&   rÄ   rö   rÎ   é   r®   é!   r÷   c                 S   s   i | ]\}}||kr||“qS r–   r–   )r•   r  rð   r–   r–   r—   Ú
<dictcomp>æ  s       z$test_issue_18208.<locals>.<dictcomp>)r   rh   r�   rd   r¡   rS   r   ri   Zgauss_jordan_solverš   rÚ   rq   )'Ú	variablesr£  r–  r—  r   r¡  Zx5Zx6Zx7Zx8Zx9Úx10Zx11Zx12Zx13Zx14Zx15Zy0r
  r  r  Zy4Zy5Zy6Zy7Zy8Zy9Zy10Zy11r¨  Úexpectedrm  r~   Zsolve_expectedZlinsolve_expectedZgj_solveZnew_varsZgj_expectedZnonlinsolve_expectedr–   r–   r—   Útest_issue_18208µ  sØ    ÿ"           Þ$(           
      ý	"            
       ýr“  c                  C   sª  t dƒ\} }}}}}}}}}	}
}}}}}}}}}}}}}||||||||||	|||||g}| | ||  | | | | | ||  |	 | | ||  | | | | ||  | | | ||  | | | | ||  | | | | ||  | | ||  |  ||  ||  | ||  ||  | ||  ||  | ||  ||  | | |	 | |
 | | | | | | | | | | | |
||||g}tdtt|ƒtdƒƒddddddddddd||f|tt|ƒtdƒƒd|ddddddddd| | | | fdtt|ƒtdƒƒd|dddddddd| | | | | |fdtt|ƒtdƒƒd|ddddddd| | | | | | ||fƒ}|t||ƒk�s¦t‚d S )Nzja00, a01, a10, a11, l0, l1, l2, l3, m0, m1, m2, m3, m4, m5, m6, m7, c00, c01, c10, c11, p00, p01, p10, p11r   r³   rß  )Za00Za01Za10Za11Zl0Úl1Úl2Úl3Zm0Úm1Úm2Zm3Zm4Zm5Zm6Zm7Zc00Zc01Zc10Zc11Zp00Zp01Zp10Zp11Zsolveforr²  r×   r–   r–   r—   Ú*test_substitution_with_infeasible_solution  sJ    ÿ4"ç.:>Bür™  c                   C   s   t dttƒ ƒtjkst‚d S rÌ   rê  r–   r–   r–   r—   Útest_issue_200970  s    rš  c                   C   s*   t ttdt t ƒƒƒtddƒks&t‚d S )Nr³   rº   )rn   r	   r3   r�   rS   r¡   r–   r–   r–   r—   Útest_issue_153504  s    r›  c                  C   sä   t dtdk ftdtƒd tdtƒd  tdtƒd  dfƒ} t t dtdk ftdtƒd tdtƒd  tdtƒd  dfƒtdkfdƒ}tddƒ}t| tddƒ ttddƒƒ}t|tddƒ ttddƒƒ}||ksÔt‚||ksàt‚d S )Nr   r³   r¯   r®   Tr6  )r6   r�   r4   rU   rn   r   r¡   )r×  Úc2Zcorrect_resultZresult1Zresult2r–   r–   r—   Útest_issue_183598  s    <J
r�  c                  C   sX   ddt  d   tt d ƒ tt d   } t| t ƒs8t‚t| dt tjƒtdƒksTt‚d S )Nr¯   r®   rQ  r   )	r�   r$   r   ru   r¡   rv   r   r=  rS   )rÁ   r–   r–   r—   Útest_issue_17604B  s    *rž  c                   C   s,   t ddtd  d  ttjƒtjks(t‚d S r?  )rn   r�   r   r¼   r¿   r¡   r–   r–   r–   r—   Útest_issue_17580H  s    rŸ  c                  C   s\   dt  dt  d dt  dt  d g} t| t tƒttddt  ƒtdƒ tfƒksXt‚d S )Nr¯   r®   rÒ   r  rÆ   )r�   r�   rq   rS   r%   r¡   )r»  r–   r–   r—   Útest_issue_17566_actualL  s    (r   c                  C   sˆ   t dtd d  dtd tdƒd    dtd  td tdƒd    dƒ} tt dtddƒ ¡tdtƒƒ}t| tt	j
ƒ|ks„t‚d S )Nr¯   r®   r³   r   rº   rÒ   )r   r�   r   rV   rU   r^  r   r   rn   r   r¼   r¡   )rð   rD  r–   r–   r—   Útest_issue_17565R  s    N r¡  c                  C   s@   t d tt d  dt   ƒ } t| t tjƒttdƒƒks<t‚d S )NrÆ   r¯   rÄ   rÃ   )r�   r3   rn   r   r¼   rS   r   r¡   )Úfunctionr–   r–   r—   Útest_issue_15024X  s    r£  c                
   C   sd   t ttd ttƒgttƒtdtttdt t	 ƒt
jƒfdtttdt t	 t	 ƒt
jƒfƒƒs`t‚d S rã   )r“   rq   r�   rC   r�   rS   rP   r   rŠ   r   r   rÀ   r¡   r–   r–   r–   r—   Útest_issue_16877]  s
     ÿÿr¤  c                   C   s˜   t tttƒdt dt  gttƒttttdt t	 ƒt
jƒttttt	 ƒt
jƒftttdt t	 t	 ƒt
jƒttttt	 t	d  ƒt
jƒfƒƒs”t‚d S ©Nr¯   rÒ   )r“   rq   rC   r�   r�   rS   rP   r   rŠ   r   r   rÀ   r¡   r–   r–   r–   r—   Útest_issue_16876d  s     ÿÿþÿr¦  c                  C   s    t dƒ\} }t ddd�}t| | | | tjƒt| t| | | dƒtjƒksNt‚t ddd�\}}|| }t| | | | tjƒt| t| | | dƒtjƒksœt‚d S )Nzx zr�   T)Zrationalr   ze1 e2)Zeven)r   rn   r   r¼   rO   r   r¡   )r�   r‘   r�   r  r  r–   r–   r—   Útest_issue_21236m  s    6r§  c                   C   sH   t td dt  td  ttƒ dt ttƒ gttƒddhksDt‚d S )Nr¯   rõ   )rõ   r   r½  )rq   r�   r�   r$   r¡   r–   r–   r–   r—   Útest_issue_21908v  s    6ÿr¨  c            
      C   s  t t d td d g} dd„ | D ƒ}dt tfdt t fh}t| t tgƒ}t|t tgƒ}||  krp|ksvn t‚t t d td d g}dd„ |D ƒ}t t fttfh}t|t tgƒ}t|t tgƒ}	|	|  krà|ksæn t‚ttt dt   dt  ƒgt gƒttjfƒk�st‚d S )Nr³   r¯   c                 S   s   g | ]}t |d ƒ‘qS ©r   ©r   rí   r–   r–   r—   rî   ~  s     z$test_issue_19144.<locals>.<listcomp>c                 S   s   g | ]}t |d ƒ‘qS r©  rª  rí   r–   r–   r—   rî   …  s     )	r�   r�   r   rq   r¡   r   rS   r   r¿   )
r  r¾  r¹  Z
soln_expr1Zsoln_eq1r€  r¿  rÒ  Z
soln_expr2Zsoln_eq2r–   r–   r—   Útest_issue_19144{  s    r«  c                  C   s¨   t dt dt dttƒ  d  tdt ƒ dt tdt ƒ dt tdt t ƒ  dtdt t ƒ  d fttƒ} tttjfttƒ tj tfƒ}| |ks¤t‚d S )NrÒ   r¯   r³   )	rq   r�   r�   r$   rS   r   r  r½   r¡   )rD  Zsolsr–   r–   r—   Útest_issue_22413Ž  s    ,Bÿ þ r¬  c                  C   sÈ   t dtttdt  d ƒ t ƒt tdt ƒt ddt t ƒg} dd„ | D ƒ}dh}tt| tttgƒ|ƒ tt|tttgƒ|ƒ td	t dd	t   d ƒ}d
t | dt  }tt|tƒddhƒ d S )Ng}ŒjýÉJ@g      @r³   gú~j¼t“X?g¸…ëQ¥¾@c                 S   s   g | ]}|j |j ‘qS r–   )rÁ   Úrhs)r•   rð   r–   r–   r—   rî   �  s     z$test_issue_23318.<locals>.<listcomp>)gO]¤¯p@g¹;Üõfl¡?g~adOºAgIüò¿x©‰>gú~j¼t“X¿gF„¿Ó­{å>r   g\adOºA)	r   r�   r%   r�   r‘   r¨   rq   r¥   rn   )Zeqs_eqZeqs_exprr×   Zlogtermrð   r–   r–   r—   Útest_issue_23318—  s     ýr®  c                   C   s^   t dt ddt   ddt  ddt   gttƒttddt  ƒtdƒ tjfƒksZt‚d S r¥  )rq   r‰   rŠ   rS   r%   r   r=  r¡   r–   r–   r–   r—   Útest_issue_19814©  s    2 ÿr¯  c                  C   sh   t ttƒ td  dt  ttƒ ttjƒ} |  tdi¡dtdƒ dtdƒ hksdt|  tdi¡ƒ‚d S r+  )rn   r3   r�   r�   r   r¼   Zxreplacer¡   rè  r–   r–   r—   Útest_issue_22058®  s    ,r°  c                   C   sJ   t dttd ttd  td  ƒd d  ƒ d ttjƒtjksFt‚d S )NrÓ   r¯   rÄ   r‹  )rn   r3   r�   r   r¼   r¿   r¡   r–   r–   r–   r—   Útest_issue_11184´  s    r±  c                  C   s>  t dƒd } tdtd  td  dt  dtd  td  dt  gttƒd|  dt  tfd|   d d|  tdƒ t d  t tfd|   d d|  tdƒ t d  t tfhks¾t‚tddtd   tdtd  dtd   ƒ dt t tdtd  ƒ tdtd  ƒ gttƒt dƒ d dft dƒd dfhk�sFt‚tdd	d
�\}}td|d  |d  d|  d|d  |d  d|  g||ƒ}dt dƒd  d|  |fdt dƒd   d dt dƒd  tdƒ t d  | |fdt dƒd   d dt dƒd  tdƒ t d  | |fh}||k�s:t‚d S )Nr¯   r®   rÒ   r³   rõ   rç   r   r  Tr©   )	r   rq   r�   r�   r3   r   r¡   r$   r   )r�   ÚrxZryr×   r  r–   r–   r—   Útest_issue_21890¸  s*    > ,,þ
,*ÿ ÿ ÿ
@<<þr³  c                   C   sl   t td td td td dt gtttƒtjks6t‚t td d tt td d gttgƒtjksht‚d S )Nr³   r¯   rÒ   rõ   r®   )	rq   r„   r‡   r‚   r   r¿   r¡   r�   r�   r–   r–   r–   r—   Útest_issue_22628Ç  s    6r´  c                   C   s&   t ttd ƒt ƒdtjgks"t‚d S rA  )rd   r3   r�   r   r½   r¡   r–   r–   r–   r—   Útest_issue_25781Ì  s    rµ  c                  C   sÂ   t dƒ} ttdt ƒ }t|ttjƒ}ttt| d|  t	 d ƒtj
ƒtt| d|  t	 d t	d  ƒtj
ƒƒ}ttttdtdt ƒd  d  tdt ƒ dƒttj|ƒƒ}| ¡ | ¡ ks¾t‚d S )NÚ_nrÆ   r¯   rÃ   r   )r   r�   r@   r   r   r¼   rV   rP   r   r   rÀ   rO   r   rR   Zas_dummyr¡   )r¶  r¢  Zcritical_pointsZexcluded_pointsr}  r–   r–   r—   Útest_issue_26077Ð  s    $þ,
þr·  N(}  Úmathr   Zsympy.calculus.utilr   Zsympy.core.containersr   Zsympy.core.functionr   r   r   r	   Zsympy.core.modr
   Zsympy.core.numbersr   r   r   r   r   r   r   Zsympy.core.relationalr   r   r   r   Zsympy.core.singletonr   Zsympy.core.sortingr   Zsympy.core.symbolr   r   r   r  r   Z$sympy.functions.elementary.complexesr   r   r   r    r!   r"   Z&sympy.functions.elementary.exponentialr#   r$   r%   Z%sympy.functions.elementary.hyperbolicr&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   Z(sympy.functions.elementary.miscellaneousr3   r4   r5   Z$sympy.functions.elementary.piecewiser6   Z(sympy.functions.elementary.trigonometricr7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   Z'sympy.functions.special.error_functionsrE   rF   rG   rH   r9  rI   Zsympy.matrices.denserJ   rŒ  Zsympy.matrices.immutablerK   Zsympy.polys.polytoolsrL   Zsympy.polys.rootoftoolsrM   Zsympy.sets.containsrN   Zsympy.sets.conditionsetrO   Zsympy.sets.fancysetsrP   rQ   Zsympy.sets.setsrR   rS   rT   rU   rV   rW   rX   Zsympy.simplifyrY   Zsympy.tensor.indexedrZ   Zsympy.utilities.iterablesr[   Zsympy.testing.pytestr\   r]   r^   r_   r`   ra   Zsympy.core.randomrb   rC  rŸ  rc   Zsympy.solversrd   rv  re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   rw  r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r“   r¥   r¨   rÂ   rË   rÏ   rÐ   rÑ   rØ   rß   rá   râ   rä   rè   ré   rñ   ró   rø   rÿ   r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r*  r,  r-  r.  r0  r1  r3  r5  r:  r;  r>  r@  rE  rG  rJ  rK  rL  rM  rW  r\  r`  ra  rc  rf  rh  ri  rk  rl  rn  rp  rx  ry  rz  r|  r~  r�  rƒ  r†  r‡  r�  r�  r‘  r¤  r¬  r­  r±  r´  rµ  r¸  rº  r¼  rÂ  rÅ  rÇ  rÈ  rÉ  rÐ  rÓ  rÚ  rÞ  rã  rä  ræ  ré  rë  rì  rí  rð  rñ  rò  rù  rû  rü  rþ  r   r  r  r  r  r  r  r  r  r!  r"  r$  r%  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r4  r8  r9  r:  r;  r<  r=  r>  r?  r@  rB  rC  rE  rF  rH  rJ  rK  rL  rP  rQ  rT  rU  rV  rW  rX  r\  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rn  ro  rs  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—   Ú<module>   s  $ <@$ h	\

 ,
	;
'I

!	
!"

	
\bE+ 

V

$
/

9o

	

 


	







G















			
	
	0
!k
R)
			