U
    ZÊ¹j’r ã                   @   sJ  d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZmZmZmZmZmZmZ ddlmZ dd	lmZ dd
lmZmZmZmZmZmZmZm Z  ddl!m"Z"m#Z# ddl$m%Z% ddl&m'Z'm(Z(m)Z) ddl*m+Z+m,Z,m-Z-m.Z. ddl/m0Z0m1Z1m2Z2m3Z3 ddl4m5Z5m6Z6m7Z7m8Z8 ddl9m:Z:m;Z;m<Z< ddl=m>Z>m?Z?m@Z@mAZA ddlBmCZCmDZD ddlEmFZFmGZGmHZH ddlImJZJ ddlKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZU ddlVmWZW ddlXmYZY ddlZm[Z[m\Z\ ddl]m^Z^m_Z_ ddl`maZa ddlbmcZcmdZd ddlemfZf ddlgmhZh ddlimjZj dd lkmlZlmmZm dd!lnmoZo dd"lpmqZrmsZtmuZvmwZx dd#lymzZz dd$l{m|Z| dd%l}m~Z~ dd&lm€Z€ dd'l�m‚Z‚ dd(lƒm„Z„m…Z…m†Z†m‡Z‡ dd)lˆm‰Z‰ dd*lŠm‹Z‹ dd+lŒm�Z� dd,lŽm�Z� dd-l�m‘Z‘ dd.l’m“Z“m”Z”m•Z•m–Z– dd/l—m˜Z˜ dd0l™mšZš dd1l›mœZœm�Z� dd2lžmŸZŸ dd3l m¡Z¡m¢Z¢ dd4l£m¤Z¤ dd5l¥m¦Z¦ dd6l§m¨Z¨ dd7l©Z©dd8l/mªZª dd9lXm«Z« dd:l¬m­Z­m®Z®m¯Z¯ dd;lem°Z° dd<l±m²Z²m³Z³m´Z´mµZµm¶Z¶ dd=l·m¸Z¸ dd>l©m¹Z¹mºZº dd?l»m¼Z¼m½Z½m¾Z¾ dd@l¿mÀZÀmÁZÁ ddAlÂmÃZÃmÄZÄ ddBlÅmÆZÆ ddClÇmÈZÈ ddDlÉmÊZÊ ddElËmÌZÌ ddFlÍmÎZÎ ddGlmÏZÏ ddHlÐmÑZÑ ddIlÒmÓZÓmÔZÔmÕZÕmÖZÖm×Z×mØZØmÙZÙ ddJlÚmÛZÛ ddKlÜmÝZÝmÞZÞmßZß ddLlàmáZá ddMl!mâZâ ddNlãmäZämåZå ddOlæmçZç ddPlèméZé ddQlêmëZë e%jìZìeZíe)dRƒ\ZîZïZðe)dSdTdU�\ZñZòZóZôZõZöedVƒZ÷edWƒZødXdY„ ZùdZd[„ Zúd\d]„ Zûd^d_„ Züd`da„ Zýdbdc„ Zþddde„ Zÿdfdg„ �Z dhdi„ �Zdjdk„ �Zdldm„ �Zdndo„ �Zdpdq„ �Zdrds„ �Zdtdu„ �Zdvdw„ �Zdxdy„ �Z	dzd{„ �Z
d|d}„ �Zd~d„ �Zd€d�„ �Zd‚dƒ„ �Ze²d„d…„ ƒ�Zd†d‡„ �Zdˆd‰„ �Ze²dŠd‹„ ƒ�ZdŒd�„ �Ze²dŽd�„ ƒ�Zd�d‘„ �Zd’d“„ �Zd”d•„ �Zd–d—„ �Ze²d˜d™„ ƒ�Ze²dšd›„ ƒ�Ze²dœd�„ ƒ�Ze²dždŸ„ ƒ�Ze²d d¡„ ƒ�Ze²d¢d£„ ƒ�Ze²d¤d¥„ ƒ�Ze²d¦d§„ ƒ�Z e²d¨d©„ ƒ�Z!dªd«„ �Z"d¬d­„ �Z#e²d®d¯„ ƒ�Z$e²d°d±„ ƒ�Z%e²d²d³„ ƒ�Z&d´dµ„ �Z'd¶d·„ �Z(d¸d¹„ �Z)dºd»„ �Z*d¼d½„ �Z+e²d¾d¿„ ƒ�Z,e²dÀdÁ„ ƒ�Z-dÂdÃ„ �Z.dÄdÅ„ �Z/dÆdÇ„ �Z0dÈdÉ„ �Z1e²dÊdË„ ƒ�Z2dÌdÍ„ �Z3e²dÎdÏ„ ƒ�Z4dÐdÑ„ �Z5dÒdÓ„ �Z6dÔdÕ„ �Z7dÖd×„ �Z8dØeîdÙ  dÚeîdÛ   dÜeîdÝ   dÞeîdß   dàeîdá   dâ �Z9dãeîdá  däeîdä   dåeîdæ   dçeîdè   déeîdê   dëeîdì   dâ �Z:dÙeîdå  däeîdà   díeîdî   dïeîdð   dñeî  dò �Z;dódô„ �Z<dõdö„ �Z=d÷dø„ �Z>dùdú„ �Z?dûdü„ �Z@dýdþ„ �ZAdÿ�d „ �ZB�d�d„ �ZCe²�d�d„ ƒ�ZD�d�d„ �ZE�d�d„ �ZF�d	�d
„ �ZG�d�d„ �ZHe²�d�d„ ƒ�ZI�d�d„ �ZJe²�d�d„ ƒ�ZKe²�d�d„ ƒ�ZL�d�d„ �ZM�d�d„ �ZN�d�d„ �ZO�d�d„ �ZP�d�d„ �ZQ�d�d „ �ZRe²�d!�d"„ ƒ�ZSe²�d#�d$„ ƒ�ZT�d%�d&„ �ZU�d'�d(„ �ZVe²�d)�d*„ ƒ�ZW�d+�d,„ �ZX�d-�d.„ �ZYe²�d/�d0„ ƒ�ZZ�d1�d2„ �Z[�d3�d4„ �Z\e²�d5�d6„ ƒ�Z]e²�d7�d8„ ƒ�Z^e²�d9�d:„ ƒ�Z_e²�d;�d<„ ƒ�Z`e²�d=�d>„ ƒ�Za�d?�d@„ �Zbe´�dAƒe²�dB�dC„ ƒƒ�Zce²�dD�dE„ ƒ�Zd�dF�dG„ �Ze�dH�dI„ �Zfe²�dJ�dK„ ƒ�Zg�dL�dM„ �Zh�dN�dO„ �Zi�dP�dQ„ �Zj�dR�dS„ �Zk�dT�dU„ �Zl�dV�dW„ �Zm�dX�dY„ �Zn�dZ�d[„ �Zoe³�d\�d]„ ƒ�Zp�d^�d_„ �Zq�d`�da„ �Zre²�db�dc„ ƒ�Zse²�dd�de„ ƒ�Zt�df�dg„ �Zue²�dh�di„ ƒ�Zv�dj�dk„ �Zw�dl�dm„ �Zxe²�dn�do„ ƒ�Zy�dp�dq„ �Zz�dr�ds„ �Z{�dt�du„ �Z|�dv�dw„ �Z}�dx�dy„ �Z~�dz�d{„ �Z�d|�d}„ �Z€�d~�d„ �Z��d€�d�„ �Z‚�d‚�dƒ„ �Zƒ�d„�d…„ �Z„e²�d†�d‡„ ƒ�Z…�dˆ�d‰„ �Z†e²�dŠ�d‹„ ƒ�Z‡e²�dŒ�d�„ ƒ�Zˆe²�dŽ�d�„ ƒ�Z‰e²�d��d‘„ ƒ�ZŠ�d’�d“„ �Z‹e²�d”�d•„ ƒ�ZŒ�d–�d—„ �Z��d˜�d™„ �ZŽe²�dš�d›„ ƒ�Z�e²�dœ�d�„ ƒ�Z��dž�dŸ„ �Z‘e²�d �d¡„ ƒ�Z’�d¢�d£„ �Z“e²�d¤�d¥„ ƒ�Z”e²�d¦�d§„ ƒ�Z•�d¨�d©„ �Z–e²�dª�d«„ ƒ�Z—e²�d¬�d­„ ƒ�Z˜e²�d®�d¯„ ƒ�Z™�d°�d±„ �Zš�d²�d³„ �Z›�d´�dµ„ �Zœ�d¶�d·„ �Z��d¸�d¹„ �Zž�dº�d»„ �ZŸ�d¼�d½„ �Z �d¾�d¿„ �Z¡�dÀ�dÁ„ �Z¢e²�dÂ�dÃ„ ƒ�Z£�dÄ�dÅ„ �Z¤�dÆ�dÇ„ �Z¥�dÈ�dÉ„ �Z¦e²�dÊ�dË„ ƒ�Z§e²�dÌ�dÍ„ ƒ�Z¨e²�dÎ�dÏ„ ƒ�Z©�dÐ�dÑ„ �Zª�dÒ�dÓ„ �Z«�dÔ�dÕ„ �Z¬�dÖ�d×„ �Z­�dØ�dÙ„ �Z®�dÚ�dÛ„ �Z¯e²�dÜ�dÝ„ ƒ�Z°e²�dÞ�dß„ ƒ�Z±e²�dà�dá„ ƒ�Z²e²�dâ�dã„ ƒ�Z³e³e²�dä�då„ ƒƒ�Z´e²�dæ�dç„ ƒ�Zµe²e³�dè�dé„ ƒƒ�Z¶�dê�dë„ �Z·�dì�dí„ �Z¸�dî�dï„ �Z¹�dð�dñ„ �Zº�dò�dó„ �Z»e²�dô�dõ„ ƒ�Z¼�dö�d÷„ �Z½�dø�dù„ �Z¾e²�dú�dû„ ƒ�Z¿�dü�dý„ �ZÀ�dþ�dÿ„ �ZÁe²�d �d„ ƒ�ZÂ�d�d„ �ZÃe²�d�d„ ƒ�ZÄ�d�d„ �ZÅ�d�d	„ �ZÆ�d
�d„ �ZÇ�d�d„ �ZÈe²�d�d„ ƒ�ZÉ�d�d„ �ZÊ�d�d„ �ZË�d�d„ �ZÌ�d�d„ �ZÍ�d�d„ �ZÎe²�d�d„ ƒ�ZÏe²�d�d„ ƒ�ZÐ�d�d„ �ZÑ�d �d!„ �ZÒ�d"�d#„ �ZÓ�d$�d%„ �ZÔ�d&�d'„ �ZÕ�d(�d)„ �ZÖ�d*�d+„ �Z×�d,�d-„ �ZØ�d.�d/„ �ZÙe²�d0�d1„ ƒ�ZÚ�d2�d3„ �ZÛ�d4�d5„ �ZÜ�d6�d7„ �ZÝ�d8�d9„ �ZÞ�d:�d;„ �Zß�d<�d=„ �Zà�d>�d?„ �Záe²�d@�dA„ ƒ�Zâe²�dB�dC„ ƒ�Zã�dD�dE„ �Zäe²�dF�dG„ ƒ�Zå�dH�dI„ �Zæ�dJ�dK„ �Zçe²�dL�dM„ ƒ�Zèe²�dN�dO„ ƒ�Zée²�dP�dQ„ ƒ�Zê�dR�dS„ �Zëe²�dT�dU„ ƒ�Zìe²�dV�dW„ ƒ�Zí�dX�dY„ �Zî�dZ�d[„ �Zï�d\�d]„ �Zð�d^�d_„ �Zñ�d`�da„ �Zò�db�dc„ �Zóe²�dd�de„ ƒ�Zôe²�df�dg„ ƒ�Zõe²�dh�di„ ƒ�Zöe²�dj�dk„ ƒ�Z÷e²�dl�dm„ ƒ�Zø�dn�do„ �Zù�dp�dq„ �Zúe²�dr�ds„ ƒ�Zû�dt�du„ �Züe²�dv�dw„ ƒ�Zýe²�dx�dy„ ƒ�Zþe²�dz�d{„ ƒ�Zÿe²�d|�d}„ ƒ�Z e²�d~�d„ ƒ�Ze²�d€�d�„ ƒ�Z�d‚�dƒ„ �Z�d„�d…„ �Z�d†�d‡„ �Ze³e²�dˆ�d‰„ ƒƒ�Ze²�dŠ�d‹„ ƒ�Ze²�dŒ�d�„ ƒ�Ze²�dŽ�d�„ ƒ�Z	�d��d‘„ �Z
�d’�d“„ �Z�d”�d•„ �Z�d–�d—„ �Z�d˜�d™„ �Z�dš�d›„ �Ze²�dœ�d�„ ƒ�Ze²�dž�dŸ„ ƒ�Ze²�d �d¡„ ƒ�Ze²�d¢�d£„ ƒ�Ze²�d¤�d¥„ ƒ�Z�d¦�d§„ �Z�d¨�d©„ �Z�dª�d«„ �Z�d¬�d­„ �Z�d®�d¯„ �Z�d°�d±„ �Z�d²�d³„ �Z�d´�dµ„ �Ze²�d¶�d·„ ƒ�Ze²�d¸�d¹„ ƒ�Ze²�dº�d»„ ƒ�Z�d¼�d½„ �Z �d¾�d¿„ �Z!�dÀ�dÁ„ �Z"�dÂ�dÃ„ �Z#�dÄ�dÅ„ �Z$�dÆ�dÇ„ �Z%e²�dÈ�dÉ„ ƒ�Z&�dÊ�dË„ �Z'�dÌ�dÍ„ �Z(e²�dÎ�dÏ„ ƒ�Z)�dÐ�dÑ„ �Z*�dÒ�dÓ„ �Z+�dÔ�dÕ„ �Z,e²�dÖ�d×„ ƒ�Z-e²�dØ�dÙ„ ƒ�Z.�dÚ�dÛ„ �Z/e²�dÜ�dÝ„ ƒ�Z0e²�dÞ�dß„ ƒ�Z1e²�dà�dá„ ƒ�Z2e²�dâ�dã„ ƒ�Z3�dä�då„ �Z4�dæ�dç„ �Z5�dè�dé„ �Z6�dê�dë„ �Z7e²�dì�dí„ ƒ�Z8e²�dî�dï„ ƒ�Z9�dð�dñ„ �Z:e²�dò�dó„ ƒ�Z;�dô�dõ„ �Z<�dö�d÷„ �Z=�dø�dù„ �Z>e²�dú�dû„ ƒ�Z?e³e²�dü�dý„ ƒƒ�Z@�dþ�dÿ„ �ZAe²�d �d„ ƒ�ZBe²�d�d„ ƒ�ZCe²�d�d„ ƒ�ZDe²�d�d„ ƒ�ZEe²e³�d�d	„ ƒƒ�ZFe²e³�d
�d„ ƒƒ�ZGe²e³�d�d„ ƒƒ�ZHe²e³�d�d„ ƒƒ�ZI�d�d„ �ZJe²�d�d„ ƒ�ZKe²e³�d�d„ ƒƒ�ZLe²�d�d„ ƒ�ZMe²�d�d„ ƒ�ZN�d�d„ �ZOe²�d�d„ ƒ�ZP�d�d„ �ZQe²�d �d!„ ƒ�ZR�d"�d#„ �ZS�d$�d%„ �ZT�d&�d'„ �ZUe²�d(�d)„ ƒ�ZVe²�d*�d+„ ƒ�ZW�d,�d-„ �ZX�d.�d/„ �ZYe³�d0�d1„ ƒ�ZZ�d2�d3„ �Z[e²eµ�d4�d5„ ƒƒ�Z\e²eµ�d6�d7„ ƒƒ�Z]�d8�d9„ �Z^�d:�d;„ �Z_�d<�d=„ �Z`�d>�d?„ �Za�d@�dA„ �Zb�dB�dC„ �Zce²�dD�dE„ ƒ�Zd�dF�dG„ �Ze�dH�dI„ �Zf�dJ�dK„ �Zg�dL�dM„ �Zh�dN�dO„ �Zi�dP�dQ„ �Zje²�dR�dS„ ƒ�Zk�dT�dU„ �Zle²�dV�dW„ ƒ�Zme´�dXƒ�dY�dZ„ ƒ�Zn�d[�d\„ �Zoe²�d]�d^„ ƒ�Zpe²�d_�d`„ ƒ�Zqe²�da�db„ ƒ�Zre²�dc�dd„ ƒ�Zs�de�df„ �Zte²�dg�dh„ ƒ�Zu�di�dj„ �Zv�dk�dl„ �Zw�dm�dn„ �Zx�do�dp„ �Zy�dq�dr„ �Zze²�ds�dt„ ƒ�Z{e²�du�dv„ ƒ�Z|�dw�dx„ �Z}�dy�dz„ �Z~e´�d{ƒe³�d|�d}„ ƒƒ�Ze²�d~�d„ ƒ�Z€e²�d€�d�„ ƒ�Z�e²�d‚�dƒ„ ƒ�Z‚�d„�d…„ �Zƒ�d†�d‡„ �Z„�dˆ�d‰„ �Z…e²�dŠ�d‹„ ƒ�Z†e²�dŒ�d�„ ƒ�Z‡e²�dŽ�d�„ ƒ�Zˆd7S (�  zè Tests from Michael Wester's 1999 paper "Review of CAS mathematical
capabilities".

