a
    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v r(tdd„ t| |ƒD ƒƒS | |kp8|  |¡S )Nc                 s   s   | ]\}}t ||ƒV  qd S ©N)Údumeq©Ú.0r…   r†   © r–   úO/var/www/auris/lib/python3.9/site-packages/sympy/solvers/tests/test_solveset.pyÚ	<genexpr>:   ó    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J ‚t|tƒs,J ‚t| ƒt|ƒks@J ‚tdd„ t| |ƒD ƒƒs\J ‚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   r™   z"assert_close_ss.<locals>.<genexpr>N)r   Ú
isinstancerS   Úlenr   rž   )Úsol1Úsol2r–   r–   r—   Úassert_close_ss>   s    r¥   c                 C   sˆ   t | ƒ} t |ƒ}t| tƒsJ ‚t|tƒs,J ‚t| ƒt|ƒks@J ‚t| |ƒD ]8\}}t|ƒt|ƒksfJ ‚tdd„ t||ƒD ƒƒsJJ ‚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   r™   z"assert_close_nl.<locals>.<genexpr>N)r   r¡   rS   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sBJ ‚t ddd‰t ddd}tˆ d	 ˆˆ ƒˆ tˆd	 ƒfks~J ‚tˆ d	 ˆˆ ƒˆ tˆd	 ƒfks¢J ‚ttˆ ƒˆˆ ƒˆ ttˆƒƒfksÆJ ‚ttd	ˆ  ƒˆˆ ƒˆ ttˆƒd	 ƒfksòJ ‚ttˆ d	 ƒˆˆ ƒˆ ttˆƒd	 ƒfks J ‚ttˆ ƒd	 ˆˆ ƒˆ | ttˆd	 ƒƒƒfksRJ ‚ttˆ ƒd	 ˆˆ ƒˆ ttˆd	 ƒƒfks€J ‚ttˆ ƒˆˆ ƒˆ ttˆƒƒfks¦J ‚ttd	ˆ  ƒˆˆ ƒˆ ttˆƒd	 ƒfksÔJ ‚ttˆ d	 ƒˆˆ ƒˆ ttˆƒd	 ƒfksJ ‚ttˆ ƒˆˆ ƒˆ tˆˆ ƒfks(J ‚td
ˆ  ˆˆ ƒˆ ttˆƒtd
ƒ ƒfksVJ ‚td
tˆ ƒ ˆˆ ƒˆ | tttˆƒtd
ƒ ƒƒƒfksJ ‚tˆ d
 ˆˆ ƒˆ tt	ˆƒt	ˆƒ ƒfks¾J ‚tˆ tj
 ˆˆ ƒˆ tˆd
 ƒfksæJ ‚tt‡ fdd„ƒ tˆ t ˆˆ ƒˆ tˆdt  ƒfks"J ‚tˆ t t ˆ ƒˆ tjfksDJ ‚tˆ tdƒ dˆ ƒˆ tdƒfksjJ ‚tˆ d dˆ ƒˆ d tdƒfksJ ‚tt‡ ‡fdd„ƒ tˆ d ˆ  ˆˆ ƒˆ d ˆ  tˆƒfksÒJ ‚ˆ d ˆ  }tˆd ˆ d ƒ}ttˆ d ˆ  d ƒˆˆ ƒ||fksJ ‚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žJ ‚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,J ‚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ÀJ ‚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`J ‚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ÞJ ‚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ƒshJ ‚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øJ ‚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”J ‚ttt ˆ ƒˆˆ ƒˆ tˆ t ˆk ˆtk @ tt||t t!ˆƒ ƒtjƒƒfƒsäJ ‚ttt tˆ ƒƒˆˆ ƒˆ tˆ t ˆk ˆtk @ tt|t|t t!ˆƒ ƒƒtjƒƒfƒ	s<J ‚ttt"ˆ ƒˆˆ ƒˆ tˆ t ˆk ˆtk @ tt||t t#ˆƒ ƒtjƒƒfƒ	sŒJ ‚ttt"tˆ ƒƒˆˆ ƒˆ tˆ t ˆk ˆtk @ tt|t|t t#ˆƒ ƒƒtjƒƒfƒ	säJ ‚ttt t ˆ ƒƒˆˆ ƒˆ tˆ t$t t ˆ ƒƒˆƒtjƒfƒ
