Ë
    7^(hª  ã                   ó   — 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 d dlmZ d dlmZmZ d d	lmZmZ d d
lmZmZmZmZmZ d dlmZ d dlmZmZm Z m!Z! d dl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ d dl,m-Z- d dl.m/Z/ d dl0m1Z1m2Z2m3Z3 d dl4m5Z5 d dl6m7Z7m8Z8m9Z9m:Z: d dl;m<Z<m=Z=m>Z> d dl?m@Z@ d dlAmBZB d dlCmDZD d dlEmFZFmGZG d dlHmIZI d dlJmKZK d dlLmMZM d dlNmOZOmPZPmQZQmRZR d dlSmTZT d dlUmVZV d dlWmXZX d dlYmZZZ d d l[m\Z\ d d!l]m^Z^ d d"l_m`Z` d d#lambZb d d$lcmdZdmeZemfZfmgZg d d%lhmiZimjZjmkZkmlZl d d&lmmnZn d d'lompZp d d(lqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZy d d)lzm{Z{m|Z| d d*l}m~Z~mZm€Z€m�Z�m‚Z‚mƒZƒm„Z„m…Z…m†Z†m‡Z‡mˆZˆm‰Z‰ 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— d d/l˜m™Z™mšZšm›Z› d d0lœm�Z�  e:d1«      \  ZžZŸZ Z¡Z¢ e7d2«      Z£d3„ Z¤d4„ Z¥d5„ Z¦d6„ Z§d7„ Z¨d8„ Z©d9„ Zªd:„ Z«d;„ Z¬d<„ Z­d=„ Z®d>„ Z¯d?„ Z°d@„ Z±dA„ Z²dB„ Z³dC„ Z´dD„ ZµdE„ Z¶dF„ Z·dG„ Z¸dH„ Z¹dI„ ZºdJ„ Z»dK„ Z¼dL„ Z½dM„ Z¾dN„ Z¿dO„ ZÀdP„ ZÁdQ„ ZÂdR„ ZÃdS„ ZÄdT„ ZÅdU„ ZÆdV„ ZÇdW„ ZÈdX„ ZÉdY„ ZÊdZ„ ZËd[„ ZÌd\„ ZÍd]„ ZÎd^„ ZÏd_„ ZÐd`„ ZÑda„ ZÒdb„ ZÓdc„ ZÔdd„ ZÕde„ ZÖdf„ Z×dg„ ZØdh„ ZÙdi„ ZÚdj„ ZÛdk„ ZÜdl„ ZÝdm„ ZÞdn„ Zßdo„ Zàdp„ Zádq„ Zâdr„ Zãds„ Zädt„ Zådu„ Zædv„ Zçdw„ Zèdx„ Zédy„ Zêdz„ Zëd{„ Zìd|„ Zíd}„ Zîd~„ Zïd„ Zðd€„ Zñd�„ Zòd‚„ Zódƒ„ Zôd„„ Zõd…„ Zöd†„ Z÷d‡„ Zødˆ„ Zùd‰„ ZúdŠ„ Zûd‹„ ZüdŒ„ Zýd�„ ZþdŽ„ Zÿd�„ �Z d�„ �Zd‘„ �Zd’„ �Zd“„ �Zd”„ �Zd•„ �Zd–„ �Zd—„ �Zd˜„ �Z	d™„ �Z
dš„ �Zd›„ �Zdœ„ �Zd�„ �Zdž„ �ZdŸ„ �Zd „ �Zy¡)¢é    )ÚMatAdd)Ú
Quaternion)ÚQ)ÚAccumBounds)Ú	Partition)ÚSumÚ	summation)ÚAdd)ÚDictÚTuple)ÚUnevaluatedExprÚExpr)Ú
DerivativeÚFunctionÚLambdaÚSubsÚWildFunction)ÚMul)ÚCatalanÚ
EulerGammaÚGoldenRatioÚTribonacciConstant)	ÚEÚFloatÚIÚIntegerÚRationalÚnanÚooÚpiÚzoo)Ú_exp_is_pow)ÚPow)ÚEqÚRelÚNe)ÚS)ÚDummyÚSymbolÚWildÚsymbols)Ú	factorialÚ
factorial2Úsubfactorial)ÚAbs)Úexp)Úsqrt)ÚcosÚsin)Ú	Heaviside)Úzeta)ÚIntegral)Ú
EquivalentÚfalseÚtrueÚXor)ÚMatrix)ÚMatrixSymbol)ÚIdentity)ÚMatrixSlice)ÚSparseMatrix)Úfactor)ÚLimit)ÚO)Ú
ComplementÚ	FiniteSetÚIntervalÚSymmetricDifference)Ú
CovarianceÚExpectationÚProbabilityÚVariance)ÚRandomSymbol)Úimport_module)ÚTransferFunctionÚSeriesÚParallelÚFeedbackÚTransferFunctionMatrixÚ
MIMOSeriesÚMIMOParallelÚMIMOFeedback)ÚsecondÚjoule)ÚPolyÚrootofÚRootSumÚgroebnerÚringÚfieldÚZZÚQQÚZZ_IÚQQ_IÚlexÚgrlex)ÚPointÚCircleÚPolygonÚEllipseÚTriangle)Ú	NDimArray)ÚArraySymbolÚArrayElement)ÚraisesÚwarns_deprecated_sympy)ÚsstrÚsstrreprÚ
StrPrinter)ÚTrz	x,y,z,w,tÚdc                  ó¨   —  G d„ dt         «      } t         | t        «      «      dk(  sJ ‚ G d„ dt         «      } t         | t        «      «      dk(  sJ ‚y )Nc                   ó   — e Zd Zd„ Zy)útest_printmethod.<locals>.Rc                 óD   — d|j                  | j                  d   «      z  S )Nzfoo(%s)r   )Ú_printÚargs©ÚselfÚprinters     ú[/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/printing/tests/test_str.pyÚ	_sympystrz%test_printmethod.<locals>.R._sympystr<   s   € Ø˜wŸ~™~¨d¯i©i¸©lÓ;Ñ;Ð;ó    N©Ú__name__Ú
__module__Ú__qualname__r|   © r}   r{   ÚRrt   ;   s   „ ó	<r}   rƒ   zfoo(x)c                   ó   — e Zd Zd„ Zy)rt   c                  ó   — y)NÚfoor‚   rx   s     r{   r|   z%test_printmethod.<locals>.R._sympystrA   s   € Ør}   Nr~   r‚   r}   r{   rƒ   ztest_printmethod.<locals>.R@   s   „ ó	r}   r†   )r/   rm   Úx)rƒ   s    r{   Útest_printmethodrˆ   :   sJ   € ô<ŒCô <ô ‘”!“‹:˜Ò!Ð!Ð!ôŒCô ô ‘”!“‹:˜ÒÐÑr}   c                  óÊ   — t        t        t        «      «      dk(  sJ ‚t        t        t        dd«      «      «      dk(  sJ ‚t        t        t        dd«      «      «      dk(  sJ ‚y )NzAbs(x)é   é   ú1/6éÿÿÿÿ)Ústrr/   r‡   r   r‚   r}   r{   Útest_Absr�   F   sT   € ÜŒs”1‹v‹;˜(Ò"Ð"Ð"ÜŒs”8˜A˜q“>Ó"Ó# uÒ,Ð,Ð,ÜŒs”8˜B “?Ó#Ó$¨Ò-Ð-Ñ-r}   c                  ó  — t        t        t        z   «      dk(  sJ ‚t        t        dz   «      dk(  sJ ‚t        t        t        dz  z   «      dk(  sJ ‚t        t        ddd¬«      «      d	k(  sJ ‚t        t        dddd¬«      «      d
k(  sJ ‚t        dt        z  «      dk(  sJ ‚t        dt        z   t        z   t        t        z  z   t        dz  z   t        dz  z   «      dk(  sJ ‚t        dt        z   t        dz  dz  z   t        dz  dz  z   «      dk(  sJ ‚t        dt        z  dt        dz  z  z
  dz   dt        z  z   «      dk(  sJ ‚t        t        t        z
  «      dk(  sJ ‚t        dt        z
  «      dk(  sJ ‚t        t        dz
  «      dk(  sJ ‚t        t        t        z
  t        z
  t
        z
  «      dk(  sJ ‚t        t        t        t        dz  z  t        z  t
        z  z
  «      dk(  sJ ‚t        t        dt        z  t        z  t        z  z
  «      dk(  sJ ‚t        t        t        «      j                  t        dd«      «      dk(  sJ ‚t        t        t        t
         t        d¬«      t        t         t        d¬«      d¬«      «      dk(  sJ ‚t        t        t        t         t         d¬«      t         d¬«      «      dk(  sJ ‚t        t        t        t        t         t         d¬«      t         d¬«      t         d¬«      «      dk(  sJ ‚y )Nzx + yrŠ   úx + 1é   zx**2 + xr   F©Úevaluatez0 + 1z	0 + 0 + 1ç      ð?ú1.0*xé   zx**2 + x*y + x + y**2 + y + 5é   zx**3/3 + x**2/2 + x + 1é   z-7*x**2 + 2*x + 3*y + 2zx - yz2 - xzx - 2z-w + x - y - zz-w*y**2*z**2 + xz-x*y**2 + xé   z^x - x**3/6 + x**5/120 - x**7/5040 + x**9/362880 - x**11/39916800 + x**13/6227020800 + O(x**15)z(-w + x) + (-y + z)z-z + (-x - y)z-t + (-z + (-x - y)))	rŽ   r‡   Úyr
   ÚzÚwr3   ÚseriesÚtr‚   r}   r{   Útest_Addr    L   s¦  € ÜŒq”1‰u‹:˜Ò Ð Ð ÜŒq�1‰u‹:˜Ò Ð Ð ÜŒq”1�a‘4‰x‹=˜JÒ&Ð&Ð&ÜŒs�1�a %Ô(Ó)¨WÒ4Ð4Ð4ÜŒs�1�a˜ UÔ+Ó,°Ò;Ð;Ð;Üˆs”1‰u‹:˜Ò Ð Ð Üˆq”1‰u”q‰yœ1œQ™3‰¤ A¡Ñ%¬¨1©Ñ,Ó-Ð1PÒPÐPÐPÜˆq”1‰u”q˜!‘t˜A‘v‰~¤ 1¡ Q¡Ñ&Ó'Ð+DÒDÐDÐDÜˆq”‰s�Q”q˜!‘t‘V‰|˜aÑ !¤A¡#Ñ%Ó&Ð*CÒCÐCÐCÜŒq”1‰u‹:˜Ò Ð Ð Üˆq”1‰u‹:˜Ò Ð Ð ÜŒq�1‰u‹:˜Ò Ð Ð ÜŒq”1‰u”q‰yœ1‰}ÓÐ!1Ò1Ð1Ð1ÜŒq”1”Q˜‘T‘6œ!‘8œA‘:‰~ÓÐ"4Ò4Ð4Ð4ÜŒq�1”Q‘3”q‘5œ‘7‰{Ó˜}Ò,Ð,Ð,ÜŒs”1‹v�}‰}œQ  2Ó&Ó'ð  ,Lò  Lð  Lð  LÜŒs”3œ�rœ1 uÔ-¬s´A°2´qÀEÔ/JÐV[Ô\Ó]ÐavÒvÐvÐvÜŒs”3œ�rœA˜2¨Ô.´°¸UÔCÓDÈÒWÐWÐWÜŒs”3”sœA˜2¤˜r¨EÔ2´Q°BÀÔGÌ!ÈÐV[Ô\Ó]ÐawÒwÐwÑwr}   c                  ó,   — t        t        «      dk(  sJ ‚y )Nr   )rŽ   r   r‚   r}   r{   Útest_Catalanr¢   b   s   € ÜŒw‹<˜9Ò$Ð$Ñ$r}   c                  ó,   — t        t        «      dk(  sJ ‚y )Nr!   )rŽ   r!   r‚   r}   r{   Útest_ComplexInfinityr¤   f   ó   € ÜŒs‹8�uÒÐÑr}   c                  óü   — t        t        t        t        «      «      dk(  sJ ‚t        t        t        dz  t        d¬«      «      dk(  sJ ‚t        t        t        dz  t        z  t        t        d¬«      «      dk(  sJ ‚y )NzDerivative(x, y)r’   Fr“   zDerivative(x**2, x)zDerivative(x**2/y, x, y))rŽ   r   r‡   r›   r‚   r}   r{   Útest_Derivativer§   j   ss   € ÜŒzœ!œQÓÓ Ð$6Ò6Ð6Ð6ÜŒzœ!˜Q™$¤¨EÔ2Ó3Ð7LÒLÐLÐLÜŒzÜ	ˆ1‰ŒQ‰””1˜uô&ó 'Ø*DòEð Eñ Er}   c                  óþ   — t        ddt        z   i«      t        ddt        z   i«      cxk(  rdk(  sJ ‚ J ‚t        t        dz  t        t        z  dœ«      dv sJ ‚t        t        dz  t        t        z  dœ«      dk(  sJ ‚y ©NrŠ   z
{1: x + 1}r’   ©rŠ   r’   )ú{1: x**2, 2: x*y}z{2: x*y, 1: x**2}r«   ©rŽ   r‡   rm   r›   r‚   r}   r{   Ú	test_dictr­   q   sv   € Ü��1”q‘5ˆz‹?œd A q¬1¡u :Ó.Ô>°,Ò>Ð>Ñ>Ð>Ð>Ü”1�a‘4œAœa™CÑ Ó!Ð%OÑOÐOÐOÜ”A�q‘DœQœq™SÑ!Ó"Ð&9Ò9Ð9Ñ9r}   c                  ó4  — t        t        ddt        z   i«      «      t        ddt        z   i«      cxk(  rdk(  sJ ‚ J ‚t        t        t        dz  t        t        z  dœ«      «      dv sJ ‚t        t        t        dz  t        t        z  dœ«      «      dk(  sJ ‚y r©   )rŽ   r   r‡   rm   r›   r‚   r}   r{   Ú	test_Dictr¯   w   sŽ   € ÜŒt�Q˜œA™�JÓÓ ¤D¨!¨Q´©U¨Ó$4ÔD¸ÒDÐDÑDÐDÐDÜŒtœ˜1™¤¤1¡Ñ%Ó&Ó'ð ,2ñ 2ð 2ð 2ä”œ˜A™¤!¤A¡#Ñ&Ó'Ó(Ð,?Ò?Ð?Ñ?r}   c                  ób   — t        t        «      dk(  sJ ‚t        t        t        z   «      dk(  sJ ‚y )NÚ_dz_d + x)rŽ   rq   r‡   r‚   r}   r{   Ú
test_Dummyr²   ~   s(   € ÜŒq‹6�TŠ>Ðˆ>ÜŒq”1‰u‹:˜Ò!Ð!Ñ!r}   c                  ó,   — t        t        «      dk(  sJ ‚y )Nr   )rŽ   r   r‚   r}   r{   Útest_EulerGammar´   ƒ   s   € ÜŒz‹?˜lÒ*Ð*Ñ*r}   c                  ó¨   — t        t        «      dk(  sJ ‚t        d«      5  t        t        t        «      «      dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   TzE**x)rŽ   r   r"   r0   r‡   r‚   r}   r{   Útest_Expr¶   ‡   sE   € ÜŒq‹6�SŠ=Ðˆ=Ü	�TÓ	ñ %Ü”3”q“6‹{˜fÒ$Ð$Ñ$÷%÷ %ñ %ús    AÁAc                  óÊ  — t        dd¬«      } t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      d	k(  sJ ‚t        t        | «      «      d
k(  sJ ‚t        t        d| z  «      «      dk(  sJ ‚t        t        t        | «      «      «      dk(  sJ ‚t        t        t        | «      «      «      dk(  sJ ‚t        t        t        | «      «      «      dk(  sJ ‚t        t        t        | «      «      «      dk(  sJ ‚t        t	        d«      «      dk(  sJ ‚t        t	        | «      «      dk(  sJ ‚t        t	        d| z  «      «      dk(  sJ ‚y )NÚnT©Úintegeréþÿÿÿr!   r   Ú1r™   Ú5040zfactorial(n)r’   zfactorial(2*n)zfactorial(factorial(n))zfactorial(factorial2(n))zfactorial2(factorial(n))zfactorial2(factorial2(n))r˜   Ú2zsubfactorial(n)zsubfactorial(2*n))r)   rŽ   r,   r-   r.   )r¸   s    r{   Útest_factorialr¿   �   sF  € Üˆs˜DÔ!€AÜŒy˜‹}Ó Ò&Ð&Ð&ÜŒy˜‹|Ó Ò#Ð#Ð#ÜŒy˜‹|Ó Ò&Ð&Ð&ÜŒy˜‹|Ó Ò.Ð.Ð.ÜŒy˜˜1™‹~ÓÐ"2Ò2Ð2Ð2ÜŒyœ 1›Ó&Ó'Ð+DÒDÐDÐDÜŒyœ A›Ó'Ó(Ð,FÒFÐFÐFÜŒzœ) A›,Ó'Ó(Ð,FÒFÐFÐFÜŒzœ* Q›-Ó(Ó)Ð-HÒHÐHÐHÜŒ|˜A‹Ó 3Ò&Ð&Ð&ÜŒ|˜A‹ÓÐ#4Ò4Ð4Ð4ÜŒ|˜A˜a™CÓ Ó!Ð%8Ò8Ð8Ñ8r}   c                  ó¨   — t        d«      }  | t        «      }t        d«      }t        | «      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚y )NÚfr�   zf(x)Úw_)r   r‡   r   rŽ   )rÁ   Úfxr�   s      r{   Útest_FunctionrÄ   �   sP   € Ü�‹€AÙ	
Œ1‹€BÜ�SÓ€AÜˆq‹6�SŠ=Ðˆ=Üˆr‹7�fÒÐÐÜˆq‹6�TŠ>Ð‰>r}   c                  óˆ  — t        t        dd«      «      dk(  sJ ‚t        t        t        dd«      d«      «      dk(  sJ ‚t        t        t        dd«      dd«      «      dk(  sJ ‚t        t	        t        dd«      t        d	d
«      t        dd«      «      «      dk(  sJ ‚t        t        t        dd«      t        dd«      t        dd«      t        dd	«      «      «      dk(  sJ ‚t        t	        t        dd«      t        dd«      t        dd«      «      d¬«      dk(  sJ ‚t        t        t        dd«      dd«      d¬«      dk(  sJ ‚y )Nr   zPoint2D(0, 0)r˜   zCircle(Point2D(0, 0), 3)rŠ   r’   é   zEllipse(Point2D(1, 2), 3, 4)r™   é   r�   z6Triangle(Point2D(1, 1), Point2D(7, 8), Point2D(0, -1))r—   r‹   r»   éýÿÿÿzEPolygon(Point2D(5, 6), Point2D(-2, -3), Point2D(0, 0), Point2D(4, 7))T©Úsympy_integerszGTriangle(Point2D(S(0), S(0)), Point2D(S(1), S(0)), Point2D(S(0), S(1)))z(Ellipse(Point2D(S(1), S(2)), S(3), S(4)))rm   rc   rd   rf   rg   re   r‚   r}   r{   Útest_GeometryrË   ¦   s=  € Ü”�a˜“Ó Ò/Ð/Ð/Ü””u˜Q “{ AÓ&Ó'Ð+EÒEÐEÐEÜ”œ˜a › Q¨Ó*Ó+Ð/MÒMÐMÐMÜ”œ˜q !›¤e¨A¨q£k´5¸¸B³<Ó@ÓAØ@òAð Að Aä”œ˜a ›¤U¨2¨r£]´E¸!¸Q³KÄÀqÈ!ÃÓMÓNØOòPð Pð Pä”œ˜q !›¤e¨A¨q£k´5¸¸A³;Ó?ÐPTÔUØQòRð Rð Rä”œ˜a › Q¨Ó*¸4Ô@Ø2ò3ð 3ñ 3r}   c                  ó,   — t        t        «      dk(  sJ ‚y )Nr   )rŽ   r   r‚   r}   r{   Útest_GoldenRatiorÍ   ´   s   € ÜŒ{Ó˜}Ò,Ð,Ñ,r}   c                  óÖ   — t        t        t        «      «      t        t        t        t        j                  «      «      cxk(  rdk(  sJ ‚ J ‚t        t        t        d«      «      dk(  sJ ‚y )NzHeaviside(x)rŠ   zHeaviside(x, 1))rŽ   r4   r‡   r'   ÚHalfr‚   r}   r{   Útest_HeavisiderÐ   ¸   sN   € ÜŒyœ‹|Ó¤¤I¬a´·±Ó$8Ó 9ÔK¸^ÒKÐKÑKÐKÐKÜŒyœ˜A‹ÓÐ#4Ò4Ð4Ñ4r}   c                  ó,   — t        t        «      dk(  sJ ‚y )Nr   )rŽ   r   r‚   r}   r{   Útest_TribonacciConstantrÒ   ½   s   € ÜÔ!Ó"Ð&:Ò:Ð:Ñ:r}   c                  ó,   — t        t        «      dk(  sJ ‚y )Nr   )rŽ   r   r‚   r}   r{   Útest_ImaginaryUnitrÔ   Á   s   € ÜŒq‹6�SŠ=Ð‰=r}   c                  ób   — t        t        «      dk(  sJ ‚t        t        t        z  «      dk(  sJ ‚y )Nr   úoo*I)rŽ   r   r   r‚   r}   r{   Útest_Infinityr×   Å   s(   € ÜŒr‹7�dŠ?Ðˆ?ÜŒr”!‰t‹9˜ÒÐÑr}   c                  óþ   — t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d	«      «      d
k(  sJ ‚y )Nr�   ú-1rŠ   r¼   rÈ   z-3r   Ú0é   Ú25)rŽ   r   r‚   r}   r{   Útest_IntegerrÝ   Ê   ss   € ÜŒw�r‹{Ó˜tÒ#Ð#Ð#ÜŒw�q‹z‹?˜cÒ!Ð!Ð!ÜŒw�r‹{Ó˜tÒ#Ð#Ð#ÜŒw�q‹z‹?˜cÒ!Ð!Ð!ÜŒw�r‹{Ó˜tÒ#Ð#Ñ#r}   c                  ó¶   — t        t        t        t        «      t        «      «      dk(  sJ ‚t        t        t        t        «      t        ddf«      «      dk(  sJ ‚y )NzIntegral(sin(x), y)r   rŠ   zIntegral(sin(x), (y, 0, 1)))rŽ   r6   r3   r‡   r›   r‚   r}   r{   Útest_Integralrß   Ò   sF   € ÜŒxœœA›¤Ó"Ó#Ð'<Ò<Ð<Ð<ÜŒxœœA›¤ A q 	Ó*Ó+Ð/LÒLÐLÑLr}   c            
      ó*  — t         j                  ddt         j                  f} t        t	        | «      «      D ]Z  }t        |dz   t	        | «      «      D ]=  }dD ]6  }dD ]/  }t        | |   | |   ||«      }t        t        |«      «      |k(  rŒ/J ‚ Œ8 Œ? Œ\ y )NrŠ   r’   )TF)r'   ÚNegativeInfinityÚInfinityÚrangeÚlenrE   rŽ   )r¸   ÚiÚjÚlÚrÚivals         r{   Útest_Intervalrê   ×   s›   € Ü	
×	Ñ	˜Q ¤1§:¡:Ð.€AÜ”3�q“6‹]ò 0ˆÜ�q˜1‘uœc !›fÓ%ò 	0ˆAØ"ò 0�Ø&ò 0�AÜ# A a¡D¨!¨A©$°°1Ó5�DÜœS ›Y›<¨4Ó/Ð/Ð/ñ0ñ0ñ	0ñ0r}   c                  ó†   — t        dd¬«      } t        t        d| «      «      dk(  sJ ‚t        t        dd«      «      dk(  sJ ‚y )NÚaT©Úrealr   zAccumBounds(0, a)rŠ   zAccumBounds(0, 1))r)   rŽ   r   )rì   s    r{   Útest_AccumBoundsrï   á   sD   € Üˆs˜Ô€AÜŒ{˜1˜aÓ Ó!Ð%8Ò8Ð8Ð8ÜŒ{˜1˜aÓ Ó!Ð%8Ò8Ð8Ñ8r}   c                  ó|  — t        t        t        t        dz  «      «      dk(  sJ ‚t        t        dd«      «      dk(  sJ ‚t        t        dt        «      «      dk(  sJ ‚t        t        t        t        ft        t        z   «      «      dk(  sJ ‚t        t        t        t        fft        t        z   «      «      dk(  sJ ‚y )	Nr’   zLambda(_d, _d**2)r‚   rŠ   zLambda((), 1)zLambda((), x)zLambda((x, y), x + y)zLambda(((x, y),), x + y))rŽ   r   rq   r‡   r›   r‚   r}   r{   Útest_Lambdarñ   ç   sš   € ÜŒv”aœ˜A™‹ÓÐ#6Ò6Ð6Ð6äŒv�b˜!‹}Ó Ò0Ð0Ð0ÜŒv�bœ!‹}Ó Ò0Ð0Ð0ÜŒv”qœ!�fœa¤™cÓ"Ó#Ð'>Ò>Ð>Ð>ÜŒvœœ1�v�i¤¤1¡Ó%Ó&Ð*DÒDÐDÑDr}   c                  ó0  — t        t        t        t        «      t        z  t        t        «      «      dk(  sJ ‚t        t        dt        z  t        d«      «      dk(  sJ ‚t        t        t        t        «      t        z  t        t        d¬«      «      dk(  sJ ‚y )NzLimit(sin(x)/x, x, y, dir='+')rŠ   r   zLimit(1/x, x, 0, dir='+')ú-)ÚdirzLimit(sin(x)/x, x, y, dir='-'))rŽ   rA   r3   r‡   r›   r‚   r}   r{   Ú
test_Limitrõ   ð   s{   € ÜŒu”Sœ“VœA‘Xœq¤!Ó$Ó%Ð)IÒIÐIÐIÜŒu�Q”q‘Sœ!˜QÓÓ Ð$?Ò?Ð?Ð?ÜÜŒc”!‹f”Q‰hœœ1 #Ô&ó(Ø+KòLð Lñ Lr}   c                  ó”  — t        t        g«      t        t        g«      cxk(  rdk(  sJ ‚ J ‚t        t        dz  t        t        z  dz   g«      t        t        dz  t        t        z  dz   g«      cxk(  rdk(  sJ ‚ J ‚t        t        dz  t        t        z   gg«      t        t        dz  t        t        z   gg«      cxk(  rdk(  sJ ‚ J ‚y )Nz[x]r’   rŠ   z[x**2, x*y + 1]z[x**2, [x + y]]r¬   r‚   r}   r{   Ú	test_listr÷   ÷   s«   € Ü”ˆs‹8”tœQ˜C“yÔ) EÒ)Ð)Ñ)Ð)Ð)Ü”�1‘”aœ‘c˜A‘gˆÓ¤4¬¨A©¬q´©s°Q©w¨Ó#8ÔMÐ<MÒMÐMÑMÐMÐMÜ”�1‘”qœ1‘u�gˆÓ¤4¬¨A©´´A±¨w¨Ó#8ÔMÐ<MÒMÐMÑMÐMÑMr}   c                  ó  — t        t        dz  dgt        t        t        z   gg«      } t        | «      dk(  sJ ‚t	        | «      dk(  sJ ‚t        dgg«      } t        | «      t	        | «      cxk(  rdk(  sJ ‚ J ‚t        ddgg«      } t        | «      t	        | «      cxk(  rdk(  sJ ‚ J ‚t        «       } t        | «      t	        | «      cxk(  rdk(  sJ ‚ J ‚t        ddd	„ «      } t        | «      t	        | «      cxk(  rd
k(  sJ ‚ J ‚y )NrŠ   úMatrix([[x, 1], [y, x + y]])ú!Matrix([
[x,     1],
[y, x + y]])zMatrix([[1]])r’   zMatrix([[1, 2]])zMatrix(0, 0, [])r   c                  ó   — y)Nr   r‚   )rå   ræ   s     r{   ú<lambda>z!test_Matrix_str.<locals>.<lambda>  s   � r}   zMatrix(0, 1, []))r;   r‡   r›   rŽ   rm   ©ÚMs    r{   Útest_Matrix_strrÿ   ý   s   € Ü”�B‘˜�
œQ¤¤A¡˜JÐ'Ó(€AÜˆq‹6Ð3Ò3Ð3Ð3Ü�‹7Ð;Ò;Ð;Ð;Ü��ˆu‹€AÜˆq‹6”T˜!“WÔ/ Ò/Ð/Ñ/Ð/Ð/Ü��A�ˆxÓ€AÜˆq‹6”T˜!“WÔ3Ð!3Ò3Ð3Ñ3Ð3Ð3Ü‹€AÜˆq‹6”T˜!“WÔ2Ð 2Ò2Ð2Ñ2Ð2Ð2Üˆq�!‘^Ó$€AÜˆq‹6”T˜!“WÔ2Ð 2Ò2Ð2Ñ2Ð2Ñ2r}   c                  óô  — t        t        t        z  «      dk(  sJ ‚t        t        t        z  «      dk(  sJ ‚t        t        t        z  t        z  «      dk(  sJ ‚t        t        dz   t        dz   z  «      dk(  sJ ‚t        dt        z  dz  «      dk(  sJ ‚t        d	t        z  dz  «      d
k(  sJ ‚t        dt        z  «      dk(  sJ ‚t        dt        z  «      dk(  sJ ‚t        t	        ddd¬«      «      dk(  sJ ‚t        t	        ddd¬«      «      dk(  sJ ‚t        t	        ddd¬«      «      dk(  sJ ‚t        t	        dddd¬«      «      dk(  sJ ‚t        t	        ddd¬«      «      dk(  sJ ‚t        t	        dt
        j                  d¬«      «      dk(  sJ ‚t        t	        ddt
        j                  d¬«      «      dk(  sJ ‚t        t	        ddddt        d¬«      «      dk(  sJ ‚t        t	        ddd¬«      «      dk(  sJ ‚t        t	        ddd¬«      «      dk(  sJ ‚t        t	        dddddt        t        d¬«      «      dk(  sJ ‚t        t	        ddddt        z   dt        t        d¬«      «      dk(  sJ ‚t        t	        t        dd«      t        d d!«      d¬«      «      d"k(  sJ ‚t        t	        d	t        t        t	        t        t        d¬«      dd¬«      d¬«      «      d#k(  sJ ‚t        t	        t        t        dt        z  dd¬«      d¬«      «      d$k(  sJ ‚ddl	m
}   | d«      5  t        t	        t        t        d«      t        d«      «      t        t        d«      t	        t        d«      t        d«      «      «      «      «      d%k(  sJ ‚	 d d d «        G d&„ d't        «      } G d(„ d)t        «      } |«       } |«       }t        t        d«      |z  «      d*k(  sJ ‚t        |t        d«      z  «      d*k(  sJ ‚t        |t        d+«      z  «      d,k(  sJ ‚t        |t        d«      z  «      d-k(  sJ ‚t        |t        d«      z  |z  «      d.k(  sJ ‚t        |t        d«      z  |z  «      d.k(  sJ ‚y # 1 sw Y   ŒäxY w)/Nzx/yzy/xzx/(y*z)rŠ   r’   z(x + 1)/(y + 2)r˜   z2*x/3r»   z-2*x/3ç      ð¿z-1.0*xr•   r–   r   Fr“   z0*1z1*0z1*1z1*1*1z1*2z1*(1/2)z	1*1*(1/2)z	1*1*2*3*xr�   z1*(-1)z-1*1rÆ   z4*3*2*1*0*y*xz4*3*2*(z + 1)*0*y*xr—   r™   z(2/3)*(5/7)z
-2*x/(y*y)zx/(1/y)z(-1 - 1*1)/2c                   ó   — e Zd ZdZy)útest_Mul.<locals>.CustomClass1TN©r   r€   r�   Úis_commutativer‚   r}   r{   ÚCustomClass1r  ,  ó   „ Ø‰r}   r  c                   ó   — e Zd ZdZy)útest_Mul.<locals>.CustomClass2TNr  r‚   r}   r{   ÚCustomClass2r	  /  r  r}   r
  z2*CustomClass1()z1.5z1.5*CustomClass1()z2*CustomClass2()z2*CustomClass1()*CustomClass2())rŽ   r‡   r›   rœ   r   r'   rÏ   r   r#   Úsympy.core.parametersr”   r   r
   r   r   )r”   r  r
  Úcc1Úcc2s        r{   Útest_Mulr    s  € ÜŒq”‰s‹8�uÒÐÐÜŒq”‰s‹8�uÒÐÐÜŒq”‰s”1‰u‹:˜Ò"Ð"Ð"Ü”�A‘œ˜A™‰ÓÐ#4Ò4Ð4Ð4Üˆq”‰s�1‰u‹:˜Ò Ð Ð Üˆr”!‰t�A‰v‹;˜(Ò"Ð"Ð"Üˆt”A‰v‹;˜(Ò"Ð"Ð"Üˆs”1‰u‹:˜Ò Ð Ð ÜŒs�1�a %Ô(Ó)¨UÒ2Ð2Ð2ÜŒs�1�a %Ô(Ó)¨UÒ2Ð2Ð2ÜŒs�1�a %Ô(Ó)¨UÒ2Ð2Ð2ÜŒs�1�a˜ UÔ+Ó,°Ò7Ð7Ð7ÜŒs�1�a %Ô(Ó)¨UÒ2Ð2Ð2ÜŒs�1”a—f‘f uÔ-Ó.°)Ò;Ð;Ð;ÜŒs�1�aœŸ™¨%Ô0Ó1°[Ò@Ð@Ð@ÜŒs�1�a˜˜Aœq¨5Ô1Ó2°kÒAÐAÐAÜŒs�1�b 5Ô)Ó*¨hÒ6Ð6Ð6ÜŒs�2�q 5Ô)Ó*¨fÒ4Ð4Ð4ÜŒs�1�a˜˜A˜q¤!¤Q°Ô7Ó8¸OÒKÐKÐKÜŒs�1�a˜˜Aœa™C ¤A¤q°5Ô9Ó:Ð>SÒSÐSÐSÜŒs”8˜A˜q“>¤8¨A¨q£>¸EÔBÓCÀ}ÒTÐTÐTäŒs�2”qœ#œc¤!¤A¨uÔ5°rÀEÔJØ9>ô@ó AØDPòQð Qð Qô Œs”1”c˜!œA™#˜r¨EÔ2¸UÔCÓDÈ	ÒQÐQÐQõ /Ù	�%‹ñ xÜ”3”sœ7 1›:¤w¨r£{Ó3´S¼À»ÄcÌ'ÐRTË+ÔW^Ð_`ÓWaÓFbÓ5cÓdÓeÐiwÒwÐwÑw÷xô”tô ô”tô á
‹.€CÙ
‹.€CÜŒx˜‹{˜3‰ÓÐ#5Ò5Ð5Ð5Üˆs”8˜A“;‰ÓÐ#5Ò5Ð5Ð5Üˆs”5˜“<ÑÓ Ð$8Ò8Ð8Ð8Üˆs”8˜A“;‰ÓÐ#5Ò5Ð5Ð5Üˆs”8˜A“;‰˜sÑ"Ó#Ð'HÒHÐHÐHÜˆs”8˜A“;‰˜sÑ"Ó#Ð'HÒHÐHÑH÷xð xús   Ì$A&Q.Ñ.Q7c                  ó,   — t        t        «      dk(  sJ ‚y )Nr   )rŽ   r   r‚   r}   r{   Útest_NaNr  ;  r¥   r}   c                  ó.   — t        t         «      dk(  sJ ‚y )Nz-oo)rŽ   r   r‚   r}   r{   Útest_NegativeInfinityr  ?  s   € Ü”ˆs‹8�uÒÐÑr}   c                  ó¤  — t        t        t        «      «      dk(  sJ ‚t        t        t        dz  «      «      dk(  sJ ‚t        t        t        t        z  «      «      dk(  sJ ‚t        t        t        t        «      «      dk(  sJ ‚t        t        t        t        df«      «      dk(  sJ ‚t        t        t        t        t        f«      «      dk(  sJ ‚t        t        t        t        t        «      «      dk(  sJ ‚t        t        t        t        t        «      «      dk(  sJ ‚t        t        t        t        t        ft        t        f«      «      dk(  sJ ‚y )	NzO(x)r’   zO(x**2)zO(x*y, x, y)r   zO(x, (x, oo))z
O(x, x, y)zO(x, (x, oo), (y, oo)))rŽ   rB   r‡   r›   r   r‚   r}   r{   Ú
test_Orderr  B  s÷   € ÜŒq”‹t‹9˜ÒÐÐÜŒq”�A‘‹w‹<˜9Ò$Ð$Ð$ÜŒq””1‘‹v‹;˜.Ò(Ð(Ð(ÜŒq””A‹w‹<˜6Ò!Ð!Ð!ÜŒq””Q˜�F‹|Ó Ò&Ð&Ð&ÜŒq””Qœ�G‹}Ó Ò0Ð0Ð0ÜŒq””A”q‹z‹?˜lÒ*Ð*Ð*ÜŒq””A”q‹z‹?˜lÒ*Ð*Ð*ÜŒq””Qœ�Gœa¤˜WÓ%Ó&Ð*BÒBÐBÑBr}   c                  óD  — ddl m} m}  |«       df |d«      df |dd«      df    |dd«      d«      d	d
«      d«      df   |dd«      dd«      dd«      dffD ]  \  }}t        |«      |k(  rŒJ ‚  | g «      df | g d¬«      df | g d¬«      df | g d¬«      df | g d¢«      df | g d¢«      df | g d¢d¬«      dffD ]  \  }}t        |d¬«      |k(  rŒJ ‚  | g «      df | g d¬«      df | g d¬«      df | g d¬«      df | g d¢«      df | g d¢«      d f | g d¢d¬«      d!f | g d"¢d¬«      d#ffD ]  \  }}t        |«      |k(  rŒJ ‚ t	        «       5  | j
                  }d| _        t         | g d¢«      «      dk(  sJ ‚|| _        d d d «       y # 1 sw Y   y xY w)$Nr   )ÚPermutationÚCyclez()r’   z(2)rŠ   z(1 2)r—   r‹   r™   é
   z(1 2)(6 7)(10)r˜   rÆ   z(1 2)(4)zPermutation([]))ÚsizezPermutation([0])zPermutation([0, 1])zPermutation([], size=10))rŠ   r   r’   zPermutation([1, 0, 2]))rŠ   r   r’   r˜   rÆ   r—   zPermutation([1, 0], size=6)zPermutation([1, 0], size=10)F)Úperm_cyclicz(0)z(1)z(9)z(2)(0 1)z(5)(0 1)z(9)(0 1))r   rŠ   r˜   r’   rÆ   r—   z(9)(2 3))Úsympy.combinatoricsr  r  rm   rl   Úprint_cyclic)r  r  ÚpÚsÚold_print_cyclics        r{   Útest_Permutation_Cycler   N  sS  € ß6ñ 
‹Øð	á	ˆq‹Øð	á	ˆq�!‹Øð	à	ˆˆ‰ˆq�!‹�Q‹˜˜1Ó	˜bÓ	!Øð	à	ˆ‰ˆq�!‹�Q˜Ó	˜1˜aÓ	 Øð	ðò ‰ˆˆ1ô �A‹w˜!‹|Ðˆ|ðñ 
�R‹Øð	á	�R˜aÔ	 Øð	á	�R˜aÔ	 Øð	á	�R˜bÔ	!Ø"ð	$á	’YÓ	Ø ð	"á	Ò'Ó	(Ø%ð	'á	Ò'¨bÔ	1Ø&ð	(ðò /‰ˆˆ1ô  �A 5Ô)¨QÓ.Ð.Ð.ð!/ñ& 
�R‹Øð	á	�R˜aÔ	 Øð	á	�R˜aÔ	 Øð	á	�R˜bÔ	!Øð	á	’YÓ	Øð	á	Ò'Ó	(Øð	á	Ò'¨bÔ	1Øð	á	Ò'¨bÔ	1Øð	ðò ‰ˆˆ1ô$ �A‹w˜!‹|Ðˆ|ð%ô* 
 Ó	!ñ 4Ø&×3Ñ3ÐØ#(ˆÔ Ü‘K¢	Ó*Ó+Ð/GÒGÐGÐGØ#3ˆÔ ÷	4÷ 4ñ 4ús   Å3FÆFc                  ó,   — t        t        «      dk(  sJ ‚y )Nr    )rŽ   r    r‚   r}   r{   Útest_Pir"  �  s   € ÜŒr‹7�dŠ?Ð‰?r}   c                  óT  — t        t        dt        «      «      dk(  sJ ‚t        t        dt        «      «      dk(  sJ ‚t        t        t        t        «      «      dk(  sJ ‚t        t        dt        z  dz   t        «      «      dk(  sJ ‚t        t        dt        z  dz
  t        «      «      dk(  sJ ‚t        t        d	t        «      «      d
k(  sJ ‚t        t        t         t        «      «      dk(  sJ ‚t        t        dt        z  dz   t        «      «      dk(  sJ ‚t        t        dt        z  dz
  t        «      «      dk(  sJ ‚t        t        t        dz
  t        «      «      dk(  sJ ‚t        t        dt        z  t        dz  z   t        «      «      dk(  sJ ‚t        t        ddt        z  z  dt        z  «      «      dk(  sJ ‚t        t        t        dz  t        z  «      «      dk(  sJ ‚t        t        t        t        z   dz  t        t        z   d¬«      «      dk(  sJ ‚t        t        t        dz
  dz  t        dz
  d¬«      «      dk(  sJ ‚t        t        t        dz  dz   t        z   t        «      «      dk(  sJ ‚t        t        t        dz  dz
  t        z   t        «      «      dk(  sJ ‚t        t        t        dz  t        t        z  z   t        «      «      dk(  sJ ‚t        t        t        dz  t        t        z  z
  t        «      «      dk(  sJ ‚t        t        t         t        z  t
        z  t        t        z  z   dz
  t        t        t
        «      «      dk(  sJ ‚t        t        t         t        dz  z  t        dz  z  t
        z  dt        z   t
        dz  z  z   dt        z  t
        z  z
  dz   t        t        t
        «      «      d k(  sJ ‚t        t        t        dz  dz   t        d¬!«      «      d"k(  sJ ‚t        t        dt        dz  z  dt        z  z   d#z   t        d$¬!«      «      d%k(  sJ ‚y )&Nr   zPoly(0, x, domain='ZZ')rŠ   zPoly(1, x, domain='ZZ')zPoly(x, x, domain='ZZ')r’   zPoly(2*x + 1, x, domain='ZZ')zPoly(2*x - 1, x, domain='ZZ')r�   zPoly(-1, x, domain='ZZ')zPoly(-x, x, domain='ZZ')r»   zPoly(-2*x + 1, x, domain='ZZ')zPoly(-2*x - 1, x, domain='ZZ')zPoly(x - 1, x, domain='ZZ')r—   z Poly(x**5 + 2*x, x, domain='ZZ')r˜   z"Poly((3**x)**2, 3**x, domain='ZZ')z)Poly(((x**2)**x), (x**2)**x, domain='ZZ')F)Úexpandz$Poly((x + y)**3, x + y, domain='ZZ')z$Poly((x - 1)**2, x - 1, domain='ZZ')z%Poly(x**2 + y + 1, x, domain='ZZ[y]')z%Poly(x**2 + y - 1, x, domain='ZZ[y]')z"Poly(x**2 + I*x, x, domain='ZZ_I')z"Poly(x**2 - I*x, x, domain='ZZ_I')z,Poly(-x*y*z + x*y - 1, x, y, z, domain='ZZ')é   r™   zIPoly(-w*x**21*y**7*z - 2*x*z + (w + 1)*z**3 + 1, x, y, z, domain='ZZ[w]'))ÚmoduluszPoly(x**2 + 1, x, modulus=2)rÆ   é   z%Poly(2*x**2 + 3*x + 4, x, modulus=17))rŽ   rW   r‡   r›   r   rœ   r�   r‚   r}   r{   Ú	test_Polyr(  “  s°  € ÜŒt�A”q‹z‹?Ð7Ò7Ð7Ð7ÜŒt�A”q‹z‹?Ð7Ò7Ð7Ð7ÜŒt”A”q‹z‹?Ð7Ò7Ð7Ð7äŒt�A”a‘C˜!‘GœQÓÓ Ð$CÒCÐCÐCÜŒt�A”a‘C˜!‘GœQÓÓ Ð$CÒCÐCÐCäŒt�Bœ‹{ÓÐ9Ò9Ð9Ð9ÜŒt”Q�Bœ‹{ÓÐ9Ò9Ð9Ð9äŒt�B”q‘D˜1‘HœaÓ Ó!Ð%EÒEÐEÐEÜŒt�B”q‘D˜1‘HœaÓ Ó!Ð%EÒEÐEÐEäŒt”A˜‘Eœ1‹~ÓÐ"?Ò?Ð?Ð?ÜŒt�A”a‘Cœ!˜Q™$‘J¤Ó"Ó#Ð'IÒIÐIÐIäŒt�A˜œ!™‘H˜a¤™dÓ#Ó$Ð(LÒLÐLÐLÜŒt”Q˜‘TœA‘I‹ÓÐ#NÒNÐNÐNäŒt”Qœ‘U˜Q‘J¤¤Q¡°Ô6ó Ø;ò<ð <ð <äŒt”Q˜‘U˜Q‘J¤ Q¡°Ô6ó Ø;ò<ð <ð <ô ÜŒQ�‰T�A‰Xœ‰\œ1ÓóØ"IòJð Jð JäÜŒQ�‰T�A‰Xœ‰\œ1ÓóØ"IòJð Jð Jô Œt”A�q‘Dœ1œQ™3‘J¤Ó"Ó#Ð'KÒKÐKÐKÜŒt”A�q‘Dœ1œQ™3‘J¤Ó"Ó#Ð'KÒKÐKÐKäŒt”Q�B”q‘Dœ‘FœQœq™S‘L 1Ñ$¤a¬¬AÓ.ó ØBòCð Cð CäŒt”Q�B”q˜"‘u‘HœQ ™T‘M¤!‘O q¬1¡u¬a°©d¡lÑ2°Q´q±S¼±UÑ:¸QÑ>ÄÄ1ÄaÓHÓIØSòTð Tð Tô Œt”A�q‘D˜1‘Hœa¨Ô+Ó,Ð0NÒNÐNÐNÜŒt�A”a˜‘d‘F˜Qœq™S‘L 1Ñ$¤a°Ô4Ó5Ð9`Ò`Ð`Ñ`r}   c                  óî   — t        t        dt        t        «      d   «      dk(  sJ ‚t        t        dt        t
        «      d   «      dk(  sJ ‚t        t        dt        d   t        «      d   «      dk(  sJ ‚y )	Nr‡   r   z+Polynomial ring in x over ZZ with lex orderúx,yz0Polynomial ring in x, y over QQ with grlex orderúx,y,zrŸ   z4Polynomial ring in x, y, z over ZZ[t] with lex order)rŽ   r[   r]   ra   r^   rb   r‚   r}   r{   Útest_PolyRingr,  ½  sl   € ÜŒt�CœœSÓ! !Ñ$Ó%Ð)VÒVÐVÐVÜŒt�Eœ2œuÓ% aÑ(Ó)Ð-_Ò_Ð_Ð_ÜŒt�GœR ™W¤cÓ*¨1Ñ-Ó.Ð2hÒhÐhÑhr}   c                  óî   — t        t        dt        t        «      d   «      dk(  sJ ‚t        t        dt        t
        «      d   «      dk(  sJ ‚t        t        dt        d   t        «      d   «      dk(  sJ ‚y )	Nr‡   r   z3Rational function field in x over ZZ with lex orderr*  z8Rational function field in x, y over QQ with grlex orderr+  rŸ   z<Rational function field in x, y, z over ZZ[t] with lex order)rŽ   r\   r]   ra   r^   rb   r‚   r}   r{   Útest_FracFieldr.  Ã  sl   € ÜŒu�Sœ"œcÓ" 1Ñ%Ó&Ð*_Ò_Ð_Ð_ÜŒu�UœB¤Ó& qÑ)Ó*Ð.hÒhÐhÐhÜŒu�Wœb ™g¤sÓ+¨AÑ.Ó/Ð3qÒqÐqÑqr}   c                  óz  — t        dt        «      \  } }}t        d| «      \  }}}}t        dt        «      \  }}t        ||z
  «      dk(  sJ ‚t        |dz
  «      dk(  sJ ‚t        |dz   «      dk(  sJ ‚t        |dz  «      d	k(  sJ ‚t        |dz  d
|z  |z  z   dz   |dz  z  |z  |z   dz   «      dk(  sJ ‚t        |dz  d
|z  |z  z   dz   |dz  z  |z  |dz   |z  z   «      dk(  sJ ‚t        |dz  d
|z  |z  z   dz   |dz  z  |z  |dz   |z  z   dz   «      dk(  sJ ‚t        |dz   d
|z  |z  z   dz
  |dz  z  |z  |dz   |z  z
  dz
  «      dk(  sJ ‚t        |dz  |z   dz    |z  d
|z  |z  z   dz   «      dk(  sJ ‚t        |dz  |z   dz    |z  d
|z  |z  z
  dz   «      dk(  sJ ‚t        dt        z   |z  dz   «      dk(  sJ ‚y )Núu,vr+  r‡   rÚ   rŠ   úx - 1r‘   r’   úx**2r˜   z!(u**2 + 3*u*v + 1)*x**2*y + u + 1z%(u**2 + 3*u*v + 1)*x**2*y + (u + 1)*xz)(u**2 + 3*u*v + 1)*x**2*y + (u + 1)*x + 1z*-(u**2 - 3*u*v + 1)*x**2*y - (u + 1)*x - 1z-(v**2 + v + 1)*x + 3*u*v + 1z-(v**2 + v + 1)*x - 3*u*v + 1z(1 + 1*I)*x + (2 + 0*I))r[   r]   r_   rŽ   r   )	ÚRuvÚuÚvÚRxyzr‡   r›   rœ   ÚRx_zziÚxzs	            r{   Útest_PolyElementr9  É  s9  € Ü�Eœ2‹�H€Cˆˆ1Ü�w Ó$�K€Dˆ!ˆAˆaÜ�cœ4“�J€FˆBäˆq�1‰u‹:˜ÒÐÐÜˆq�1‰u‹:˜Ò Ð Ð Üˆq�1‰u‹:˜Ò Ð Ð Üˆq�!‰t‹9˜ÒÐÐä��1‘�q˜‘s˜1‘u‘˜qÑ  ! Q¡$Ñ& qÑ(¨1Ñ,¨qÑ0Ó1Ð5XÒXÐXÐXÜ��1‘�q˜‘s˜1‘u‘˜qÑ  ! Q¡$Ñ& qÑ(¨A°©E°1©9Ñ4Ó5Ð9`Ò`Ð`Ð`Ü��1‘�q˜‘s˜1‘u‘˜qÑ  ! Q¡$Ñ& qÑ(¨A°©E°1©9Ñ4°qÑ8Ó9Ð=hÒhÐhÐhÜ��A‘�˜˜!™˜A™‘ Ñ! 1 a¡4Ñ'¨Ñ)¨Q°©U°A©IÑ5¸Ñ9Ó:Ð>jÒjÐjÐjä��A‘˜‘˜A‘ˆ˜qÑ  1 Q¡3 q¡5Ñ(¨1Ñ,Ó-Ð1PÒPÐPÐPÜ��A‘˜‘˜A‘ˆ˜qÑ  1 Q¡3 q¡5Ñ(¨1Ñ,Ó-Ð1PÒPÐPÐPä�”!‘�R‰x˜!‰|ÓÐ 9Ò9Ð9Ñ9r}   c                  ó  — t        dt        «      \  } }}t        d| «      \  }}}}}t        dt        «      \  }}	t        dd«      }
t        ||z
  «      dk(  sJ ‚t        |dz
  «      dk(  sJ ‚t        |dz   «      dk(  sJ ‚t        |d	z  «      d
k(  sJ ‚t        ||z  «      dk(  sJ ‚t        ||z  |z  «      dk(  sJ ‚t        |||z  z  «      dk(  sJ ‚t        ||z  ||z  z  «      dk(  sJ ‚t        |dz
  |z  «      dk(  sJ ‚t        |dz   |z  «      dk(  sJ ‚t        | dz
  |z  «      dk(  sJ ‚t        |dz   ||z  z  «      dk(  sJ ‚t        | |dz   z  «      dk(  sJ ‚t        ||z  |dz   z  «      dk(  sJ ‚t        |dz   |z  |z  dz   |dz
  |z  dz
  z  «      dk(  sJ ‚t        |dz   |z  |z  dz   |dz
  |z  ||z  |z  z
  dz
  z  «      dk(  sJ ‚t        d|
z   |	z  «      dk(  sJ ‚t        d|
z   |	z  |
z
  |	z  «      dk(  sJ ‚y )Nr0  zx,y,z,tr‡   r   rŠ   rÚ   r1  r‘   r˜   zx/3zx/zzx*y/zzx/(z*t)z	x*y/(z*t)z	(x - 1)/yz	(x + 1)/yz
(-x - 1)/yz(x + 1)/(y*z)z
-y/(x + 1)zy*z/(x + 1)z!((u + 1)*x*y + 1)/((v - 1)*z - 1)z)((u + 1)*x*y + 1)/((v - 1)*z - u*v*t - 1)z(1 + 1*I)/xz((1 + 1*I)*x + (0 + -1*I))/x)r\   r]   r`   rŽ   )ÚFuvr4  r5  ÚFxyztr‡   r›   rœ   rŸ   r7  r8  rå   s              r{   Útest_FracElementr=  Þ  sf  € Ü�UœBÓ�H€Cˆˆ1Ü˜9 cÓ*�N€Eˆ1ˆQˆq�Ü�sœDÓ!�J€FˆBÜˆQ�‹
€Aäˆq�1‰u‹:˜ÒÐÐÜˆq�1‰u‹:˜Ò Ð Ð Üˆq�1‰u‹:˜Ò Ð Ð äˆq�‰s‹8�uÒÐÐÜˆq�‰s‹8�uÒÐÐÜˆq�‰s�1‰u‹:˜Ò Ð Ð Üˆq�!�A‘#‰w‹<˜9Ò$Ð$Ð$Üˆq�‰s�A�a‘C‰y‹>˜[Ò(Ð(Ð(ä��A‘�q‰y‹>˜[Ò(Ð(Ð(Ü��A‘�q‰y‹>˜[Ò(Ð(Ð(Ü���Q‘˜‰z‹?˜lÒ*Ð*Ð*Ü��A‘˜˜!™‰}Ó Ò0Ð0Ð0Ü�ˆr�1�q‘5‰z‹?˜lÒ*Ð*Ð*Üˆq�‰s�A˜‘E‰{Ó˜}Ò,Ð,Ð,ä��Q‘˜‘	˜!‘˜a‘ 1 q¡5¨!¡)¨a¡-Ñ0Ó1Ð5XÒXÐXÐXÜ��Q‘˜‘	˜!‘˜a‘ 1 q¡5¨!¡)¨a°©c°!©eÑ"3°aÑ"7Ñ8Ó9Ð=hÒhÐhÐhä��!‘�R‰x‹=˜MÒ)Ð)Ð)Ü��1‘�b‘˜1‘˜bÑ Ó!Ð%CÒCÐCÑCr}   c                  óØ  — t        t        dd«      «      dk(  sJ ‚t        t        dd«      «      dk(  sJ ‚t        t        dd«      «      dk(  sJ ‚t        t        dd«      «      dk(  sJ ‚t        t        dd«      «      d	k(  sJ ‚t        t        dd
«      «      dk(  sJ ‚t        t        dd«      «      dk(  sJ ‚t        t        dd«      «      dk(  sJ ‚t        t        dd
«      «      dk(  sJ ‚y )NrŠ   r   r¼   r�   rÙ   r   z-Ir’   z2*Ir»   z-2*Iz1 + Iz-1 - Iz-1 - 2*I)rŽ   r_   r‚   r}   r{   Útest_GaussianIntegerr?  ü  sß   € ÜŒt�A�q‹z‹?˜cÒ!Ð!Ð!ÜŒt�B˜‹{Ó˜tÒ#Ð#Ð#ÜŒt�A�q‹z‹?˜cÒ!Ð!Ð!ÜŒt�A�r‹{Ó˜tÒ#Ð#Ð#ÜŒt�A�q‹z‹?˜eÒ#Ð#Ð#ÜŒt�A�r‹{Ó˜vÒ%Ð%Ð%ÜŒt�A�q‹z‹?˜gÒ%Ð%Ð%ÜŒt�B˜‹|Ó Ò(Ð(Ð(ÜŒt�B˜‹|Ó 
Ò*Ð*Ñ*r}   c            	      ó$  — t        t        dd«      «      dk(  sJ ‚t        t        t        dd«      d«      «      dk(  sJ ‚t        t        dt        dd«      «      «      dk(  sJ ‚t        t        t        dd«      t        dd«      «      «      d	k(  sJ ‚y )
NrŠ   r   r¼   r’   r˜   z2/3z2*I/3r»   z1/2 - 2*I/3)rŽ   r`   r^   r‚   r}   r{   Útest_GaussianRationalrA    s€   € ÜŒt�A�q‹z‹?˜cÒ!Ð!Ð!ÜŒt”B�q˜!“H˜aÓ Ó! UÒ*Ð*Ð*ÜŒt�A”r˜!˜Q“xÓ Ó! WÒ,Ð,Ð,ÜŒt”B�q˜!“Hœb  Q›iÓ(Ó)¨]Ò:Ð:Ñ:r}   c                  óÚ  — t        t        dz  «      dk(  sJ ‚t        t        dz  «      dk(  sJ ‚t        t        dz  «      dk(  sJ ‚t        t        t        z   dz  «      dk(  sJ ‚t        t        t        z   dz  «      dk(  sJ ‚t        t        t        z   dz  «      d	k(  sJ ‚t        t        t        z   d
t        z   z  «      dk(  sJ ‚t        t        t        d
d«      z  «      dk(  sJ ‚t        d
t        t        d
d«      z  z  «      dk(  sJ ‚t        t	        t	        t        «      «      «      dk(  sJ ‚t        t        dz  «      dk(  sJ ‚t        t        t        d«      dd¬«      «      dk(  sJ ‚y )Nr�   z1/xr»   zx**(-2)r’   r2  z	1/(x + y)z(x + y)**(-2)z
(x + y)**2rŠ   z(x + y)**(x + 1)r˜   zx**(1/3)z	x**(-1/3)zx**(1/4)r  z	x**(-1.0)Fr“   z	2**(-1.0))rŽ   r‡   r›   r   r1   r#   r'   r‚   r}   r{   Útest_PowrC    sG  € ÜŒq�"‰u‹:˜ÒÐÐÜŒq�"‰u‹:˜Ò"Ð"Ð"ÜŒq�!‰t‹9˜ÒÐÐÜ””A‘˜‰{Ó˜{Ò*Ð*Ð*Ü””A‘˜‰{Ó˜Ò.Ð.Ð.Ü””A‘˜‰z‹?˜lÒ*Ð*Ð*Ü””A‘˜œQ™ÑÓ Ð$6Ò6Ð6Ð6ÜŒq”(˜1˜a“.Ñ Ó! ZÒ/Ð/Ð/Üˆq””H˜Q “NÑ"Ñ"Ó# {Ò2Ð2Ð2ÜŒt”Dœ“G‹}Ó Ò+Ð+Ð+äŒq�$‰w‹<˜;Ò&Ð&Ð&äŒs”1�Q“4˜¨Ô.Ó/°;Ò>Ð>Ñ>r}   c                  ó®  — t        t        t        «      «      dk(  sJ ‚t        t        t        dz  «      «      dk(  sJ ‚t        dt        t        «      z  «      dk(  sJ ‚t        dt        t        dz  «      z  «      dk(  sJ ‚t        t        t        t        «      z  «      dk(  sJ ‚t        t        dz  «      d	k(  sJ ‚t        dt        dz  z  «      d
k(  sJ ‚y )Nzsqrt(x)r’   z
sqrt(x**2)rŠ   z	1/sqrt(x)z1/sqrt(x**2)z	y/sqrt(x)g      à?zx**0.5z	x**(-0.5))rŽ   r1   r‡   r›   r‚   r}   r{   Ú	test_sqrtrE     sµ   € ÜŒt”A‹w‹<˜9Ò$Ð$Ð$ÜŒt”A�q‘D‹z‹?˜lÒ*Ð*Ð*Üˆq””a“‰y‹>˜[Ò(Ð(Ð(Üˆq””a˜‘d“‰|Ó Ò.Ð.Ð.ÜŒq””a“‰y‹>˜[Ò(Ð(Ð(ÜŒq�#‰v‹;˜(Ò"Ð"Ð"Üˆq”�C‘‰x‹=˜KÒ'Ð'Ñ'r}   c            
      óö  — t        dd«      } t        dd«      }t        dd«      }t        dd«      }t        d«      }t        d«      }t        d«      }t        | |z  «      dk(  sJ ‚t        | |z  «      dk(  sJ ‚t        |«      d	k(  sJ ‚t        | |z  «      d
k(  sJ ‚t        | |z   «      dk(  sJ ‚t        | |z   «      dk(  sJ ‚t        | |z   «      dk(  sJ ‚t        ||z  «      dk(  sJ ‚t        ||z   «      dk(  sJ ‚t        ||z   «      dk(  sJ ‚t        ||z  «      dk(  sJ ‚t        ||z   «      dk(  sJ ‚t        | |z  «      dk(  sJ ‚t        ||z  «      dk(  sJ ‚t        ||z  «      dk(  sJ ‚t        ||z  «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        dd¬«      «      dk(  sJ ‚t        t        dd¬«      «      d k(  sJ ‚t        t        d!d¬«      «      d"k(  sJ ‚t        t        d#d¬«      «      d$k(  sJ ‚t        t        d%d¬«      «      d&k(  sJ ‚t        t        t        dd«      «      «      d	k(  sJ ‚t        t        t        dd'«      «      «      d(k(  sJ ‚t        d)d*z  t        dd*«      z  «      d+k(  sJ ‚t        d)d*z  dz   t        dd*«      z  «      d+k7  sJ ‚t        d)d*z  dz
  t        dd*«      z  «      d+k7  sJ ‚t        d)d*z  dz
  t        dd*«      z  «      d,k7  sJ ‚t        t        t        d-d'«      «      dz  «      d.k(  sJ ‚t        dt        t        d-d'«      «      dz  z  «      d/k(  sJ ‚t        t        d«      «      t        dt        z  «      k(  sJ ‚t        dt        dd0«      z  «      d1k(  sJ ‚t        t        dd«      d2¬3«      d4k(  sJ ‚t        d5«      }t        |t        dd«      z  d2¬3«      d6k(  sJ ‚t        t        |t        dd«      «      d2¬3«      d7k(  sJ ‚t        t        ||t        d8d«      «      d2¬3«      d9k(  sJ ‚y ):NrŠ   rÆ   r˜   r’   éüÿÿÿr   rÈ   z1/12z1/2z1/8z3/4z7/12z-1/4z1/4z-1/6z-1/2rÚ   z1/64z1/27Ú27z-25z1.25z5/4z-2.6e-2z-13/500z25/7z-123/569z0.1[23])Úrationalz61/495z5.1[666]z31/6z	-5.1[666]z-31/6z0.[9]r¼   z-0.[9]rÙ   é$   rŒ   é{   rÛ   Ú123Ú122éQ   z27/8z8/27l    d(	 z2**(1/10000000000)TrÉ   zS(2)/3r‡   zx**(S(2)/3)zEq(x, S(2)/3)r™   zLimit(x, x, S(7)/2, dir='+'))	r   rŽ   r'   r1   r   rm   r)   r$   rA   )Ún1Ún2Ún3Ún4Ún5Ún7Ún8r‡   s           r{   Útest_RationalrV  *  s‡  € Ü	�!�Q‹€BÜ	�!�Q‹€BÜ	�!�Q‹€BÜ	�!�R‹€BÜ	�!‹€BÜ	�!‹€BÜ	�"‹€BÜˆr�"‰u‹:˜ÒÐÐÜˆr�"‰u‹:˜ÒÐÐÜˆr‹7�eÒÐÐÜˆr�"‰u‹:˜ÒÐÐÜˆr�B‰w‹<˜5Ò Ð Ð Üˆr�B‰w‹<˜6Ò!Ð!Ð!Üˆr�B‰w‹<˜6Ò!Ð!Ð!Üˆr�"‰u‹:˜ÒÐÐÜˆr�B‰w‹<˜6Ò!Ð!Ð!Üˆr�B‰w‹<˜6Ò!Ð!Ð!Üˆr�"‰u‹:˜ÒÐÐÜˆr�B‰w‹<˜3ÒÐÐÜˆr�2‰v‹;˜&Ò Ð Ð Üˆr�2‰v‹;˜&Ò Ð Ð Üˆr�2‰v‹;˜$ÒÐÐÜˆr�2‰v‹;˜&Ò Ð Ð ÜŒx˜‹Ó 5Ò(Ð(Ð(ÜŒx˜ÓÓ  EÒ)Ð)Ð)ÜŒx˜	Ó"Ó# yÒ0Ð0Ð0ÜŒq�‹y‹>˜VÒ#Ð#Ð#ÜŒq�‹}Ó Ò+Ð+Ð+ÜŒq� QÔ'Ó(¨HÒ4Ð4Ð4ÜŒq� aÔ(Ó)¨VÒ3Ð3Ð3ÜŒq� qÔ)Ó*¨gÒ5Ð5Ð5ÜŒq� 1Ô%Ó&¨#Ò-Ð-Ð-ÜŒq� AÔ&Ó'¨4Ò/Ð/Ð/äŒt”H˜Q “NÓ#Ó$¨Ò-Ð-Ð-ÜŒt”H˜Q “OÓ$Ó%¨Ò.Ð.Ð.ä��R‘œH Q¨›OÑ+Ó,°Ò5Ð5Ð5Ü��R‘˜!‘œh q¨"›oÑ-Ó.°%Ò7Ð7Ð7Ü��R‘˜!‘œh q¨"›oÑ-Ó.°%Ò7Ð7Ð7Ü��R‘˜!‘œh q¨"›oÑ-Ó.°%Ò7Ð7Ð7äŒt”H˜R Ó$Ó% qÑ(Ó)¨VÒ3Ð3Ð3Üˆq””h˜r 2Ó&Ó'¨Ñ*Ñ*Ó+¨vÒ5Ð5Ð5äŒt�B‹x‹=œC ¤!¡›HÒ$Ð$Ð$Üˆq”(˜1˜fÓ%Ñ%Ó&Ð*>Ò>Ð>Ð>ä”˜˜A“¨tÔ4¸Ò@Ð@Ð@Üˆs‹€AÜ�”8˜A˜q“>Ñ!°$Ô7¸=ÒHÐHÐHÜ”�1”h˜q !“nÓ%°dÔ;¸ÒNÐNÐNÜ”�a˜œH Q¨›NÓ+¸DÔAØ&ò'ð 'ñ 'r}   c                  ó"  — t        t        dd¬«      «      dk(  sJ ‚t        t        dd¬«      «      dk(  sJ ‚t        t        dd¬«      «      dk(  sJ ‚t        t        j                  d«      «      dk(  sJ ‚t        t        j                  d	«      «      d
k(  sJ ‚t        t        j                  d«      «      dk(  sJ ‚t        t        j                  d«      «      dk(  sJ ‚t        t        dz  t        dz  j	                  d«      z
  j                  d«      «      dk(  sJ ‚t        t        d«      ddd¬«      dk(  sJ ‚t        t        d«      ddd¬«      dk(  sJ ‚t        t        d«      ddd¬«      dk(  sJ ‚t        t        d«      dd¬«      dk(  sJ ‚y )Nz1.23r˜   )Údpsz
1.23456789é	   z1.234567890123456789é   z3.14rš   z3.14159265358979éA   zB3.1415926535897932384626433832795028841971693993751058209749445923r�   z0.0i�  rŠ   r’   z-0.e+88Ú100Fr»   )Ú	full_precÚminÚmaxz1.0e+2z100.0z0.1z0.099)r^  r_  z9.90000000000000e-2)rŽ   r   r    ÚevalfÚroundr¸   rm   r‚   r}   r{   Ú
test_Floatrb  c  s�  € äŒu�V Ô'Ó(¨FÒ2Ð2Ð2ÜŒu�\ uÔ-Ó.°,Ò>Ð>Ð>ÜÜÐ$¨&Ô1ó3Ø6LòMð Mð MäŒr�x‰x˜‹Ó 6Ò)Ð)Ð)ÜŒr�x‰x˜ÓÓ Ð$6Ò6Ð6Ð6ÜŒr�x‰x˜ÓÓ ð &Jò Kð Kð KäŒr�x‰x˜‹|Ó Ò%Ð%Ð%Ü”�C‘œ2˜s™7Ÿ/™/¨!Ó,Ñ,×/Ñ/°Ó2Ó3°yÒ@Ð@Ð@Ü”�e“¨°2¸1Ô=ÀÒIÐIÐIÜ”�e“¨°2¸1Ô=ÀÒHÐHÐHÜ”�e“¨°2¸1Ô=ÀÒFÐFÐFÜ”�g“ B¨AÔ.Ð2GÒGÐGÑGr}   c                  ó   — t        t        t        t        d«      «      dk(  sJ ‚t        t        t        t        z   t        d«      «      dk(  sJ ‚t        t        t        t        d«      «      dk(  sJ ‚t        t	        t        d«      t	        t        d«      z  «      d	k(  sJ ‚t        t        t        d«      t        t        d«      z  «      d
k(  sJ ‚y )Nú<zx < yz==zEq(x + y, y)z!=zNe(x, y)rŠ   r’   zEq(x, 1) | Eq(x, 2)zNe(x, 1) & Ne(x, 2))rŽ   r%   r‡   r›   r$   r&   r‚   r}   r{   Útest_Relationalre  u  s¢   € ÜŒs”1”a˜‹~Ó 'Ò)Ð)Ð)ÜŒs”1”q‘5œ!˜TÓ"Ó# ~Ò5Ð5Ð5ÜŒs”1”a˜‹Ó :Ò-Ð-Ð-ÜŒr”!�Q‹xœ"œQ ›(Ñ"Ó#Ð'<Ò<Ð<Ð<ÜŒr”!�Q‹xœ"œQ ›(Ñ"Ó#Ð'<Ò<Ð<Ñ<r}   c                  ó´   — t        t        j                  t        t        «      «      dk(  sJ ‚t        t        j
                  t        t        «      «      dk(  sJ ‚y )Nz
Q.eq(x, y)z
Q.ne(x, y))rŽ   r   Úeqr‡   r›   Úner‚   r}   r{   Útest_AppliedBinaryRelationri  }  s:   € ÜŒq�t‰t”A”q‹z‹?˜lÒ*Ð*Ð*ÜŒq�t‰t”A”q‹z‹?˜lÒ*Ð*Ñ*r}   c                  ó`   — t        t        t        dz  dt        z  z   dz
  d«      «      dk(  sJ ‚y )Nr—   r’   rŠ   r   zCRootOf(x**5 + 2*x - 1, 0))rŽ   rX   r‡   r‚   r}   r{   Útest_CRootOfrk  ‚  s-   € ÜŒv”a˜‘d˜Qœq™S‘j 1‘n aÓ(Ó)Ð-IÒIÐIÑIr}   c            
      óî   — t         dz  dt         z  z   dz
  } t        t        | t        t        t        «      d¬«      «      dk(  sJ ‚t        t        | t        t        t        dz  «      d¬«      «      dk(  sJ ‚y )Nr—   r’   rŠ   F)ÚautozRootSum(x**5 + 2*x - 1)z(RootSum(x**5 + 2*x - 1, Lambda(z, z**2)))r‡   rŽ   rY   r   rœ   )rÁ   s    r{   Útest_RootSumrn  †  s   € Ü	ˆ1‰ˆq”‰s‰
�Q‰€AäÜ�”6œ!œQ“< eÔ,ó.Ø1JòKð Kð KäŒw�qœ&Ü	Œ1ˆa‰4óØôó Ø"LòMð Mñ Mr}   c                  ó*  — t        t        g t        t        «      «      dk(  sJ ‚t        dz  dt        z  z
  t        z
  dz   t        dz  dt        z  z
  t        z   dz
  g} t        t        | d¬«      «      dk(  sJ ‚t        t        | d¬«      «      d	k(  sJ ‚y )
Nz1GroebnerBasis([], x, y, domain='ZZ', order='lex')r’   r˜   rŠ   rb   )ÚorderzYGroebnerBasis([x**2 - x - 3*y + 1, y**2 - 2*x + y - 1], x, y, domain='ZZ', order='grlex')ra   zfGroebnerBasis([2*x - y**2 - y + 1, y**4 + 2*y**3 - 3*y**2 - 16*y + 7], x, y, domain='ZZ', order='lex'))rŽ   rZ   r‡   r›   )ÚFs    r{   Útest_GroebnerBasisrr  �  s«   € ÜŒxØ
ŒAŒqóó ØIòJð Jð Jô 
ˆA‰�”!‘‰”a‰˜!Ñ	œQ ™T A¤a¡C™Z¬!™^¨aÑ/Ð0€AäŒx˜ Ô)Ó*Øcòdð dð däŒx˜ Ô'Ó(Øpòqð qñ qr}   c            
      óÞ  — t        t        «       «      dk(  sJ ‚t        t        «       «      dk(  sJ ‚t        dh«      dk(  sJ ‚t        t        dg«      «      dk(  sJ ‚t        h d£«      dk(  sJ ‚t        t        g d¢«      «      d	k(  sJ ‚t        dt        t        d
z  t        dz  t        dz  h«      dk(  sJ ‚t        t        dt        t        d
z  t        dz  t        dz  g«      «      dk(  sJ ‚y )Nzset()zfrozenset()rŠ   z{1}zfrozenset({1})>   rŠ   r’   r˜   z	{1, 2, 3})rŠ   r’   r˜   zfrozenset({1, 2, 3})r’   r˜   rÆ   z{1, x, x**2, x**3, x**4}z#frozenset({1, x, x**2, x**3, x**4}))rm   ÚsetÚ	frozensetr‡   r‚   r}   r{   Útest_setrv  š  s÷   € Ü”“‹;˜'Ò!Ð!Ð!Ü”	“Ó Ò-Ð-Ð-ä��‹9˜ÒÐÐÜ”	˜1˜#“ÓÐ#3Ò3Ð3Ð3Ü’	‹?˜kÒ)Ð)Ð)Ü”	š)Ó$Ó%Ð)?Ò?Ð?Ð?äØ	
ŒAŒq�!‰t”Q˜‘Tœ1˜a™4Ð ó"Ø%?ò@ð @ð @äÜ�1”aœ˜A™œq !™t¤Q¨¡TÐ*Ó+ó-Ø0UòVð Vñ Vr}   c                  ó’   — t        t        dz  dgt        t        t        z   gg«      } t        | «      dk(  sJ ‚t	        | «      dk(  sJ ‚y )NrŠ   rù   rú   )r?   r‡   r›   rŽ   rm   rý   s    r{   Útest_SparseMatrixrx  ©  sG   € Ü”q˜"‘u˜a�j¤1¤a¬!¡e *Ð-Ó.€AÜˆq‹6Ð3Ò3Ð3Ð3Ü�‹7Ð;Ò;Ð;Ñ;r}   c            	      óä   — t        t        t        dt        z  «      t        t        t
        f«      «      dk(  sJ ‚t        t        t        t
        dz  z  t        ddft
        ddf«      «      dk(  sJ ‚y )Nr˜   zSum(cos(3*z), (z, x, y))r’   r»   éûÿÿÿr—   z#Sum(x*y**2, (x, -2, 2), (y, -5, 5)))rŽ   r	   r2   rœ   r‡   r›   r   r‚   r}   r{   Útest_Sumr{  ¯  sb   € ÜŒyœ˜Qœq™S›¤A¤q¬! 9Ó-Ó.Ð2LÒLÐLÐLÜŒs”1”Q˜‘T‘6œA˜r 1˜:¬¨2¨q zÓ2Ó3Ø-ò.ð .ñ .r}   c                  ó€   — t        t        «      dk(  sJ ‚t        t        «      dk(  sJ ‚t        } t        | «      dk(  sJ ‚y )Nr›   r‡   )rŽ   r›   r‡   ©Úes    r{   Útest_Symbolr  µ  s7   € ÜŒq‹6�SŠ=Ðˆ=ÜŒq‹6�SŠ=Ðˆ=Ü	€AÜˆq‹6�SŠ=Ð‰=r}   c                  ó¨  — t        t        f«      t        t        f«      cxk(  rdk(  sJ ‚ J ‚t        t        t        z   dt        z   f«      t        t        t        z   dt        z   f«      cxk(  rdk(  sJ ‚ J ‚t        t        t        z   dt        z   t        dz  ff«      t        t        t        z   dt        z   t        dz  ff«      cxk(  rdk(  sJ ‚ J ‚y )Nz(x,)rŠ   z(x + y, x + 1)r’   z(x + y, (x + 1, x**2))r¬   r‚   r}   r{   Ú
test_tupler�  ¼  sÌ   € Ü”ˆt‹9œœa˜T›
Ô, fÒ,Ð,Ñ,Ð,Ð,Ü””A‘�qœ1‘uˆ~Ó¤$¬¬A©¨q´1©u ~Ó"6ÔJÐ:JÒJÐJÑJÐJÐJÜ””A‘Ø	ŒA‰Œq�!‰tðð ó Ü¤¤A¡¨¬A©¬q°!©t }Ð5Ó6ôSØ:RòSð Sñ Sð Sñ Sr}   c                  óì  — t        t        t        dz  z  t        z
  t        dz  t        dz  z
  t        «      } t        t        t        z
  t        t        z   t        «      }t        t        t        dz  z  t        t
        z  t        z  z
  t
        z   t        t        z
  t        «      }t        t        | |«      «      dk(  sJ ‚t        t        | ||«      «      dk(  sJ ‚t        t        | | «      «      dk(  sJ ‚y )Nr’   r˜   zXSeries(TransferFunction(x*y**2 - z, -t**3 + y**3, y), TransferFunction(x - y, x + y, y))z‰Series(TransferFunction(x*y**2 - z, -t**3 + y**3, y), TransferFunction(x - y, x + y, y), TransferFunction(t*x**2 - t**w*x + w, t - y, y))zYSeries(TransferFunction(-x + y, x + y, y), TransferFunction(x*y**2 - z, -t**3 + y**3, y)))rM   r‡   r›   rœ   rŸ   r�   rŽ   rN   ©Útf1Útf2Útf3s      r{   Útest_Series_strr‡  Ã  sÜ   € Ü
œ1œQ ™T™6¤A™:¤q¨!¡t¬a°©d¡{´AÓ
6€CÜ
œ1œq™5¤!¤a¡%¬Ó
+€CÜ
œ1œQ ™T™6¤A¤q¡D¬¡F™?¬QÑ.´´A±´qÓ
9€CÜŒv�c˜3ÓÓ Øbòcð cð cäŒv�c˜3 Ó$Ó%ð 	TòTð Tð TäŒv�s�d˜CÓ Ó!Øcòdð dñ dr}   c                  ó8  — t        t        t        dz  z  t        z
  t        dz  t        dz  z
  t        «      } t        t        t        z
  t        t        z   t        «      }t        | |g|| gg«      }t        || g| |gg«      }t        t        ||«      «      dk(  sJ ‚y )Nr’   r˜   aŽ  MIMOSeries(TransferFunctionMatrix(((TransferFunction(x*y**2 - z, -t**3 + y**3, y), TransferFunction(x - y, x + y, y)), (TransferFunction(x - y, x + y, y), TransferFunction(x*y**2 - z, -t**3 + y**3, y)))), TransferFunctionMatrix(((TransferFunction(x - y, x + y, y), TransferFunction(x*y**2 - z, -t**3 + y**3, y)), (TransferFunction(x*y**2 - z, -t**3 + y**3, y), TransferFunction(x - y, x + y, y))))))rM   r‡   r›   rœ   rŸ   rQ   rŽ   rR   ©r„  r…  Útfm_1Útfm_2s       r{   Útest_MIMOSeries_strrŒ  Ï  s“   € Ü
œ1œQ ™T™6¤A™:¤q¨!¡t¬a°©d¡{´AÓ
6€CÜ
œ1œq™5¤!¤a¡%¬Ó
+€CÜ" S¨# J°°c°
Ð#;Ó<€EÜ" S¨# J°°c°
Ð#;Ó<€EÜŒz˜% Ó'Ó(ð	lòlð lñ lr}   c                  ó2  — t        t        dz
  t        dz   t        «      } t        | «      dk(  sJ ‚t        t        dz   dt        z
  t        «      }t        |«      dk(  sJ ‚t        t        t        dz  dt        z  z   dz   t        «      }t        |«      dk(  sJ ‚y )NrŠ   z!TransferFunction(x - 1, x + 1, x)r’   z!TransferFunction(x + 1, 2 - y, x)r˜   z&TransferFunction(y, y**2 + 2*y + 3, y))rM   r‡   rŽ   r›   rƒ  s      r{   Útest_TransferFunction_strrŽ  Û  s…   € Ü
œ1˜q™5¤! a¡%¬Ó
+€CÜˆs‹8Ð:Ò:Ð:Ð:Ü
œ1˜q™5 !¤a¡%¬Ó
+€CÜˆs‹8Ð:Ò:Ð:Ð:Ü
œ1œa ™d Q¤q¡S™j¨1™n¬aÓ
0€CÜˆs‹8Ð?Ò?Ð?Ñ?r}   c                  óì  — t        t        t        dz  z  t        z
  t        dz  t        dz  z
  t        «      } t        t        t        z
  t        t        z   t        «      }t        t        t        dz  z  t        t
        z  t        z  z
  t
        z   t        t        z
  t        «      }t        t        | |«      «      dk(  sJ ‚t        t        | ||«      «      dk(  sJ ‚t        t        | | «      «      dk(  sJ ‚y )Nr’   r˜   zZParallel(TransferFunction(x*y**2 - z, -t**3 + y**3, y), TransferFunction(x - y, x + y, y))z‹Parallel(TransferFunction(x*y**2 - z, -t**3 + y**3, y), TransferFunction(x - y, x + y, y), TransferFunction(t*x**2 - t**w*x + w, t - y, y))z[Parallel(TransferFunction(-x + y, x + y, y), TransferFunction(x*y**2 - z, -t**3 + y**3, y)))rM   r‡   r›   rœ   rŸ   r�   rŽ   rO   rƒ  s      r{   Útest_Parallel_strr�  ä  sÜ   € Ü
œ1œQ ™T™6¤A™:¤q¨!¡t¬a°©d¡{´AÓ
6€CÜ
œ1œq™5¤!¤a¡%¬Ó
+€CÜ
œ1œQ ™T™6¤A¤q¡D¬¡F™?¬QÑ.´´A±´qÓ
9€CÜŒx˜˜SÓ!Ó"Ødòeð eð eäŒx˜˜S #Ó&Ó'ð 	VòVð Vð VäŒx˜˜˜cÓ"Ó#Øeòfð fñ fr}   c                  ó8  — t        t        t        dz  z  t        z
  t        dz  t        dz  z
  t        «      } t        t        t        z
  t        t        z   t        «      }t        | |g|| gg«      }t        || g| |gg«      }t        t        ||«      «      dk(  sJ ‚y )Nr’   r˜   a�  MIMOParallel(TransferFunctionMatrix(((TransferFunction(x*y**2 - z, -t**3 + y**3, y), TransferFunction(x - y, x + y, y)), (TransferFunction(x - y, x + y, y), TransferFunction(x*y**2 - z, -t**3 + y**3, y)))), TransferFunctionMatrix(((TransferFunction(x - y, x + y, y), TransferFunction(x*y**2 - z, -t**3 + y**3, y)), (TransferFunction(x*y**2 - z, -t**3 + y**3, y), TransferFunction(x - y, x + y, y))))))rM   r‡   r›   rœ   rŸ   rQ   rŽ   rS   r‰  s       r{   Útest_MIMOParallel_strr’  ð  s“   € Ü
œ1œQ ™T™6¤A™:¤q¨!¡t¬a°©d¡{´AÓ
6€CÜ
œ1œq™5¤!¤a¡%¬Ó
+€CÜ" S¨# J°°c°
Ð#;Ó<€EÜ" S¨# J°°c°
Ð#;Ó<€EÜŒ|˜E 5Ó)Ó*ð	lòlð lñ lr}   c            
      óÚ  — t        t        t        dz  z  t        z
  t        dz  t        dz  z
  t        «      } t        t        t        z
  t        t        z   t        «      }t        t        t        dz  z  t        t
        z  t        z  z
  t
        z   t        t        z
  t        «      }t        t        | |z  |«      «      dk(  sJ ‚t        t        | t        ddt        «      d«      «      dk(  sJ ‚y )Nr’   r˜   z—Feedback(Series(TransferFunction(x*y**2 - z, -t**3 + y**3, y), TransferFunction(x - y, x + y, y)), TransferFunction(t*x**2 - t**w*x + w, t - y, y), -1)rŠ   zUFeedback(TransferFunction(x*y**2 - z, -t**3 + y**3, y), TransferFunction(1, 1, y), 1))rM   r‡   r›   rœ   rŸ   r�   rŽ   rP   rƒ  s      r{   Útest_Feedback_strr”  ü  sÂ   € Ü
œ1œQ ™T™6¤A™:¤q¨!¡t¬a°©d¡{´AÓ
6€CÜ
œ1œq™5¤!¤a¡%¬Ó
+€CÜ
œ1œQ ™T™6¤A¤q¡D¬¡F™?¬QÑ.´´A±´qÓ
9€CÜŒx˜˜C™ Ó%Ó&ð	?ò?ð ?ð ?ô Œx˜Ô-¨a°´AÓ6¸Ó:Ó;Ø_ò`ð `ñ `r}   c                  óZ  — t        t        dz  t        dz  z
  t        t        z
  t        «      } t        t        t        z
  t        t        z   t        «      }t	        || g| |gg«      }t	        | |g|| gg«      }t        t        ||«      «      dk(  sJ ‚t        t        ||d«      «      dk(  sJ ‚y )Nr’   r˜   a€  MIMOFeedback(TransferFunctionMatrix(((TransferFunction(-x + y, y + z, x), TransferFunction(x**2 - y**3, y - z, x)), (TransferFunction(x**2 - y**3, y - z, x), TransferFunction(-x + y, y + z, x)))), TransferFunctionMatrix(((TransferFunction(x**2 - y**3, y - z, x), TransferFunction(-x + y, y + z, x)), (TransferFunction(-x + y, y + z, x), TransferFunction(x**2 - y**3, y - z, x)))), -1)rŠ   a  MIMOFeedback(TransferFunctionMatrix(((TransferFunction(-x + y, y + z, x), TransferFunction(x**2 - y**3, y - z, x)), (TransferFunction(x**2 - y**3, y - z, x), TransferFunction(-x + y, y + z, x)))), TransferFunctionMatrix(((TransferFunction(x**2 - y**3, y - z, x), TransferFunction(-x + y, y + z, x)), (TransferFunction(-x + y, y + z, x), TransferFunction(x**2 - y**3, y - z, x)))), 1))rM   r‡   r›   rœ   rQ   rŽ   rT   r‰  s       r{   Útest_MIMOFeedback_strr–    s¶   € Ü
œ1˜a™4¤! Q¡$™;¬¬A©¬qÓ
1€CÜ
œ1œq™5¤!¤a¡%¬Ó
+€CÜ" S¨# J°°c°
Ð#;Ó<€EÜ" S¨# J°°c°
Ð#;Ó<€EÜ”˜U EÓ*Ó+ðHòHð Ið Hô
 ”˜U E¨1Ó-Ó.ðbòbð cñ br}   c                  óÄ  — t        t        t        dz  z  t        z
  t        dz  t        dz  z
  t        «      } t        t        t        z
  t        t        z   t        «      }t        t        t        dz  z  t        t
        z  t        z  z
  t
        z   t        t        z
  t        «      }t        t        | g|gg«      «      dk(  sJ ‚t        t        | |g||gg«      «      dk(  sJ ‚y )Nr’   r˜   zpTransferFunctionMatrix(((TransferFunction(x*y**2 - z, -t**3 + y**3, y),), (TransferFunction(x - y, x + y, y),)))zÂTransferFunctionMatrix(((TransferFunction(x*y**2 - z, -t**3 + y**3, y), TransferFunction(x - y, x + y, y)), (TransferFunction(t*x**2 - t**w*x + w, t - y, y), TransferFunction(x - y, x + y, y)))))rM   r‡   r›   rœ   rŸ   r�   rŽ   rQ   rƒ  s      r{   Útest_TransferFunctionMatrix_strr˜    sÇ   € Ü
œ1œQ ™T™6¤A™:¤q¨!¡t¬a°©d¡{´AÓ
6€CÜ
œ1œq™5¤!¤a¡%¬Ó
+€CÜ
œ1œQ ™T™6¤A¤q¡D¬¡F™?¬QÑ.´´A±´qÓ
9€CÜÔ%¨ u¨s¨e nÓ5Ó6Øzò{ð {ð {äÔ%¨¨S z°C¸°:Ð&>Ó?Ó@ð 	MòMð Mñ Mr}   c                  ó4  — t        t        t        t        t        «      } t        | «      dk(  sJ ‚t        t        t        t        t        t        z  «      } t        | «      dk(  sJ ‚t        t        t        t        t        t        z   «      } t        | «      dk(  sJ ‚y )Nzx + y*i + z*j + t*kzx + y*i + z*j + t*x*kzx + y*i + z*j + (t + x)*k)r   r‡   r›   rœ   rŸ   rŽ   )Úqs    r{   Útest_Quaternion_str_printerr›  "  ss   € Ü”1”aœœAÓ€AÜˆq‹6Ð*Ò*Ð*Ð*Ü”1”Q”qœœ1™Ó€AÜˆq‹6Ð,Ò,Ð,Ð,Ü”1”Q”qœœ1™Ó€AÜˆq‹6Ð0Ò0Ð0Ñ0r}   c                  ó¬   — t        t        d¬«      dk(  sJ ‚t        t        d¬«      dk(  sJ ‚t        t        «      dk(  sJ ‚t        t        «      dk(  sJ ‚y )NT)Úabbrevr  ÚJrU   rV   )rm   rU   rV   rŽ   r‚   r}   r{   Útest_Quantity_strrŸ  +  sP   € Ü”˜tÔ$¨Ò+Ð+Ð+Ü”˜dÔ# sÒ*Ð*Ð*ÜŒv‹;˜(Ò"Ð"Ð"ÜŒu‹:˜Ò Ð Ñ r}   c                  ó.  — t        d«      } t        | dz   «      dk(  sJ ‚t        t        d| z  «      dz   «      dk(  sJ ‚t        d| z  dz   «      dk(  sJ ‚t        d| z  dz   «      d	k(  sJ ‚t        | dz  dz   «      d
k(  sJ ‚t        dd| z
  z  «      dk(  sJ ‚y )Nr‡   rŠ   zx_ + 1r’   r—   zexp(2**x_) + 5r˜   z3*x_ + 1z1 + 1/x_z	x_**2 + 1z
1/(1 - x_))r*   rŽ   r0   )r�   s    r{   Útest_wild_strr¡  2  s©   € äˆS‹	€AÜˆq�1‰u‹:˜Ò!Ð!Ð!ÜŒs�1�a‘4‹y˜1‰}ÓÐ!1Ò1Ð1Ð1Üˆq�‰s�Q‰w‹<˜:Ò%Ð%Ð%Üˆq�‰s�Q‰w‹<˜:Ò%Ð%Ð%Üˆq�!‰t�a‰x‹=˜KÒ'Ð'Ð'Üˆq�!�a‘%‰y‹>˜\Ò)Ð)Ñ)r}   c                  óX  — ddl m} m}m} t	        d«      }|€y  | d«      } |d«      } |d«      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        ||z  d|z  z   «      dk(  sJ ‚t        t        |«      t        |«      z  t        |«      z  «      d	k(  sJ ‚y )
Nr   )ÚWildDotÚWildPlusÚWildStarÚmatchpyrÂ   Úw__Úw___r’   z2**w_ + w__/w___zsqrt(w___)*sin(w_)*cos(w__))	Ú!sympy.utilities.matchpy_connectorr£  r¤  r¥  rL   rŽ   r3   r2   r1   )r£  r¤  r¥  r¦  ÚwdÚwpÚwss          r{   Útest_wild_matchpyr­  =  s³   € ßMÑMä˜IÓ&€Gà€Øá	�‹€BÙ	�%‹€BÙ	�&Ó	€Bäˆr‹7�dŠ?Ðˆ?Üˆr‹7�eÒÐÐÜˆr‹7�fÒÐÐäˆr�"‰u�q˜"‘u‰}ÓÐ!3Ò3Ð3Ð3ÜŒs�2‹w”s˜2“w‰œt B›xÑ'Ó(Ð,IÒIÐIÑIr}   c                  ó6   — t        t        d«      «      dk(  sJ ‚y )Nr˜   zzeta(3))rŽ   r5   r‚   r}   r{   Ú	test_zetar¯  Q  s   € ÜŒt�A‹w‹<˜9Ò$Ð$Ñ$r}   c                  óX   — t         t        z
  } t        | «      }t        | «      }||k(  sJ ‚y ©N)r‡   r›   rŽ   )r~  rì   Úbs      r{   Útest_issue_3101r³  U  s(   € Ü	ŒA‰€AÜˆA‹€AÜˆA‹€AØ�Š6€M‰6r}   c                  óš   — dt        t        «      z  t        t        t        «      z  dz  z
  } t        | «      dvsJ ‚t        | «      dk(  sJ ‚y )Nr»   r’   )z(-2)*x**1/2(-1/2)*x**(-1/2)*yz-2*x**1/2(-1/2)*x**(-1/2)*yz-2*x**1/2-1/2*x**-1/2*wz-2*sqrt(x) - y/(2*sqrt(x)))r1   r‡   r›   rŽ   r}  s    r{   Útest_issue_3103rµ  \  sR   € Ø
Œ4”‹7‰
”Q”tœA“w‘Y˜q‘[Ñ €AÜˆq‹6ð Fñ Fð Fð Fäˆq‹6Ð1Ò1Ð1Ñ1r}   c                  óR   — t        t        t        «      dz   } t        | «      dk(  sJ ‚y )NrŠ   zIntegral(x, x) + 1)r6   r‡   rŽ   r}  s    r{   Útest_issue_4021r·  c  s%   € Ü””A‹˜Ñ€AÜˆq‹6Ð)Ò)Ð)Ñ)r}   c                  ó˜   — t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚dddt        g} t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚y )NÚabcz'abc'rì   r²  Úcz[a, b, c, x]z['a', 'b', 'c', x])rm   rn   r‡   r}  s    r{   Útest_sstrreprr»  h  sY   € Ü�‹;˜%ÒÐÐÜ�E‹?˜gÒ%Ð%Ð%à	ˆc�3œÐ€AÜ�‹7�nÒ$Ð$Ð$Ü�A‹;Ð.Ò.Ð.Ñ.r}   c                  ó:   — t        t        t        z  «      dk(  sJ ‚y )NrÖ   )rm   r   r   r‚   r}   r{   Útest_infinityr½  q  s   € Ü””1‘‹:˜ÒÐÑr}   c                  ól  — t        t        d«      d¬«      dk(  sJ ‚t        t        d«      d¬«      dk(  sJ ‚t        t        d«      d¬«      dk(  sJ ‚t        t        d«      t        z  d¬«      dv sJ ‚t        t        d«      t        z  d¬«      dv sJ ‚t        t        d«      t        z  d¬«      dv sJ ‚y )	Nz0.3T©r]  z0.300000000000000rm  F)z0.300000000000000*xzx*0.300000000000000)z0.3*xzx*0.3)rm   r'   r‡   r‚   r}   r{   Útest_full_precrÀ  u  sÅ   € Ü”�%“ DÔ)Ð-@Ò@Ð@Ð@Ü”�%“ FÔ+Ð/BÒBÐBÐBÜ”�%“ EÔ*¨eÒ3Ð3Ð3Ü”�%“œ‘
 dÔ+ð 0ñ ð ð ô ”�%“œ‘
 fÔ-ð 2ñ ð ð ô ”�%“œ‘
 eÔ,ð 1ñ ð ñ r}   c                  ó&  — t        dd¬«      \  } }}t        | |z  |dz  z  «      dk(  sJ ‚t        |dz  | z  |z  «      dk(  sJ ‚t        | |dz  z  |z  «      dk(  sJ ‚t        t        | «      «      dk(  sJ ‚t        d	t        | «      z  «      d
k(  sJ ‚y )NzA,B,CF©Úcommutativer�   zA*B*C**(-1)zC**(-1)*A*BzA*C**(-1)*Bzsqrt(A)rŠ   z	A**(-1/2))r+   rm   r1   )ÚAÚBÚCs      r{   Útest_noncommutativerÇ  ‡  sž   € Ü�g¨5Ô1�G€A€qˆ!ä��!‘�A�r‘E‘	‹?˜mÒ+Ð+Ð+Ü��2‘�a‘˜‘	‹?˜mÒ+Ð+Ð+Ü��!�R‘%‘˜‘	‹?˜mÒ+Ð+Ð+Ü”�Q“‹=˜IÒ%Ð%Ð%Ü�”$�q“'‘	‹?˜kÒ)Ð)Ñ)r}   c                  ó²   — t        «       } | j                  d«      dk(  sJ ‚| j                  t        t        z  «      dk(  sJ ‚| j                  d«      dk(  sJ ‚y )Nr†   zx*yé    Ú32)ro   ÚemptyPrinterr‡   r›   )Ústr_printers    r{   Útest_empty_printerrÍ  ‘  sX   € Ü“,€KØ×#Ñ# EÓ*¨eÒ3Ð3Ð3Ø×#Ñ#¤A¤a¡CÓ(¨EÒ1Ð1Ð1Ø×#Ñ# BÓ'¨4Ò/Ð/Ñ/r}   c                  ón   — t        ddi¬«      } t        d«      }| j                   |d«      «      dk(  sJ ‚y )NrX  r˜   )ÚsettingsrÁ   gìMÉÉDõ?zf(1.33))ro   r   Údoprint)Údec_printerrÁ   s     r{   Útest_decimal_printerrÒ  —  s6   € Ü u¨Q iÔ0€KÜ�‹€AØ×Ñ™q ›{Ó+¨yÒ8Ð8Ñ8r}   c                  ó&   — t        t        d„ «       y )Nc                  ó.   — t        t        d«      d¬«      S )NrÆ   Úgarbage)Úmethod)rm   r'   r‚   r}   r{   rü   ztest_settings.<locals>.<lambda>ž  s   € œd¤1 Q£4°	Ô:€ r}   )rk   Ú	TypeErrorr‚   r}   r{   Útest_settingsrØ  �  s   € Ü
Œ9Ñ:Õ;r}   c                  ó"  — ddl m} m}m}m}m}  | ddd«      }t         ||dkD  «      «      dk(  sJ ‚ |dd«      }t         ||dkD  «      «      d	k(  sJ ‚ |d
d«      } |dd«      }t         |t        ||«      «      j                  «      dk(  sJ ‚y )Nr   )ÚNormalÚDieÚExponentialÚpspaceÚwhereÚx1rŠ   zDomain: (0 < x1) & (x1 < oo)Úd1r‹   rÆ   zDomain: Eq(d1, 5) | Eq(d1, 6)rì   r²  z1Domain: (0 <= a) & (0 <= b) & (a < oo) & (b < oo))	Úsympy.statsrÚ  rÛ  rÜ  rÝ  rÞ  rŽ   r   Údomain)	rÚ  rÛ  rÜ  rÝ  rÞ  ÚXÚDrÄ  rÅ  s	            r{   Útest_RandomDomainrå  ¡  s–   € ßCÕCÙˆt�Q˜Ó€AÜ‰u�Q˜‘U‹|ÓÐ >Ò>Ð>Ð>áˆD�!‹€AÜ‰u�Q˜‘U‹|ÓÐ ?Ò?Ð?Ð?á�C˜Ó€AÙ�C˜Ó€AÜ‰v”e˜A˜q“kÓ"×)Ñ)Ó*Ð.aÒaÐaÑar}   c            
      ój  — t        t        t        dd«      Ž «      dk(  sJ ‚t        t        t        dd«      Ž «      dk(  sJ ‚t        t        t        t        z  t        dz  gŽ «      dk(  sJ ‚t        t        t        t        t        t        «      d«      t        t        t        «      d«      «      d	k(  sJ ‚y )
NrŠ   é3   z¿{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50}r‹   z{1, 2, 3, 4, 5}r’   z{x**2, x*y}r—   z*FiniteSet(5, FiniteSet(5, {x, y}), {x, y}))rŽ   rD   rã   r‡   r›   r‚   r}   r{   Útest_FiniteSetrè  ®  sª   € ÜŒyœ%  2›,Ð'Ó(ð	Kòð ð ô
 Œyœ%  1›+Ð&Ó'Ð+<Ò<Ð<Ð<ÜŒyœ1œQ™3¤ 1¡˜+Ð&Ó'¨=Ò8Ð8Ð8ÜŒyœ¤9¬Q´£?°AÓ6¼	Ä!ÄA»ÈÓJó Ø@òAð Añ Ar}   c                  óf   — t        t        t        t        t        «      t
        h«      «      dk(  sJ ‚y )NzPartition({z}, {x, y}))rŽ   r   rD   r‡   r›   rœ   r‚   r}   r{   Útest_Partitionrê  º  s%   € ÜŒyœ¤1¤a›¬1¨#Ó.Ó/Ð3KÒKÐKÑKr}   c                  ó@   — t        t        j                  «      dk(  sJ ‚y )NÚUniversalSet)rŽ   r'   rì  r‚   r}   r{   Útest_UniversalSetrí  ½  s   € ÜŒq�~‰~Ó .Ò0Ð0Ñ0r}   c                  óz  — t        j                  t        t        «      } t         t        t        f   }t	        | j                  t        t        t        z   z  «      «      t	        t        t        t        z   z  «      k(  sJ ‚t	        |j                  t        t        z   «      «      t	        t        t        z   «      k(  sJ ‚y r±  )r^   Ú
frac_fieldr‡   r›   rm   Úconvert)rq  rƒ   s     r{   Útest_PrettyPolyrñ  Á  sw   € Ü
�‰”aœÓ€AÜ
Œ1Œaˆ4‰€AÜ�—	‘	œ!œQ¤™U™)Ó$Ó%¬¬a´´Q±©i«Ò8Ð8Ð8Ü�—	‘	œ!œa™%Ó Ó!¤T¬!¬a©%£[Ò0Ð0Ñ0r}   c                  óð   — ddl m} m}m}m}  | d«      } | d«      } |||d«      } ||«      } |d«      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      d	k(  sJ ‚t        |«      d
k(  sJ ‚y )Nr   )ÚObjectÚNamedMorphismÚIdentityMorphismÚCategoryrÄ  rÅ  rÁ   ÚKzObject("A")z,NamedMorphism(Object("A"), Object("B"), "f")zIdentityMorphism(Object("A"))zCategory("K"))Úsympy.categoriesró  rô  rõ  rö  rŽ   )	ró  rô  rõ  rö  rÄ  rÅ  rÁ   Úid_Ar÷  s	            r{   Útest_categoriesrú  È  s‹   € ÷$ó $ñ 	ˆs‹€AÙˆs‹€Aá�a˜˜CÓ €AÙ˜AÓ€Dá�‹€Aäˆq‹6�]Ò"Ð"Ð"Üˆq‹6ÐCÒCÐCÐCÜˆt‹9Ð7Ò7Ð7Ð7äˆq‹6�_Ò$Ð$Ñ$r}   c                  ó`   — t        dd¬«      \  } }t        | |z  «      }t        |«      dk(  sJ ‚y )NzA BFrÂ  zTr(A*B))r+   rp   rŽ   )rÄ  rÅ  rŸ   s      r{   Útest_Trrü  Û  s1   € Ü�5 eÔ,�D€A€qÜ
ˆ1ˆQ‰3‹€AÜˆq‹6�YÒÐÑr}   c                  óJ   — t        t        dt        z  dz   «      «      dk(  sJ ‚y )Ng      Àr˜   z-3.0*(1.0*z - 1.0))rŽ   r@   rœ   r‚   r}   r{   Útest_issue_6387rþ  á  s#   € ÜŒv�dœ1‘f˜q‘jÓ!Ó"Ð&:Ò:Ð:Ñ:r}   c            	      óˆ  — t        ddd«      t        ddd«      }} t        d| |z   z  «      dk(  sJ ‚t        t        | z  «      dk(  sJ ‚t        t         | z  «      dk(  sJ ‚t        dt        z   | z  «      dk(  sJ ‚t        dt        z    | z  «      d	k(  sJ ‚t        t        t        | |«      t        | |«      «      «      d
k(  sJ ‚y )Nrã  r’   ÚYz	2*X + 2*YzI*Xz-I*XrŠ   z	(1 + I)*Xz
(-1 - I)*Xz(X + Y) + (X + Y))r<   rŽ   r   r   )rã  r   s     r{   Útest_MatMul_MatAddr  å  sÂ   € Ü˜˜Q Ó"¤L°°a¸Ó$;€q€AÜˆq�!�a‘%‰y‹>˜[Ò(Ð(Ð(äŒq�‰s‹8�uÒÐÐÜ”ˆr�!‰t‹9˜ÒÐÐÜ�”A‘�q‰y‹>˜[Ò(Ð(Ð(Ü�”Q‘ˆx˜‰z‹?˜lÒ*Ð*Ð*ÜŒv”f˜Q “l¤F¨1¨a£LÓ1Ó2Ð6IÒIÐIÑIr}   c            	      óž  — t        dd¬«      } t        d| | «      }t        ddd«      }t        ddd«      }t        t        |dd«      «      d	k(  sJ ‚t        |t        t        d
z   …t
        t
        d
z   …f   «      dk(  sJ ‚t        |t        t        d
z   d…t
        t
        d
z   d…f   «      dk(  sJ ‚t        |d t        …t
        d …f   «      dk(  sJ ‚t        |d t        …t
        d …f   «      dk(  sJ ‚t        |t        d …d t
        …f   «      dk(  sJ ‚t        |t        t
        …t        t        …f   «      dk(  sJ ‚t        |t        t
        t        …t        t        t        …f   «      dk(  sJ ‚t        |t        d t
        …t        d t        …f   «      dk(  sJ ‚t        |d t        t
        …d t        t        …f   «      dk(  sJ ‚t        |d d t        …d d t
        …f   «      dk(  sJ ‚t        t        |dd«      «      d	k(  sJ ‚t        t        |d | d fd | d f«      «      d	k(  sJ ‚t        t        |d| d fd| d f«      «      d	k(  sJ ‚t        t        |d| dfd| df«      «      dk(  sJ ‚t        |d
dd…ddd…f   «      dk(  sJ ‚t        |d
dd…ddd…f   «      dk(  sJ ‚t        |d
dd…   «      dk(  sJ ‚t        |d d…d
d d…f   «      d!k(  sJ ‚t        |d d…d
dd…f   «      d"k(  sJ ‚t        |dd dd…f   «      d#k(  sJ ‚t        |dd
…dd
…f   «      d$k(  sJ ‚t        |dd
d…dd
d…f   «      d%k(  sJ ‚t        ||z   dd …dd …f   «      d&k(  sJ ‚y )'Nr¸   Tr¹   rã  r   r  ÚZ)NNNzX[:, :]rŠ   zX[x:x + 1, y:y + 1]r’   zX[x:x + 1:2, y:y + 1:2]z	X[:x, y:]z	X[x:, :y]zX[x:y, z:w]zX[x:y:t, w:t:x]zX[x::y, t::w]zX[:x:y, :t:w]zX[::x, ::y])r   NNr   zX[::2, ::2]r˜   rÆ   r—   r‹   zX[1:2:3, 4:5:6]rÇ   zX[1:3:5, 4:6:8]zX[1:10:2, :]rY  zY[:5, 1:9:2]zY[:5, 1::2]zY[5:6, :5:2]z	X[:1, :1]zX[:1:2, :1:2]z(Y + Z)[2:, 2:])	r)   r<   rŽ   r>   r‡   r›   rœ   r�   rŸ   )r¸   rã  r   r  s       r{   Útest_MatrixSlicer  ð  sª  € Üˆs˜DÔ!€AÜ�S˜!˜QÓ€AÜ�S˜"˜bÓ!€AÜ�S˜"˜bÓ!€AäŒ{˜1Ð0Ð2DÓEÓFÈ)ÒSÐSÐSÜˆq””1�q‘5�œ!œA ™E˜'Ð!Ñ"Ó#Ð'<Ò<Ð<Ð<Üˆq””1�q‘5˜�œAœa !™e A˜IÐ%Ñ&Ó'Ð+DÒDÐDÐDÜˆq�”!�”Q‘R�‰y‹>˜[Ò(Ð(Ð(Üˆq�”!�”Q‘R�‰y‹>˜[Ò(Ð(Ð(Üˆq”‘�R”a�R�‰y‹>˜[Ò(Ð(Ð(Üˆq””1�”aœ�c�‰{Ó˜}Ò,Ð,Ð,Üˆq””1”Q�œœ!œA˜�‰ÓÐ#4Ò4Ð4Ð4Üˆq”�”A�”q�tœ!�t�‰}Ó Ò0Ð0Ð0Üˆq�”!”A��tœœ!�t�‰}Ó Ò0Ð0Ð0Üˆq‘”1�‘cœ�c�‰{Ó˜}Ò,Ð,Ð,ÜŒ{˜1˜o¨Ó?Ó@ÀIÒMÐMÐMÜŒ{˜1˜t Q¨˜o°°a¸¨Ó?Ó@ÀIÒMÐMÐMÜŒ{˜1˜q ! T˜l¨Q°°4¨LÓ9Ó:¸iÒGÐGÐGÜŒ{˜1˜q ! Q˜i¨!¨Q°¨Ó3Ó4¸ÒEÐEÐEÜˆq��1�Q�˜˜!˜A˜�‰ÓÐ#4Ò4Ð4Ð4Üˆq��1�Q�˜˜!˜A˜�‰ÓÐ#4Ò4Ð4Ð4Üˆq��2�a�‰y‹>˜^Ò+Ð+Ð+Üˆq��!��Q�q˜�U�‰|Ó Ò.Ð.Ð.Üˆq��!��Q�r˜!�V�‰}Ó Ò.Ð.Ð.Üˆq��D�Q�q�D�‰z‹?˜nÒ,Ð,Ð,Üˆq��1��a˜�c�‰{Ó˜{Ò*Ð*Ð*Üˆq��1�Q�˜˜!˜A˜�‰Ó ?Ò2Ð2Ð2Ü��A‘�q‘r˜1™2�v‰ÓÐ#4Ò4Ð4Ñ4r}   c                  óø   — t        t        «      t        t        «      cxk(  rt        t        «      cxk(  rdk(  sJ ‚ J ‚t        t        «      t        t        «      cxk(  rt        t        «      cxk(  rdk(  sJ ‚ J ‚y )NÚTrueÚFalse)rŽ   r9   Úreprrm   r8   r‚   r}   r{   Útest_true_falser	    sV   € ÜŒt‹9œœT›
Ô:¤d¬4£jÔ:°FÒ:Ð:Ñ:Ð:Ð:ÜŒu‹:œœe›Ô>¬¬U«Ô>°wÒ>Ð>Ñ>Ð>Ñ>r}   c                  óH   — t        t        t        t        «      «      dk(  sJ ‚y )NzEquivalent(x, y))rŽ   r7   r›   r‡   r‚   r}   r{   Útest_Equivalentr    s   € ÜŒzœ!œQÓÓ Ð$6Ò6Ð6Ñ6r}   c                  óL   — t        t        t        t        d¬«      «      dk(  sJ ‚y )NFr“   zx ^ y)rŽ   r:   r›   r‡   r‚   r}   r{   Útest_Xorr    s   € ÜŒs”1”a %Ô(Ó)¨WÒ4Ð4Ñ4r}   c                  óp   — t        t        t        j                  t        j                  «      «      dk(  sJ ‚y )NzComplement(Reals, Naturals))rŽ   rC   r'   ÚRealsÚNaturalsr‚   r}   r{   Útest_Complementr    s%   € ÜŒzœ!Ÿ'™'¤1§:¡:Ó.Ó/Ð3PÒPÐPÑPr}   c            	      ód   — t        t        t        dd«      t        dd«      d¬«      «      dk(  sJ ‚y )Nr’   r˜   rÆ   Fr“   z3SymmetricDifference(Interval(2, 3), Interval(3, 4)))rŽ   rF   rE   r‚   r}   r{   Útest_SymmetricDifferencer    s5   € ÜÔ"¤8¨A¨q£>´8¸A¸q³>È5ÔQÓRØ@òAð Añ Ar}   c                  ób   — t        d«      \  } }dt        | |z   «      z  }t        |«      dk(  sJ ‚y )Nza br’   z	2*(a + b))r+   r   rŽ   )rì   r²  Úexpr1s      r{   Útest_UnevaluatedExprr  !  s4   € Ü�5‹>�D€A€qØŒo˜a ™cÓ"Ñ"€EÜˆu‹:˜Ò$Ð$Ñ$r}   c                  óô   — t        ddd«      } t        ddd«      }t        ddd«      }t        | d   «      dk(  sJ ‚t        d| d   z  «      dk(  sJ ‚|d   j                  || |z
  «      }t        |«      d	k(  sJ ‚y )
NrÄ  rŠ   r˜   rÅ  rÆ  ©r   r   zA[0, 0]z	3*A[0, 0]z(A - B)[0, 0])r<   rŽ   Úsubs)rÄ  rÅ  rÆ  rq  s       r{   Útest_MatrixElement_printingr  '  s‡   € ä�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€Aäˆq�‰w‹<˜9Ò$Ð%Ð$Üˆq�1�T‘7‰{Ó˜{Ò*Ð+Ð*à	ˆ$‰�‰�Q˜˜A™Ó€AÜˆq‹6�_Ò$Ð$Ñ$r}   c                  óè   — t        ddd«      } t        ddd«      }t        | | |z  z
  |z
  «      dk(  sJ ‚t        | |z  | |z   z
  «      dk(  sJ ‚t        | dz  «      dk(  sJ ‚t        | dz  «      dk(  sJ ‚y )	NrÄ  r˜   rÅ  zA - A*B - Bz-A + A*B - Br�   zA**(-1)zA**3)r<   rŽ   )rÄ  rÅ  s     r{   Útest_MatrixSymbol_printingr  4  sˆ   € Ü�S˜!˜QÓ€AÜ�S˜!˜QÓ€Aäˆq�1�Q‘3‰w˜‰{Ó˜}Ò,Ð,Ð,Üˆq�‰s�a˜‘c‰{Ó˜~Ò-Ð-Ð-Üˆq�2‰w‹<˜9Ò$Ð$Ð$Üˆq�!‰t‹9˜ÒÐÑr}   c                  ó2  — t        dd¬«      } t        d| | «      }t        |«      dk(  sJ ‚|j                  |z  j	                  t
        «      }t        |«      dk(  sJ ‚t        t        dt        z  «      }| |z  j	                  |«      }t        |«      dk(  sJ ‚y )Nr¸   Tr¹   rã  zLambda(_d, sin(_d)).(X.T*X)rŠ   zLambda(x, 1/x).(n*X))r)   r<   rŽ   ÚTÚ	applyfuncr3   r   r‡   )r¸   rã  ÚexprÚlamdas       r{   Útest_MatrixExpressionsr"  >  s�   € Üˆs˜DÔ!€AÜ�S˜!˜QÓ€Aäˆq‹6�SŠ=Ðˆ=ð �C‰C�‰E×ÑœSÓ!€DÜˆt‹9Ð5Ò5Ð5Ð5ä”1�aœ‘c‹N€EØˆa‰C�?‰?˜5Ó!€DÜˆt‹9Ð.Ò.Ð.Ñ.r}   c                  ó¬   — t        t        t        t        fd«      «      dk(  sJ ‚t        t        t        t        z   t        t        fd«      «      dk(  sJ ‚y )N©rŠ   zSubs(x, x, 1)rª   zSubs(x + y, (x, y), (1, 2)))rŽ   r   r‡   r›   r‚   r}   r{   Útest_Subs_printingr%  N  sE   € ÜŒt”Aœ�t˜TÓ"Ó# Ò6Ð6Ð6ÜŒt”Aœ‘EœAœq˜6 6Ó*Ó+Ð/LÒLÐLÑLr}   c                  óŒ   — t        t        t        «      t        t         t        f«      } | j	                  «       | dfg| gfk(  sJ ‚y )N))r•   g        r$  r‚   )r6   r,   r‡   r   Úas_termsr}  s    r{   Útest_issue_15716r(  S  s>   € Ü”œ1“¤¤B 3¬˜|Ó,€AØ�:‰:‹<˜aÐ!7Ð8Ð9¸A¸3Ð?Ò?Ð?Ñ?r}   c                  ó    — ddl m} m}m} t	         | d«      «      dk(  sJ ‚t	         |dd«      «      dk(  sJ ‚t	         |dd«      «      dk(  sJ ‚y )Nr   ©r=   Ú
ZeroMatrixÚ	OneMatrixrÆ   r   r’   rÚ   r¼   )Úsympy.matricesr=   r+  r,  rŽ   r*  s      r{   Útest_str_special_matricesr.  X  sR   € ß>Ñ>Ü‰x˜‹{Ó˜sÒ"Ð"Ð"Ü‰z˜!˜QÓÓ  CÒ'Ð'Ð'Ü‰y˜˜A‹Ó 3Ò&Ð&Ñ&r}   c                  óN   — t        t        dt        ddf«      «      t        z   sJ ‚y )Nr�   r   )r,   r   r‡   r›   r‚   r}   r{   Útest_issue_14567r0  _  s"   € Ü”S˜œa  A˜YÓ'Ó(¬1Ò,Ð,Ñ,r}   c                  óp   — t        t        ddg«      «      dk(  sJ ‚t        t        ddh«      «      dk(  sJ ‚y )NrŠ   r’   zPartition({1, 2}))rŽ   r   r‚   r}   r{   Útest_issue_21823r2  c  s<   € ÜŒy˜!˜Q˜Ó Ó!Ð%8Ò8Ð8Ð8ÜŒy˜!˜Q˜Ó Ó!Ð%8Ò8Ð8Ñ8r}   c            
      ót   — t        t        t        t        dd¬«      t        ddd¬«      d¬«      «      dk(  sJ ‚y )Nr»   Fr“   r˜   r�   z
1/(x**2*3))rŽ   r   r#   r‡   r‚   r}   r{   Útest_issue_22689r4  h  s2   € ÜŒs”3”q˜ eÔ,¬c°!°BÀÔ.FÐQVÔWÓXÐ\hÒhÐhÑhr}   c                  ó  — d„ }  | d«      dk(  sJ ‚ | d«      dk(  sJ ‚ | d«      dk(  sJ ‚ | d«      dk(  sJ ‚ | d«      d	k(  sJ ‚ | d
«      dk(  sJ ‚ | d«      dk(  sJ ‚ | d«      dk(  sJ ‚ | d«      dk(  sJ ‚ | d«      dk(  sJ ‚y )Nc                 ó.   — t        t        | d¬«      «      S )NFr“   )rŽ   r'   )r‡   s    r{   rü   z(test_issue_21119_21460.<locals>.<lambda>m  s   € ”3”q˜ UÔ+Ó,€ r}   z4/2z4/-2z4/(-2)z-4/2z-4/-2z-4/(-2)z-2*3/-1z	-2*3/(-1)z	-2*3/-1/2z-2*3/(-1*2)z4/2/1z4/(2*1)z-2/-1/2z	-2/(-1*2)z2*3*4**(-2*3)z2*3/4**(2*3)z2*3*1*4**(-2*3)z2*3*1/4**(2*3)r‚   )Ússs    r{   Útest_issue_21119_21460r8  l  s¿   € Ù	,€BÙˆe‹9˜ÒÐÐÙˆf‹:˜Ò!Ð!Ð!Ùˆf‹:˜ÒÐÐÙˆg‹;˜)Ò#Ð#Ð#Ùˆi‹=˜KÒ'Ð'Ð'Ùˆk‹?˜mÒ+Ð+Ð+Ùˆg‹;˜)Ò#Ð#Ð#Ùˆi‹=˜KÒ'Ð'Ð'ÙˆoÓ .Ò0Ð0Ð0ÙÐÓ Ð$4Ò4Ð4Ñ4r}   c                  óh   — ddl m}  t         | d«      «      dk(  sJ ‚t         | d«      «      dk(  sJ ‚y )Nr   ©ÚStrr‡   zStr('x'))Úsympy.core.symbolr;  rŽ   rn   r:  s    r{   Útest_Strr=  z  s2   € Ý%Ü‰s�3‹x‹=˜CÒÐÐÜ‘C˜“HÓ Ò+Ð+Ñ+r}   c                  ó
  — ddl m} m}m}m} t        dd¬«      \  }} | dd«      }t        |«      dk(  sJ ‚ |d|«      }t        |«      dk(  sJ ‚ |d	|||g«      }t        |«      d	k(  sJ ‚ ||d«      }	t        |	«      d
k(  sJ ‚y )Nr   )ÚManifoldÚPatchÚCoordSystemÚBaseScalarFieldzx yTrí   rþ   r’   ÚPÚrectr‡   )Úsympy.diffgeomr?  r@  rA  rB  r+   rŽ   )
r?  r@  rA  rB  r‡   r›   Úmr  rD  r²  s
             r{   Útest_diffgeomrG  €  s�   € ßLÓLÜ
�%˜dÔ
#�C€A€aÙ��aÓ€AÜˆq‹6�SŠ=Ðˆ=Ùˆc�1‹€AÜˆq‹6�SŠ=Ðˆ=Ù�v˜q 1 a &Ó)€DÜˆt‹9˜ÒÐÐÙ˜˜aÓ €AÜˆq‹6�SŠ=Ð‰=r}   c                  ó´  — t        t        d«      d¬«      dk(  sJ ‚t        t        d«      d¬«      dk(  sJ ‚t        t        ddg«      d¬«      dk(  sJ ‚t        t        ddg«      d¬«      d	k(  sJ ‚t        t        g d
«      «      dk(  sJ ‚t        t        g d«      «      dk(  sJ ‚t        t        g d«      «      dk(  sJ ‚t        t        g d«      «      dk(  sJ ‚y )Nr•   Tr¿  z1.00000000000000Fz1.0g       @z$[1.00000000000000, 2.00000000000000]z
[1.0, 2.0])r   z!ImmutableDenseNDimArray([], (0,))r  z#ImmutableDenseNDimArray([], (0, 0)))r   rŠ   z#ImmutableDenseNDimArray([], (0, 1)))rŠ   r   z#ImmutableDenseNDimArray([], (1, 0)))rm   rh   r‚   r}   r{   Útest_NDimArrayrI  Œ  sÞ   € Ü”	˜#“¨$Ô/Ð3EÒEÐEÐEÜ”	˜#“¨%Ô0°EÒ9Ð9Ð9Ü”	˜3 ˜*Ó%°Ô6Ð:`Ò`Ð`Ð`Ü”	˜3 ˜*Ó%°Ô7¸<ÒGÐGÐGÜ”	˜"˜dÓ#Ó$Ð(KÒKÐKÐKÜ”	˜"˜fÓ%Ó&Ð*OÒOÐOÐOÜ”	˜"˜fÓ%Ó&Ð*OÒOÐOÐOÜ”	˜"˜fÓ%Ó&Ð*OÒOÐOÑOr}   c                  ó@   — t        t        j                  «      dk(  sJ ‚y )NzQ.even)rm   r   Úevenr‚   r}   r{   Útest_PredicaterL  –  s   € Ü”—‘‹<˜8Ò#Ð#Ñ#r}   c                  óR   — t        t        j                  t        «      «      dk(  sJ ‚y )Nz	Q.even(x))rm   r   rK  r‡   r‚   r}   r{   Útest_AppliedPredicaterN  ™  s   € Ü”—‘”q“	‹?˜kÒ)Ð)Ñ)r}   c            	      ó   — t        t        dd«      «      dk(  sJ ‚t        t        ddddt        z
  z  df«      «      dk(  sJ ‚t	        ddd«      } t	        d	dd«      }t        t        | |z  t        dg«      «      d
k(  sJ ‚y )NrÄ  )r’   r˜   rÆ   r’   rŠ   r   zA[2, 1/(1 - x), 0]rþ   r˜   ÚNz(M*N)[x, 0])rm   ri   rj   r‡   r<   )rþ   rP  s     r{   Ú#test_printing_str_array_expressionsrQ  œ  sƒ   € Ü”˜C Ó+Ó,°Ò3Ð3Ð3Ü”˜S 1 a¨¬1©¡g¨q /Ó2Ó3Ð7KÒKÐKÐKÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ”˜Q˜q™S¤1 a &Ó)Ó*¨mÒ;Ð;Ñ;r}   c                  óv  — t        d«      } t        d«      }t        | dkD  «      t        d«      z  }t        | «      t        d«      z  }t	        | «      t        d«      z  }t        | |«      t        d«      z  }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚|j                  d	k(  sJ ‚|j                  d	k(  sJ ‚|j                  d	k(  sJ ‚|j                  d	k(  sJ ‚|j                  «       d	k(  sJ ‚|j                  «       d	k(  sJ ‚|j                  «       d	k(  sJ ‚y )
Nr‡   r›   r   r’   zProbability(x > 0)*IzExpectation(x)*IzVariance(x)*IzCovariance(x, y)*IF)	rK   rI   r=   rH   rJ   rG   rŽ   r  Ú_eval_is_commutative)r‡   r›   Úz1Úz2Úz3Úz4s         r{   Útest_printing_statsrX  £  sF  € ä�SÓ€AÜ�SÓ€AÜ	�Q˜‘UÓ	œH Q›KÑ	'€BÜ	�Q‹œ ›Ñ	#€BÜ	�!‹”X˜a“[Ñ	 €BÜ	�A�qÓ	œH Q›KÑ	'€Bäˆr‹7Ð,Ò,Ð,Ð,Üˆr‹7Ð(Ò(Ð(Ð(Üˆr‹7�oÒ%Ð%Ð%Üˆr‹7Ð+Ò+Ð+Ð+Ø×Ñ Ò%Ð%Ð%Ø×Ñ Ò%Ð%Ð%Ø×Ñ Ò%Ð%Ð%Ø×Ñ Ò%Ð%Ð%Ø×"Ñ"Ó$¨Ò-Ð-Ð-Ø×"Ñ"Ó$¨Ò-Ð-Ð-Ø×"Ñ"Ó$¨Ò-Ð-Ñ-r}   N(  Úsympyr   Úsympy.algebras.quaternionr   Úsympy.assumptions.askr   Ú!sympy.calculus.accumulationboundsr   Úsympy.combinatorics.partitionsr   Úsympy.concrete.summationsr   r	   Úsympy.core.addr
   Úsympy.core.containersr   r   Úsympy.core.exprr   r   Úsympy.core.functionr   r   r   r   r   Úsympy.core.mulr   Ú
sympy.corer   r   r   r   Úsympy.core.numbersr   r   r   r   r   r   r   r    r!   r  r"   Úsympy.core.powerr#   Úsympy.core.relationalr$   r%   r&   Úsympy.core.singletonr'   r<  r(   r)   r*   r+   Ú(sympy.functions.combinatorial.factorialsr,   r-   r.   Ú$sympy.functions.elementary.complexesr/   Ú&sympy.functions.elementary.exponentialr0   Ú(sympy.functions.elementary.miscellaneousr1   Ú(sympy.functions.elementary.trigonometricr2   r3   Ú'sympy.functions.special.delta_functionsr4   Ú&sympy.functions.special.zeta_functionsr5   Úsympy.integrals.integralsr6   Úsympy.logic.boolalgr7   r8   r9   r:   Úsympy.matrices.denser;   Ú"sympy.matrices.expressions.matexprr<   Úsympy.matrices.expressionsr=   Ú sympy.matrices.expressions.slicer>   r-  r?   Úsympy.polys.polytoolsr@   Úsympy.series.limitsrA   Úsympy.series.orderrB   Úsympy.sets.setsrC   rD   rE   rF   rá  rG   rH   rI   rJ   Úsympy.stats.rvrK   Úsympy.externalrL   Úsympy.physics.control.ltirM   rN   rO   rP   rQ   rR   rS   rT   Úsympy.physics.unitsrU   rV   Úsympy.polysrW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   Úsympy.geometryrc   rd   re   rf   rg   Úsympy.tensorrh   Ú0sympy.tensor.array.expressions.array_expressionsri   rj   Úsympy.testing.pytestrk   rl   Úsympy.printingrm   rn   ro   Úsympy.physics.quantum.tracerp   r‡   r›   rœ   r�   rŸ   rq   rˆ   r�   r    r¢   r¤   r§   r­   r¯   r²   r´   r¶   r¿   rÄ   rË   rÍ   rÐ   rÒ   rÔ   r×   rÝ   rß   rê   rï   rñ   rõ   r÷   rÿ   r  r  r  r  r   r"  r(  r,  r.  r9  r=  r?  rA  rC  rE  rV  rb  re  ri  rk  rn  rr  rv  rx  r{  r  r�  r‡  rŒ  rŽ  r�  r’  r”  r–  r˜  r›  rŸ  r¡  r­  r¯  r³  rµ  r·  r»  r½  rÀ  rÇ  rÍ  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  r2  r4  r8  r=  rG  rI  rL  rN  rQ  rX  r‚   r}   r{   ú<module>r…     sF  ðÝ Ý 0Ý #Ý 9Ý 4ß 6Ý ß /ß 1ß RÕ RÝ ß MÓ Mß Q× QÕ QÝ -Ý  ß /Ñ /Ý "ß <Ó <ß ZÑ ZÝ 4Ý 6Ý 9ß ?Ý =Ý 7Ý .ß >Ó >Ý 'Ý ;Ý /Ý 8Ý 'Ý (Ý %Ý  ß RÓ Rß HÓ HÝ 'Ý (÷M÷ Mó Mç -÷÷ ÷ ó ç DÕ DÝ "ß Vç ?ç 5Ñ 5Ý *á˜Ó$�€€1€aˆˆAÙ	ˆ#ƒJ€ò	ò.òxò,%òòEò:ò@ò"ò
+ò%ò9ò ò3ò-ò5ò
;òòò
$òMò
0ò9òEòLòNò3ò-Iò`òò	Cò?4òBò'aòTiòrò:ò*Dò<	+ò;ò?ò"(ò6'òrHò$=ò+ò
JòMò	qòVò<ò.òòSò	dò	lò@ò	fò	lò`òcò"Mò1ò!ò*òJò(%òò2ò*ò
/ò òò$*ò0ò9ò<ò
bò	AòLò1ò1ò%ò&ò;òJò5ò>?ò7ò5òQòAó
%ó
%óó/ó Mó
@ó
'ó-ó9ó
ió5ó,ó
óPó$ó*ó<ô.r}   