http://www.math.unm.edu/~wester/cas/book/Wester.pdf
See also http://math.unm.edu/~wester/cas_review.html for detailed output of
each tested system.
é    )ÚQÚask)Úrefine)Úproduct)Ú
EulerGamma)ÚN)Ú
DerivativeÚFunctionÚLambdaÚSubsÚdiffÚexpandÚexpand_func)ÚMul)Úigcd)ÚAlgebraicNumberÚEÚIÚRationalÚnanÚooÚpiÚzoo)ÚEqÚLt)ÚS)ÚDummyÚSymbolÚsymbols)ÚrfÚbinomialÚ	factorialÚ
factorial2)Ú	bernoulliÚ	fibonacciÚtotientÚ	partition)Ú	conjugateÚimÚreÚsign)ÚLambertWÚexpÚlog)ÚasinhÚcoshÚsinhÚtanh)ÚceilingÚfloor)ÚMaxÚMinÚsqrt)Ú	Piecewise)
ÚacosÚacotÚasinÚatanÚcosÚcotÚcscÚsecÚsinÚtan)Úbesselj)Ú
DiracDelta)Ú
elliptic_eÚ
elliptic_f)ÚgammaÚ	polygamma)Úhyper)Úassoc_legendreÚ
chebyshevt)Úpolylog)Úidiff)ÚAnd)ÚhessianÚ	wronskian)ÚMatMul)Úcontinued_fraction_convergentsÚcontinued_fraction_iteratorÚcontinued_fraction_periodicÚcontinued_fraction_reduce)Ú	factorint)Ú
primerange)ÚZZ)Úlegendre_poly)Úapart)ÚPolyÚfactorÚgcdÚ	resultant)Úlimit)ÚO)Úresidue)Úseries)ÚImageSet)Ú	FiniteSetÚIntersectionÚIntervalÚUnion)Úcombsimp)Úhyperexpand)Ú	powdenestÚpowsimp)Úradsimp)Ú
logcombineÚsimplify)Ú
sqrtdenest)Útrigsimp)ÚsolveN)Ústirling)Ú	Heaviside)ÚCiÚSiÚerf)Úzeta)ÚXFAILÚslowÚSKIPÚtooslowÚraises)Ú
partitions)ÚmpiÚmpc)ÚMatrixÚGramSchmidtÚeye)ÚBlockMatrixÚblock_collapse)ÚMatrixSymbolÚ
ZeroMatrix)Ú
Commutator)ÚPolyRing)Ú	FracField)Úsolve_lin_sys)ÚSum)ÚProduct)Ú	integrate)Úlaplace_transformÚinverse_laplace_transformÚLaplaceTransformÚfourier_transformÚmellin_transformÚlaplace_correspondenceÚlaplace_initial_conds)Úrsolve)ÚsolvesetÚsolveset_realÚlinsolve)Údsolve)ÚEquality)ÚisliceÚ	takewhile)Úfps)Úfourier_series)Úminimumúx y zzi j k l m nT©ÚintegerÚfÚgc                   C   sB   t ttttttƒt tttƒB t tttƒB t tttttƒks>t‚d S ©N©rc   ÚiÚjÚkÚlÚmÚAssertionError© r¬   r¬   ú`/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/utilities/tests/test_wester.pyÚtest_B1v   s
    
ÿÿr®   c                   C   sN   t ttttttƒt tttƒ@ t tttƒ@ ttthttthttthƒksJt‚d S r¤   )rc   r¦   r§   r¨   r©   rª   rd   r«   r¬   r¬   r¬   r­   Útest_B2{   s
    
ÿÿr¯   c                   C   s.   t tttttƒt tƒ t ttttƒks*t‚d S r¤   r¥   r¬   r¬   r¬   r­   Útest_B3…   s    ÿr°   c                   C   s>   t t ttƒt ttƒ Ž t ttfttfttfttfƒks:t‚d S r¤   )rc   r¦   r§   r¨   r©   r«   r¬   r¬   r¬   r­   Útest_B4Š   s    ÿr±   c                   C   s   t dƒdkst‚d S )Né2   l         <:.kjŒFòt=VÀf“vaI×= )r!   r«   r¬   r¬   r¬   r­   Útest_C1’   s    ÿr³   c                   C   s8   t tdƒƒdddddddddd	d	d	d	d	d	d
œks4t‚d S )Nr²   é/   é   é   é   é   é   é   é   )rº   r¹   é   é   é   é   é   é   é   é   é   é%   é)   é+   r´   )rU   r!   r«   r¬   r¬   r¬   r­   Útest_C2—   s             þrÈ   c                   C   s   t dƒt dƒfdkst‚d S )Né
   é	   )i   i±  )r"   r«   r¬   r¬   r¬   r­   Útest_C3�   s    rË   c                   C   s   ddkst ‚d S )Ni¼
  )r«   r¬   r¬   r¬   r­   Útest_C4£   s    rÌ   c                   C   s   dt ddƒkst‚d S )Né{   Z234r½   ©Úintr«   r¬   r¬   r¬   r­   Útest_C5§   s    rÐ   c                   C   s*   t ddƒt ddƒ  kr dks&n t‚d S )NZ677r·   Z1BFé   i¿  rÎ   r¬   r¬   r¬   r­   Útest_C6«   s    rÒ   c                   C   s   t ddƒdkst‚d S )Ni €  r·   r¼   )r-   r«   r¬   r¬   r¬   r­   Útest_C7¯   s    rÓ   c                   C   s,   t  dd¡dkst‚t  dd¡dks(t‚d S )Nr¼   r½   r¹   é   )rW   Úinvertr«   r¬   r¬   r¬   r­   Útest_C8³   s    rÖ   c                   C   s   t t ddƒdƒdkst‚d S )Néð  i  iB  éJ   )r   r«   r¬   r¬   r¬   r­   Útest_C9¹   s    rÙ   c                  C   s8   d} t ddƒD ]}| td|ƒ7 } q| tddƒks4t‚d S )Nr   rº   r¾   r»   iý  iØ	  )ÚrangeÚRr«   )ÚxÚnr¬   r¬   r­   Útest_C10½   s    rÞ   c                   C   s   t ddƒtdƒkst‚d S )Nr»   r½   z
0.[142857])rÛ   r   r«   r¬   r¬   r¬   r­   Útest_C11Ä   s    rß   c                   C   s    t ddƒt ddƒ dkst‚d S )Nr½   r¾   rµ   rº   ©rÛ   r«   r¬   r¬   r¬   r­   Útest_C12È   s    rá   c                  C   s@   t ddƒdt ddƒ t ddƒ  } dt ddƒ }| |ks<t‚d S )NrÉ   r½   r»   rÃ   iè  r¹   rà   ©ÚtestZgoodr¬   r¬   r­   Útest_C13Ì   s    "rä   c                   C   s,   t tdtdƒ d ƒƒdtdƒ ks(t‚d S )Nrº   r¹   r¸   r»   ©rn   r6   r«   r¬   r¬   r¬   r­   Útest_C14Ò   s    ræ   c                  C   sX   t tddtddtddtddtdƒ  ƒ  ƒ  ƒ  ƒƒ} tdƒd }| |ksTt‚d S )Né   r¹   rº   r¼   r¶   rå   râ   r¬   r¬   r­   Útest_C15Ö   s    <rè   c                  C   sX   t tddtdƒ  dtdƒ  dtdƒ  ƒƒ} tdƒtdƒ tdƒ }| |ksTt‚d S )NrÉ   rº   rÔ   é   r¹   r¼   rå   râ   r¬   r¬   r­   Útest_C16Ü   s    0rê   c                  C   sD   t tdƒtdƒ tdƒtdƒ  ƒ} ddtdƒ  }| |ks@t‚d S )Nr¹   rº   r¼   rÔ   )rk   r6   r«   râ   r¬   r¬   r­   Útest_C17â   s    $rë   c                   C   s8   t tdtdƒ ƒtdtdƒ ƒ jdd�ƒdks4t‚d S )NéþÿÿÿéûÿÿÿT©Úcomplexr¹   )rm   r6   r   r«   r¬   r¬   r¬   r­   Útest_C18è   s    rð   c                   C   s6   t tddtdƒ  tddƒ ƒƒdtdƒ ks2t‚d S )NéZ   é"   r½   r»   r¹   )rk   rm   r6   rÛ   r«   r¬   r¬   r¬   r­   Útest_C19ì   s    ró   c                  C   sT   ddt dƒ  } t| tddƒ d t dƒ | tddƒ  ƒ}t|ƒtdƒksPt‚d S )Né‡   éN   r¹   rº   r»   r¶   )r6   r   rÛ   rm   r«   )Zinsiderã   r¬   r¬   r­   Útest_C20ñ   s    ,rö   c                   C   s:   t tddtdƒ  tddƒ ƒƒtdtdƒ ƒks6t‚d S )NrÆ   rÃ   rº   r»   r¼   )rm   r   r6   rÛ   r«   r¬   r¬   r¬   r­   Útest_C21÷   s     ÿr÷   c                  C   sœ   t ddtdƒ  tddtdƒ  ƒ ddtdƒ  tddtdƒ  ƒ  d dtdƒ  d	tdƒ d
  ƒ} tdƒd ttdƒd ƒd  }| |ks˜t‚d S )NrÔ   r¸   rº   r¹   rÀ   r¶   é    é   é0   éH   r»   )rm   r6   r-   r«   râ   r¬   r¬   r­   Útest_C22ü   s    6
ÿÿ
ÿÿ rü   c                   C   s   dt  d t kst‚d S )Nrº   r¹   )r   r«   r¬   r¬   r¬   r­   Útest_C23  s    rý   c                   C   s   t dƒ‚d S )Nz2**aleph_null == aleph_1©ÚNotImplementedErrorr¬   r¬   r¬   r­   Útest_C24  s    r   c                   C   s   dt dƒ dkst‚d S )Nç        rº   r   )r6   r«   r¬   r¬   r¬   r­   Útest_D1  s    r  c                   C   s   t tdƒ ¡ ƒdkst‚d S )NiÀ½ðÿz3.29683147808856e-434295)Ústrr,   Úevalfr«   r¬   r¬   r¬   r­   Útest_D2  s    r  c                   C   s&   t ttdƒ ƒ d¡j d¡s"t‚d S )Né£   r²   l   èh	‹a%)r,   r   r6   r  ÚnumÚaer«   r¬   r¬   r¬   r­   Útest_D3  s    r	  c                   C   s0   t tddƒƒdkst‚ttddƒƒdks,t‚d S )Nrí   r¹   rì   éÿÿÿÿ)r3   rÛ   r«   r2   r¬   r¬   r¬   r­   Útest_D4  s    r  c                   C   s   t dƒ‚d S )Nz6cubic_spline([1, 2, 4, 5], [1, 4, 2, 3], x)(3) == 27/8rþ   r¬   r¬   r¬   r­   Útest_D5   s    r  c                   C   s   t dƒ‚d S )Nz,translate sum(a[i]*x**i, (i,1,n)) to FORTRANrþ   r¬   r¬   r¬   r­   Útest_D6%  s    r  c                   C   s   t dƒ‚d S )Nz&translate sum(a[i]*x**i, (i,1,n)) to Crþ   r¬   r¬   r¬   r­   Útest_D7*  s    r  c                   C   s   t dƒ‚d S )Nz.apply Horner's rule to sum(a[i]*x**i, (i,1,5))rþ   r¬   r¬   r¬   r­   Útest_D8/  s    r  c                   C   s   t dƒ‚d S )Nztranslate D8 to FORTRANrþ   r¬   r¬   r¬   r­   Útest_D97  s    r  c                   C   s   t dƒ‚d S )Nztranslate D8 to Crþ   r¬   r¬   r¬   r­   Útest_D10<  s    r  c                   C   s   t dƒ‚d S )Nz.flops(sum(product(f[i][k], (i,1,k)), (k,1,n)))rþ   r¬   r¬   r¬   r­   Útest_D11A  s    r  c                   C   sN   t ddƒt t ddƒ d t ddƒtd  t ddƒt  t dd	ƒ ksJt‚d S )
Néüÿÿÿrº   r»   r¹   éøÿÿÿrÑ   éèÿÿÿr¶   rÊ   )r}   rÜ   r«   r¬   r¬   r¬   r­   Útest_D12G  s    r  c                   C   s   t dƒ‚d S )Nz:discretize a PDE: diff(f(x,t),t) == diff(diff(f(x,t),x),x)rþ   r¬   r¬   r¬   r­   Útest_D13L  s    r  c                   C   s&   t tdƒtdt  dt  ks"t‚d S )Nr¹   r»   rº   )r   rÜ   r«   r¬   r¬   r¬   r­   Útest_F1V  s    r  c                   C   s.   t ttdƒƒttd  td  d ks*t‚d S )Nr¹   r»   rº   rÔ   )r   r    rÝ   r«   r¬   r¬   r¬   r­   Útest_F2Z  s    r  c                   C   s8   t dt ttƒ tdt d ƒ ƒtdt ƒks4t‚d S ©Nrº   r»   )rg   rÝ   r!   r"   r«   r¬   r¬   r¬   r­   Útest_F3^  s    r  c                   C   s@   t dt ttƒ tdt d tdtfƒ ƒtdt ƒks<t‚d S r  )rg   rÝ   r!   r   r¨   r«   r¬   r¬   r¬   r­   Útest_F4c  s    r  c                   C   sN   t ttddƒ ƒttƒ ttƒ tdt ƒddt   ttƒd  ksJt‚d S ©Nr»   rº   )rF   rÝ   rÛ   r6   r   r!   r«   r¬   r¬   r¬   r­   Útest_F5h  s    r  c                  C   sH   dd„ t dƒD ƒ} ddidddœddidddœddig}| |ksDt‚d S )Nc                 S   s   g | ]}|  ¡ ‘qS r¬   )Úcopy)Ú.0Úpr¬   r¬   r­   Ú
<listcomp>n  s     ztest_F6.<locals>.<listcomp>r¸   r»   )r»   r¹   rº   )r»   rº   )r|   r«   )ZpartTestZpartDesiredr¬   r¬   r­   Útest_F6m  s    &r#  c                   C   s   t dƒdkst‚d S )Nr¸   r¼   )r&   r«   r¬   r¬   r¬   r­   Útest_F7s  s    r$  c                   C   s   t dddd�dkst‚d S )Nr¼   rº   T)ÚsignediÎÿÿÿ)rq   r«   r¬   r¬   r¬   r­   Útest_F8w  s    r&  c                   C   s   t dƒdkst‚d S )Nr×   i@  )r%   r«   r¬   r¬   r¬   r­   Útest_F9{  s    r'  c                   C   s   t tddƒƒddgkst‚d S )Né/B iDB iCB )ÚlistrV   r«   r¬   r¬   r¬   r­   Útest_G1�  s    r*  c                   C   s   t dƒ‚d S )Nz$find the primitive root of 191 == 19rþ   r¬   r¬   r¬   r­   Útest_G2…  s    r+  c                   C   s   t dƒ‚d S )Nz,(a+b)**p mod p == a**p + b**p mod p; p primerþ   r¬   r¬   r¬   r­   Útest_G3Š  s    r,  c                   C   sX   t tdƒ ¡ ƒ d¡tddƒks$t‚ttdd„ tt	tdƒƒƒƒƒd tddƒksTt‚d S )Nr¹   ré   é   c                 S   s
   | j dkS )Nré   )Úq©rÜ   r¬   r¬   r­   Ú<lambda>’  ó    ztest_G15.<locals>.<lambda>r
  )
r   r6   r  Úlimit_denominatorrÛ   r«   r)  r›   Úcf_cÚcf_ir¬   r¬   r¬   r­   Útest_G15�  s    $ ÿr5  c                   C   s2   t tttƒdƒƒddddddddddg
ks.t‚d S )NrÉ   r¹   r½   ré   r»   i$  rº   )r)  rš   r4  r   r«   r¬   r¬   r¬   r­   Útest_G16–  s    r6  c                   C   s$   t dddƒdddddggks t‚d S )Nr   r»   rÂ   r¸   r¹   r·   )Úcf_pr«   r¬   r¬   r¬   r­   Útest_G17š  s    r8  c                   C   sB   t dddƒdggkst‚tdggƒ ¡ tjtdƒd  ks>t‚d S )Nr»   rº   r¼   )r7  r«   Úcf_rr   r   ÚHalfr6   r¬   r¬   r¬   r­   Útest_G18ž  s    r;  c                  C   sf   t dddd�} ttd|  ƒd td|  ƒd  ƒ}tt|dƒƒdd|  d|  d	|  d
|  gksbt‚d S )NÚsT©r¡   Úpositiver»   r¼   r   rº   rÔ   rÉ   rç   )r   r4  r,   r)  rš   r«   )r<  Úitr¬   r¬   r­   Útest_G19£  s    $r@  c                  C   s:   t dddd�} td|  ggƒ| t| d d ƒ ks6t‚d S )Nr<  Tr=  rº   r»   )r   r9  r6   r«   ©r<  r¬   r¬   r­   Útest_G20ª  s    rB  c                  C   s6   t dddd�} t| d| d d ƒd|  ggks2t‚d S )Nr<  Tr=  r»   rº   )r   r7  r«   rA  r¬   r¬   r­   Ú	test_G20b°  s    rC  c                   C   sL   t ddt  ƒt dtd  ƒks$t‚tddt  ƒt dtd  ƒksHt‚d S r  )rm   rÝ   r«   ri   r¬   r¬   r¬   r­   Útest_H1¹  s    $rD  c                   C   s$   t ddt  ƒdtd  ks t‚d S )Nr¸   rº   )rj   rÝ   r«   r¬   r¬   r¬   r­   Útest_H2¾  s    rE  c                   C   s   dt t d   dkst‚d S ©Nr
  r»   )rÝ   r«   r¬   r¬   r¬   r­   Útest_H3Â  s    rG  c                  C   sP   t dt d ƒ} t| ƒtks t‚| jd dks2t‚| jd dt d ksLt‚d S )NrÔ   rÉ   r   rº   r»   r¹   r¼   )r[   rÜ   Útyper   r«   Úargs)Úexprr¬   r¬   r­   Útest_H4Æ  s    rK  é@   rò   é   r´   é~   r·   é.   r¼   rÑ   é<   éQ   rû   é   rÁ   rÂ   rµ   é'   éS   é4   é6   rÉ   éF   r½   é   r¹   é[   éV   c                   C   s   t tttƒdkst‚d S ©Nr»   )r\   Úp1Úp2rÜ   r«   r¬   r¬   r¬   r­   Útest_H5Ñ  s    r^  c                   C   s&   t ttt ƒttt ƒƒtks"t‚d S r¤   )r\   r   r\  r.  r]  r«   r¬   r¬   r¬   r­   Útest_H6Õ  s    r_  c                  C   sà   dt  td  td  dt d  td  td   dt d  td	  td
   dt d   d } dt d  td  td  dt d  td  td   dt d	  td  td   dtd  t  }t| |t ttƒdksÜt‚d S )Nrù   rÁ   r·   r´   rÀ   r¼   rÔ   ré   rÊ   rº   r¹   rµ   rò   r¿   rX  r½   r¶   rÑ   r¸   éP   rç   r»   ©rÜ   ÚyÚzr\   r«   ©r\  r]  r¬   r¬   r­   Útest_H7Ù  s    `dre  c                  C   s>  dt  td  td  dt d  td  td   dt d  td	  td
   dt d   d } dt d  td  td  dt d  td  td   dt d	  td  td   dtd  t  }dt d  td  td  dt d
  td  td   dt d  td  td   }t| | || t ttƒ|k�s:t‚d S )Nrù   rÁ   r·   r´   rÀ   r¼   rÔ   ré   rÊ   rº   r¹   rµ   rò   r¿   rX  r½   r¶   rÑ   r¸   r`  rç   r¾   rÂ   rÉ   ra  )r\  r]  r.  r¬   r¬   r­   Útest_H8ß  s    `dTrf  c                  C   s^   t ddd�} d| td   | td   }d| td   d| t   }t||ƒ| t ksZt‚d S )NrÜ   F)Úzerorº   r¸   r»   r¹   )r   rÝ   r\   r«   )rÜ   r\  r]  r¬   r¬   r­   Útest_H9æ  s    rh  c                  C   s\   dt d  dt d   t d  t  d } t d dt d   t  d }t| |t ƒdksXt‚d S )Nr¹   r¸   rº   r¼   r   )rÜ   r]   r«   rd  r¬   r¬   r­   Útest_H10í  s    (ri  c                   C   s    t tt tt tƒdkst‚d S ©Nr   )r]   r\  r.  r]  rÜ   r«   r¬   r¬   r¬   r­   Útest_H11ó  s    rk  c                  C   sD   t d d } t d dt   d }t| | ƒt d t d  ks@t‚d S )Nrº   r¸   )rÜ   rm   r«   )r  Zdenr¬   r¬   r­   Útest_H12÷  s    rl  c                   C   s8   t ttƒd ttd ƒd  ƒttd ƒd ks4t‚d S r  )rm   r,   rÜ   r«   r¬   r¬   r¬   r­   Útest_H13ý  s    rm  c                  C   s$  t d d } t| ƒ}|ddt   d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   d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  k�s