s J ‚t ddd‰ tˆ t ˆˆ ƒˆ tˆdt  ƒfk
sVJ ‚t ddd}t ddd}tt%ˆ ƒ|ˆ ƒˆ tt&|ƒƒfk
s”J ‚tt%tˆ ƒƒ|ˆ ƒˆ ttt&|ƒƒƒfk
sÂJ ‚tt'ˆ ƒ|ˆ ƒˆ t(tt)|ƒ t)|ƒƒtjƒfk
søJ ‚tt'ˆ ƒ|d ˆ ƒˆ tt)|d ƒ t)|d ƒƒfks2J ‚tt*ˆ ƒ|ˆ ƒˆ t(tt+|ƒƒtjƒfks`J ‚tt,ˆ ƒ|d ˆ ƒˆ tt-|d ƒƒfksŽJ ‚tt.ˆ ƒ|ˆ ƒˆ t(tt/|ƒ t/|ƒƒtjƒfksÄJ ‚tt0ˆ ƒ|ˆ ƒˆ tt1|ƒƒfksêJ ‚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€J ‚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   r™   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)2r   r   ÚRealsrk   r$   r‘   rS   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ƒƒƒ¡sfJ ‚tt
tƒtddƒtƒtttt tdƒ ƒttdƒtƒƒfks¦J ‚tttƒttj dƒtƒttttjƒ tƒfksÚJ ‚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sJJ ‚tttƒtjtƒttt t d
¡t d
t¡ƒfks‚J ‚d S )NrŠ   éûÿÿÿé
   r²   éýÿÿÿr¯   r®   é   é   r   )r   rm   r(   r   rQ   rŸ   rV   rP   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$J ‚t td ttƒtttd ƒfksHJ ‚t td d dtƒttdƒfkslJ ‚tt ttƒttƒttttt	dt
 t ttƒ  tttƒƒ ƒtjƒfƒs¸J ‚t ttƒttƒttttƒƒfksÜJ ‚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„J ‚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òJ ‚tt tdt ƒdtƒtttttt
 d t
d	  ƒtjƒfƒs4J ‚tt ttƒdt	 tƒtttttt
 t	tdƒ  ƒtjƒfƒsvJ ‚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ØJ ‚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ƒsNJ ‚t ttƒdtƒttjfksnJ ‚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ÄJ ‚t t#tƒdtƒttjfksäJ ‚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:J ‚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°J ‚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$   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u s(J ‚t td tdƒdu s@J ‚t tttƒdu sTJ ‚t dttƒdu shJ ‚d S )Nr²   r¯   r¹   Fr   T)rf   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 J ‚t dt d ttjƒtdƒksBJ ‚d S )Nr   r´   r²   )rn   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˜J ‚d S )Nr¯   é   é   )r   r   r‘   r	   rq   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ŽJ ‚qŽd S )Núx, y, zr¯   c                 3   s   | ]}|  ˆ ¡ ¡ V  qd S r’   )ÚsubsrY   )r•   Ú_©r€   r–   r—   r˜   <  r™   z#test_issue_18449.<locals>.<genexpr>)r   r   r   )r   r	   rq   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:J ‚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¾J ‚d S )Nr¯   r²   rÆ   rÅ   )r   r3   rn   r   r»   rS   r¼   ©r‚   r–   r–   r—   Útest_issue_21047F  s     48ÿrà   c                   C   sî  t tttƒtƒdu sJ ‚t tttƒd tƒdu s4J ‚t tttƒttƒ tƒdu sTJ ‚t tttƒttƒ t tƒdu sxJ ‚t tttƒttƒ ttƒ tƒdu s J ‚t tttƒttt ƒ ttƒ tƒdu sÌJ ‚t tttƒttt ƒ ttƒ tƒdu søJ ‚t ttttƒ d tƒdu sJ ‚t tttƒd ttƒ d tƒdu sDJ ‚t tttƒt tƒdu sbJ ‚t tttd ƒtƒdu s€J ‚t tttd ƒttƒ tƒdu s¦J ‚t tttƒttƒ tƒdu sÈJ ‚t ttttƒƒttƒ tƒdu sîJ ‚t tttƒtƒdu sJ ‚t tttƒd tƒdu s&J ‚t tttƒttƒ tƒdu sHJ ‚t tttƒttƒ t tƒdu snJ ‚t tttƒttƒ ttƒ tƒdu s˜J ‚t tttƒttt ƒ ttƒ tƒdu sÆJ ‚t tttƒttt ƒ ttƒ tƒdu sôJ ‚t ttttƒ d tƒdu sJ ‚t tttƒd ttƒ d tƒdu s@J ‚t tttƒt tƒdu s^J ‚t tttd ƒtƒdu s|J ‚t tttd ƒttƒ tƒdu s¢J ‚t tttƒttƒ tƒdu sÄJ ‚t ttttƒƒttƒ tƒdu sêJ ‚d S )NTr²   r¯   F)	rj   r7   rD   r   rC   r}   r&   r)   r'   r–   r–   r–   r—   Útest_is_function_class_equationO  s   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿrá   c                      sÔ   t tdd„ ƒ tddd‰ tˆ dƒtjks.J ‚tˆ d dƒtˆ ƒksHJ ‚tˆ tƒtjks\J ‚tˆ ˆ d ƒtjkstJ ‚t t‡ fdd„ƒ tˆ tƒtjksšJ ‚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¾   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sBJ ‚t
ddd} t
ddd}t | t | ttƒd  tƒt| |  tdƒƒksJ ‚t dt d dttƒ  tƒttd	ƒƒks¾J ‚t tttƒ tƒtju sÚJ ‚d S )
Nr®   ÚanzT)ZnonzeroÚbbr©   r¯   rÍ   éüÿÿÿ)re   r}   r   r~   r$   rV   r%   rT   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"J ‚t ttƒd tƒttdƒƒksDJ ‚t dtd  tƒtƒ ks`J ‚t ddt  tƒtƒ ks|J ‚t ttttt ƒ  tƒtt	j
ttttt ƒ ƒƒks¶J ‚t dt d tƒtdtdƒtdƒ  ƒksäJ ‚d S )Nr®   r¯   rÃ   r²   rÅ   )re   r$   r   rS   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ƒƒƒsdJ ‚tttƒd tƒ 	d¡} tttƒtj tƒ 	d¡}dd„ | |fD ƒ}t |Ž s¼J | |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   Z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¿   )Ú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&J ‚t ttƒd tƒttdƒƒksHJ ‚t ttƒtj tƒtt	tjƒƒksnJ ‚t t	tƒd tƒttdƒƒksJ ‚d S ©Nr¯   )
re   rE   r   r   r¼   rS   rH   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<J ‚t| d d | ƒttj tjƒksbJ ‚t| |d  | ƒt|d ƒks„J ‚t| d d|   d	 | ƒtd
dtj  td	ƒd
dtj  ƒksÆJ ‚tt| ƒd | ƒtdƒksäJ ‚tt| ƒd | ƒtd	ƒksJ ‚t| tdd	ƒ d | ƒtdƒks*J ‚t| tddƒ d | ƒtdƒksPJ ‚tt| d | d  d | ƒƒdksxJ ‚ttd
| d  d	| d   d|   d | ƒƒdks°J ‚t| d | d	  t	 | ƒtj
u sÖJ ‚d S )Nr   Tr©   r   r®   r¯   r²   é   rÑ   éþÿÿÿé   é   rÅ   rÆ   r   )r   re   rS   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>J ‚q>tttt d dt d   d t ƒƒd d	d
tt d dt d   d dƒ ¡ ks¦J ‚ttt d dt   d t ƒƒ}tdd„ |D ƒƒrât|ƒdksæJ ‚t d dt d   dt d   dt   d } tt| t ƒƒ}|D ]}|jtks$J ‚q$t d dt d   dt d   t	ddƒ }t|t ƒt
t|d dd ¡ Ž ksŽJ ‚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sJJ ‚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˜   ñ  r™   z&test_return_root_of.<locals>.<genexpr>rÑ   ZZZ©Údomainr²   r¹   )r   r›   rg   ÚfuncrM   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s4J ‚t ttd ƒt d tƒtdƒksZJ ‚t ttd ƒd tƒtdƒks|J ‚t ttƒd d tƒtdƒksžJ ‚t ttd	 ƒtƒtd
ƒks¼J ‚t ttd ƒtƒtdƒksÚJ ‚t ttd	 t ƒtƒtd	ƒksüJ ‚t ttd	 t ƒtddƒ tƒtdƒks*J ‚d S )NrÅ   rÆ   r¯   r²   r÷   rÃ   rõ   é1   r®   r   rÑ   )re   r3   r   rS   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sTJ ‚ttˆd
 ƒd tdˆ ƒ ˆƒtdƒks‚J ‚ttdˆ tˆd d ƒ ƒd
 ˆƒtdƒks´J ‚ˆd ˆd dˆd   ˆ tddƒ  ‰ tˆ ˆƒttddƒtddƒƒksJ ‚tdˆ d ƒtˆd ƒ tˆd ƒ ‰ tˆ ˆƒtdƒksDJ ‚tˆd ƒtdˆ d ƒ dtˆd ƒ  ‰ tˆ ˆƒtdƒksˆJ ‚tˆƒtˆd
 ƒ d ‰ tˆ ˆƒtdƒks¸J ‚tˆd ƒtˆƒ d ‰ tˆ ˆƒtdƒksèJ ‚tdˆd  d
 ƒdˆ  ‰ tˆ ˆƒttdƒ tdƒƒks(J ‚tdˆd  d ƒdˆ d  ‰ tˆ ˆƒtdƒks`J ‚ttˆd ƒtˆƒ d ˆƒtƒ ksŠJ ‚dˆ d tddƒ d ‰ tˆ ˆƒtdƒks¼J ‚ttˆƒttˆƒƒ d ˆƒttddƒtdƒd  d ƒksþJ ‚tˆƒtˆd ƒ ttˆƒƒ ‰ tˆ ˆƒtƒ ks4J ‚ˆd d tˆƒd d  ‰ tˆ ˆƒtddƒksjJ ‚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J ‚ttˆƒˆtddƒ  ˆtddƒ  ˆƒtdƒks@J ‚tˆtˆd d ƒ ˆƒtdƒkshJ ‚ˆ| d  | d td| d  ƒ  ‰ tˆ ˆƒt| d ƒks¨J ‚tddˆ tddƒ  d ˆƒttddƒƒksÜJ ‚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  r™   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  r™   z'test_solveset_sqrt_2.<locals>.<setcomp>c                 S   s   h | ]}|j d d’qS r  rÉ   rë   r–   r–   r—   r  M  r™   i´~ûÿi©æ  )r   re   r3   rS   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sBJ ‚d S )Nr®   r¯   r²   )r   r   re   rS   ©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^J ‚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 J ‚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»   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`J ‚t ttdtt    tƒttt d t ƒtdt ƒ ksžJ ‚t ttt tt   tƒtt t tt  ƒtt ƒ ksÜJ ‚d S )Nr¯   r²   r¹   )rg   r   r}   rS   r3   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"J ‚t dttƒ d tƒtdƒksDJ ‚t tddt   tƒtdƒksfJ ‚t dt td  d tƒtdƒksŒJ ‚t td dt   t¡tƒttjtdƒƒks¼J ‚d S )Nr²   r   rÅ   r¯   r÷   é   )re   r   rS   r   r¶   r$   r	   ÚZeror–   r–   r–   r—   Útest_solve_rational”  s    """&ÿr  c                   C   s    t tdƒd tƒtju sJ ‚d S rË   )re   r3   r   r   r¾   r–   r–   r–   r—   Útest_solveset_real_gen_is_pow  s    r  c                   C   s  t dtt  ƒtju sJ ‚t tt tƒtju s2J ‚t tt t tƒtju sNJ ‚tdtƒtju sbJ ‚tttƒtƒtju szJ ‚ttd d tƒtju s–J ‚tdt ttƒ tƒtju s¶J ‚tdt tƒtju sÎJ ‚tdt  dt d  ddt   tƒtju sJ ‚d S )Nr²   rÑ   r¯   rÄ   )	rn   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J ‚tdttddƒƒtddƒks4J ‚t td  dt  td d  d tƒtjksfJ ‚d S )Nr   r²   r¯   )re   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u s$J ‚t td ddtd    tƒtju sLJ ‚d S )Nr²   r®   ró   )re   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J ‚t ttƒd tƒtdƒks<J ‚t ttddƒ d tƒtdƒks`J ‚t ttddƒ d tƒtdƒks„J ‚t tttjd  d  tƒttjtdƒƒks´J ‚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—   Ú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sRJ ‚td|  | d  d | ƒtdƒksxJ ‚dS )	z)Test solveset_real for rational functionsr   Tr©   r   r®   r¯   r²   N)r   re   r3   rS   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s2J ‚d S râ   )re   r%   r   rS   r3   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s8J ‚d S )NrÑ   r¯   rÍ   rÄ   )re   r   rS   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ƒ¡sPJ ‚tttƒd tƒtddƒkspJ ‚tttƒd tƒtju sŒJ ‚tttd ƒdttd ƒ  tƒtdd	ƒks¼J ‚tdttƒ ttd ƒ tƒtd
tddƒƒksîJ ‚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ŽJ ‚tdtdi}| |¡}| |¡D ]}| t|¡r®J ‚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ƒƒƒƒƒƒsbJ ‚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   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	ƒƒsJJ ‚t tt
tƒd dt
tƒ  d tƒtttdt t ƒtj	ƒƒsŒJ ‚d S ©Nr¯   r²   )r“   rn   rC   r   rP   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s2J ‚d S )Nr²   rÅ   r®   r¹   r¯   )re   r   r   r   rU   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@J ‚d S )Nr²   r   r¯   )r  r   re   rV   rU   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sVJ ‚tt| d |d  ƒd | ƒtjks~J ‚d S )Nza bTr©   r¯   r®   r  )r   re   r3   rS   r   r¾   ©r}   r~   r–   r–   r—   Útest_real_imag_splitting
  s    "ÿÿr.  c                   C   s.   t dt ddt   tƒtdt ƒks*J ‚d S râ   )re   r   rc   rS   r–   r–   r–   r—   Ú
test_units  s    r/  c                  C   sœ   t ddd} tttƒ|  tƒtt| ƒƒks.J ‚tttƒtt ƒ d tƒtttdƒ d ƒttdƒd ƒƒksrJ ‚tttƒtt ƒ |  tƒtjks˜J ‚d S )Nr   Tr­   rÑ   r®   r¯   )	r   re   r$   r   rS   r%   r3   r   r¾   ©r   r–   r–   r—   Útest_solve_only_exp_1  s    ""ÿr1  c                   C   s0   t ttdƒtd  tƒtdtdƒ ƒks,J ‚d S ©Nr¯   r®   )re   r>   r   r   rS   r3   r–   r–   r–   r—   Ú
test_atan2  s    r3  c                  C   s>  t td ttdƒfdt dfƒd } tt| tƒƒttddƒƒksDJ ‚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 J ‚t td d tdkfd	ƒ}t|ttj	d
t
tdƒtt dddƒƒksèJ ‚tt td tdkftdfƒt ttj	ƒtt dƒks"J ‚tt td tttƒftdfƒtƒtdƒksRJ ‚t dtdkfd	ƒ}t|dkttj	ƒt dt¡ksˆJ ‚ddlm} |ƒ }t|ttddƒd
tddƒks¾J ‚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$J ‚t|ƒttƒks:J ‚d S )Nr¯   Tr®   r¹   rÅ   r   r   r­   ©r   Trù   r²   rÃ   )ÚBooleanTruerÄ   )r6   r   r   Úsetre   rS   r   rn   r   r»   rV   rU   r   r   r   rÈ   Úsympy.logic.boolalgr5  r   r   r   rC   )rî   Zabsxm3r   r‚   rƒ   r5  r–   r–   r—   Útest_piecewise_solveset$  s2    $ þ&."ÿ
þ
0$$$$r8  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€J ‚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
J ‚t tdt  d tƒtt
jt	tdƒ d  t
jt	tdƒ d  ƒksTJ ‚d S )Nr¯   ræ   r®   r²   )rg   r}   r   r~   r   rS   r3   r   r   r   r   r¼   r–   r–   r–   r—   Ú test_solveset_complex_polynomialF  s    .,ÿÿ00ý,ÿr9  c                   C   s   t dtƒtju sJ ‚d S ©Nr   )rg   r   r   Ú	Complexesr–   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,J ‚t ttd  td tdtd  ƒ  tƒttd ƒksfJ ‚t td  t tƒttdƒ d tdƒt d  tdƒd tdƒt d  ƒksºJ ‚d S ©Nr²   r®   r¯   )rg   r   r   rS   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	ƒsBJ ‚qBtd d
t  d } t| tƒ}|D ]&}|  t| ¡ ¡ ¡ }t|d	ƒsŒJ ‚qŒd S )NzThis test is too slowrÅ   én   r®   é7   r¯   i	  iÓ  r   rò   r  )r^   r   rg   rÙ   rŠ   Útn)r‚   r«   rü   Úresr–   r–   r—   Útest_solve_quinticsb  s    ,

rC  c                	   C   sÈ   t tttƒd tƒttttd t t ƒt	j
ƒƒs6J ‚t tttƒt tƒttttdt t td   ƒt	j
ƒƒstJ ‚tdttƒ tƒt	jksJ ‚t tttƒ t¡tƒttttt t ƒt	j
ƒƒsÄJ ‚d S râ   )r“   rg   r$   r   rW   r   rŠ   r   r   r   r¿   r¾   r'   Úrewriter–   r–   r–   r—   Útest_solveset_complex_expq  s    ÿ$ÿÿrE  c                   C   sH  t tdt dƒttjƒtdƒks$J ‚t tdt  dƒttjƒtjksHJ ‚t tdt dƒttjƒtjksjJ ‚t tdtd  dƒttjƒtd	ƒks’J ‚t tdtd	  d
ƒttjƒtjks¸J ‚t tdtd	  dƒttjƒtdƒksàJ ‚t tdt tƒttjƒttjtt	tƒt	dƒ ƒƒksJ ‚t
ddt  d dtƒttdƒfksDJ ‚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   rT   r%   rk   r–   r–   r–   r—   Útest_solveset_real_exp{  s    $$"(&(:rH  c                   C   sh   t ttƒtƒtdƒksJ ‚t dttdtd   ƒ tƒttt t ƒ d tt t ƒd ƒksdJ ‚d S )Nr²   rÑ   r¯   )rg   r%   r   rS   r}   r3   r   r–   r–   r–   r—   Útest_solve_complex_log‡  s    &ÿrI  c                   C   s°   t tdt d ƒd t tƒttj tdƒƒks4J ‚t tdt d ƒddt   t tƒttdƒ ddt  ƒksvJ ‚t dt dtttƒ   tƒttjdtd  ƒks¬J ‚d S )NrÅ   rÆ   r¯   r®   rÑ   r²   )	rg   r3   r   rS   r   r¶   r   r}   r  r–   r–   r–   r—   Útest_solve_complex_sqrt  s    ÿ$ÿÿrJ  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ƒ ƒsRJ ‚d S rð   )rg   rD   r   rD  r$   r“   rW   r   rŠ   r   r   r¿   )r«   r–   r–   r—   Útest_solveset_complex_tan–  s    ÿrK  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
ƒƒƒsNJ ‚t tttƒd tƒtttdt t td  ƒt	j
ƒƒsˆJ ‚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èJ ‚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
ƒƒƒsXJ ‚tttƒd ttƒd  tƒt	jks‚J ‚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êJ ‚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
ƒƒƒƒsJ ‚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òJ ‚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¦J ‚t ttdt ƒtdt ƒ d tƒttttt ƒt	j
ƒƒsæJ ‚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
ƒƒƒsvJ ‚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
ƒƒƒsxJ ‚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J ‚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ÜJ ‚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
ƒƒƒsBJ ‚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
ƒƒƒsBJ ‚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¶J ‚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J ‚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¾   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þ&ú$$þ$ $$$$ ú
"*
ÿÿÿ
ÿÿÿþ
þ(
ÿÿÿ
ÿÿÿþýýýÿ

&þrU  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ŽJ ‚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J ‚tttƒtt	d ƒ tƒ tt| | t	 t	d  ƒtj
ƒ¡sVJ ‚tttƒtt	d ƒ tƒ tt| | t	 t	d  ƒtj
ƒ¡s–J ‚tdtdt ƒ d	 tƒtttd	ƒd ƒ d ttd	ƒd ƒd ƒksâJ ‚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
ƒƒ¡sbJ ‚tttd ƒd tƒttdƒd ƒksŽJ ‚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
J ‚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‚J ‚ttttƒƒtt	d ƒ ttddƒƒttd
t	 d ƒtdt	 d ƒƒksÐJ ‚tttd d ƒd tƒttdtdƒ ƒ tdtdƒ ƒƒksJ ‚tttƒd tƒtjks2J ‚tttƒd tƒtjksPJ ‚tttƒtƒtjksjJ ‚tttƒtƒtjks„J ‚tttƒd tƒtjks¢J ‚tttƒtƒtjks¼J ‚tttƒd tƒtjksÚJ ‚tttƒtƒtjksôJ ‚tttƒd tƒtjksJ ‚tttƒdƒtjks,J ‚tttƒdƒtjksFJ ‚tttƒdƒtjks`J ‚tttƒdƒtjkszJ ‚ttttƒƒd tƒttdƒ tdƒƒksªJ ‚tttd d ƒt dƒ tƒttt!t dƒƒd ƒ tt!t dƒƒd ƒƒksúJ ‚ttt"tƒƒd tƒtt t#dƒ ƒƒks(J ‚ttt tƒƒd tƒtjksJJ ‚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ÂJ ‚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
ƒƒ¡sXJ ‚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ìJ ‚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
ƒƒ¡sdJ ‚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®J ‚t|t'tj*ƒtt#t)td	 dt  d dƒƒt#t)td	 dt  d dƒƒƒk
s J ‚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ÈJ ‚t|ttj*ƒ ttt| d|  t	 t	d  ƒtj
ƒtt| d|  t	 dt	 d  ƒtj
ƒƒ¡s(J ‚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
ƒƒ¡s2J ‚t.ttdt ƒtdƒd  d ttddƒƒtdddt	  ddt	  ƒƒs€J ‚d S )NrŠ   r¯   r®   r²   r   r  r  rÃ   rÅ   é   é   r¹   r   é÷ÿÿÿrÆ   rÑ   rÒ   rÂ   r  rP  ró   rO  g…ëQ¸	@gƒÀÊ¡E¶@g|º^z¯ÏÙ?gœŠçšÕaÔ?gœŠçšÕaä?)/r   re   rC   r   r   rŸ   rV   rP   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û8ÿ(   $ü $þ:0022ü*
ÿÿrZ  c                  C   sš  t ttƒttjƒtdƒksJ ‚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|J ‚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ÒJ ‚t ttt ƒtƒ tt	t
tdt t t t ƒtjƒt	t
tdt ƒtjƒƒ¡s&J ‚t ttdt dt  ƒ tƒ t	t
ttt d dt d  t ƒtjƒ¡svJ ‚tt tdt ƒd ttddt ƒƒtddt ddt  dt ƒƒs¾J ‚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|| ƒs4J ‚t tdt ƒd ttjƒ}| | t¡ ¡ t¡}t|| ƒstJ ‚t ttƒtdƒ ttdtd ƒƒtttdƒƒƒks¬J ‚t ttƒt ttdtd ƒƒtttƒƒksÜJ ‚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\J ‚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àJ ‚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ƒƒ¡sDJ ‚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ÄJ ‚t ttƒt$dƒ ttjƒtt%t$dƒƒƒksôJ ‚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ƒƒ¡sJJ ‚t(ddd}t t&ttƒ|ƒttjd t	t
ttt t|ƒ ƒtjƒ¡s–J ‚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Ÿ   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[  sx    $þ
 þ
 þ(ÿ
$þÿ80  þÿ
,.ÿÿ
 þ (,þ0ÿÿ
ÿr^  c                  C   s  t dƒ} tttƒttƒ tƒtjks(J ‚tttƒttƒ tƒttt	ttƒttƒ dƒtj
ƒksbJ ‚tttƒttƒ tƒttttdƒd ƒƒƒks”J ‚ttdt ƒdttƒ  d tƒttdtdƒ ƒtdtdƒ ƒƒksÜJ ‚tttƒtdt ƒ ttƒ d tƒtttjtdƒd  ƒtdtdƒ ƒƒks0J ‚tttƒttƒ d tƒttdtd	ƒ ƒd ƒkshJ ‚tttƒttƒ d tƒtttdƒd ttdƒ d tdƒ ƒ ƒƒks¶J ‚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®J ‚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ÐJ ‚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ƒƒƒsVJ ‚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¸J ‚ttdt ƒtdt ƒ ƒ ttt	tdt ƒtdt ƒ dƒtj
ƒ¡sJ ‚d S )NrŠ   r   rÅ   r¯   ró   r²   r®   rÑ   r  rò   rÍ   r  )r   rn   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   s\     ÿ
ÿ
"ÿ
&"ÿÿ(ÿ0848ü((,,((ú",,þ*(ÿÿ
&ÿr_  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ƒƒƒƒshJ ‚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ðJ ‚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(J ‚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ÊJ ‚tdd	d
} tt| d d t ƒd ttjƒttdƒ | d d  tdƒ| d d  ƒks*J ‚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¶J ‚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   r3   r~   r?   r.   r   r»   rS   rY   r@   )r`  r–   r–   r—   Útest_solve_trig_hyp_symbolicË  sB      þ ,0þ*&ÿÿ<@<ýþ
 00þÿ"&ÿ0((þra  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ƒƒƒsRJ ‚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ƒƒƒƒsXJ ‚d S râ   )r“   rn   r'   r   r)   rV   rP   r   rŠ   r   r   r%   r3   r   r¼   r¿   r=   rD  r$   rR   )Úf1Úf2r–   r–   r—   Útest_issue_9616ë  sR    @6ÿÿF6ÿÿûBÿ$þ8ÿÿ$þ8ÿÿ$þ@$þörd  c                   C   s<   dt ttƒt tƒvsJ ‚dtttƒd t tƒvs8J ‚d S ©Nr   r²   )re   rC   r   rg   r$   r–   r–   r–   r—   Útest_solve_invalid_sol  s    rf  c                  C   s¢   t dƒ} ttttƒtƒtt| | t ƒtj	ƒƒs2J ‚ttt
tƒtƒtt| | t td  ƒtj	ƒƒsdJ ‚ttt
tƒttƒ tƒtt| | t td  ƒtj	ƒƒsžJ ‚d S )NrŠ   r¯   rÑ   )r   r“   re   rC   r   rW   r   r   r   r¿   r?   rÉ   r–   r–   r—   Útest_solve_trig_simplified	  s    ÿÿÿrg  c                  C   sÔ  t tttƒ d tƒttdƒƒks&J ‚t ttƒt tƒttdƒ ƒksJJ ‚t tdt  tƒtttdƒƒ tdƒ ƒkszJ ‚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àJ ‚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sdJ ‚t | ¡ tƒ|ks|J ‚t dt d dtdd	t  ƒ  tƒttddƒtdttddƒƒ d ƒd	  ƒksÔJ ‚t dt d tdt d ƒ tƒttddƒtdttddƒƒ d ƒd  ƒks(J ‚t dt tdt ƒ tƒtttddƒƒd ƒks^J ‚t tt d ƒttttdƒƒƒƒksˆJ ‚tdƒ}t | t dt ttƒ  tƒtt|d ƒƒksÆJ ‚tddd}t |t ttd ƒ tƒtdt| d ƒ ƒksJ ‚t |t ttd ƒ  	t¡tƒtdtt
dƒt
|ƒ d ƒ ƒksNJ ‚t ttd ƒttd ƒ d tƒtju s|J ‚t td dt  d  tttƒdt  ¡tƒttdtj ƒd ƒksÆJ ‚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s6J ‚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¦J ‚t tttƒ dt  d tƒttdttdƒ ƒ ƒƒksäJ ‚tttƒ d  ttttƒ ¡}t |tƒttdttdƒ ƒ ƒƒks.J ‚t dt|dt d  ƒ |dt d   tƒtt|d ƒttddƒƒ dt|ƒ   ƒksŽJ ‚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¬J ‚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s2J ‚t |t ttd ƒ  	td¡tƒtdtdtddƒ |tddƒ  d ƒ ƒks†J ‚t td dt  tƒtdtdƒ ttdƒ d ƒ ƒksÄJ ‚t dttƒ ttƒd  ƒttdttdƒ d ƒ tdƒ ƒƒksJ ‚t td dt  tƒt td  dt  tƒks@J ‚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¢J ‚t tdt ƒt ƒttttƒ d ƒksÐJ ‚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   rY  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,ýÿ
@
(ÿ"&ÿ ÿ
 ÿÿ
þÿri  c                  C   sN   t ddƒ} tt|  | t  tƒt| |  tt| ƒ |  ƒ t| ƒ ƒksJJ ‚d S )NrÆ   rÅ   )r   re   r   rS   r#   r%   )r}   r–   r–   r—   Útest_other_lambertm  s    
 ÿrj  c                  C   sj  t dƒ} ttdd„ ƒ ttdƒtjks*J ‚t| dƒd t d | dƒƒtt	t d ƒ t	t d ƒƒkslJ ‚t| dƒd d | dƒtj
ƒtddƒks˜J ‚t| dƒd d | dƒƒtt tƒksÂJ ‚ttd dƒttƒksÜJ ‚tttƒttƒ ttƒƒtttƒƒksJ ‚tdtj
dtj
ks"J ‚tdƒtjks6J ‚td	tj
dtj
ksPJ ‚td
tj
dtjksjJ ‚tttƒd tj
dtdƒksŽJ ‚tttƒd ttj
ƒtdƒks²J ‚ttttƒdƒttj
ƒtdƒksØJ ‚tttƒd ttƒtj
ƒtdƒks J ‚tdtƒ}t|d |tj
ƒtdƒks*J ‚ttd dkttj
ƒtdtƒksPJ ‚tttƒd dkttj
ƒtdtƒkszJ ‚ttttƒd tƒtttdt t t ƒtjƒƒs²J ‚tttttƒdƒtƒtttdt t t ƒtjƒƒsìJ ‚ttd | dƒ d tƒt	| dƒ d ƒ t	| dƒ d ƒhks2J ‚ttttƒƒdktt dt¡dt dt¡ksfJ ‚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   rS   r3   r»   r   rC   r?   r$   r   rZ   rU   r   r“   rW   r   rŠ   r   r¿   r=   r%   rÈ   )r‚   rk  r–   r–   r—   Útest_solvesett  s8    ÿ,*,$$&(
 &*8*ÿFrl  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’J ‚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ƒƒƒƒsfJ ‚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ØJ ‚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|J ‚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   rP   )Úk1Zk2Zk3r–   r–   r—   Útest_multi_exp™  sb    Xÿÿ" vÿþÿ
&"N4ÿ.ÿ4ÿÿÿüÿ
*$\4ÿ.ÿ4ÿÿzÿ~þþÿúÿrn  c                  C   s²  ddl m}  ddlm} | td d gtgtjgƒtddƒksBJ ‚| tt td gttg||gƒtdƒksnJ ‚| tt td gttg||gƒtd	ƒksšJ ‚| tt tt d gttg||gƒttdƒd tdƒ d fƒksàJ ‚| td td gttg||gƒtd
ƒksJ ‚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|ƒƒƒƒsnJ ‚| tt tt d gttg||gƒtjksžJ ‚| tt tt td gttg||gƒtjksÐJ ‚| tt tt td gttg||gƒtjksJ ‚| 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`J ‚ddlm} | td td  d tt gttg||gƒtdd	ƒks¨J ‚| td d tgttg||gƒtddƒksØJ ‚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„J ‚| tt|ƒ d tt|ƒ g|tgtdtƒtddƒgƒtdtdfƒksÐJ ‚| tt|ƒ d tt|ƒ gt|gtddƒtdtƒgƒtdƒksJ ‚| 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®J ‚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.solvesetro  Z
sympy.setsr»   r   r   rS   r   r“   rV   rP   r   rX   r¾   r‘   r¼   Ú	sympy.abcrs  r   rŒ   r?   rC   rU   r   )ro  r»   rs  r–   r–   r—   Útest__solveset_multiµ  sd    *,,F.þ0228ÿÿ
<0$  ü"ÿÿ
"ÿÿ
"ÿÿÿýÿrv  c                	   C   s¤  t tttƒd ttƒd  dƒttjdtju s4J ‚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ˆJ ‚t	t tt
 tt
