U
    L?h 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!lm‚Z‚ d d"lƒm„Z„ d d#l…m†Z†m‡Z‡mˆZˆm‰Z‰mŠZŠm‹Z‹mŒZŒmZmŽZŽmZmZm‘Z‘m’Z’m“Z“m”Z”m•Z•m–Z–m—Z—m˜Z˜m™Z™mšZšm›Z›mœZœmZ 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ádd‚„ Zâdƒd„„ Zãd…d†„ Zäd‡dˆ„ Zåd‰dŠ„ Zæe}d‹dŒ„ ƒZçddŽ„ Zèdd„ Zéd‘d’„ Zêd“d”„ Zëd•d–„ Zìd—d˜„ Zíexd™dš„ ƒZîexd›dœ„ ƒZïexddž„ ƒ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–   úS/var/www/html/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st‚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st‚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st
‚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st‚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st‚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
ƒƒƒƒst‚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st‚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st‚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ƒƒst	‚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)
			