t‚t|t ƒ}|ddt   d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   d$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   k�st‚t|ƒddt  d  k�s t‚d S )&Nr»   rX  é¾   rº   it  r¹   ií  r¸   i�<  r¼   ih—  rÔ   iÐ. r½   iì r·   i� rÊ   i´Ñ rÉ   r¾   r¶   r¿   rç   ré   rÑ   rÀ   é   rÁ   i|  i\  i´K  ipŒ i°G i�` iØ i1 )rÜ   r   r«   r   r[   )r!  ÚepÚdepr¬   r¬   r­   Útest_H14  s„    <
ÿ
ÿ
ÿ
ÿ
ÿ
þ
þ
þ
þ
þ
ý
ý
ý
ýý
0
ÿ
ÿ
ÿ
ÿ
ÿ
þ
þ
þ
þ
ý
ý
ý
ý
ý
ürr  c                   C   sF   t tdd„ ttd td  d ƒD ƒŽ ƒtd td  d ksBt‚d S )Nc                 S   s   g | ]}t | ‘qS r¬   r/  )r   Úrr¬   r¬   r­   r"    s     ztest_H15.<locals>.<listcomp>r¹   rº   r½   )rm   r   r•   rÜ   r«   r¬   r¬   r¬   r­   Útest_H15  s    rt  c                   C   s  t td d ƒtd td  td d  td td  td  t d  td td  td  t d  td td  td  td  d  td td	  td
  td  d  td td	  td
  td  d  td td  td  td
  d  k�st‚d S )Néd   r»   rº   r¸   r¹   r·   rÔ   rX  ré   rÉ   r¼   é(   é   ©r[   rÜ   r«   r¬   r¬   r¬   r­   Útest_H16  s2    6ÿÿÿÿÿÿÿ"þÿÿþ"ýry  c                   C   s(   t tttt ƒƒtt  ƒdks$t‚d S rj  )rm   r[   r   r\  r]  r«   r¬   r¬   r¬   r­   Útest_H17  s    rz  c                  C   s„   t dtd  dtd   dtd   dt  d ƒ} dt dt  dt dt   td dt   td dt   }| |ks€t‚d S )	Nr¸   r·   r¹   éM   rº   ro  é™   r»   )r[   rÜ   r   r«   râ   r¬   r¬   r­   Útest_H18!  s    4@r}  c                  C   s6   t dƒ} t| d ƒ t| d d ƒ¡| d ks2t‚d S )NÚar»   rº   )r   rZ   rÕ   r«   ©r~  r¬   r¬   r­   Útest_H19)  s    r€  c                   C   s   t dƒ‚d S )NzXlet a**2==2; (x**3 + (a-2)*x**2 - (2*a+3)*x - 3*a) / (x**2-2) = (x**2 - 2*x - 3) / (x-a)rþ   r¬   r¬   r¬   r­   Útest_H20/  s    r�  c                   C   s   t dƒ‚d S )Nzuevaluate (b+c)**4 assuming b**3==2, c**2==3.                               Answer is 2*b + 8*c + 18*b**2 + 12*b*c + 9rþ   r¬   r¬   r¬   r­   Útest_H215  s    r‚  c                   C   s@   t td dtd   d dd�td d td d  ks<t‚d S )Nr¸   r¹   rº   r»   r¼   ©Úmodulusrx  r¬   r¬   r¬   r­   Útest_H22;  s    r…  c                  C   sl   t d t  d } t d t  d t d t d  t d  t d  t d  t d  d  }t| d	d
�|ksht‚d S )Nr¾   r»   rº   rÊ   r·   rÔ   r¼   r¹   i  rƒ  )rÜ   r[   r«   ©r¢   r£   r¬   r¬   r­   Útest_H23?  s    Dr‡  c                  C   sf   t tjjdd�dd�} ttd dtd   d | d	�t|  td |   td |   t|   ksbt‚d S )
NT)ÚfuncÚphi)Úaliasr¸   r¹   rº   r»   ©Ú	extension)r   r   ZGoldenRatior   r[   rÜ   r«   )r‰  r¬   r¬   r­   Útest_H24E  s    &ÿr�  c                  C   s8   t dtd   dtd   d } tt| ƒƒ| ks4t‚d S )Nrº   r¹   rX  ©rÜ   rb  rc  r[   r   r«   )Úer¬   r¬   r­   Útest_H25K  s     r�  c                  C   sr   t ttƒdttƒd   dttƒd   d ƒ} t| dd�ttƒ dttƒd   dttƒd   d ksnt‚d S )Nrº   r¹   rX  F)r   )	r   r@   rÜ   r<   rb  rA   rc  r[   r«   )r£   r¬   r¬   r­   Útest_H26P  s    0r‘  c                  C   s¦  dt  td  td  dt d  td  td   dt d  td	  td
   dt d   d } dt d  td  td  dt d  td  td   dt d	  td  td   dtd  t  }dt td  dt d	  td	  td  dt d  td   dt t d  td   dtd    dt d  dt d  td  td   dt d  td	  td
   dt  td  td   d  }tt| | ƒƒ|k�s¢t‚d S )Nrù   rÁ   r·   r´   rÀ   r¼   rÔ   ré   rÊ   rº   r¹   rµ   rò   r¿   rX  r½   r¶   rÑ   r¸   r`  rç   rì   rÉ   rv  rŽ  )r¢   r£   Úhr¬   r¬   r­   Útest_H27U  s    `dRÿ^þr“  c                   C   s   t dƒ‚d S )Nzgexpand ((1 - c**2)**5 * (1 - s**2)**5 * (c**2 + s**2)**10) with c**2 + s**2 = 1. Answer is c**10*s**10.rþ   r¬   r¬   r¬   r­   Útest_H28^  s    r”  c                   C   sD   t dtd  dt t  dtd   dd�tt tt  ks@t‚d S )Nr¸   rº   rM  rX  r¹   rƒ  )r[   rÜ   rb  r«   r¬   r¬   r¬   r­   Útest_H29d  s    r•  c                  C   s|   t td td  tdƒd�} tt tttddƒ tdƒd t     tttddƒ tdƒd t     }|| ksxt‚d S )Nr¹   éýÿÿÿr‹  r»   rº   )r[   rÜ   rb  r6   rÛ   r   r«   )rã   Úanswerr¬   r¬   r­   Útest_H30i  s    Pr˜  c                  C   sp   t d dt   d t d dt d   dt   d  } dt d d  dt d   dt d   }t| ƒ|kslt‚d S )Nrº   r¹   r¸   r¼   r»   )rÜ   rY   r«   r†  r¬   r¬   r­   Útest_H31o  s    4(r™  c                   C   s   t dƒ‚d S )Nzp[A*B*C - (A*B*C)**(-1)]*A*C*B (product                               of a non-commuting product and its inverse)rþ   r¬   r¬   r¬   r­   Útest_H32u  s    rš  c                  C   sV   t ddd�\} }}t| t||ƒƒt|t|| ƒƒ t|t| |ƒƒ  ¡  ¡ dksRt‚d S )NzA, B, CF)Úcommutativer   )r   r†   Údoitr   r«   )ÚAÚBÚCr¬   r¬   r­   Útest_H33{  s    ÿþ
þr   c                   C   s0   t ttddƒ ƒtddtdƒ  ƒ ks,t‚d S )Nr½   rÉ   r»   rº   r¼   )rA   r   rÛ   r6   r«   r¬   r¬   r¬   r­   Útest_I1„  s    r¡  c                   C   s&   t dtdƒ d ƒtdƒ ks"t‚d S )Nr»   rÔ   rº   r¹   )r6   r<   r«   r¬   r¬   r¬   r­   Útest_I2ˆ  s    r¢  c                   C   s8   t tt ƒtdt d t d ƒ dt d ks4t‚d S )Nr¸   r»   rº   r
  )r<   rÝ   r   r@   r«   r¬   r¬   r¬   r­   Útest_I3�  s    r£  c                   C   sL   t ttttt ƒ ƒttd ttt ƒ ƒ t t¡ƒdt d ksHt‚d S )Nrº   r
  r»   )r   r<   r   rÝ   r@   r   r¡   r«   r¬   r¬   r¬   r­   Útest_I4‘  s    r¤  c                   C   s@   t td d td d  td d  td  t ƒdks<t‚d S )Nr¼   r¸   rº   r¹   rw  r   )r@   rÝ   r   r«   r¬   r¬   r¬   r­   Útest_I5•  s    r¥  c                   C   s   t dƒ‚d S )NzHassuming -3*pi<x<-5*pi/2, abs(cos(x)) == -cos(x), abs(sin(x)) == -sin(x)rþ   r¬   r¬   r¬   r­   Útest_I6š  s    r¦  c                   C   s8   t dt ƒt tƒ t tƒd dttƒd   ks4t‚d S ©Nr¹   rº   ©r<   rÜ   r@   r«   r¬   r¬   r¬   r­   Útest_I7Ÿ  s    r©  c                   C   s0   t dt ƒt tƒ dt dt ƒ d ks,t‚d S )Nr¹   rº   r»   )r<   rÜ   r«   r¬   r¬   r¬   r­   Útest_I8¤  s    rª  c                   C   s8   t dt ƒt tƒ t tƒd dttƒd   ks4t‚d S r§  r¨  r¬   r¬   r¬   r­   Útest_I9©  s    r«  c                   C   sH   t ttƒd d ttƒd  ttƒd ttƒd  d  ƒtksDt‚d S ©Nrº   r»   rì   )ro   rA   rÜ   r<   r@   r   r«   r¬   r¬   r¬   r­   Útest_I10¯  s    r­  Zhangsc                   C   sL   t ttƒd d ttƒd  ttƒd ttƒd  d  tdƒdksHt‚d S )Nrº   r»   rì   r   )r^   rA   rÜ   r<   r@   r«   r¬   r¬   r¬   r­   Útest_I11³  s    r®  c                  C   sN   t ttƒd d ttƒd  ttƒd ttƒd  d  tƒ} | tksJt‚d S r¬  )r   rA   rÜ   r<   r@   r   r«   )Úresr¬   r¬   r­   Útest_I12¹  s    >r°  c                   C   s   t dƒtddƒkst‚d S )NrÑ   ißñÿÿiþ  )r#   rÛ   r«   r¬   r¬   r¬   r­   Útest_J1Â  s    r±  c                   C   s<   t tttd ƒtƒtttd ƒtttd ƒ t ks8t‚d S ©Nrº   )r   rD   rÜ   rb  rE   r«   r¬   r¬   r¬   r­   Útest_J2Æ  s    r³  c                   C   s   t dƒ‚d S )NzDJacobi elliptic functions: diff(dn(u,k), u) == -k**2*sn(u,k)*cn(u,k)rþ   r¬   r¬   r¬   r­   Útest_J3Ê  s    r´  c                   C   s"   t tddƒƒdttƒ kst‚d S )Nr
  rº   rì   )rF   rÛ   r6   r   r«   r¬   r¬   r¬   r­   Útest_J4Ï  s    rµ  c                   C   sB   t dtddƒƒtdƒ tdƒt d  t ttdƒƒ ks>t‚d S )Nr   r»   r¹   rÔ   )rG   rÛ   r-   r6   r   r   r«   r¬   r¬   r¬   r­   Útest_J5Ó  s    r¶  c                   C   s    t  dd¡ tddƒ¡st‚d S )Nrº   y      ð?      ð?z0.04157988694396212z0.24739764151330632)ÚmpmathrB   r  r~   r«   r¬   r¬   r¬   r­   Útest_J6×  s    r¸  c                   C   s,   t ttddƒtd ƒƒdtd  ks(t‚d S )Nrí   rº   r¶   )rm   rB   rÛ   r   r«   r¬   r¬   r¬   r­   Útest_J7Û  s    r¹  c                  C   sP   t tddƒtƒ} ttƒt ttƒ ttt d ƒ }tt| ƒ| ƒdksLt	‚d S ©Nr¹   rº   r   )
rB   rÛ   rc  r@   r<   r6   r   rm   r   r«   )r!  r.  r¬   r¬   r­   Útest_J8ß  s    $r»  c                   C   s$   t dtƒ t¡t dtƒ ks t‚d S ©Nr   r»   )rB   rc  r   r«   r¬   r¬   r¬   r­   Útest_J9å  s    r½  c                  C   s^   t ddd�\} }t|| dƒd|  ttƒ t||  d d ƒ t| |  d d ƒ ksZt‚d S )Nzmu, nuTr    r   rº   r»   )r   rI   r6   r   rF   r«   )ÚmuÚnur¬   r¬   r­   Útest_J10é  s    rÀ  c                   C   sH   t tddtƒƒt tddƒ tdtd  ƒ dtd  d  ƒksDt‚d S )Nr¹   r»   rº   r¼   )rm   rI   rÜ   rÛ   r6   r«   r¬   r¬   r¬   r­   Útest_J11î  s    rÁ  c                   C   s6   t tdtƒdt tdtƒ  tdtƒ ƒdks2t‚d S )Nið  rº   iï  iî  r   )rm   rJ   rÜ   r«   r¬   r¬   r¬   r­   Útest_J12ò  s    rÂ  c                  C   s(   t dddd�} t| dƒd|  ks$t‚d S )Nr~  TF)r¡   Únegativer
  )r   rJ   r«   r  r¬   r¬   r­   Útest_J13÷  s    rÄ  c                  C   s<   t tjtjgtddƒgtd ƒ} t| ƒttƒt ks8t‚d S r§  )rH   r   r:  rÛ   rc  rh   r:   r«   )r!  r¬   r¬   r­   Útest_J14ü  s     rÅ  c                   C   s   t dƒ‚d S )NzcF((n+2)/2,-(n-2)/2,R(3,2),sin(z)**2) == sin(n*z)/(n*sin(z)*cos(z)); F(.) is hypergeometric functionrþ   r¬   r¬   r¬   r­   Útest_J15  s    rÆ  c                   C   s   t dƒ‚d S )Nz&diff(zeta(x), x) @ x=0 == -log(2*pi)/2rþ   r¬   r¬   r¬   r­   Útest_J16  s    rÇ  c                   C   sv   t ttd d ƒttd d ƒ ttƒtttd ƒtƒ  tddfƒdttddƒƒ ttttƒtƒtdƒ ksrt	‚d S )Nrº   r¼   r¹   r»   r   r¸   )
rŒ   r¢   rÜ   rC   r£   r   rÛ   r   r   r«   r¬   r¬   r¬   r­   Útest_J17  s    rÈ  c                   C   s   t dƒ‚d S )Nz define an antisymmetric functionrþ   r¬   r¬   r¬   r­   Útest_J18  s    rÉ  c                  C   s^   t ddd�\} }t| t|  ƒt|ƒ t| ƒ ks6t‚t| t|  ƒt| ƒt|ƒ ksZt‚d S )Nzz1, z2Trî   )r   r)   r   r(   r«   )Zz1Zz2r¬   r¬   r­   Útest_K1  s    &rÊ  c                   C   s4   t dtdƒ ttdtdƒ d ƒ  ƒdks0t‚d S )Nr¹   r½   rÔ   ré   r»   )Úabsr6   r   r«   r¬   r¬   r¬   r­   Útest_K2  s    rÌ  c                  C   sX   t ddd�\} }ttd| t|   t|   ƒƒdt| d t|  | d  ƒ ksTt‚d S )Nza, bT©Úrealr»   rº   )r   rm   rË  r   r6   r«   ©r~  Úbr¬   r¬   r­   Útest_K3   s    rÑ  c                   C   s:   t ddt  ƒjdd�t dƒtttddƒƒ  ks6t‚d S )Nr¹   r¸   Trî   r¼   )r-   r   r   r;   rÛ   r«   r¬   r¬   r¬   r­   Útest_K4&  s    rÒ  c                  C   s|   t ddd�\} }t| t|  ƒjdd�td|  ƒtd|  ƒtd| ƒ  ttd| ƒ td|  ƒtd| ƒ   ksxt‚d S )Nzx, yTrÍ  rî   rº   )	r   rA   r   r   r@   r<   r/   r0   r«   ©rÜ   rb  r¬   r¬   r­   Útest_K5*  s    *
ÿ&ÿrÔ  c                   C   sx   t tt ttƒd  ƒt tƒttƒ  t tt ƒt tƒ ks@t‚t tt ttƒd  ƒt tƒttƒ  t tƒkstt‚d S r²  )r6   rÜ   rb  rË  rc  r«   r¬   r¬   r¬   r­   Útest_K60  s    @rÕ  c                  C   sR   t dddd�} tt|  ttƒd  ƒttƒttƒ  }t|ƒ}|t| ƒksNt‚d S )Nrb  TF)rÎ  rÃ  rº   )r   r6   rÜ   rË  rc  rm   r«   )rb  rJ  Zsexprr¬   r¬   r­   Útest_K75  s    (rÖ  c                  C   sf   t ddd�} ttd|  ƒdt| ƒ  ƒdks0t‚t dddd�} ttd|  ƒdt| ƒ  ƒdksbt‚d S )Nrc  Trî   r»   r   F)rï   rÃ  ©r   rm   r6   r«   ©rc  r¬   r¬   r­   Útest_K8<  s    $rÙ  c                  C   s4   t ddd�} ttd|  ƒdt| ƒ  ƒdks0t‚d S )Nrc  T©r>  r»   r   r×  rØ  r¬   r¬   r­   Útest_K9C  s    rÛ  c                  C   s4   t ddd�} ttd|  ƒdt| ƒ  ƒdks0t‚d S )Nrc  T)rÃ  r»   r   r×  rØ  r¬   r¬   r­   Útest_K10H  s    rÜ  c                   C   s"   t dƒdtddƒ  dkst‚d S )Niå  iß;r»   rÔ   r   ©r6   rÛ   r«   r¬   r¬   r¬   r­   Útest_L1Q  s    rÞ  c                   C   s"   t dƒdtddƒ  dkst‚d S )Nr(  l   �^|E!or»   rÔ   r   rÝ  r¬   r¬   r¬   r­   Útest_L2U  s    rß  c                   C   sT   t dtddƒ dtddƒ  d ddtddƒ dtddƒ    d ƒdksPt‚d S )Nrº   r»   r¹   r¸   rÔ   r   )rm   rÛ   r«   r¬   r¬   r¬   r­   Útest_L3Y  s    rà  c                   C   s8   t ttƒd ttƒttƒd   ttƒ ƒdks4t‚d S rº  )ro   r<   rÜ   r@   r«   r¬   r¬   r¬   r­   Útest_L4]  s    rá  c                   C   s6   t ttddƒt td  ƒƒtttƒƒ dks2t‚d S )Nr»   rº   r¸   r   )r-   rA   rÛ   rÜ   r   r.   r«   r¬   r¬   r¬   r­   Útest_L5a  s    râ  c                   C   s@   t ttd td  ƒƒtttƒƒ  t¡ tdi¡dks<t‚d S )Nrº   r¸   r   )r-   rA   rÜ   r   r.   r   Úsubsr«   r¬   r¬   r¬   r­   Útest_L6f  s    rä  c                   C   s@   t tdttƒ d tdt dttƒ  d ƒ ƒƒdks<t‚d S )Nrº   r»   r¸   r   )rm   r-   r6   rÜ   r«   r¬   r¬   r¬   r­   Útest_L7j  s    rå  c                   C   st   t dt dttƒ  d ttƒdttƒ d   dttƒ d ddttƒ d    dttƒ  d ƒdkspt‚d S )Nr¸   r»   rº   r   )rm   rÜ   r6   r«   r¬   r¬   r¬   r­   Útest_L8o  s    0"ÿ
ÿÿÿræ  c                  C   s\   t ddd�} tdd|   t| ƒ t| ƒ t| t d ƒ td td|  ƒ  ƒdksXt‚d S )Nrc  Trî   rº   r»   r   )r   rm   rF   rv   r<   r   r«   rØ  r¬   r¬   r­   Útest_L9u  s    rç  c                   C   s2   t tdƒd t ddƒ t td d dƒks.t‚d S r  )r™   rÜ   r«   r¬   r¬   r¬   r­   Útest_M1}  s    rè  c                  C   sD   t dtd  dtd   dt  d tƒ} tdd„ | D ƒƒs@t‚d S )Nr¹   ro  rº   é!   rÁ   c                 s   s   | ]}|j d d�jV  qdS )Trî   N)r   Zis_real)r   r<  r¬   r¬   r­   Ú	<genexpr>†  s     ztest_M2.<locals>.<genexpr>)r•   rÜ   Úallr«   )Úsolr¬   r¬   r­   Útest_M2‚  s    *rí  c                   C   sÐ   t td dtd   dtd   dtd   dt  d tƒtd	tdƒ d	tdƒ tdƒ
 d
 ttdƒ d  tdƒ
 d
 ttdƒ d  tdƒ d
 ttdƒ d  tdƒ d
 ttdƒ d  ƒksÌt‚d S )NrÔ   rÊ   r¸   r¹   é   rº   é$   rÂ   g‹r�ù¢(ô?g‹r�ù¢(ä?g<n=¥þeù?)r•   rÜ   rc   r6   r   r«   r¬   r¬   r¬   r­   Útest_M5‰  s    rð  c                   C   s2   t ttd d tƒƒdd„ tddƒD ƒks.t‚d S )Nr½   r»   c              	   S   s<   h | ]4}t |t td dƒ ƒtt|t td dƒ ƒ  ’qS )rº   r½   )r<   r   rÛ   r   r@   ©r   rÝ   r¬   r¬   r­   Ú	<setcomp>�  s     ztest_M6.<locals>.<setcomp>r   )Úsetr•   rÜ   rÚ   r«   r¬   r¬   r¬   r­   Útest_M6Ž  s    ÿrô  c                   C   sè  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 tƒƒdtdƒt ttddtd
ƒ  ƒ d
 ƒ d  dtdƒtdttd
dtd
ƒ  ƒ  ƒ d  dtdƒt ttddtd
ƒ  ƒd
 ƒ d  dtdƒtdttd
dtd
ƒ  ƒ  ƒ d  dtdƒt ttddtd
ƒ  ƒd
 ƒ d  dtdƒtdttd
dtd
ƒ  ƒ  ƒ d  dtdƒtdttd
dtd
ƒ  ƒ  ƒ d  dtdƒt ttddtd
ƒ  ƒ d
 ƒ d  hk�sät‚d S )Nr·   r½   rò   rÔ   é\   r¼   é¯   r¸   éì   r¹   éâ   rº   éŒ   rO  r»   r–  )ró  rp   rÜ   r6   r   r«   r¬   r¬   r¬   r­   Útest_M7—  s&    F
ÿÿÿÿ0......0øÿrú  c                  C   s€   t dƒ} tddd�}ttd|  ƒdt| ƒ  d | | tjƒttd| dt|ƒ  ƒd td| dt|ƒ  ƒd ƒks|t	‚d S )NrÜ   rc  Trî   rº   r»   )
r   r   r•   r,   r   ÚRealsrc   r-   r6   r«   )rÜ   rc  r¬   r¬   r­   Útest_M8¦  s
    (8ÿrü  c                   C   s   t dƒ‚d S )Nz6solveset(exp(2-x**2)-exp(-x),x) has complex solutions.rþ   r¬   r¬   r¬   r­   Útest_M9´  s    rý  c                   C   s&   t ttƒt tƒtdƒ gks"t‚d S )Nr
  )rp   r,   rÜ   r+   r«   r¬   r¬   r¬   r­   Útest_M10»  s    rþ  c                   C   s$   t tt t tƒtddƒks t‚d S rF  )r•   rÜ   rc   r«   r¬   r¬   r¬   r­   Útest_M11À  s    rÿ  c                   C   sž   t td ttƒd d d  tdt ƒd  tƒdtd td t tdtdƒ ƒ ttdtdƒ ƒ tttdtdƒ ƒ  tttdtdƒ ƒ  gksšt‚d S )Nr»   rº   r¹   r
  rÔ   )	rp   rÜ   r@   r<   r   r   r-   r6   r«   r¬   r¬   r¬   r­   Útest_M12Å  s    0    ýr   c               	   C   sJ   t dƒ} tttƒttƒ tƒtt| | t ttddƒ  ƒt	j
ƒksFt‚d S )NrÝ   r½   r¸   )r   r–   r@   rÜ   r<   rb   r
   r   rÛ   r   ÚIntegersr«   ©rÝ   r¬   r¬   r­   Útest_M13Ï  s    r  c                  C   s@   t dƒ} tttƒd tƒtt| | t td  ƒtjƒks<t	‚d S )NrÝ   r»   r¸   )
r   r–   rA   rÜ   rb   r
   r   r   r  r«   r  r¬   r¬   r­   Útest_M14Õ  s    r  c                     sÌ   t dƒ} tttƒtj ƒ‰ t‡ fdd„ttt	| d|  t
 t
d  ƒtjƒtt	| d|  t
 t
tddƒ  ƒtjƒƒttt	| d|  t
 t
tddƒ  ƒtjƒtt	| d|  t
 t
d  ƒtjƒƒfD ƒƒsÈt‚d S )NrÝ   c                 3   s   | ]}ˆ   |¡V  qd S r¤   )Zdummy_eq)r   r¦   ©Úgotr¬   r­   rê  Þ  s     ztest_M15.<locals>.<genexpr>rº   rÔ   r¼   )r   r•   r@   rÜ   r   r:  Úanyrf   rb   r
   r   r  rÛ   r«   r  r¬   r  r­   Útest_M15Û  s    "&ÿ( ÿýr  c                  C   s<   t dƒ} tttƒttƒ tƒtt| | t ƒtj	ƒks8t
‚d S )NrÝ   )r   r•   r@   rÜ   rA   rb   r
   r   r   r  r«   r  r¬   r¬   r­   Útest_M16å  s    r	  c                   C   s&   t ttƒttƒ tƒtdƒks"t‚d S rj  )r–   r:   rÜ   r;   rc   r«   r¬   r¬   r¬   r­   Útest_M17ë  s    r
  c                   C   s6   t ttƒttƒ tƒtttdƒd d ƒƒks2t‚d S )Nr¼   r»   rº   )r–   r8   rÜ   r;   rc   r6   r«   r¬   r¬   r¬   r­   Útest_M18ð  s    r  c                   C   s*   t td ttddƒ  tƒdgks&t‚d S ©Nrº   r»   r¹   )rp   rÜ   rÛ   r«   r¬   r¬   r¬   r­   Útest_M19õ  s    r  c                   C   s*   t ttd d ƒt d tƒtks&t‚d S r  )r•   r6   rÜ   ÚEmptySetr«   r¬   r¬   r¬   r­   Útest_M20ú  s    r  c                   C   s$   t tttƒ d ƒtdƒks t‚d S r  )r•   rÜ   r6   rc   r«   r¬   r¬   r¬   r­   Útest_M21þ  s    r  c                   C   s<   t dttƒ dttddƒ   d ƒttddƒƒks8t‚d S )Nrº   r¹   r»   r¸   rÑ   )r•   r6   rÜ   rÛ   rc   r«   r¬   r¬   r¬   r­   Útest_M22  s    r  c                  C   sf   t ddd�} t| dtd| d  ƒ  ƒt ttjtdƒd  ƒ ttddƒtdƒd  ƒgksbt‚d S )NrÜ   Trî   r»   rº   r¼   r
  )r   rp   r6   r   r   r:  r   r«   r/  r¬   r¬   r­   Útest_M23  s
     ÿr  c                  C   sN   t dttdƒdt   tƒ} tdttd   dƒ}| d  ¡ | ¡ ksJt‚d S ©Nr»   rº   r   )rp   r    rª   r¨   r-   r   r«   )Úsolutionr—  r¬   r¬   r­   Útest_M24  s    r  c                  C   sf   t ddd�\} }}}t dƒ}t| ||  |||   |ƒd  ¡ t||  ƒt|| ƒ  ¡ ksbt‚d S )Nz:dTrÚ  rÜ   r   )r   rp   r   r-   r«   )r~  rÐ  ÚcÚdrÜ   r¬   r¬   r­   Útest_M25  s    r  c                   C   s0   t tttƒƒtttƒƒ ƒdtdƒgks,t‚d S )Nr»   r¸   )rp   r6   r-   rÜ   r,   r«   r¬   r¬   r¬   r­   Útest_M26  s    r  c                  C   sp   t ddd�} t ddd�}tttt| tddƒ | ƒƒd ƒd | ƒ|tttdƒd ƒƒ tddƒ gkslt	‚d S )	NrÜ   TrÍ  rÐ  rº   r¹   r»   rì   )
r   rp   r-   r8   r:   rÛ   r@   r<   r,   r«   )rÜ   rÐ  r¬   r¬   r­   Útest_M27   s
    *"ÿr  c                   C   sF   t dt ttd d ƒ dtd   tt t¡d�dddgksBt‚d S )	Nr¼   rº   r·   r¹   )ZassumegOqé¿g0eà€–®�¿g¾ …Œ®é?)r–   rÜ   r,   r   rÎ  r«   r¬   r¬   r¬   r­   Útest_M28*  s    r  c                  C   s4   t dƒ} tt| d ƒd tjd�tddƒks0t‚d S )NrÜ   r»   rº   ©Údomainr
  r¹   )r   r•   rË  r   rû  rc   r«   r/  r¬   r¬   r­   Útest_M29/  s    r  c                   C   s4   t tdt d ƒttd ƒ tƒtddƒks0t‚d S )Nrº   r¼   r
  éùÿÿÿ)r–   rË  rÜ   rc   r«   r¬   r¬   r¬   r­   Útest_M304  s    r   c                   C   sD   t dttƒ tt d td ƒ tƒttddƒtddƒƒks@t‚d S )Nr»   rº   r–  r¹   )r–   rË  rÜ   r4   rc   rÛ   r«   r¬   r¬   r¬   r­   Útest_M31;  s    r!  c                   C   s>   t tdtd  tƒtt td d ƒ tƒtddƒks:t‚d S )Nrº   r¹   rÊ   r
  ©r–   r4   rÜ   rc   r«   r¬   r¬   r¬   r­   Útest_M32B  s    r#  c                   C   s8   t tdtd  tƒtd d  tƒtdddƒks4t‚d S )Nrº   r¹   rÊ   r–  g,òë‡Øàø¿r"  r¬   r¬   r¬   r­   Útest_M33I  s    r$  c                  C   sN   t ddd�} tdt |  dt t| ƒ  dt  | ƒtddt  ƒksJt‚d S )Nrc  Trî   r»   rº   r¹   )r   r•   r   r'   rc   r«   rØ  r¬   r¬   r­   Útest_M34R  s    r%  c                  C   sL   t ddd�\} }td|  d|  t|  dt   ¡ || ƒtdƒksHt‚d S )Núx yTrÍ  r¹   rº   )r¹   rº   )r   r—   r   Zas_real_imagrc   r«   rÓ  r¬   r¬   r­   Útest_M35X  s    r'  c                   C   s4   t ttƒd ttƒ d ttƒƒtddƒks0t‚d S )Nrº   rì   r»   )r•   r¢   rÜ   rc   r«   r¬   r¬   r¬   r­   Útest_M36]  s    r(  c                   C   s`   t tt t d dt t dt  d tdt  t d gtttƒtt d dtfƒks\t‚d S )NrÔ   rº   rÉ   r¹   r¸   )r—   rÜ   rb  rc  rc   r«   r¬   r¬   r¬   r­   Útest_M37d  s    Bÿr)  c            8   ¿   C   s  t dƒ\} }}t| ||gtƒ ¡ }td|ƒ}|j\1}}}}}	}
}}}}}}}}}}}}}}}}}}}}}} }!}"}#}$}%}&}'}(})}*}+},}-}.}/}0}1}2}3}4}5| | |  || |   | | |  || |   | | |  || |   | | || |   || |   | | |  || |   | | |  || |   | | |  || |   | | | |  || |   | | |  || |   | | | |  || |   || |   || |   ||	 |   ||	 |   ||0 |  ||0 |   | |1 |  ||1 |   | | |  || |   | |0 |  ||0 |   ||2 |  ||2 |   |d |3 | d  d| | |3 | d   |d |3 | d   || | | |  || |   | |
 |  ||
 |  | | |  || |   | | |  || |  ||1 |  ||1 |   | |2 |  ||2 |   |4 ||4 |   ||4 |  |d |4 | |   |5 ||5 |   ||5 |  |d |5 | |   | | | || |  | | | || |  | | | || |  | | | | |  || |  | | | || |  | ||| |  || |   | |
 |  ||
 |  | | | || |  || | |  || |  | | | |  || |  | | | || |  |  | | || |  | | |  || |  | |	 |  ||	 |  |  |0 | ||0 |  | |1 | ||1 |  | | | || |  | | |  || |  | |0 | ||0 |  |  |2 | ||2 |  |3 ||3 |   ||3 |  |d |3 | |   | | | || |  |  |1 | ||1 |  | |2 | ||2 |  | d |4 |d  d|  | |4 |d   |d |4 |d   |5 | |5 |  | |5 |  | d |5 ||   || |  | | || |  | | | |  || |  |  | | || |  || | |  || |  || |  || |   | | |  || |  |  |
 | ||
 |  |  | | || |  |  | | || |  | |  | | || |  | |  | | || |  |  | | || |  | | |  || |  |  | | || |  | | |  || |  | |	 |  ||	 |  | |0 | ||0 |  |  |1 | ||1 |  |  |0 | ||0 |  | |2 | ||2 |  |3 ||3 |   ||3 |  |d |3 | |   |  | | || |  | |1 | ||1 |  |  |2 | ||2 |  |4 | |4 |  | |4 |  | d |4 ||   | d |5 |d  d|  | |5 |d   |d |5 |d   ||| || | || |! ||$ | | |# | |" |' |0|1 |(|| |+ | |* ||) || |  || |   |& |. d|0 |1|2||3 |  ||3 |   |-|0|2 | |3 |  ||3 |   || | | |  | | || |  |% |1|2 |  |4 | ||4 |  | |  | ||  |  |, |1 |2| |4 | ||4 |  | |5 | ||5 |  |  |5 | ||5 |  | | | ||| ||||| ||" || |# | |0 |1|" |
 ||$ |||% |   ||% |   |0|2 | |3 |  ||3 |   |( |#|+ |	 |$ |* ||) || |& |  ||& |  |. |0d|1 |2| |4 | ||4 |  | |' | ||' |  |- |0 |2||3 |  ||3 |   |  |5 | ||5 |  |, |1|2 |  |4 | ||4 |  | |5 | ||5 |  |||| | | | | |)| | |* | | |) | |
 | | |+ |  ||, |   ||, |   |0|1 | |0 |2||3 |  ||3 |   |!|$|* |#|+ |	 | |" |'| |- |  ||- |  |0 |1| |& | |. |  ||. |  |0|1d|2 | |3 |  ||3 |   |  |4 | ||4 |  | |5 | ||5 |  |%|1 |2| |4 | ||4 |  |  |5 | ||5 |  g½}6|5d|4d|3d|2d|1d|0d|-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|&|| |. |#|+|| | |. ||+i.}7t|6|ƒ|7k�st‚d S )Nza, b, czk1:50rº   rì   r   )r   rˆ   rW   Z	to_domainr‡   Zgensr‰   r«   )8r~  rÐ  r  r  ÚringZk1Zk2Zk3Zk4Zk5Zk6Zk7Zk8Zk9Zk10Zk11Zk12Zk13Zk14Zk15Zk16Zk17Zk18Zk19Zk20Zk21Zk22Zk23Zk24Zk25Zk26Zk27Zk28Zk29Zk30Zk31Zk32Zk33Zk34Zk35Zk36Zk37Zk38Zk39Zk40Zk41Zk42Zk43Zk44Zk45Zk46Zk47Zk48Zk49Úsystemr  r¬   r¬   r­   Útest_M38i  s�   
ü                                          H    >  0 0  00      .    H  .  0   >0      .    0 H   0   0>              
                             
          
                                  
              Ù*                                                                               
    
  ù	r,  c                  C   sŽ  t ddd�\} }}t| d | d| |  d d| d  | d|d   d d| |d  |d  d gƒ|d|d| d	i|d|d| di|tdƒt |tddƒtdƒt d  | td	tdƒt  ƒ i|tdƒt |tddƒtdƒt d  | td	tdƒt  ƒi|tdƒ t |tddƒtdƒt d  | td	tdƒt  ƒ i|tdƒ t |tddƒtdƒt d  | td	tdƒt  ƒigk�sŠt‚d S )