t ƒtt
 t ƒ  d dƒtƒtttdt t td  ƒtjƒƒsàJ ‚t tttƒ dkttjd tttttƒ dktjƒ¡sJ ‚t ttttƒƒtƒttjd tttt tttƒƒ dƒtjƒ¡sfJ ‚t tt t ttjƒ ttttt t dƒtjƒ¡s J ‚d S )Nr¯   r²   rù   r   )rn   r   rC   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 ÿÿ
 ÿ
ÿrw  c                   C   s4   t tttƒtƒtƒtttttƒtƒtjƒks0J ‚dS )z? Checking equality of different representations of ConditionSetN)rn   r   rD   r   r   rO   r   r;  r–   r–   r–   r—   Útest_conditionset_equalityø  s    rx  c                   C   sz   t td t d ttdtƒƒtdƒks*J ‚t td d ttdtƒƒtdƒksPJ ‚t td d ttddƒƒtdƒksvJ ‚d S )	Nr¯   rÆ   r   r®   r²   rÑ   rô   rÃ   ©rn   r   rU   r   rS   r–   r–   r–   r—   Útest_solveset_domainþ  s    *&rz  c                  C   sL   t ttƒttƒ ttjƒ} tttttƒttƒ dƒtjƒ}|  |¡sHJ ‚d S r:  )	rn   r$   r   rC   r   r»   rO   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u sXJ ‚t|ttjƒtju spJ ‚d S )Nr²   r¯   rÑ   )r   r   rn   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J ‚t td d ttjƒdtjtdƒt d  tjtdƒt d  gksfJ ‚t ttƒttjƒdgks‚J ‚t t	tƒttjƒt
d t
tddƒ gks®J ‚t ttƒd ttjƒt
tddƒ gksØJ ‚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¼   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²J ‚t|ttj	ƒd
dgksÌJ ‚t|ttj	ƒdgksäJ ‚t|ttj	ƒtgksüJ ‚d S )Nr   r¹   r¯   r²   TéöÿÿÿrÅ   rÆ   rX  r  )
r6   r   r%   r   r   r   rC   rr   r   r»   )Úp1Ú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.J ‚t dƒ} ttt| ƒƒ| tjƒd u sTJ ‚d S )Nr   Tr­   r   )r   rr   rC   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&J ‚t dtƒtdggƒtdggƒfksLJ ‚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g d	¢g d
¢g d¢gƒksJ ‚|tdgdgdggƒks J ‚t |tttƒ\}}|tg d¢g d¢g d¢gƒksVJ ‚|tdgdgdggƒkstJ ‚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J ‚|tt	gtgtggƒks4J ‚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ÐJ ‚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s*J ‚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ŒJ ‚t ttd dƒtƒtdggƒtdggƒfks¾J ‚ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ d S )Nr   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ó   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|   Ú	TypeError)Zeqns1Zeqns2rk  ÚBr–   r‡  r—   Útest_linear_eq_to_matrix1  sN    &&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sTJ ‚d S )Nr¯   r®   rÑ   rÅ   )rh   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J ‚d S r:  )rk   r$   r   r   r¾   r–   r–   r–   r—   Útest_issue_10085o  s    r  c               	      s  t dƒ\‰‰} }tg d¢g d¢g d¢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æJ ‚tˆgˆˆ| |f¢R Ž |ksJ ‚t|ˆˆ| |fƒ|ks$J ‚t|gˆˆ| |f¢R Ž |ksFJ ‚t dtd\‰‰} }t|ˆˆ| |ƒtdˆ d|  d ˆd| d |fƒks˜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„ƒ 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„J ‚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J ‚tg d¢g d¢g d¢gƒ‰ tg d¢ƒ‰tˆ ˆftt
t	fƒtju sTJ ‚t dƒ\‰ ‰}}tdt | dt | d| gdt | dt | d| gd ddt ||  gg d!¢gƒ}t|ˆ ˆƒtd t||  fƒksäJ ‚tg d"¢g d#¢gƒ}t|tttttƒttd td tfƒks"J ‚t d$ƒ\}	‰‰}
ttg d"¢d d d dd |
ggƒƒt|	d ˆ|
ˆfƒksjJ ‚t d%ƒ\}	‰‰}
ttg d"¢d d d dd |
ggƒƒt|	d ˆ|
ˆfƒks²J ‚t d&ƒ\}	‰‰}
ttg d"¢d d d dd |
ggƒƒt|	d ˆ|
ˆfƒksúJ ‚t d'ƒ\}	‰}t|td(ƒƒt|	d ˆd |fƒks.J ‚|	|d)< t d*ƒ|d)< tt|td(tdƒjƒd	ksdJ ‚td+ƒ}t|tƒd g|tƒƒtd,ƒks’J ‚d d-lm}m}m} || }d.| t t
 d/| | dt |  g‰tˆtt
ƒ|| td0dƒ |td	dƒ fhks
J ‚ttttt
 ƒgtt
gƒtd fhks4J ‚ttttt
  dt
 ƒgtgƒd1hks`J ‚ttdt
 ttt
  ƒgtgƒd1hksŒJ ‚ttd2d„ ƒ tg tgƒtju s²J ‚td gtgƒtfhksÎJ ‚ttgtt
gƒd t
fhksîJ ‚ttd gtt
gƒd t
fhksJ ‚d S )3Nzx1, x2, x3, x4)r²   r¯   r²   r²   r÷   )r²   r¯   r¯   r¹   r  )r¯   rÑ   r   rÆ   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–   )rk  r•  r–  r–   r—   r±   ‹  r™   c                      s   t ˆ ˆˆˆƒS r’   r’  r–   )rk  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˜   Ž  r™   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²   ©r²   r¯   r®   )r¯   rÑ   rÆ   )r®   rÆ   r  ©r   r   r²   z	A B J1 J2r   )r¯   r   r   )r   r²   r   r   r   r   )r   r   r   r²   r   r   ztau0 tau1 tau2 _tau0ztau00 tau01 tau02 tau0ztau00 tau01 tau02 tau1z
x0, x2, x4r   ©r¹   r¹   Ú_x0r‚   )rÅ   )ÚmeterÚnewtonÚkilorÍ   é   iäÿÿÿrp  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¢   Ú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–   )rk  r  r“  r•  r–  r—   Útest_linsolves  s¤    ,0ÿ("""ÿFF ü&*ÿ
ÿ
ÿ
ÿ
ÿÿ
&(
ÿ*,, r¥  c                  C   s0   dd„ } d}| |ƒ\}}}t ||ƒ|ks,J ‚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ô  r’  )r¬  rŠ   r©  r¨  rÖ   r–   r–   r—   Útest_linsolve_large_sparseâ  s    
r­  c                  C   sr   t g d¢g d¢g d¢gƒ} t g d¢ƒ}t| |gtttfƒtdƒksFJ ‚t g d¢g d¢gƒ} t| ƒtdƒksnJ ‚d S )	N)r²   r²   r¯   )r   r²   r¯   r˜  )r¯   r²   r¹   )r²   r®   r¹   )r²   r²   r÷   )r²   r¹   r®   )rÅ   r¯   )rK   ri   r   r   r‘   rS   )rk  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sVJ ‚tt
|ttjƒ|
ƒspJ ‚tt
|ttjƒt||	|
ƒƒs’J ‚tt
|ttjƒt||ƒƒs²J ‚t
|ttjƒtdƒksÎJ ‚t
|ttjƒtjksèJ ‚t
|ttjƒtjksJ ‚t
tttddƒƒtjks J ‚d S )	NrŠ   r®   rÆ   r¯   rO  r²   r   ró   )r   r$   r   rC   r%   rP   r   r   r   r¿   ro   r»   rS   r“   rV   r¾   rU   )rŠ   rb  rc  Ú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J ‚t g ttgƒtjks,J ‚ttt d g} t tgttgƒtdtfƒks\J ‚t | tgƒtjksrJ ‚tttdt t	 t	d  ƒtj
ƒf}tt ttƒd gtgƒtt|ƒƒƒs¾J ‚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(J ‚t td d gtgƒtddƒksNJ ‚tttfƒ}t tt dgttƒ|ksxJ ‚t dtt gttƒ|ks–J ‚t tt tt gttƒ|ks¸J ‚t tdgttƒtdtfƒksÚJ ‚tdƒ}t |tƒdg|tƒtƒtdtfƒksJ ‚t |tƒdg|tƒ|tƒƒtd|tƒfƒks>J ‚tdtƒ}t |dg|tƒtdtfƒksjJ ‚t td d gttƒgƒttjfƒks–J ‚t td d gttƒƒttjfƒksÀJ ‚t td d gdƒttd fƒksèJ ‚t td d gtt ƒttjfƒksJ ‚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sjJ ‚d S )
NrÅ   r   r¯   r²   rq  rp  r‚   rk  r®   )rq   r   r¾   r   r   rS   rP   r   rŠ   r   r¿   r“   rC   rœ   r   rZ   r   r¼   )ÚsystemÚsolnr‚   rk  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s2J ‚d S r’   )rS   r   rq   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(J ‚tttdt t	 t	d  ƒtj
ƒf} t| ƒ}tt ttƒd ttƒgtƒ|ƒsxJ ‚d S râ   )rq   rC   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¼J ‚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¶J ‚d S )Nr¯   r²   r®   rÆ   rÅ   )r   r   r   rC   rP   r   rŠ   r   r¿   rS   r“   rq   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sFJ ‚|d ||  || g}t|||gƒtd| | fƒks‚J ‚|| | | }|| ||  ||  ||  }|| | || |  || |  || |  }	|| | | d }
|||	|
g}d| | d| t|ƒtdƒ f}d| | d| t|ƒtdƒ f}t||ƒ}t|||||gƒ|kslJ ‚t| d	 d
| d   ||   | td  |t d g| |tgƒddt tfhksÀJ ‚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³  Ú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sBJ ‚| d |f}t| | d d | | d g| |gƒt|ƒks‚J ‚| d |d  g}t| |f||fƒ}tt|ƒ |ft|ƒ|fƒ}|| }t|| |gƒ|ksâJ ‚| d |d  g}t|| f||fƒ}t|t|ƒ f|t|ƒfƒ}|| }t||| gƒ|ksDJ ‚| d | d | | d g}t|| |fƒt||| fƒks‚J ‚t| d  |d  | d|  d| tjg| ||gƒtjksÂJ ‚t| | | tjtjtjg| ||gƒtjksôJ ‚| d  |d  | | |  |d  d|  |d  ||  | | d|d   d| d  | | |  g}t|| ||gƒtdd|f| ddfƒks†J ‚d S )	NrØ   Tr©   r¯   rÑ   r®   ró   r   )r   rq   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sjJ ‚|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s0J ‚d S )Nz
x, y, z, nTr©   r¯   r   )r   rq   rS   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ƒspJ ‚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ƒsjJ ‚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üJ ‚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¦J ‚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   r3   )rŠ   r³  r–   r–   r—   Útest_nonlinsolve_complex­  s@    &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s8J ‚d S rË   )rq   r3   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 ƒƒsVJ ‚t tt d d tt d d gttgƒtjksŠJ ‚t td td d  d	 dt d
 dt gttgƒtjksÈJ ‚t td t d tt d ttƒgtttgƒ‰ g d¢‰t‡ ‡fdd„tdƒD ƒƒs J ‚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ÆJ ‚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”   ©rB  rÖ   r–   r—   r˜   Í  s   ÿz+test_nonlinsolve_inexact.<locals>.<genexpr>ré   g      °?rµ   )©g[™°Ðõl×¿g[™°Ðõl×?r²   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—   Útest_nonlinsolve_inexactÊ  s@    .ÿ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®J ‚t| d |d t| ƒ  g|| gƒ|ksÚJ ‚t| d |d t| ƒ  g|| gƒ|ksJ ‚t| d |d t| ƒ  g| |gƒ|ks6J ‚d S )Núx, yTr©   r¯   )r   rS   r#   r3   r$   rq   )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þJ ‚d S )Nza1, b1, c1, ca, cb, cgç       @rµ   r¯   g      ð¿r²   )r   rq   rS   r3   )	Ú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sPJ ‚t|jd	 d
dt   ƒdksrJ ‚t|jd ddt   ƒdks”J ‚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‚J ‚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¼   rS   r3   rC   r=   r?   r    r   )r   rí   r{  rB  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   sB  t dƒ } \	}}}}}}}}}	||	 ||	  | |||	  | ||	d  ||	  ||	  | |	| |	 ||	  |  |	| ||	  |  f}
t|||	  | |	 ||	  | |	d  |||	d  ||||t|	hdhƒf	|||	  ||	 ||	  | |	d  d |||	d  ||||t|	hdhƒf	ƒ}t|
g| ¢R Ž |ks>J ‚d S )Nzax bx cx gx jx lx mx nx qr¯   r   r¹   ©r   rS   rR   rq   )ÚVÚaxÚbxZcxZgxZjxZlxZmxZ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s6J ‚t| jd dt  ƒdksTJ ‚d S )Nr¯   rÖ  r   gã;fž ö?rÌ  r²   )rn   r3   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sFJ ‚tttd t d  ƒt	d  t tjƒtj
u svJ ‚d S )Nró   r¯   r   rù   )r   r$   r   r   rS   rn   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*J ‚d S )	Nró   r®   r²   rô   iQ  é   r¯   rÑ   )rS   r3   r   r   r   rn   r   ©rÖ   r–   r–   r—   Útest_issue_12032f  s|    *"ÿÿ&&ÿ*"ÿþýþ&&ÿ*"ÿþý("ÿÿü("ÿÿ0"ÿ"þ&ýýþ("ÿÿ0"ÿ"þ&ýýþîrë  c                   C   s    t dttƒ tƒtjksJ ‚d S rË   ©rn   r3   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’J ‚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ƒƒsVJ ‚d S )Nró   r¯   r®   rÑ   r÷   )r“   rq   r   r   rC   rS   rP   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 J ‚tdd„ t||ƒD ƒƒs¶J ‚q¶t|ƒt|ƒksJ ‚d S )Nr²   r¯   c                 s   s   | ]\}}|  |¡V  qd S r’   )rŸ   )r•   r}   r~   r–   r–   r—   r˜   š  r™   z#test_issue_16618.<locals>.<genexpr>)rC   r   r   r?   rS   rP   r   rŠ   r   r   r¿   rq   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`J ‚d S )Né    r¯   rÑ   rõ   r®   r²   éQ   )rq   r   r   r   rS   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^J ‚d S )NrŠ   r¯   )r   rn   r   rC   rŸ   rV   rP   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sdJ ‚d S )	Nzn mrð  r¯   rÑ   rõ   r®   rñ  r²   )r   rq   rS   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sDJ ‚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šJ ‚d S )	Nr¯   rÃ   rÑ   )r²   r®   )r®   r²   rŠ   r²   r®   )r3   r   r   rq   rS   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ÖJ ‚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`J ‚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Œ   rD   r   r3   )r   r   r©  rŠ   rÄ  r÷  Ú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:J ‚d S )Nza, bTr©   r¯   r™  r¾  )r   rq   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J ‚d S )Nr   )Úorº   r²   )ru  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—   Ú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ŒJ ‚| 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J ‚d S )Nzlam a0 concr¯   r²   g{®Gázt?gÌ«¢Ã;Êç?)r   r   r   r¢   rq   )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sJ ‚t||| |  f| |fƒtjks´J ‚|d
7 }t||f| |fƒtjksØJ ‚d S )Núx yTr©   r¯   rÃ   r®   é¿   rÒ   i‡  rÆ   )r   r3   r   rq   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J ‚d S )
Nr   i”ýÿÿi˜  é~   i  é3   éÍ   éh   r¯   )r   r   r‘   r3   rq   )r•  Úy1Zr1r–  Úy2r¡  Úy3Zr3Úvrb  rc  r¯  ÚFZg1Zg2Zg3ÚGrk  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”J ‚d S )Nr‚   r¯   r®   r   )r   r   r   r   r   r   r   rO   r   r;  rq   )r‚   rb  rc  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J ‚t g g ƒtjks,J ‚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ˆJ ‚td	ƒ}t tt gtgtd
igtgtƒ ttgƒ|ksÀJ ‚t tt gtgtd
igtgtd
 httgƒtjksöJ ‚d S )Nr¯   r®   r  é   )rÄ   ró   )rÄ   r¯   )r®   ró   )r®   r¯   rr  r²   )rp   r   r   r   r¾   rS   r6  )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>J ‚t tt t tjtjtjgtttgƒt t ttfhkszJ ‚t t	t
 tt
 tt
 t
d d gt	ttt
gƒt
t
 t
 t
fhks¾J ‚t t	t	ttƒ  t	td  gt	tgƒdtfhksòJ ‚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shJ ‚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—   Ú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sVJ ‚t tt td dtd   d gttgƒ} t| ƒdksJ ‚d S )Nr¯   r²   r®   rÅ   )rp   r   r   r‘   r3   r¢   )rB  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ØJ ‚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.J ‚d S )	Nzx, y, z, r, tTr©   r¯   r²   r   rŠ   r®   )r   rD   rR   rS   r3   rp   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                     s:  ddl m‰  g d¢} 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 J ‚||ksJ ‚|jD ]}t
|ƒd
ksJ ‚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ì   ›	  r™   z$test_issue_21022.<locals>.<listcomp>c                 S   s   g | ]
}|j ‘qS r–   )rŸ  r  r–   r–   r—   rì   	  r™   rð  rô   rÍ   r  rF  rÅ   éøÿÿÿrÑ   )Úsympy.core.sympifyr   r   r›   r   r6  Úunionrq   rS   r3   r¢   rÏ  )r©  r  ZsybrB  r	  rh  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˜J ‚d S )NrŠ   rm  r¯   rÅ   )r   rP   r   r   r   r   r%   r   rX   r   r¿   rn   r$   r   rŸ   )rŠ   rm  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,J ‚d S )Nr÷   r¯   éP   rþ   r  rÃ   )rn   r   rS   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 J ‚d S )NrL  r  rÃ   r   )r   rC   r   r?   r‹   r‘   rq   rS   )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ºJ ‚d S )NrL  r  rÃ   Úzzc                    s   g | ]}|  tˆ ¡‘qS r–   )rÙ   r‹   )r•   r   ©r&  r–   r—   rì   Ê	  r™   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—   Ú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ƒƒsTJ ‚d S )Nró   )r“   rq   r‡   r‰   r$   r   rS   rŠ   r   rP   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u s,J ‚tttƒ|  ttjƒtju sLJ ‚tt| dƒ| tjƒtju sjJ ‚d S )Nr~   Tr­   r²   r¹   )r   rn   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&J ‚t ttt t tƒtƒtjksHJ ‚d S r’   )rn   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:J ‚d S rð   )rn   r   r}   r   r»   rT   rS   r3   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:J ‚t| tddƒ d | tjƒtjks`J ‚t| d | | tjƒtt|ƒtddƒ  t|ƒ ƒksšJ ‚d S )	Nr   Tr©   r   r®   r²   r¹   rÅ   )	r   rn   r   r»   rS   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&J ‚t ttddƒ d ttjƒtjksLJ ‚tdtddƒ  ƒ} t ttdƒ d ttjƒ| ks‚J ‚ttdƒ d  tt| ƒd ¡dksªJ ‚ttdƒ d  tdtddƒ  ¡dksÖJ ‚d S )Nr®   r¯   rÑ   rÄ   r   ró   )	rn   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$J ‚d S rË   )rn   r   rC   r   r   r»   r¾   r–   r–   r–   r—   Útest_issue_9849ü	  s    r/  c                   C   s   t g tƒtjksJ ‚d S r’   )ri   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ŠJ ‚d S )
Nr¯   r²   rÃ   r®   i^  rÑ   i»  r´   rÒ   )rn   r   r   r»   rS   r3   r   r–   r–   r–   r—   Útest_issue_9913
  s     ,&ÿÿÿr1  c                   C   s"   t ttƒttjƒtdƒksJ ‚d S r:  )rn   r3   r   r   r;  rS   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 r2  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s4J ‚t| t tjƒttt dt dt    htjƒksjJ ‚t	ddd}t	ddd}t || d| d|    } t| t ƒttjƒks¶J ‚t| t tjƒttjƒksÒJ ‚d S )Nró   r¯   ÚapTr­   Úbn)Únegative)