NrŸ   Trî   rº   r¹   r¸   r–  r»   r
  )r   rp   r6   r   rÛ   r«   ©rÜ   rb  rc  r¬   r¬   r­   Útest_M39¨  s    X><@>üÿr.  c                   C   s   t tt tt kƒst‚d S r¤   )r   r   r   r«   r¬   r¬   r¬   r­   Útest_N1¶  s    r/  c                  C   sP   t ddd�} t| d |  d dkƒdks,t‚t| d |  d dkƒdksLt‚d S )NrÜ   TrÍ  r¸   r»   r   F©r   r   r«   r/  r¬   r¬   r­   Útest_N2º  s     r1  c                  C   s8   t ddd�} tttd| ƒt| dƒƒt| ƒdk ƒs4t‚d S )NrÜ   TrÍ  r
  r»   )r   r   rM   r   rË  r«   r/  r¬   r¬   r­   Útest_N3Á  s    r2  c                  C   sF   t ddd�\} }td| d  d|d  k| |k|dk@ ƒdksBt‚d S )Nr&  TrÍ  rº   r   r0  rÓ  r¬   r¬   r­   Útest_N4Æ  s    r3  c                  C   sP   t ddd�\} }}t|| d  ||d  k| |k|dk@ |dk@ ƒdksLt‚d S )Nzx y kTrÍ  rº   r   r0  )rÜ   rb  r¨   r¬   r¬   r­   Útest_N5Ì  s    r4  c                  C   sZ   t ddd�\} }}}t|| |  |||  k| |k|dk@ |dk@ |dk@ ƒdksVt‚d S )Nzx y k nTrÍ  r   r0  )rÜ   rb  r¨   rÝ   r¬   r¬   r­   Útest_N6Ò  s    r5  c                  C   s:   t ddd�\} }t|dk| dk|| d k@ ƒdks6t‚d S )Nr&  TrÍ  r   r»   r0  rÓ  r¬   r¬   r­   Útest_N7Ù  s    r6  c                  C   sH   t ddd�\} }}tt| |ƒt||ƒ@ | |k||k@ || k@ ƒsDt‚d S )NrŸ   TrÍ  )r   r   r   r«   r-  r¬   r¬   r­   Útest_N8ß  s    ÿr7  c                  C   sH   t dƒ} tt| d ƒdktjd�ttt dddƒtdtdƒƒksDt‚d S )	NrÜ   r»   rº   r  r
  FTr¹   )	r   r•   rË  r   rû  rf   re   r   r«   r/  r¬   r¬   r­   Útest_N9ç  s    (
ÿr8  c               	   C   sz   t dƒ} | d | d  | d  | d  | d  }tt|ƒdk tjd�ttt dd	d	ƒtddd	d	ƒtddd	d	ƒƒksvt‚d S )
NrÜ   r»   rº   r¹   r¸   r¼   r   r  T)	r   r•   r   r   rû  rf   re   r   r«   )rÜ   r!  r¬   r¬   r­   Útest_N10í  s    ($þr9  c                  C   sF   t dƒ} td| d  dktjd�ttt dddƒtdtƒƒksBt‚d S )NrÜ   rÔ   r¹   r  Tr¼   )r   r•   r   rû  rf   re   r   r«   r/  r¬   r¬   r­   Útest_N11õ  s    r:  c                  C   s4   t dƒ} tt| ƒdk tjd�tddddƒks0t‚d S )NrÜ   rº   r  r   r¸   FT)r   r•   r6   r   rû  re   r«   r/  r¬   r¬   r­   Útest_N12ú  s    r;  c                  C   s,   t dƒ} tt| ƒdk tjd�tjks(t‚d S )NrÜ   rº   r  )r   r•   r@   r   rû  r«   r/  r¬   r¬   r­   Útest_N13ÿ  s    r<  c                  C   sP   t dƒ} tt| ƒdk | tjd�ttt td ddƒttd tddƒƒksLt	‚d S )NrÜ   r»   r  rº   T)
r   r•   r@   r   rû  rf   re   r   r   r«   r/  r¬   r¬   r­   Útest_N14  s    *ÿr=  c                  C   s:   t dƒ\} }ttd|  t|ƒd  d ƒdk| tjƒ d S )Núr trº   r»   )r   r•   rË  r<   r   rû  ©rs  Útr¬   r¬   r­   Útest_N15  s    rA  c                  C   sB   t dƒ\} }t| d t|ƒd d  t|ƒd  dk | tjƒ d S )Nr>  rº   r¸   rÊ   )r   r•   r<   r@   r   rû  r?  r¬   r¬   r­   Útest_N16  s    rB  c                   C   s6   t tt dktt dk fttfƒttƒtk ks2t‚d S rj  )r•   rÜ   rb  rË  r«   r¬   r¬   r¬   r­   Útest_N17  s    rC  c                  C   s:   t dt ddt fƒ} tt|  | j¡ƒƒtdƒks6t‚d S )Nr»   rì   r¹   ré   )r   r   r6   r   ÚdotÚHr«   ©ÚMr¬   r¬   r­   Útest_O1  s    rH  c                   C   s.   t dƒ t dƒ¡t dgdgdggƒks*t‚d S )N)rº   rº   r–  )r»   r¹   r»   r¾   rí   r¸   )r   Úcrossr«   r¬   r¬   r¬   r­   Útest_O2$  s    þrJ  c                   C   s   t dƒ‚d S ©NzfThe vector module has no way of representing
        vectors symbolically (without respect to a basis)rþ   r¬   r¬   r¬   r­   Útest_O3+  s    rL  c                  C   sä   ddl m} m} | dƒ}|ƒ }| ¡ \}}}| ¡ \}}}	||| |	  ||| |	 d   ||d |	d    }
| |
¡ ¡ d|d  |d  |	 d| |	d   | || |  d| |d  |	d  ||	  |  ksàt‚d S )Nr   )Ú
CoordSys3DÚDelr   rº   r¹   rì   )Zsympy.vectorrM  rN  Zbase_vectorsZbase_scalarsrI  rœ  r«   )rM  rN  r   Zdelopr¦   r§   r¨   rÜ   rb  rc  ÚFr¬   r¬   r­   Útest_O41  s    8rP  c                   C   s   t dƒ‚d S rK  rþ   r¬   r¬   r¬   r­   Útest_O5:  s    rQ  c               	   C   s–   t dddgƒt dddgƒt dddgƒg} t| ƒt dgdgdggƒt tddƒgtddƒgtd	dƒggƒt td
dƒgtddƒgtddƒggƒgks’t‚d S )Nrº   r¹   r¼   rÔ   r·   rÂ   rÁ   é?   iÑÿÿÿiœ  ia  iñùÿÿiÂ  iYþÿÿ)r   r€   rÛ   r«   )ÚLr¬   r¬   r­   Útest_O10C  s"    (ý


ý


ýørT  c                   C   s.   t dddd„ ƒ d¡t ddddgƒks*t‚d S )Nr¹   c                 S   s   ||  S r¤   r¬   )r¦   r§   r¬   r¬   r­   r0  T  r1  ztest_P1.<locals>.<lambda>r
  r»   rº   )r   Zdiagonalr«   r¬   r¬   r¬   r­   Útest_P1S  s
      ÿrU  c                  C   sT   t dddgdddgddd	ggƒ} |  d¡ |  d¡ | t ddgddggƒksPt‚d S )
Nr»   rº   r¹   r¸   r¼   rÔ   r½   r·   rÊ   )r   Zrow_delZcol_delr«   rF  r¬   r¬   r­   Útest_P2X  s     


ÿrV  c                     s$  t ddddgddddgd	d
ddgddddggƒ} | dd…dd…f }| d }| }| dd…dd…f  }| d  }t||ggƒj}| |g||gg‰ tt‡ fdd„ƒ t ˆ ƒ}|t ddddddgddddddgd d!d"dddgddddddgddddddgd	d
ddd#dgddddd$dggƒk�s t‚d S )%Nr¾   r¶   r¿   rç   rM  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¤   )r‚   r¬   ©Úrowsr¬   r­   r0  n  r1  ztest_P3.<locals>.<lambda>éôÿÿÿióÿÿÿiòÿÿÿiêÿÿÿééÿÿÿr  iàÿÿÿißÿÿÿiÞÿÿÿéÕÿÿÿiÖÿÿÿ)r   r‚   ÚTr{   Ú
ValueErrorr«   )r�  ÚA11ÚA12ZA21ZA221ZA222ÚA22rž  r¬   rY  r­   Útest_P3`  s0    



ü
ùrc  c                   C   s   t dƒ‚d S )Nz*Block matrix diagonalization not supportedrþ   r¬   r¬   r¬   r­   Útest_P4z  s    rd  c                  C   s8   t ddgddggƒ} | d t ddgddggƒks4t‚d S )Nr½   r¾   r¹   r·   rº   r»   r   )r   r«   rF  r¬   r¬   r­   Útest_P5  s    ÿÿre  c                  C   sd   t ttƒttƒgttƒ ttƒggƒ} |  td¡t ttƒ ttƒ gttƒttƒ ggƒks`t‚d S r²  )r   r<   rÜ   r@   r   r«   rF  r¬   r¬   r­   Útest_P6†  s    ÿÿrf  c                  C   s®   t ttggƒtt dddgdddggƒ t ddd	gd
ddggƒ  } | t ttd  tdt d   tdt d  tdt d   tdt d	  tdt d   ggƒksªt‚d S )Nr»   r¹   r¼   rº   r¸   rÔ   r½   é÷ÿÿÿr¾   r  rÉ   r[  r·   rÊ   r¶   )r   rÜ   rb  rc  r«   rF  r¬   r¬   r­   Útest_P7�  s    ÿ
ÿÿÿ<ÿrh  c                  C   s6   t ddt gdt dggƒ} | jtjd�dks2t‚d S )Nr»   rì   r–  r¸   )Úordr½   )r   r   Únormr   ÚInfinityr«   rF  r¬   r¬   r­   Útest_P8–  s    
ÿrl  c                  C   s¨   t ddd�\} }}t| ||  d| d| gd| || |  d|  gd| d|  || |  ggƒ}t| d¡ƒ| d |d  |d  t| ƒt|ƒ t|ƒ  ks¤t‚d S )Núa b cT)Znonzeror»   Zfrorº   )r   r   r[   rj  rË  r«   ©r~  rÐ  r  rG  r¬   r¬   r­   Útest_P9œ  s    þro  c                  C   s^   t dddt  gtddt  ƒdggƒ} | jt dtddt  ƒgddt  dggƒksZt‚d S )Nr»   rº   r¹   r¸   r¼   rÔ   )r   r   r¢   rE  r«   rF  r¬   r¬   r­   Útest_P10¤  s    ÿÿrp  c                   C   sP   t ttgdtt ggƒ ¡ dtd d  t tdgdt tt ggƒ ksLt‚d S ©Nr»   rº   r
  )r   rÜ   rb  Úinvr«   r¬   r¬   r¬   r­   Útest_P11­  s    
ÿÿÿrs  c                  C   sh   t ttgdtt ggƒ d¡} tt| ƒƒ}t|| | dd�t|t tt t gdtggƒdd�ksdt‚d S )Nr»   ZADJF)Úevaluater
  )r   rÜ   rb  rr  r\   ÚtuplerP   r«   )rG  r  r¬   r¬   r­   Útest_P11_workaround¶  s    þþrv  c                  C   s~   t dttƒ} t dttƒ}t dttƒ}t| |gtttƒ|ggƒ}t|jƒt| jd| j | |j gtttƒ|jggƒkszt‚d S )Nr`  ra  rb  r
  )r„   rÝ   r‚   r…   rƒ   r   r«   )r`  ra  rb  rž  r¬   r¬   r­   Útest_P12À  s    ÿ"ÿrw  c                  C   sò   t dtd td gtd td dt  d td dt  d gtd td d dtd  dt  d ggƒ} |  ¡ \}}}t|ƒt dddgtd ddgtd td dggƒks²t‚t|ƒt dtd td gdd	td
 gddtd ggƒksît‚d S )Nr»   rº   r¹   rÔ   r·   r¶   rç   r   r¸   r¼   r½   )r   rÜ   ZLUdecompositionrm   r«   )rG  rS  ÚUÚ_r¬   r¬   r­   Útest_P13Ê  s    ,(þþþrz  c               
   C   sˆ   t dddddgdddddgdddddgdddddggƒ} |  ¡ \}}|t dddddgdddddgdddddgdddddggƒks„t‚d S )Nr»   rº   r¹   r½   r   r¸   r
  )r   Zrrefr«   )rG  rÛ   ry  r¬   r¬   r­   Útest_P14×  s    ýýr{  c                  C   s:   t ddddgddddgddd	d
ggƒ} |  ¡ dks6t‚d S )Nr
  r¹   r½   rí   r¸   rì   r»   rº   ré   r  )r   Úrankr«   rF  r¬   r¬   r­   Útest_P15ã  s
    

þr}  c                  C   s@   t dtdƒ dgdtdƒ dtdƒ ggƒ} |  ¡ dks<t‚d S )Nrº   r·   rÔ   rù   r¹   r»   )r   r6   r|  r«   rF  r¬   r¬   r­   Útest_P16ê  s    ÿr~  c                  C   st   t ddd�} ttd|  ƒtd|  ƒgddt| ƒd   t| ƒ ddt| ƒd   t| ƒ ggƒ}| ¡ dkspt‚d S )Nr@  TrÍ  rº   r»   )r   r   r@   r<   r|  r«   )r@  rG  r¬   r¬   r­   Útest_P17ð  s    6þr  c                  C   sf   t ddddgddddgddddggƒ} |  ¡ t dgd	gdgdggƒt dgd
gdgdggƒgksbt‚d S )Nr»   r   rì   r¹   r
  rº   éúÿÿÿrÔ   r¸   r–  )r   Z	nullspacer«   rF  r¬   r¬   r­   Útest_P18ø  s    

þýýür�  c               	   C   sJ  t dƒ} tddddg| tttg| d td td td g| d td td td ggƒ}| ¡ | d td  t | d td  t  | d t td   | d t td   | d td  t  | d t td   | d td  t  | d td  t  | d t td   | d t td   | d td  t  | d t td   | td  td   | td  td   | td  td   | td  td   | td  td   | td  td   td td  t  td t td   td td  t  td t td   ttd  td   ttd  td   k�sFt‚d S )NÚwr»   rº   r¹   )r   r   rÜ   rb  rc  Údetr«   )r‚  rG  r¬   r¬   r­   Útest_P19  s^    
ýTÿÿÿÿþþþþýýýýüüüüûûûûr„  c                   C   s   t dƒ‚d S )Nz'Matrix minimal polynomial not supportedrþ   r¬   r¬   r¬   r­   Útest_P20  s    r…  c                  C   sV   t dddgdddgdddggƒ} |  t¡ ¡ td dtd   dt  d	 ksRt‚d S )
Nr¼   r–  r  rì   r»   rº   r  r¹   rÔ   )r   ZcharpolyrÜ   Zas_exprr«   rF  r¬   r¬   r­   Útest_P21  s
    
þr†  c                  C   s2   d} dt  t| ƒ }| ¡ t  d | iks.t‚d S )Nru  rº   )rÜ   r�   Ú	eigenvalsr«   )r  rG  r¬   r¬   r­   Útest_P22!  s    rˆ  c                  C   s€   t dddddgdddddgdddddgdddddgdddddggƒ} |  ¡ tdƒdtdƒdtdƒdtdƒdtdƒdiks|t‚d S )	Nrº   r»   r   Ú1Ú2Ú3zsqrt(3) + 2z-sqrt(3) + 2©r   r‡  r   r«   rF  r¬   r¬   r­   Útest_P23'  s&    û     ûr�  c                  C   sä   t ddddddddgdd	d
dddddgdd
d	dddddgddddddddgddddddddgddddddddgddddddddgddddddddggƒ} |  ¡ tdƒdtdƒdtdƒdtdƒdtd ƒdtd!ƒdtd"ƒdiksàt‚d S )#Néc  éÄ   é@ÿÿÿé—  r  éÌÿÿÿéÏÿÿÿrÃ   éƒ  éq   é¹ÿÿÿr]  éÔÿÿÿé=   é1   r·   rU  rX  é;   r\  é›  é©ýÿÿéÐ   éc   éqüÿÿÚ0r»   z10*sqrt(10405)z100*sqrt(26) + 510Z1000rº   z-100*sqrt(26) + 510z-10*sqrt(10405)Z1020rŒ  rF  r¬   r¬   r­   Útest_P246  s2    ù       ùr¡  c                  C   sð   t tddddddddgdd	d
dddddgdd
d	dddddgddddddddgddddddddgddddddddgddddddddgddddddddggƒƒ} t| jdd�ƒ}tdddddd d!d"gƒ}t||ƒD ]\}}t|| ƒd#k sÎt‚qÎd S )$NrŽ  r�  r�  r‘  r  r’  r“  rÃ   r”  r•  r–  r]  r—  r˜  r™  r·   rU  rX  rš  r\  r›  rœ  r�  rž  rŸ  T)ZmultiplegçMÆcdà�Àr  gyðP9·¹?g     @�@gx5F27ß�@g     à�@gçMÆcdà�@gê-�™—q=)r   r   Úsortedr‡  ÚziprË  r«   )ZMFZev_1Zev_2rÜ   rb  r¬   r¬   r­   Útest_P25I  s&    ù	
  ÿÿr¤  c                  C   s   t dƒ\} }}}}t| | | | |  ddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	g	ƒ}|jdd�tdƒdtd	ƒdiksüt‚d S )
Nza0 a1 a2 a3 a4r   r»   r
  F)Zerror_when_incompletez-1/2 - sqrt(3)*I/2rº   z-1/2 + sqrt(3)*I/2)r   r   r‡  r   r«   )Za0Za1Za2Úa3Za4rG  r¬   r¬   r­   Útest_P26\  s"     ø	
  þr¦  c                  C   sà   t dƒ} t| ddddgdddddgdd| ddgddd| dgdddddggƒ}| ¡ | dtdddddgƒtdddddgƒtdddddgƒgfdt dtddt d dddgƒgfdt dtddt d dddgƒgfgksÜt‚d S )Nr~  r   r»   rì   rº   r¹   )r   r   Z