r   r}   r~   rn   rS   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âJ ‚t|t tjƒt	tt ddƒtdtdƒƒksJ ‚t|t tjƒt	tdddƒtdtdƒƒks@J ‚t|t tjƒtdtdƒks`J ‚t|t tjƒtdtdƒks€J ‚t|t tjƒtdddƒks J ‚t|t tjƒtj
ksºJ ‚t|t tddƒd	tdddƒksàJ ‚t|	t tddƒd	t	tdddƒtdddƒƒksJ ‚tt d dk t tjƒtt ddƒks>J ‚d S )
Nr¯   r®   r   r²   ró   rÅ   r¹   rÄ   rù   )r   r3   rÙ   r%   rn   r   r¿   rQ   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ƒ¡sPJ ‚t| |tƒƒtd  |tƒtjƒ t|tƒt| |tƒƒtd  dƒtjƒ¡s J ‚d S )Nr‚   rƒ   r¯   r   )	r   rn   r   r   r   r»   rŸ   rO   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>J ‚t|  t t	t ƒ¡t tjƒt t
dƒt¡tdƒ kstJ ‚d S )Nr²   ró   r   )r   rn   r   r»   rU   rÈ   r   rS   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sXJ ‚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äJ ‚d S r)  )r‘   r$   r   rC   r   rT   r   r»   rS   r%   rn   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ØJ ‚t|| tjƒ|ksîJ ‚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—   Ú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sFJ ‚d S )Nr¯   rÑ   r®   rÄ   r   r²   )rn   r   r   r»   rV   rU   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$J ‚tddƒ} t dt  t¡dk t| ƒ| ksPJ ‚d S )Nr   r²   rÃ   )rn   rC   r   rU   r   rS   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s8J ‚t| dk t tjƒtt tdƒ ƒks`J ‚t| tdƒkt tjƒt tdƒt¡ksŠJ ‚d S )Nr¯   rÅ   r   )r   r3   rn   r   r»   rU   r   r\  r  r–   r–   r—   Útest_issue_11064‹
  s    ÿÿÿr@  c                  C   sh   t td ƒd } t| tƒ}|tju s(J ‚t| dk ttjƒtju sDJ ‚t| dkttjƒtdtƒksdJ ‚d S ©Nr¯   r   )	r3   r   re   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s2J ‚d S re  )rn   r%   r   r   r»   rU   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ƒƒ¡sVJ ‚d S )NÚCr²   r   )r   r   r   r   rn   rŸ   rT   rO   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"J ‚t tdt d ƒttjƒt tddƒt¡ksRJ ‚d S )Nr   rÑ   r®   )	rn   r   r   r   r»   rU   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 ƒƒs2J ‚ˆ dtdd ƒdu sLJ ‚d S )Nc                 3   s   | ]}ˆ d | ƒdu V  qdS )r²   Nr–   r  rß   r–   r—   r˜   ²
  r™   z3test__is_finite_with_finite_vars.<locals>.<genexpr>Tr©   )Úcomplexr²   F)rs   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s2J ‚d S )Nr¯   rò   r   )Úsymbolrú   rÄ   ry  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u s0J ‚d S )NrÅ   r¯   )rq   r   r3   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s4J ‚t ttttdƒ ƒd  t¡tt	ddƒƒtdƒksjJ ‚t tttddƒƒtj