eigenvectsr   r«   )r~  rG  r¬   r¬   r­   Útest_P27l  s(    üýÿÿ÷r§  c                   C   s   t dƒ‚d S ©NzQGeneralized eigenvectors not supported https://github.com/sympy/sympy/issues/5293rþ   r¬   r¬   r¬   r­   Útest_P28ƒ  s    r©  c                   C   s   t dƒ‚d S r¨  rþ   r¬   r¬   r¬   r­   Útest_P29‰  s    rª  c                  C   s    t dddddgdddddgdddddgdddddgdddddggƒ} |  ¡ \}}|t dddddgdddddgdddddgdddddgdddddggƒksœt‚d S )Nr»   r   r
  rì   r¹   r–  rº   )r   Zjordan_formr«   )rG  ry  ÚJr¬   r¬   r­   Útest_P30�  s    üür¬  c                   C   s   t dƒ‚d S )Nz!Smith normal form not implementedrþ   r¬   r¬   r¬   r­   Útest_P31�  s    r­  c                  C   sd   t ddgddggƒ} t| ƒ t¡ ¡ t ttdƒ t tdƒ gttdƒ ttdƒ ggƒks`t‚d S )Nr»   rì   rº   )r   r,   Úrewriter<   rm   r   r@   r«   rF  r¬   r¬   r­   Útest_P32¢  s    ÿ*ÿr¯  c                  C   sp  t dƒ\} }tddddgdddd|  gddddgdd|  d| d  dggƒ}t|| ƒ t¡ ¡ tdd| dt||  ƒ |   d	| |  d	t||  ƒ  dt||  ƒ |  d|   gddt||  ƒ d d
|  t||  ƒ d	|   dt||  ƒ gddt||  ƒ |  d|   dt||  ƒ d t||  ƒ|  gddt||  ƒ d|  t||  ƒ t||  ƒggƒk�slt‚d S )Nzw tr   r»   rº   rì   r¹   r–  r¸   rÔ   r€  )r   r   r,   r®  r<   r   r@   r«   )r‚  r@  rG  r¬   r¬   r­   Útest_P33©  s    
ýR>>.ür°  c                  C   s
  t ddd�\} }}t| dddddgd| ddddgdd|dddgddd|ddgdddd|dgddddd|ggƒ}t|ƒtt| ƒt| ƒddddgdt| ƒddddgddt|ƒdddgdddt|ƒt|ƒt|ƒ d gddddt|ƒt|ƒgdddddt|ƒggƒk�st‚d S )Nrm  TrÍ  r»   r   rº   )r   r   r@   r<   r«   rn  r¬   r¬   r­   Útest_P34¶  s    û ûr±  c                  C   s@   t d tdddgdddgdddggƒ } t| ƒtdƒks<t‚d S r  )r   r   r@   r�   r«   rF  r¬   r¬   r­   Útest_P35É  s
    þr²  c                  C   s8   t ddgddggƒ} t| ƒt ddgddggƒks4t‚d S )NrÉ   r½   rÀ   r¹   r»   r¸   )r   r6   r«   rF  r¬   r¬   r­   Útest_P36Ó  s    ÿÿr³  c                  C   sX   t dddgdddgdddggƒ} | tj t dtddƒdgdddgdddggƒksTt‚d S ©Nr»   r   rº   )r   r   r:  rÛ   r«   rF  r¬   r¬   r­   Útest_P37Û  s    
þþrµ  c               	   C   sJ   t dddgdddgdddggƒ} ttƒ� | tj  d s<t‚W 5 Q R X d S r¼  )r   r{   r«   r   r:  rF  r¬   r¬   r­   Útest_P38ä  s    
þ

r¶  c                   C   s   t dƒ‚dS )zQ
    M=Matrix([
        [1, 1],
        [2, 2],
        [3, 3]])
    M.SVD()
    z,Singular value decomposition not implementedNrþ   r¬   r¬   r¬   r­   Útest_P39ñ  s    	r·  c                  C   st   t ddd�\} }t| t|ƒ | t|ƒ gƒ}| t| |gƒ¡tt|ƒ|  t|ƒ gt|ƒ| t|ƒ ggƒkspt‚d S )Nr>  TrÍ  )r   r   r<   r@   Zjacobianr«   )rs  r@  rG  r¬   r¬   r­   Útest_P40ý  s
    &ÿr¸  c                  C   st   t ddd�\} }t| d t|ƒ | |fƒtdt|ƒ d|  t|ƒ gd|  t|ƒ | d  t|ƒ ggƒkspt‚d S )Nr>  TrÍ  rº   )r   rN   r@   r   r<   r«   r?  r¬   r¬   r­   Útest_P41  s    4 ÿr¹  c                   C   s&   t ttƒttƒgtƒ ¡ dks"t‚d S r[  )rO   r<   rÜ   r@   rm   r«   r¬   r¬   r¬   r­   Útest_P42
  s    rº  c                  C   sx   dd„ } t ddd�\}}t|t|ƒ |t|ƒ gƒ}| |||gƒtt|ƒ| t|ƒ gt|ƒ|t|ƒ ggƒkstt‚d S )Nc                    s   t ‡ fdd„|D ƒƒjS )Nc                    s   g | ]}ˆ   |¡j‘qS r¬   )r   r^  ©r   ÚvrF  r¬   r­   r"    s     z3test_P43.<locals>.__my_jacobian.<locals>.<listcomp>)r   r^  )rG  ÚYr¬   rF  r­   Ú__my_jacobian  s    ztest_P43.<locals>.__my_jacobianr>  TrÍ  )r   r   r<   r@   r«   )r¾  rs  r@  rG  r¬   r¬   r­   Útest_P43  s    "ÿr¿  c                  C   s|   dd„ } t ddd�\}}| |d t|ƒ ||fƒtdt|ƒ d| t|ƒ gd| t|ƒ |d  t|ƒ ggƒksxt‚d S )Nc                    s,   t ‡fdd„|D ƒƒ‰ t ‡ fdd„|D ƒƒS )Nc                    s   g | ]}t ˆ |ƒ‘qS r¬   )r   r»  ©r¢   r¬   r­   r"    s     z2test_P44.<locals>.__my_hessian.<locals>.<listcomp>c                    s   g | ]}ˆ j  |¡‘qS r¬   )r^  r   r»  )ÚVr¬   r­   r"    s     )r   )r¢   r½  r¬   )rÁ  r¢   r­   Ú__my_hessian  s    ztest_P44.<locals>.__my_hessianr>  TrÍ  rº   )r   r@   r   r<   r«   )rÂ  rs  r@  r¬   r¬   r­   Útest_P44  s     þrÃ  c                  C   s.   dd„ } | t tƒttƒgtƒ ¡ dks*t‚d S )Nc                    s(   t ‡ fdd„tdtˆ ƒƒD ƒƒ}| ¡ S )Nc                    s   g | ]}t ˆ ƒj t|¡‘qS r¬   )r   r^  r   rÜ   rñ  ©r½  r¬   r­   r"  #  s     z4test_P45.<locals>.__my_wronskian.<locals>.<listcomp>r   )r   rÚ   Úlenrƒ  )r½  r¼  rG  r¬   rÄ  r­   Ú__my_wronskian"  s     z test_P45.<locals>.__my_wronskianr»   )r<   rÜ   r@   rm   r«   )rÆ  r¬   r¬   r­   Útest_P45!  s    rÇ  c                  C   st   t dddd�\} }}td|dƒ}t|| df t||df |d|d fƒ|  d | d|d fƒ}| ¡  tdƒ‚d S )	Nzi j nTr=  Úxnr»   r   rº   zUnknown result)r   r„   rŠ   rœ  rÿ   )r¦   r§   rÝ   rÈ  ÚSmr¬   r¬   r­   Útest_R1*  s
    @rÊ  c            	      C   sš   t dƒ\} }t dddd�\}}td|dƒ}td|dƒ}t||df | ||df   | d	 |d|d fƒ}t|| ƒ}t||ƒ}t||f| |ftjd
� d S )Nzm bzi nTr=  rÈ  r»   Úynr   rº   r  )r   r„   rŠ   r   r•   r   rû  )	rª   rÐ  r¦   rÝ   rÈ  rË  r¢   Úf1Úf2r¬   r¬   r­   Útest_R24  s    4

rÎ  c                  C   sn   t dddd�\} }d| td|  |ƒd  }t||dtfƒ}| ¡ }| ¡ }|d|  td|  | ƒ ksjt‚d S )Nún kTr=  r
  rº   r»   )r   r    rŠ   r   rœ  rg   r«   )rÝ   r¨   ÚskrÉ  r^  ÚT2r¬   r¬   r­   Útest_R3A  s    rÒ  c                   C   s   t dƒ‚d S )NzIndefinite sum not supportedrþ   r¬   r¬   r¬   r­   Útest_R4M  s    rÓ  c                  C   s¢   t dddd�\} }}}}d| t| | | | ƒt|| || ƒ t||  || ƒ  }t||dtfƒ}| ¡ }|t| | | ƒt| ƒt|ƒ t|ƒ  ksžt‚d S )Nz	a b c n kTr=  r
  r»   )r   r    rŠ   r   rœ  r!   r«   )r~  rÐ  r  rÝ   r¨   rÐ  rÉ  r^  r¬   r¬   r­   Útest_R5c  s    ÿÿrÔ  c                  C   sx   t dddd�\} }td| d dƒ}t||df ||d df  |d| d fƒ}| ¡ |d  || d df  kstt‚d S )	NrÏ  Tr=  Úgnrº   r»   r   )r   r   )r   r„   rŠ   rœ  r«   )rÝ   r¨   rÕ  rÉ  r¬   r¬   r­   Útest_R6m  s    ,rÖ  c                  C   sR   t dddd�\} }t|d |d| fƒ ¡ }| ¡ | d | d d  d ksNt‚d S )NrÏ  Tr=  r¹   r»   rº   r¸   )r   rŠ   rœ  r[   r«   )rÝ   r¨   r^  r¬   r¬   r­   Útest_R7t  s    r×  c                  C   s`   t dddd�\} }t|d t| |ƒ |d| fƒ}| ¡ }| ¡ | | d  d| d   ks\t‚d S ©NrÏ  Tr=  rº   r»   )r   rŠ   r    rœ  rg   r«   ©rÝ   r¨   rÉ  r^  r¬   r¬   r­   Útest_R8y  s    rÚ  c                  C   s`   t dddd�\} }tt| |d ƒ| |d| d fƒ}| ¡  ¡ d| d  d | d  ks\t‚d S ©NrÏ  Tr=  r»   rº   )r   rŠ   r    rœ  rm   r«   )rÝ   r¨   rÉ  r¬   r¬   r­   Útest_R9�  s    "rÜ  c                  C   s¼   t dddd�\} }}}tt| |ƒt||| ƒ |d|fƒ}| ¡ }| ¡  t¡}|t||  ƒt|ƒt||  | ƒ  ks|t‚|t||  |ƒ t¡ks˜t‚| t¡}|t||  |ƒks¸t‚d S )Nzn m r kTr=  r   )r   rŠ   r    rœ  rg   r®  r!   r«   )rÝ   rª   rs  r¨   rÉ  r^  rÑ  ZT3r¬   r¬   r­   Útest_R10‡  s    $,
rÝ  c                  C   sT   t dddd�\} }t| |ƒt|ƒ }t||d| fƒ}| ¡ }|td|  ƒksPt‚d S )NrÏ  Tr=  r   rº   )r   r    r$   rŠ   rœ  r«   )rÝ   r¨   rÐ  rÉ  r^  r¬   r¬   r­   Útest_R11•  s
    rÞ  c                  C   sR   t dddd�\} }tt|ƒd |d| fƒ}| ¡ }|t| ƒt| d ƒ ksNt‚d S )NrÏ  Tr=  rº   r   r»   )r   rŠ   r$   rœ  r«   rÙ  r¬   r¬   r­   Útest_R12   s    rß  c                  C   sz   t dddd�\} }tt|t ƒ|d| fƒ}| ¡ }| ¡ ttd ƒd ttd|  d  d ƒdttd ƒ   ksvt‚d S rÛ  )	r   rŠ   r@   rÜ   rœ  rm   r=   r<   r«   rÙ  r¬   r¬   r­   Útest_R13¨  s    rà  c                  C   sb   t dddd�\} }ttd| d t ƒ|d| fƒ}| ¡ }| ¡ t| t ƒd ttƒ ks^t‚d S rØ  )r   rŠ   r@   rÜ   rœ  rm   r«   rÙ  r¬   r¬   r­   Útest_R14°  s     rá  c                  C   sX   t dddd�\} }tt| | |ƒ|dt| d ƒfƒ}| ¡ }| ¡ t| d ƒksTt‚d S )NrÏ  Tr=  r   rº   r»   )r   rŠ   r    r3   rœ  rm   r$   r«   rÙ  r¬   r¬   r­   Útest_R15¸  s    "râ  c                  C   sV   t dddd�} td| d  d| d   | dtfƒ}| ¡ tdƒtd d  ksRt‚d S )Nr¨   Tr=  r»   rº   r¹   rÔ   )r   rŠ   r   rœ  rv   r   r«   )r¨   rÉ  r¬   r¬   r­   Útest_R16À  s    $rã  c                  C   sJ   t dddd�} tttd| d  d| d   | dtfƒƒd ƒdk sFt‚d S )	Nr¨   Tr=  r»   rº   r¹   gú†¡3£Æ@çVçž¯Ò<)r   rË  ÚfloatrŠ   r   r«   ©r¨   r¬   r¬   r­   Útest_R17Æ  s    (ÿÿrç  c                  C   sd   t dddd�} tdd|  | d   | dtfƒ}| ¡ }| ¡ tdƒd  d td d  ks`t‚d S )Nr¨   Tr=  r»   rº   r¶   )r   rŠ   r   rœ  rm   r-   r   r«   ©r¨   rÉ  r^  r¬   r¬   r­   Útest_R18Ì  s     ré  c                  C   sx   t dddd�} tdd|  d d|  d  d|  d   | dtfƒ}| ¡ }| ¡ tdƒ d tdƒt d	  kstt‚d S )
Nr¨   Tr=  r»   r¹   rº   r   r¸   r¶   )	r   rŠ   r   rœ  rm   r-   r6   r   r«   rè  r¬   r¬   r­   Útest_R19Ó  s    4rê  c                  C   st   t dddd�\} }tt| d| ƒ|dtfƒ}| ¡ }| ¡ d| d  tt|  d ƒ d d| d  d  kspt‚d S )NrÏ  Tr=  r¸   r   rº   r»   )	r   rŠ   r    r   rœ  rm   r<   r   r«   rÙ  r¬   r¬   r­   Útest_R20Ý  s    rë  c                  C   s^   t dddd�} tdt| | d  ƒt| ƒt| d ƒ   | dtfƒ}| ¡ }| ¡ dksZt‚d S )Nr¨   Tr=  r»   )r   rŠ   r6   r   rœ  rm   r«   rè  r¬   r¬   r­   Útest_R21æ  s    4rì  c                  C   s¶   t dddd�\} }ttt| ƒt|ƒd t| d|  ƒ  tt |  tt | |   | d| tfƒ|dtfƒ}| ¡ }|dttd td  dtd   dt t  d ƒ ks²t‚d S )	NrÏ  Tr=  rº   r   r
  r¸   r»   )	r   rŠ   r!   rÜ   rb  r   rœ  r6   r«   rÙ  r¬   r¬   r­   Útest_R23ó  s    &
ÿÿÿÿrí  c                  C   sR   t dddd�\} }tt|d| d  |d| fƒ| dtfƒ}| ¡ td ksNt‚d S )Nzm kTr=  rº   r»   )r   rŠ   r‹   r   rœ  r   r«   )rª   r¨   rÉ  r¬   r¬   r­   Útest_R24ý  s    (rî  c                  C   sR   t dddd�} tt| d ƒ| ddfƒ}| ¡  ¡ dtdƒ td  d ksNt‚d S )	Nr¨   Tr=  r¹   r»   r·   i€  i¡  )r   r‹   rF   rœ  rm   r6   r   r«   )r¨   ÚPrr¬   r¬   r­   Útest_S1  s    rð  c                  C   s6   t dddd�\} }t||d| fƒ ¡ t| ƒks2t‚d S ©NrÏ  Tr=  r»   )r   r‹   rœ  r!   r«   ©rÝ   r¨   r¬   r¬   r­   Útest_S2	  s    ró  c                  C   sJ   t dddd�\} }tt| |d| fƒ ¡  ¡ t| | d  d  ksFt‚d S rÛ  )r   r‹   rÜ   rœ  rm   r«   rò  r¬   r¬   r­   Útest_S3  s    rô  c                  C   sB   t dddd�\} }tdd|  |d| d fƒ ¡  ¡ | ks>t‚d S rñ  )r   r‹   rœ  rm   r«   rò  r¬   r¬   r­   Útest_S4  s    rõ  c                  C   sd   t dddd�\} }td| d d|  |d| fƒ ¡  ¡ t| tj ƒttƒt| d ƒ  ks`t	‚d S rØ  )
r   r‹   rœ  Z	gammasimprF   r   r:  r6   r   r«   rò  r¬   r¬   r­   Útest_S5  s    & ÿrö  c                  C   sr   t dddd�\} }ttd dt t|t |  ƒ  d |d| d fƒ ¡  ¡ td|   d td d  ksnt‚d S rØ  )r   r‹   rÜ   r<   r   rœ  rm   r«   rò  r¬   r¬   r­   Útest_S6  s    :ÿr÷  c                  C   sT   t dddd�} t| d d | d d  | dtfƒ}| ¡ }| ¡ tddƒksPt‚d S )Nr¨   Tr=  r¹   r»   rº   )r   r‹   r   rœ  rm   rÛ   r«   ©r¨   rï  r^  r¬   r¬   r­   Útest_S7&  s    $rù  c                  C   sN   t dddd�} tddd|  d   | dtfƒ}| ¡ }| ¡ dt ksJt‚d S )Nr¨   Tr=  r»   rº   )r   r‹   r   rœ  rm   r   r«   rø  r¬   r¬   r­   Útest_S8.  s     rú  c                  C   sV   t dddd�} tdd| d  d|  d   | dtfƒ}| ¡ }| ¡ tdƒksRt‚d S )Nr¨   Tr=  r»   r
  rº   )r   r‹   r   rœ  rm   r6   r«   rø  r¬   r¬   r­   Útest_S97  s    (rû  c                  C   s^   t dddd�} t| | d  d t | | d  d t  | dtfƒ}| ¡ }| ¡ dksZt‚d S )Nr¨   Tr=  r»   r   r
  )r   r‹   r   r   rœ  rm   r«   rø  r¬   r¬   r­   Útest_S10A  s    4rü  c                   C   sJ   t ddt  t ttƒtks t‚t dttƒ td  tdƒtjksFt‚d S r  )	r^   rÝ   r   r   r«   r<   rÜ   r   r:  r¬   r¬   r¬   r­   Útest_T1J  s     rý  c                   C   s,   t dt dt  dt  ttƒdks(t‚d S )Nr¹   r¼   r»   )r^   rÜ   r   r«   r¬   r¬   r¬   r­   Útest_T2O  s    rþ  c                   C   s,   t ttƒttƒttƒ  ttƒdks(t‚d S r[  )r^   r-   rÜ   r@   r   r«   r¬   r¬   r¬   r­   Útest_T3S  s    rÿ  c                   C   sZ   t tttt ƒ tt ƒtdtd  td  ƒ  ƒttƒ t ttƒtdƒ ksVt‚d S )Nrì   rº   r»   )r^   r,   rÜ   r   r«   r¬   r¬   r¬   r­   Útest_T4W  s    4ÿÿ ÿÿr   c                   C   sr   t tttƒ ttttƒ td  ƒd  tttd dttdtd  ttƒ ƒƒ  ƒƒ ttƒtddƒksnt‚d S )Nrº   r¹   r»   )r^   rÜ   r-   r,   r   rÛ   r«   r¬   r¬   r¬   r­   Útest_T5\  s    2ÿ ÿÿr  c                   C   s0   t dt ttƒdt   ttƒtdƒks,t‚d S ©Nr»   r
  )r^   rÝ   r!   r   r,   r«   r¬   r¬   r¬   r­   Útest_T6a  s    r  c                   C   s(   t dt ttd ƒdt   ttƒ d S r[  )r^   rÝ   rF   r   r¬   r¬   r¬   r­   Útest_T7e  s    r  c                  C   sJ   t ddd�\} }tt||  ƒt|ƒ t|  t|ƒ ƒ |tƒdksFt‚d S )Nza zTrÚ  r»   )r   r^   rF   r,   r-   r   r«   )r~  rc  r¬   r¬   r­   Útest_T8i  s    r  c                  C   s<   t ddd�\} }ttd|fd| | ƒ|tƒt| ƒks8t‚d S )Nzz kTrÚ  r»   )r»   )r   r^   rH   r   r,   r«   )rc  r¨   r¬   r¬   r­   Útest_T9n  s    r  c                   C   sD   t ttƒdtd   tdƒtdt dttƒ  tdtfƒks@t‚d S r  )r^   rv   rÜ   rŒ   r3   r   r«   r¬   r¬   r¬   r­   Útest_T10v  s    r  c                  C   sN   t dddd�\} }t| t ttdt|  |d| fƒ  | tƒttƒksJt‚d S rñ  )r   r^   rÜ   r   r   rF   r«   rò  r¬   r¬   r­   Útest_T11{  s    r  c                  C   sT   t ddd�\} }t| tt|d  ƒ|d| fƒ dt| d  ƒ  | dƒdksPt‚d S )Núx tTrÍ  rº   r   r»   )r   r^   rŒ   r,   r«   )rÜ   r@  r¬   r¬   r­   Útest_T12‚  s    0 ÿÿr
  c                  C   sL   t ddd�} t| t| ƒ | ddd�t| t| ƒ | ddd�gdd	gksHt‚d S )
NrÜ   TrÍ  r   ú-©Údirú+r
  r»   )r   r^   rË  r«   r/  r¬   r¬   r­   Útest_T13‰  s    ÿÿr  c                  C   s6   t ddd�} ttt| ƒ ƒ| ddd�td ks2t‚d S )NrÜ   TrÍ  r   r  r  rº   )r   r^   r;   r-   r   r«   r/  r¬   r¬   r­   Útest_T14�  s    r  c                  C   s*   t ddd�} tt| ƒ| ƒt| ƒks&t‚d S )NrÜ   TrÍ  )r   r   rË  r*   r«   r/  r¬   r¬   r­   Útest_U1”  s    r  c                  C   sR   t ttt tdk fttdkfƒƒ} t| tƒtƒtdtdk fdtdkfƒksNt‚d S )Nr   r
  r»   ©r
   rÜ   r7   r   r«   rÀ  r¬   r¬   r­   Útest_U2™  s    "r  c                  C   sl   t tttd d tdkftd tdkfƒƒ} t tt| tƒtƒƒ}|tƒdtd  ksXt‚|dƒdksht‚d S r  r  )r¢   rÌ  r¬   r¬   r­   Útest_U3ž  s    ,r  c                  C   sD   t dddd�} t ddd�}t||  || ƒ}| t¡t| ƒks@t‚d S )NrÝ   Tr=  rÜ   rÍ  )r   r   r®  r!   r«   )rÝ   rÜ   r  r¬   r¬   r­   Útest_U4¥  s    r  c                  C   sŒ   t dƒ} ttt| ƒƒt| ƒƒtt| ƒ| dfƒ ttt| ƒƒt| ƒdfƒtt| ƒ| ƒd   }tt| ƒƒ | d¡|ksxt‚| ¡ |ksˆt‚d S )Nr@  rº   )r   r   r¢   r£   r   r«   rœ  )r@  Zansr¬   r¬   r­   Útest_U5­  s    &*ÿÿr  c                  C   sj   t dƒ} tttƒt| tƒttƒfƒ}| t¡tttƒƒtttƒtƒ t| tƒƒt| tƒtƒ  ksft‚d S )Nr’  )	r	   rŒ   r¢   rb  rÜ   r£   r   r   r«   )r’  r^  r¬   r¬   r­   Útest_U6·  s
    2ÿr  c                  C   s"   t ddd�\} }tt| |ƒƒ d S )Nzp tTrÍ  )r   r   r¢   )r!  r@  r¬   r¬   r­   Útest_U7¾  s    r  c                  C   sb   t ddd�\} }t| | ƒ|  }t|| || ƒ| t| | ƒ d | t| | ƒ d  ks^t‚d S )Nr&  TrÍ  r»   )r   r<   rL   r@   r«   )rÜ   rb  Úeqr¬   r¬   r­   Útest_U8È  s    r  c                  C   s˜   t ddd�\} }tt| |ƒ| ƒtt| |ƒ|ƒ }| t| |ƒt| d |d  ƒ¡}| ¡  ¡ }|| | ttt| ƒ| ƒ| | d |d  ƒ d ks”t	‚d S )Nr&  TrÍ  rº   )
r   r   r¢   rã  r£   rœ  r[   r   r   r«   )rÜ   rb  ZsuÚs2Zs3r¬   r¬   r­   Útest_U9Ð  s
    
 "	r  c                   C   s:   t td d td d td   tdƒtddƒks6t‚d S )Nr¹   r¼   r¸   r»   r
  rg  )r`   rc  rÛ   r«   r¬   r¬   r¬   r­   Útest_U10é  s    r  c                   C   s   t ‚d S r¤   rþ   r¬   r¬   r¬   r­   Útest_U11í  s    r  c                   C   s   t dƒ‚d S )Nz0External diff of differential form not supportedrþ   r¬   r¬   r¬   r­   Útest_U12ó  s    ÿr  c                   C   s8   t td t d tƒddtddƒ  d d ks4t‚d S )Nr¸   r»   r–  rº   r¹   r·   )rž   rÜ   rÛ   r«   r¬   r¬   r¬   r­   Útest_U13ÿ  s    r   c                   C   s   t dƒ‚d S )Nz$minimize(), maximize() not supportedrþ   r¬   r¬   r¬   r­   Útest_U14	  s    r!  c                   C   s   t dƒ‚d S )NzRminimize() not supported and also solve does not support multivariate inequalitiesrþ   r¬   r¬   r¬   r­   Útest_U15
	  s    r"  c                   C   s   t dƒ‚d S )Nz[minimize() not supported in SymPy and also solve does not support multivariate inequalitiesrþ   r¬   r¬   r¬   r­   Útest_U16	  s    r#  c                   C   s   t dƒ‚d S )Nz;Linear programming, symbolic simplex not supported in SymPyrþ   r¬   r¬   r¬   r­   Útest_U17	  s    r$  c                  C   sJ   t ddd�} tt| ƒ| ƒt| d  d | dkf| d d dfƒksFt‚d S )NrÜ   TrÍ  rº   r   )r   rŒ   rË  r7   r«   r/  r¬   r¬   r­   Útest_V1	  s    r%  c                   C   sR   t tt tdk fttdkfƒtƒttd  d tdk ftd d dfƒksNt‚d S )Nr   rº   T)rŒ   r7   rÜ   r«   r¬   r¬   r¬   r­   Útest_V2!	  s     &ÿr&  c                   C   s6   t dtd d  tƒ ¡  ¡ dtd d  ks2t‚d S )Nr»   r¹   rº   )rŒ   rÜ   r   rm   r«   r¬   r¬   r¬   r­   Útest_V3&	  s    r'  c                   C   s:   t dt tddt  ƒ tƒtdt ƒtdƒ ks6t‚d S )Nrº   r»   r¸   )rŒ   rÜ   r6   r.   r-   r«   r¬   r¬   r¬   r­   Útest_V4*	  s    r(  c                   C   sj   t dt d d dt d tddƒ  tƒ ¡ ddt  dtd   ddt d tddƒ   ksft‚d S )	Nr¹   r¼   rº   r»   r½   i×ÿÿÿr`  é-   )rŒ   rÜ   rÛ   rm   r«   r¬   r¬   r¬   r­   Útest_V5.	  s    .0ÿr*  c                   C   s|   t ddttt ƒ dtt t ƒ   tƒtdƒtdttt ƒ tdƒ ƒtdttt ƒ tdƒ ƒ  dt  ksxt‚d S )Nr»   rº   r¼   rÉ   rX  )rŒ   r,   rª   rÜ   r6   r-   r«   r¬   r¬   r¬   r­   Útest_V65	  s
    06ÿÿr+  c                  C   sb   t ttƒd ttƒd  ƒ} |  ¡ ttddƒ ttƒd dttƒ   dttƒ d  ks^t‚d S )Nr¸   rº   r–  r¹   )rŒ   r0   rÜ   r/   rm   rÛ   r1   r«   ©Úr1r¬   r¬   r­   Útest_V7<	  s    r.  c                   C   s   t dƒ‚d S )Nz'Integrate with assumption not supportedrþ   r¬   r¬   r¬   r­   Ú