u s†J ‚d S )Nr¯   r¹   r²   r   )rn   r   r   r4   rD  r6   r   r»   rS   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s2J ‚ttttdƒ d tˆ ƒttdƒ tdƒƒksdJ ‚ttt	td ƒd td ƒd tˆ ƒtddƒks˜J ‚tt	td ƒt	t
ƒ tˆ ƒtt	t
ƒ d t	t
ƒd ƒksÔJ ‚tt	tdt	td ƒ  ƒtˆ ƒttddƒtdd	ƒƒksJ ‚tdt	tt	ttdtƒ ƒ ƒ d tt jƒtdd
ƒksLJ ‚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   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sJJ ‚t	t| tƒt
ttt dt t tt d ƒ  d tttd ƒƒd  ƒtjƒƒs J ‚d S )Nr²   i€Wíþi€¨r¯   )r$   r   r   rS   r%   rn   r   r»   rT   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<J ‚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–   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sjJ ‚d S )Nr  r¯   r  r²   rÑ   r®   )rn   r   r   r;  rS   r3   r–   r–   r–   r—   Útest_issue_17882è
  s    PÿrU  c               	   C   s¬   t tdt d ƒƒddt gks$J ‚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¨J ‚d S )Nr®   r¯   ró   rÑ   r²   r¹   )r›   rz   r   r6  )rç  r–   r–   r—   Útest_term_factorsí
  s
    $<