test_V8_V9A	  s    ÿr/  c                   C   sJ   t dddttƒ  dttƒ   tƒtdttd ƒ d ƒd ksFt‚d S )Nr»   r¹   r¸   rº   )rŒ   r<   rÜ   r@   r-   rA   r«   r¬   r¬   r¬   r­   Útest_V10R	  s    r0  c                  C   sp   t dddttƒ  dttƒ   tƒ} t| ƒ}t|dd�tttd ƒd ttd ƒd  tddƒ ƒkslt	‚d S )Nr»   r¸   r¹   T)Úforcerº   r½   )
rŒ   r<   rÜ   r@   r[   rl   r-   rA   rÛ   r«   ©r-  Úr2r¬   r¬   r­   Útest_V11V	  s
    &
,ÿr4  c                  C   sF   t dddttƒ  dttƒ   tƒ} | dttd ƒd  ksBt‚d S )Nr»   r¼   r¹   r¸   r
  rº   )rŒ   r<   rÜ   r@   rA   r«   r,  r¬   r¬   r­   Útest_V12]	  s    &r5  c                  C   sj   t dddttƒ  dttƒ   tƒ} |  ¡ dtdƒ ttdƒdttd ƒ d  d ƒ d ksft‚d S )Nr»   rÔ   r¹   r¸   rº   r¾   )	rŒ   r<   rÜ   r@   rm   r6   r;   rA   r«   r,  r¬   r¬   r­   Útest_V13b	  s    &r6  c                  C   sr   t tttd td  ƒƒtƒ} |  ¡ ttttd td  ƒƒ tttt ƒ  tttt ƒ  dt  ksnt‚d S r²  )rŒ   r-   rË  rÜ   rb  rm   r«   r,  r¬   r¬   r­   Útest_V14j	  s     ÿÿÿr7  c                  C   sR   t tttt ƒ tƒ} t| tt td td  ttt ƒ  d  ƒdksNt‚d S ©Nrº   r   )rŒ   rÜ   r9   rb  rm   r«   r,  r¬   r¬   r­   Útest_V15s	  s    r9  c                   C   s^   t tdt ƒtdt ƒ tƒtdt ƒtdt ƒ d tdt ƒtdt ƒ d  ksZt‚d S )Nr¼   rº   r¹   r½   rÉ   )rŒ   r<   rÜ   rs   r@   rt   r«   r¬   r¬   r¬   r­   Útest_V16x	  s    r:  c                  C   s‚   t tttƒtƒttƒ ttƒtttƒtƒ  ttƒd ttƒd   tƒ} t| ttƒttƒ ttƒttƒ  d  ƒdks~t‚d S r8  )rŒ   r   r¢   rÜ   r£   rm   r«   r,  r¬   r¬   r­   Útest_V17}	  s    ÿÿÿr;  c                   C   s,   t dtt  ttd td fƒdks(t‚d S )Nr»   r   )rŒ   rÜ   rb  r«   r¬   r¬   r¬   r­   Útest_W1…	  s    r<  c                   C   s0   t dtt d  ttd td fƒtks,t‚d S r  )rŒ   rÜ   rb  r   r«   r¬   r¬   r¬   r­   Útest_W2�	  s    r=  c                   C   s2   t ttdt  d ƒtddfƒtddƒks.t‚d S ©Nr»   rº   r   r¸   r¹   ©rŒ   r6   rÜ   rÛ   r«   r¬   r¬   r¬   r­   Útest_W3˜	  s    r@  c                   C   sB   t ttdt  d ƒtddfƒdtdƒ d tddƒ ks>t‚d S )Nr»   rº   rì   r¹   r¸   r?  r¬   r¬   r¬   r­   Útest_W4 	  s    rA  c                   C   sB   t ttdt  d ƒtddfƒdtdƒ d tddƒ ks>t‚d S )Nr»   rº   r   rì   r¹   r·   r?  r¬   r¬   r¬   r­   Útest_W5§	  s    rB  c                   C   sH   t tddtdt ƒ  ƒd tttddƒ t d fƒtdƒksDt‚d S )Nrº   r–  r¸   )rŒ   r6   r<   rÜ   r   rÛ   r«   r¬   r¬   r¬   r­   Útest_W6®	  s    rC  c                  C   sT   t ddd�} tttƒtd | d   tt tfƒ}| ¡ tt|  ƒ |  ksPt‚d S )Nr~  TrÚ  rº   )	r   rŒ   r<   rÜ   r   rm   r   r,   r«   )r~  r-  r¬   r¬   r­   Útest_W7µ	  s    &rD  c                   C   s   t dƒ‚d S )Nz1Integrate with assumption 0 < a < 1 not supportedrþ   r¬   r¬   r¬   r­   Útest_W8»	  s    ÿrE  c                  C   s€   t dtd  dt td  td  td   tt tfƒ} |  ¡ }|dt ttdƒ d d ƒttdƒd d ƒ  ks|t‚d S )	Nr¼   r¹   r»   rº   r¸   rì   r·   g      ä?)rŒ   rÜ   r   rœ  r   r6   r«   r2  r¬   r¬   r­   Útest_W9Å	  s    :rF  c                  C   sl   t tdt td  td   tt tfƒ} |  ¡ }|dt tdƒd d  tttddƒ ƒ d ksht‚d S )Nr»   rº   r¸   r¼   g      ô?)	rŒ   rÜ   r   rœ  r   r6   r>   rÛ   r«   r2  r¬   r¬   r­   Útest_W10Ï	  s    *rG  c                   C   s@   t tdtd  ƒdtd   tddfƒtdtdƒ  ks<t‚d S rq  )rŒ   r6   rÜ   r   r«   r¬   r¬   r¬   r­   Útest_W11Ù	  s    &ÿrH  c                  C   s‚   t ddd�} t ddd�}ttt|  td  d| t  ƒ tt tfƒ}| ¡ ttƒ| t|d |  ƒ | tddƒ  ks~t	‚d S )Nr!  TrÚ  r.  rÍ  rº   r¹   )
r   rŒ   rÜ   r,   r   rm   r6   r   rÛ   r«   )r!  r.  r-  r¬   r¬   r­   Útest_W12à	  s    0rI  c                  C   sH   t dttƒ ddt   ttdt ƒƒ tddfƒ} | dt ksDt‚d S r´  )rŒ   r-   rÜ   r   r«   r,  r¬   r¬   r­   Útest_W13ç	  s    4rJ  c                   C   s6   t ttƒt tdt t ƒ tt tfƒdks2t‚d S r8  )rŒ   r@   rÜ   r,   r   r   r«   r¬   r¬   r¬   r­   Útest_W14î	  s    rK  c                   C   s:   t tttƒƒtdt t ƒ tddfƒtddƒks6t‚d S )NrÔ   r   r»   r¶   )rŒ   r-   rF   rÜ   r<   r   rÛ   r«   r¬   r¬   r¬   r­   Útest_W15ò	  s    rL  c                   C   s>   t dt d tdtƒ tdtƒ tddfƒtddƒks:t‚d S )Nr»   r¹   rº   r
  rï  é#   )rŒ   rÜ   rX   rÛ   r«   r¬   r¬   r¬   r­   Útest_W16ø	  s
     ÿÿrN  c                  C   s`   t ddd�\} }tt|  t ƒtd|t ƒ tdtfƒd|t| d |d  d ƒ  ks\t‚d S )Núa bTrÚ  r   r»   rº   )r   rŒ   r,   rÜ   rB   r   r6   r«   rÏ  r¬   r¬   r­   Útest_W17ý	  s    ÿÿrP  c                   C   s2   t tdtƒt d tdtfƒddt  ks.t‚d S r>  )rŒ   rB   rÜ   r   r   r«   r¬   r¬   r¬   r­   Útest_W18
  s    rQ  c                   C   sB   t ttƒtddtdt ƒ ƒ tdtfƒtdƒd d ks>t‚d S )Nr   rº   r½   r»   )rŒ   rs   rÜ   rB   r6   r   r<   r«   r¬   r¬   r¬   r­   Útest_W19
  s    rR  c                   C   sˆ   t td tddtd  ƒ tddfƒtd  d tddƒ tdƒd  td  d dtdƒ  tdƒd  d	 tdƒ d
  ks„t‚d S )Nrº   r¹   r»   r   rï  rÀ   él   r¸   gUUUUUU'@rÊ   )rŒ   rÜ   rK   r   rÛ   rv   r-   r«   r¬   r¬   r¬   r­   Útest_W20
  s
    $"4ÿÿrT  c                	   C   s>   t tttd tddtd  ƒ tddfƒƒd ƒdk s:t‚d S )Nrº   r¹   r»   r   gƒ�¤5þÊ?rä  )rË  r   rŒ   rÜ   rK   r«   r¬   r¬   r¬   r­   Útest_W21
  s
    *ÿÿrU  c                  C   s†   t ddd�\} }tttdttdktdkƒfdƒƒ}t|| ƒt| ƒ | d|fƒtd|dk fttd|ƒƒ ttd|ƒƒ dfƒks‚t	‚d S )Nzt uTrÍ  r»   rº   )r   Tr   )
r   r
   rÜ   r7   rM   rŒ   r<   r@   r5   r«   )r@  Úur<  r¬   r¬   r­   Útest_W22
  s    "
 þrW  c                  C   sf   t ddd�\} }ttttd td   t| |fƒtt tfƒ}| t¡ ¡ t |  t|  ksbt‚d S ©NrO  TrÚ  rº   )	r   rŒ   rÜ   rb  r   Úcollectr   Úcancelr«   )r~  rÐ  r-  r¬   r¬   r­   Útest_W23#
  s    .r[  c                  C   s^   t ddd�\} }ttttd td   tt tfƒt| |fƒ}| t¡t|  |  ksZt‚d S rX  )r   rŒ   rÜ   rb  r   rY  r   r«   )r~  rÐ  r3  r¬   r¬   r­   Ú	test_W23b*
  s    .r\  c                  C   sd   t ddd�\} }ttt| d |d  ƒ| ddfƒ|ddfƒ}|tdƒtdƒ d   ¡ dks`t‚d S )Nr&  TrÍ  rº   r   r»   r¹   )r   rŒ   r6   r.   rm   r«   )rÜ   rb  r-  r¬   r¬   r­   Útest_W241
  s    ,r]  c                  C   s’   t ddd�\} }}tt| ƒt|ƒ tdt| ƒd t|ƒd  t|ƒd   ƒ |dtd fƒ}t||dtd fƒ}|t|  d   ¡ dksŽt‚d S )Nza x yTrÍ  r»   rº   r   )r   rŒ   r@   r6   r   rm   r«   )r~  rÜ   rb  Úi1Úi2r¬   r¬   r­   Útest_W25;
  s    :þr`  c                  C   sJ   t ddd�\} }ttt|| d  ƒ|ddfƒ| ddfƒtdd	ƒksFt‚d S )
Nr&  TrÍ  rº   r   r
  r»   rO  ré   )r   rŒ   rË  rÛ   r«   rÓ  r¬   r¬   r­   Útest_W26F
  s    ÿÿra  c               
   C   sn   t dƒ\} }}tttdtd|dt|   t|   fƒtd|dt|    fƒtd| fƒ| | | d ksjt‚d S )Nrm  r»   r   rÔ   )r   rŒ   rc  rÜ   rb  r«   )r~  rÐ  r  r¬   r¬   r­   Útest_W27L
  s    &ÿþþrb  c                  C   s�   t ddd�\} }tdtd| | d  ƒ | ddd�d	| d
  d|d
   d| d  d|d    | d d|d    d t| d ƒ ksŒt‚d S )Núv cTrÍ  r»   rº   r   r·   ©Zx0rÝ   r¼   rÔ   rÑ   r¹   r¸   ©r   ra   r6   r_   r«   )r¼  r  r¬   r¬   r­   Útest_X1S
  s    "Rÿrf  c                  C   sv   t ddd�\} }tdtd| | d  ƒ | ddd�}d|d  j| ddd�| d  |d  d t| d ƒ ksrt‚d S )	Nrc  TrÍ  r»   rº   r   r·   rd  re  )r¼  r  Ús1r¬   r¬   r­   Útest_X2Y
  s    $rh  c                  C   sl   t tƒ ¡ ttƒ ¡   ¡ } ttƒ ¡ }|ttd d  dtd  d  ttd ƒ ks\t‚| |ksht‚d S )Nr¹   rº   r¼   ré   rÔ   )r@   rÜ   ra   r<   rA   r_   r«   )rg  r  r¬   r¬   r­   Útest_X3_
  s    4ri  c                  C   sf   t ttƒt ƒ ¡ } | td  d td d  ttd ƒ ksBt‚t tttƒt ƒƒ ¡ | ksbt‚d S )Nrº   rÔ   r¸   é´   )r-   r@   rÜ   ra   r_   r«   )rg  r¬   r¬   r­   Útest_X4f
  s    .rk  c                  C   sb   t dƒ} tddd�\}}}}ttt|t ƒtƒt|t ƒ t| |t ƒtdtfƒ t|dd� d S )Nr’  za b c dTrÍ  r   rº   rd  )	r	   r   ra   r   r¢   rÜ   r£   rŒ   rb  )r’  r~  rÐ  r  r  r¬   r¬   r­   Útest_X5l
  s    6  ÿrl  c                  C   s|   t dddd�\} }tt| | t ƒt| t ƒt|t ƒ  tddd�td |  | d ||  d   ttd ƒ ksxt‚d S )NrO  F)r›  Zscalarr   r¹   rd  rº   )r   ra   r,   rÜ   r_   r«   rÏ  r¬   r¬   r­   Útest_X6�
  s    2,ÿrm  c                   C   st   t dtttƒd   tddƒtd ddt   tddƒ td d  td d	  td
 d  ttd ƒ kspt‚d S )Nr»   r   r½   rì   rº   r¶   iÐ  r¸   i v  rÔ   i u )ra   rÜ   r,   rÛ   r_   r«   r¬   r¬   r¬   r­   Útest_X7‰
  s    .ÿ
ÿ
ÿ
ÿ
ÿrn  c               	   C   s¸   t ddd�} ttt| ƒƒ| td d dd�dt| ttddƒ  ƒ | ttddƒ  tddƒ d	  | ttddƒ  td
dƒ d  t| ttddƒ  d | ttddƒ fƒ ks´t‚d S )NrÜ   TrÍ  r¹   rº   r¸   rd  r»   r¶   r½   é    )r   ra   r6   r?   r   rÛ   r_   r«   r/  r¬   r¬   r­   Útest_X8‘
  s    8ÿ(ÿÿrp  c                   C   st   t tt tddd�dtttƒ  td ttƒd  d  td ttƒd  d  ttd ttƒd  ƒ kspt‚d S )Nr   r¸   rd  r»   rº   r¹   rÔ   )ra   rÜ   r-   r_   r«   r¬   r¬   r¬   r­   Útest_X9œ
  s
    8ÿÿrq  c                  C   sp   t dƒ\} }ttt| ƒƒtt| | ƒƒ | ddd�tt|ƒƒt| ƒ | t|ƒ t|ƒ  t| d ƒ kslt‚d S ©Nzz wr   rº   rd  ©r   ra   r-   r0   r/   r_   r«   ©rc  r‚  r¬   r¬   r­   Útest_X10¡
  s    &2ÿru  c                  C   sl   t dƒ\} }ttt| ƒt| | ƒ ƒ| ddd�tt|ƒƒt| ƒ | t|ƒ t|ƒ  t| d ƒ ksht‚d S rr  rs  rt  r¬   r¬   r­   Útest_X11§
  s    "2ÿrv  c                  C   s€   t ddd�\} }}tt|ƒ|  t| | ƒ |ddd�|d |  t|ƒ d| d|  |d  d  t|d d ƒ  ks|t‚d S )Nza b xTrÍ  r»   rº   rd  )r   ra   r-   r,   r_   r«   )r~  rÐ  rÜ   r¬   r¬   r­   Útest_X12­
  s    $>ÿrw  c                   C   sF   t tdtd  d ƒttdd�tdƒt tdt ttfƒ ksBt‚d S )Nrº   r»   rd  )ra   r6   rÜ   r   r_   r«   r¬   r¬   r¬   r­   Útest_X13¸
  s    rx  c                   C   s\   t dddt   tdt tƒ tttkdd�dttƒttƒ  tdt ttfƒ ksXt‚d S )Nr»   rº   r  )	ra   rÝ   r    rÜ   r   r6   r   r_   r«   r¬   r¬   r¬   r­   Útest_X14¼
  s      ÿ$ÿry  z*https://github.com/sympy/sympy/issues/7164c                  C   s€   t ddd�\} }tt| ƒ| || tfƒ}t|| tdd�d| d  d| d	   d
| d   d
|   t| d | tfƒ ks|t‚d S )Nr	  TrÍ  r¼   rd  rÔ   r¸   rº   r¹   r»   rí   )r   rŒ   r,   r   ra   r_   r«   )rÜ   r@  Úe1r¬   r¬   r­   Útest_X15Ã
  s
    <ÿr{  c                   C   sx   t ttt ƒtt ddd�dtt d d  ttd td t  td td   ttd   td  ttƒ kstt‚d S )Nr   r¸   rd  r»   rº   r¹   )ra   r<   rÜ   rb  r_   r«   r¬   r¬   r¬   r­   Útest_X16Ñ
  s    ,>ÿr|  c                   C   sh   t tttƒt ƒƒtdt ddt d   tdt ƒ tdt   ttdt ƒ  tdtfƒksdt	‚d S )Nr
  rº   r»   )
rœ   r-   r@   rÜ   rŠ   r¨   r#   r!   r   r«   r¬   r¬   r¬   r­   Útest_X17×
  s    Jÿr}  c                  C   sf   t dƒ} ttt ƒttƒ ƒtdtj|   ttddƒ|  t	 ƒ t|   t
| ƒ | dtfƒksbt‚d S )Nr¨   rº   r¹   r¸   r   )r   rœ   r,   rÜ   r@   rŠ   r   r:  rÛ   r   r!   r   r«   ræ  r¬   r¬   r­   Útest_X18è
  s    >ÿr~  c                   C   s   t dƒ‚d S )NzTSolve using series not supported. Inverse Taylor series expansion also not supportedrþ   r¬   r¬   r¬   r­   Útest_X19  s    r  c                   C   s   t dƒ‚d S )Nz'Symbolic Pade approximant not supportedrþ   r¬   r¬   r¬   r­   Útest_X20  s    r€  c                  C   s¨   t ddd�} t dddd�}ttt|  | fƒ}|jjdks<t‚|jj |jjd d¡dks\t‚|jj |jjd |¡d|  t	 d|  | t
|t	 t |  ƒ ks¤t‚d	S )
z�
    Test whether `fourier_series` of x periodical on the [-p, p] interval equals
    `- (2 p / pi) sum( (-1)^n / n sin(n pi x / p), n = 1..infinity )`.
    r!  TrÚ  rÝ   )r>  r¡   r   rì   r
  N)r   r�   rÜ   ZanZformular«   Zbnrã  Ú	variablesr   r@   )r!  rÝ   r<  r¬   r¬   r­   Útest_X21"  s     *ÿr‚  c                   C   s   t dƒ‚d S )NzFourier series not supportedrþ   r¬   r¬   r¬   r­   Útest_X224  s    rƒ  c                  C   sb   t ddd�} t ddd�}t dƒ}tt|d |  ƒ| |ƒ\}}}|||d |d d   ks^t‚d S )	Nr@  TrÚ  r‚  rÍ  r<  r»   rº   )r   r�   r<   r«   ©r@  r‚  r<  rO  ry  r¬   r¬   r­   Útest_Y1U  s
    r…  c                  C   s`   t ddd�} t ddd�}t dƒ}t||d |d d   || dd	�}|t| |d  ƒks\t‚d S )
Nr@  TrÚ  r‚  rÍ  r<  rº   r»   ©rm   )r   rŽ   r<   r«   )r@  r‚  r<  r¢   r¬   r¬   r­   Útest_Y2]  s
    $r‡  c                  C   sn   t ddd�} t ddd�}t dƒ}tt||  ƒt||  ƒ | |dd�\}}}|||d d	|d    ksjt‚d S )
Nr@  TrÚ  r‚  rÍ  r<  r†  rº   r¸   )r   r�   r0   r/   r«   r„  r¬   r¬   r­   Útest_Y3e  s
    *rˆ  c                  C   s^   t ddd�} t dƒ}ttdt| ƒ ƒ| |dd�\}}}|d| tdt|ƒ ƒ|  ksZt‚d S )	Nr@  TrÚ  r<  r¹   r†  r»   r€  )r   r�   ru   r6   r,   r«   )r@  r<  rO  ry  r¬   r¬   r­   Útest_Y4m  s    "r‰  c                  C   sÚ  t ddd�} t dƒ}tdƒ}tdƒ}ttt|| ƒ| dƒ|| ƒ dt| d	 ƒt| d ƒ   | |dd
�||iƒ}| |d ||ƒ  ||dƒ  ||ƒ tt|| ƒ| ƒ| dƒ dt| ƒ |  dtd| ƒ |  }|dksàt	‚t
|||ƒƒd }t|| |d	dgiƒ}||d td| ƒ dt|ƒ  d td| ƒ ||d d	   k�sPt	‚t||| ƒ}| t| d	 ƒ¡ t| d ƒ¡}|ddt| d	 ƒ  t| d	 ƒ dt| d ƒ d t| d ƒ  t| ƒt| ƒ  k�sÖt	‚d S )Nr@  TrÍ  r<  rb  r½  rº   r¸   r»   )Znocondsr   rì   )r   r	   r’   r�   r   rr   r   r   r,   r«   rp   r“   rŽ   rY  r<   )r@  r<  rb  r½  rO  ÚDZYfZyfr¬   r¬   r­   Ú
test_Y5_Y6t  s@    ÿ  þþ>ÿÿÿJ ÿþÿr‹  c               	   C   sœ   t ddd�} t ddd�}t dƒ}tddtd	t t| t|  ƒ tdtfƒ  | |ƒ\}}}|dtd	t t| t | ƒ | tdtfƒ d|  ks˜t‚d S )
Nr@  TrÚ  r~  rÍ  r<  r»   rº   r
  )r   r�   rŠ   rÝ   rr   r   r,   r«   )r@  r~  r<  rO  ry  r¬   r¬   r­   Útest_Y7•  s    ÿ ÿ
rŒ  c                   C   s   t dttƒttƒkst‚d S r[  )r�   rÜ   rc  rC   r«   r¬   r¬   r¬   r­   Útest_Y8¥  s    r�  c                   C   sF   t tdtd  ƒttƒttƒttd  td  d ƒ d ksBt‚d S )Nrg  rº   rÊ   r¹   )r�   r,   rÜ   rc  r6   r   r«   r¬   r¬   r¬   r­   Útest_Y9ª  s    $ÿrŽ  c                   C   sp   t ttƒtdttƒ ƒ ttƒ ¡ dtd  td  d dtd  td  dtd  td   d  kslt‚d S )	Nr–  r  rº   ro  rÑ   r¸   rû   rQ  )r�   rË  rÜ   r,   rc  rZ  r   r«   r¬   r¬   r¬   r­   Útest_Y10¯  s    "Bÿr�  z*https://github.com/sympy/sympy/issues/7181c                  C   sB   t dƒ\} }tdd|   | |ƒ\}}}|ttt| ƒ ks>t‚d S )Núx sr»   )r   r‘   r   r=   r«   ©rÜ   r<  rO  ry  r¬   r¬   r­   Útest_Y11´  s    r’  c                  C   sd   t dƒ\} }ttd| ƒ| d  | |ƒ\}}}|d|d   t|d ƒ t| d d ƒ ks`t‚d S )Nr�  r¹   rº   r¸   )r   r‘   rB   rF   r«   r‘  r¬   r¬   r­   Útest_Y12Á  s     r“  c                   C   s   t dƒ‚d S ©Nzz-transform not supportedrþ   r¬   r¬   r¬   r­   Útest_Y13Ì  s    r•  c                   C   s   t dƒ‚d S r”  rþ   r¬   r¬   r¬   r­   Útest_Y14Ò  s    r–  c                  C   sp   t dƒ} t| td ƒd| td ƒ  | tƒ d | tƒ| dƒd| dƒtiƒ ¡ td ttd   d kslt‚d S )Nrs  rº   r»   r   )r	   r”   rÝ   rª   rm   r«   ©rs  r¬   r¬   r­   Útest_Z1Ø  s    .ÿÿr˜  c                  C   sf   t dƒ} t| tƒd| td ƒ d| td ƒ   | tƒ| dƒd| dƒdiƒdt  dt  ksbt‚d S )Nrs  r¼   r»   rÔ   rº   r   r¹   )r	   r”   rÝ   r«   r—  r¬   r¬   r­   Útest_Z2Þ  s    Bÿr™  c                  C   s¼   t dƒ} tdƒd tdƒd  t tdƒd tdƒd   tdƒd tdƒd  t tdƒd tdƒd    }t| tƒ| td ƒ| td ƒ  | tƒ| dƒd| dƒdiƒ}||ks¸t‚d S )Nrs  r»   rº   r¼   rÉ   )r	   r   r6   rÝ   r”   r«   )rs  Úexpectedrì  r¬   r¬   r­   Útest_Z3ä  s    22ÿ<r›  c               	   C   s  t dƒ} tdƒ}t| tƒd| |td   |td   d|t   | td ƒ |d|td    d|td    | td ƒ  d  | tƒ| dƒd| dƒdd|  |d  d|  iƒ}||td  |td  d|  d  td |d   d|  t |d d |d    dk�st‚d S )Nrs  r  r»   rº   r¹   r   )r	   r   r”   rÝ   r«   )rs  r  r<  r¬   r¬   r­   Útest_Z4ï  s*    >.ÿÿ *þ$ÿÿÿÿÿrœ  c                  C   s  t dƒ\} }tttƒtdƒdttƒ  tdt ƒ }t|ttƒƒ}tt|jƒ}|tƒ|tdt ƒ | td  tdt ƒ  ks‚t	‚ttt
|tƒtƒƒ}t|dƒ|dƒfƒ}|tƒ | ||  ¡ ||| ¡}|t tdt ƒ d tdt ƒd  ksøt	‚tdƒ‚d S )NzC1 C2rº   r¸   r   r·   z1ODE solving with initial conditions not supported)r   r   r¢   rÜ   r@   r˜   r
   Úrhsr<   r«   r   rp   rã  rÿ   )ZC1ZC2r  rì  Zf0rÌ  Z
const_dictÚresultr¬   r¬   r­   Útest_Z5þ  s    (4 .rŸ  c                  C   s–   t ddd�} t dƒ}tt| ƒ| dƒdt| ƒ  td|  ƒ }t|| |ƒ\}}}||d tt| ƒ| |ƒ dtt| ƒ| |ƒ  d|d d   ks’t‚d S )Nr@  TrÚ  r<  rº   r¸   )r   r   r¢   r@   r�   r�   r«   )r@  r<  r  rO  ry  r¬   r¬   r­   Útest_Z6  s    (ÿÿr   (‰  Ú__doc__Zsympy.assumptions.askr   r   Zsympy.assumptions.refiner   Zsympy.concrete.productsr   Z
sympy.corer   Zsympy.core.evalfr   Zsympy.core.functionr   r	   r
   r   r   r   r   Zsympy.core.mulr   Zsympy.core.intfuncr   Zsympy.core.numbersr   r   r   r   r   r   r   r   Zsympy.core.relationalr   r   Zsympy.core.singletonr   Zsympy.core.symbolr   r   r   Z(sympy.functions.combinatorial.factorialsr   r    r!   r"   Z%sympy.functions.combinatorial.numbersr#   r$   r%   r&   Z$sympy.functions.elementary.complexesr'   r(   r)   r*   Z&sympy.functions.elementary.exponentialr+   r,   r-   Z%sympy.functions.elementary.hyperbolicr.   r/   r0   r1   Z#sympy.functions.elementary.integersr2   r3   Z(sympy.functions.elementary.miscellaneousr4   r5   r6   Z$sympy.functions.elementary.piecewiser7   Z(sympy.functions.elementary.trigonometricr8   r9   r:   r;   r<   r=   r>   r?   r@   rA   Zsympy.functions.special.besselrB   Z'sympy.functions.special.delta_functionsrC   Z*sympy.functions.special.elliptic_integralsrD   rE   Z'sympy.functions.special.gamma_functionsrF   rG   Zsympy.functions.special.hyperrH   Z#sympy.functions.special.polynomialsrI   rJ   Z&sympy.functions.special.zeta_functionsrK   Zsympy.geometry.utilrL   Zsympy.logic.boolalgrM   Zsympy.matrices.denserN   rO   Z!sympy.matrices.expressions.matmulrP   Z sympy.ntheory.continued_fractionrQ   r3  rR   r4  rS   r7  rT   r9  Zsympy.ntheory.factor_rU   Zsympy.ntheory.generaterV   Zsympy.polys.domains.integerringrW   Zsympy.polys.orthopolysrX   Zsympy.polys.partfracrY   Zsympy.polys.polytoolsrZ   r[   r\   r]   Zsympy.series.limitsr^   Zsympy.series.orderr_   Zsympy.series.residuesr`   Zsympy.series.seriesra   Zsympy.sets.fancysetsrb   Zsympy.sets.setsrc   rd   re   rf   Zsympy.simplify.combsimprg   Zsympy.simplify.hyperexpandrh   Zsympy.simplify.powsimpri   rj   Zsympy.simplify.radsimprk   Zsympy.simplify.simplifyrl   rm   Zsympy.simplify.sqrtdenestrn   Zsympy.simplify.trigsimpro   Zsympy.solvers.solversrp   r·  rq   rr   Z'sympy.functions.special.error_functionsrs   rt   ru   rv   Zsympy.testing.pytestrw   rx   ry   rz   r{   Zsympy.utilities.iterablesr|   r}   r~   Zsympy.matricesr   r€   r�   Z&sympy.matrices.expressions.blockmatrixr‚   rƒ   Zsympy.matrices.expressionsr„   r…   Zsympy.physics.quantumr†   Zsympy.polys.ringsr‡   Zsympy.polys.fieldsrˆ   Zsympy.polys.solversr‰   Zsympy.concreterŠ   r‹   Zsympy.integralsrŒ   Zsympy.integrals.transformsr�   rŽ   r�   r�   r‘   r’   r“   Zsympy.solvers.recurrr”   Zsympy.solvers.solvesetr•   r–   r—   Zsympy.solvers.oder˜   r™   Ú	itertoolsrš   r›   Zsympy.series.formalrœ   Zsympy.series.fourierr�   Zsympy.calculus.utilrž   r  rÛ   rÜ   rb  rc  r¦   r§   r¨   r©   rª   rÝ   r¢   r£   r®   r¯   r°   r±   r³   rÈ   rË   rÌ   rÐ   rÒ   rÓ   rÖ   rÙ   rÞ   rß   rá   rä   ræ   rè   rê   rë   rð   ró   rö   r÷   rü   rý   r   r  r  r	  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r$  r&  r'  r*  r+  r,  r5  r6  r8  r;  r@  rB  rC  rD  rE  rG  rK  r\  r]  r.  r^  r_  re  rf  rh  ri  rk  rl  rm  rr  rt  ry  rz  r}  r€  r�  r‚  r…  r‡  r�  r�  r‘  r“  r”  r•  r˜  r™  rš  r   r¡  r¢  r£  r¤  r¥  r¦  r©  rª  r«  r­  r®  r°  r±  r³  r´  rµ  r¶  r¸  r¹  r»  r½  rÀ  rÁ  rÂ  rÄ  rÅ  rÆ  rÇ  rÈ  rÉ  rÊ  rÌ  rÑ  rÒ  rÔ  rÕ  rÖ  rÙ  rÛ  rÜ  rÞ  rß  rà  rá  râ  rä  rå  ræ  rç  rè  rí  rð  rô  rú  rü  rý  rþ  rÿ  r   r  r  r  r	  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  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  rA  rB  rC  rH  rJ  rL  rP  rQ  rT  rU  rV  rc  rd  re  rf  rh  rl  ro  rp  rs  rv  rw  rz  r{  r}  r~  r  r�  r„  r…  r†  rˆ  r�  r¡  r¤  r¦  r§  r©  rª  r¬  r­  r¯  r°  r±  r²  r³  rµ  r¶  r·  r¸  r¹  rº  r¿  rÃ  rÇ  rÊ  rÎ  rÒ  rÓ  rÔ  rÖ  r×  rÚ  rÜ  rÝ  rÞ  rß  rà  rá  râ  rã  rç  ré  rê  rë  rì  rí  rî  rð  ró  rô  rõ  rö  r÷  rù  rú  rû  rü  rý  rþ  rÿ  r   r  r  r  r  r  r  r  r
  r  r  r  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  r4  r5  r6  r7  r9  r:  r;  r<  r=  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rN  rP  rQ  rR  rT  rU  rW  r[  r\  r]  r`  ra  rb  rf  rh  ri  rk  rl  rm  rn  rp  rq  ru  rv  rw  rx  ry  r{  r|  r}  r~  r  r€  r‚  rƒ  r…  r‡  rˆ  r‰  r‹  rŒ  r�  rŽ  r�  r’  r“  r•  r–  r˜  r™  r›  rœ  rŸ  r   r¬   r¬   r¬   r­   Ú<module>   s  $(0$






















	















BN>





				


?			

			
			
		
	
			
 !