4ÿrV  c                   C   sJ   t dt ttjƒtjksJ ‚t dt dtd   ttjƒtdƒksFJ ‚d S )Nr®   r  rÅ   r‚  )rt   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shJ ‚d S r)  )r   r   r‘   rE   rn   rY  rS   rH   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szJ ‚t|ttjƒt	t
ddƒƒksœJ ‚t|ttjƒtjks¶J ‚t|ttjƒt	dƒksÒJ ‚t|ttjƒttjt	| tdtt|  ƒ ƒ ƒƒks
J ‚t|ttjƒt	dƒks&J ‚t|ttjƒt	dƒksBJ ‚t|ttjƒt	dtdƒ d dtdƒ d  t
ddƒ ƒks„J ‚t|	ttjƒt	dƒks J ‚t|
ttjƒt	tdƒ tdƒ tdƒ tdƒ tdƒ tdƒ  ƒksìJ ‚td
tdt d ƒ dtd	   tƒt	ddtdƒ  tdƒ tdƒd   ƒksBJ ‚tdtd  dtd   tƒt	dƒksnJ ‚tdƒttdƒƒ ttdƒƒ }tdtd  ddt   tƒt	| |ƒks¾J ‚tdƒ\}}tdƒ}t||td   t|tƒ ƒ |tƒƒttjt	t||td   ƒ ƒƒks"J ‚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†J ‚tddd}td	| d	 |d	  |ƒ tttd	d	t  td	  dƒtjƒ¡sØJ ‚tdt dt  d ttjƒdhksJ ‚tdt ddt   d ttjƒdhks0J ‚d S )Nr   r0  r®   r¯   rÑ   rÅ   r  rÍ   r²   rX  ró   éT   é   ig  é{   i¦
  rÄ   rò   rÂ   rÆ   zC1 C2r‚   r   Tr­   rº   r  )ru  r   r   r$   r%   r‘   rn   r   r»   rS   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  s\    <($ÿ"ÿ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
ƒƒsNJ ‚ttt tt  d tƒttdƒttƒttƒ  ƒksˆJ ‚ttdtd  dtd   tƒtt| d|  t t tdƒ ƒt	j
ƒƒsÒJ ‚ttdt d tƒtt| td|  t t  dtdƒ  tdƒ ƒt	j
ƒƒs"J ‚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˜J ‚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||ƒƒs0J ‚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ØJ ‚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   rS   rn   r$   r3   r   rV   )	rŠ   rî   r}   Zunion1Zunion2rB  ÚnumZdenr	  r–   r–   r—   Útest_exponential_complex2  s2    $ÿ
ÿ
  ÿ
0ÿ$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œJ ‚t|ttjƒ ttt	ttd t  d dƒtjƒ¡sÔJ ‚t|ttjƒ ttt	dt t tƒ d dƒtjƒ¡sJ ‚t|ttjƒ ttt	t tƒ ttƒ dƒtjƒ¡sFJ ‚t|ttjƒ ttt	dt dt  dt  dƒtjƒ¡s„J ‚d S )Nr²   r¯   r®   rÅ   r   )
r$   r   r   r%   rn   r   r»   rŸ   rO   r   )rb  rc  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sXJ ‚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äJ t|ttjƒƒ‚t|ttjƒ|ks
J t|ttjƒƒ‚t| |  | t 	dt
¡ƒ ttttt dƒt dt
¡ƒ¡sHJ ‚t| | d	 |tjƒtdƒkslJ ‚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òJ ‚tt|| ƒt| | ƒ d |tjƒtt|| tdƒ ƒtdƒƒks>J ‚tt|  t|   | ƒ ttttdƒttdƒ@ tdƒƒ¡s|J ‚d S )
Nzx y zTr­   zxr, zrr©   r¯   rÑ   r   r²   )r   rn   r   r»   rT   rS   r%   rŽ   rU   r\  r   rŸ   rO   r   rÈ   r$   rR   r   r}   r~   r   )	r   r   r‘   ZxrZzrrb  rc  r£   r¤   r–   r–   r—   Útest_exponential_symbolsc  s8    ÿ
"$&ÿ
$&($ÿÿÿ
&ÿ
ÿr`  c                  C   s@   t ddd} t dƒ}t| d d | ƒt|d d |ƒks<J ‚d S )Nr   Tr­   r¯   rÑ   )r   rg   )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&J ‚d S rË   )rn   r   r   r‘   r   r»   rS   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sTJ ‚d S )NrÑ   r¯   r®   )re   r3   r$   r   rS   r%   r–   r–   r–   r—   Útest_solve_only_exp_2‹  s    "*ÿrc  c                   C   sL  t ttƒdu sJ ‚t dt d tƒdu s,J ‚t dt ddt   tƒdu sNJ ‚t tdt ƒdt  tƒdu spJ ‚t tt t tƒdu sŠJ ‚t tt t tƒdu s¤J ‚t dt dt  d tƒdu sÆJ ‚t ttt  t tƒdu säJ ‚t tdt  dt  tƒdu sJ ‚t tt tt  tƒdu s(J ‚t tt tt  tƒdu sHJ ‚d S )	NFr®   r¯   TrÅ   r÷   rÑ   r²   )ru   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sLJ ‚t dt dt  dttjƒtttddƒtd	ƒd  ƒtdƒ ƒks’J ‚t dt dt  dttjƒtj	ks¸J ‚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
J ‚d S )
Nr®   r¯   r   rÄ   ró   rÑ   r²   r¹   rÅ   )rv   r   r   r»   rS   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s6J ‚t ttd ƒtdt d ƒ tƒtdƒksdJ ‚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öJ ‚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’J ‚t tdt ƒtt d ƒ tdt d ƒ tƒttddƒt
jƒksÚJ ‚tttt ƒtttƒ  tt
jƒt
jksJ ‚d S )	Nr®   rÃ   r²   r¯   rÄ   iôÿÿÿr¹   rÑ   )re   r%   r   rS   r3   r$   r   r‘   r   rT   r   r»   r¼   rn   r  r–   r–   r—   Útest_logarithmic­  s,    ÿ
.&02þ
, ÿ"þÿ
*ÿÿ
rf  c                  C   sz   t tdt ƒd ƒt ttƒ d ƒ t dƒ } t| tƒtju sBJ ‚t dt ƒt ttƒd ƒ d } t| tƒtju svJ ‚d S )Nr¯   r²   rÍ   )r%   r$   r   r)   re   r   r¾   r3   r  r–   r–   r—   Útest_uselogcombine_2¾  s    . rg  c                   C   sÆ  t ttƒdu sJ ‚t ttƒtƒdu s(J ‚t ttƒd tƒdu sBJ ‚t ttƒttƒ tƒdu s`J ‚t ttƒd tƒdu szJ ‚t ttd ƒttd ƒ tƒdu s J ‚t ttt ƒtttƒ  tƒdu sÆJ ‚t tttƒƒtƒdu sàJ ‚t tt tƒdu söJ ‚t tdt ƒtdt ƒ d tƒdu s"J ‚t ttƒttƒ t tƒdu sFJ ‚t tttd ƒƒttd ƒ tƒdu srJ ‚t ttdƒt ƒttƒ tƒdu sšJ ‚t ttƒtd  ttƒ tƒdu sÂJ ‚d S )NFTr®   r¯   r²   rÑ   )rw   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s6J ‚t ddd} tttƒt| ƒ dttjƒtdƒksjJ ‚d S )Nr   r   Tr­   r²   )r   ry   r%   r   r   r»   rS   r0  r–   r–   r—   Útest_solve_logarithm×  s    .ri  c                  C   sè  t dƒ\} }}ttd tƒdu s$J ‚t| td  |t  | tƒdu sJJ ‚ttd tƒdu s`J ‚tttd  tƒdu szJ ‚tdttƒ ttdƒ  tƒdu s J ‚ttttd ƒƒttd ƒ tƒdu sÊJ ‚tdt d dtddt  ƒ  tƒdu søJ ‚t| t ttd ƒ  td¡tƒdu s$J ‚ttd dt  d  tttƒdt  d d ¡tƒdu sdJ ‚ttttƒ d tƒdu s„J ‚ttt	tƒ d tƒdu s¤J ‚tt
tƒdt  tƒdu sÄJ ‚tttƒttƒ tƒdu säJ ‚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—   Útest_is_lambertá  s    &&*.,@   rj  c                      sl  ddl m‰  ˆ dtƒddgks"J ‚tdd„ ˆ dtƒD ƒƒs>J ‚ˆ tdt  d ttƒg d¢ksbJ ‚ˆ tdt  d ttƒg d¢ks†J ‚ˆ tdtd   d ttd ƒg d¢ks²J ‚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J ‚ˆ dttƒg d¢ks&J ‚ˆ tttt ƒttddtdiksNJ ‚ˆ dttddi kshJ ‚d S )Nr   ©Úlinear_coeffsc                 s   s   | ]}|t ju V  qd S r’   )r   r  rë   r–   r–   r—   r˜   ÷  r™   z%test_linear_coeffs.<locals>.<genexpr>r¯   r®   r—  )r¯   r²   r®   c                      s$   ˆ t dt d   t d  t t d ƒS r2  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µ   )r   r   rµ   T)Údictr¹   )	rt  rl  r   r   r   r]   r½   r}   r   r–   r–   rk  r—   Útest_linear_coeffsô  s    $$,$(rn  c                   C   sP  t ttƒdu sJ ‚t ttdƒd tƒdu s.J ‚t ttd dtd   t d dƒd tƒdu sbJ ‚t tttt ƒdƒd tƒdu s†J ‚t tttt ƒdƒttƒ tƒdu s®J ‚t ttdƒd tƒdu sÊJ ‚t ttdƒd d tƒdu sêJ ‚t ttdƒd t tƒdu sJ ‚t tttdƒƒd tƒdu s.J ‚t tdtƒd tƒdu sLJ ‚d S )NFr®   r²   Tr¯   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sBJ ‚|tttƒd	ƒtd
ƒ| tƒtttƒd	ƒd
fkstJ ‚|tttƒd	ƒtd
ƒ| tƒtttƒd	ƒd
fks¦J ‚|tt	tƒd	ƒtd
ƒ| tƒtt	tƒd	ƒd
fksØJ ‚t
|ttd	ƒtd
ƒ| tƒttt| d	|  d
 ƒtjƒfƒsJ ‚t
|ttd d	ƒtd
ƒ| tƒttt| d	|  d ƒtjƒfƒsXJ ‚|ttd t d	ƒtd
ƒ| tƒttd t d	ƒd
fks”J ‚t
|tdt d	ƒtd
ƒ| tƒttt| d	|  d ƒtjƒfƒsÖJ ‚|ttd td  d	ƒtd
ƒ| tƒttd td  d	ƒd
fksJ ‚|ttd d	ƒtd
ƒ| tƒttjfksFJ ‚t
|tdt dƒtdƒ| tƒttt| d|  d ƒtjƒfƒsˆJ ‚t
|tdtd t d  d	ƒtdƒ| tƒtd t d tt| d|  d ƒtjƒfƒsâJ ‚|tttƒd d	ƒtd
ƒ| tƒttjfksJ ‚d S )NrŠ   T©Úintegerr   )Ú_invert_modularr  r²   r¯   r÷   rÅ   rÍ   rÑ   r®   )r   rt  rr  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ƒ¡sJJ ‚tdtt	tƒdƒ ttjƒ ttttt	tƒdƒd dƒtjƒ¡sŽJ ‚tdtt
tƒdƒ ttjƒ ttttt
tƒdƒd dƒtjƒ¡sÒJ ‚tdtttƒdƒ ttjƒ ttttttƒdƒd dƒtjƒ¡sJ ‚tdttdƒ ttjƒtju s<J ‚tdttdƒ ttjƒtju s`J ‚ttd	ttd
ƒ ttjƒtt| d
|  d	 ƒtjƒƒsšJ ‚tdttd
ƒ ttjƒtju s¾J ‚ttdttdƒ ttjƒtt| d|  d ƒtjƒƒsøJ ‚ttdtdt d dƒ ttjƒtt| d|  d ƒtjƒƒs:J ‚ttdtdt dƒ ttjƒtt| d|  d	 ƒtjƒƒsxJ ‚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ƒƒƒsbJ ‚tdttd dƒ ttjƒtju sŠJ ‚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J ‚tttdt dƒd ttjƒtt| d|  d ƒtjƒƒsRJ ‚tttdt dƒd ttjƒtt| d|  d	 ƒtjƒƒsJ ‚tttdt dƒd ttjƒtt| d	|  d ƒtjƒƒsÎJ ‚tttd	t dƒd	 ttjƒtt| d|  d ƒtjƒƒsJ ‚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ƒƒslJ ‚tttd dƒd	 ttjƒtju s”J ‚ttttd dƒd ttjƒtt| d|  d ƒtjƒƒsÒJ ‚ttttd dƒd ttjƒttt| d|  d ƒtjƒtt| d|  d ƒtjƒƒƒs,J ‚ttdtdt d dƒ ttjƒttt| d|  d ƒtjƒtjƒƒsvJ ‚tttdƒt ttjƒtjksšJ ‚tttt dƒd	 ttjƒ tttttt dƒd	 dƒtjƒ¡sàJ ‚tttt dƒd	 ttjƒ tttttt dƒd	 dƒtjƒ¡s&J ‚ttttd dƒd ttjƒttt| d|  d ƒtjƒtt| d|  d ƒtjƒƒƒs€J ‚ttttd  d!ƒd" ttjƒtt| d!|  d  ƒtjƒƒs¾J ‚tddd} d#}d$}d%}d&}tt|t||  | |ƒ | tjƒtt| d'|  d( ƒtjƒƒsJ ‚tt|t||  | |ƒ | tjƒttt| d'|  d( ƒtjƒtjƒƒsfJ ‚tt|t|d	|   | |ƒ | tjƒttt| d)|  d* ƒtjƒtjƒƒs´J ‚t|t|d	|  d  | |ƒ | tjƒtju sèJ ‚tt|t|| d  | |ƒ | tjƒttt| d'|  d+ ƒtjƒtjƒƒ	s6J ‚d S ),NrŠ   Trp  rÑ   r   r®   r÷   rÅ   r¯   rÄ   rÍ   é    r  r   rQ  éM   éS   é]   é“   é   r  r  r  é)   rò   r  é   rP  rÆ   r²   rO  r¸   éJ   rÞ  i­VH,i½.qiÿÿÿi@È3iþÿÿr´   iÿÿÿ?é2   r  )r   rn   r
   r   r   r¿   rŸ   rO   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`J ‚d S )NrÅ   r²   rW  r®   rÃ   )rq   r   r   r   r   r3   rS   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´J ‚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—   Útest_issue_10426¦  s    $Dÿþýr€  c                   C   s(   t ttƒd t ƒtdt ƒks$J ‚dS )z,Test solveset for simple conjugate functionsr®   N)rn   r"   r   r   rS   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(J ‚tt|Ž ƒ}"t|| ƒ|"ksHJ ‚t|| f| ƒ|"ks`J ‚| | ¡\}#}$t|#ƒ}#|" 	t|||||g|$ƒ¡}%tt|#Ž ƒ|%ks¦J ‚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sJJ ‚d S )&Nzx0:16zy0:12r
  é.   é'   r}  é#   é"   rV  rW  é,   rZ  r@  é5   é8   rR  é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>æ  r™   z$test_issue_18208.<locals>.<dictcomp>)r   rh   rž   rd   rS   r   ri   Zgauss_jordan_solver›   rÙ   rq   )'Ú	variablesr¤  r•  r–  r¡  r¢  Zx5Zx6Zx7Zx8Zx9Zx10Zx11Zx12Zx13Zx14Zx15Zy0r  r  r  Zy4Zy5Zy6Zy7Zy8Zy9Zy10Zy11r©  Úexpectedrk  r~   Zsolve_expectedZlinsolve_expectedZgj_solveZnew_varsZgj_expectedZnonlinsolve_expectedr–   r–   r—   Útest_issue_18208µ  sz    ÿ"Þ$(*.ý	"$(ý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¦J ‚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u sJ ‚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&J ‚d S )Nr²   r¹   )rn   r	   r3   r   rS   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ÔJ ‚||ksàJ ‚d S )Nr   r²   r¯   r®   Tr4  )r6   r   r4   rU   rn   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 ƒs8J ‚t| dt tjƒtdƒksTJ ‚d S )Nr¯   r®   rO  r   )r   r$   r   ru   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u s(J ‚d S r=  )rn   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sXJ ‚d S )Nr¯   r®   rÑ   r  rÅ   )r   r   rq   rS   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„J ‚d S )Nr¯   r®   r²   r   r¹   rÑ   )r   r   r   rV   rU   r\  r   r   rn   r   r»   )rî   rB  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<J ‚d S )NrÅ   r¯   rÃ   rÂ   )r   r3   rn   r   r»   rS   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`J ‚d S râ   )r“   rq   r   rC   r   rS   rP   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”J ‚d S ©Nr¯   rÑ   )r“   rq   rC   r   r   rS   rP   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sNJ ‚t ddd\}}|| }t| | | | tjƒt| t| | | dƒtjƒksœJ ‚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—   Ú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sDJ ‚d S )Nr¯   ró   )ró   r   r¾  )rq   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 J ‚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 J ‚ttt dt   dt  ƒgt gƒttjfƒksJ ‚d S )Nr²   r¯   c                 S   s   g | ]}t |d ƒ‘qS ©r   ©r   rë   r–   r–   r—   rì   ~  r™   z$test_issue_19144.<locals>.<listcomp>c                 S   s   g | ]}t |d ƒ‘qS r¨  r©  rë   r–   r–   r—   rì   …  r™   )r   r   r   rq   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¤J ‚d S )NrÑ   r¯   r²   )rq   r   r   r$   rS   r   r  r¼   )rB  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ì     r™   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sZJ ‚d S r¤  )rq   r‰   rŠ   rS   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sdJ |  tdi¡ƒ‚d S r)  )rn   r3   r   r   r   r»   Zxreplacerê  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u sFJ ‚d S )NrÒ   r¯   rÃ   r‹  )rn   r3   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¾J ‚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sFJ ‚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:J ‚d S )Nr¯   r®   rÑ   r²   ró   ræ   r   r  Tr©   )r   rq   r   r   r3   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s6J ‚t td d tt td d gttgƒtjkshJ ‚d S )Nr²   r¯   rÑ   ró   r®   )rq   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"J ‚d S rA  )rd   r3   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¾J ‚d S )NÚ_nrÅ   r¯   rÂ   r   )r   r   r@   r   r   r»   rV   rP   r   r   r¿   rO   r   rR   Zas_dummy)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   r7  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   rA  r   rc   Zsympy.solversrd   rt  re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   ru  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/  r1  r3  r8  r9  r<  r>  rC  rE  rH  rI  rJ  rK  rU  rZ  r^  r_  ra  rd  rf  rg  ri  rj  rl  rn  rv  rw  rx  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/  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)
			