§
    OŠtj´2  ã                  óâ  — U 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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 d dlmZ d dlmZm Z  d dl!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, d dl-m.Z. d dl/m0Z0m1Z1 d dlm2Z2 d dl3m4Z4m5Z5 d dl6m7Z7 d dl8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z? d dl@mAZA d dlBmCZC  ed¦  «        \  ZDZEde2iZFdeGd<    eHdeF¦  «         dOd „ZId!„ ZJd"„ ZKd#„ ZLd$„ ZMd%„ ZNd&„ ZOd'„ ZPd(„ ZQd)„ ZRd*„ ZSd+„ ZTd,„ ZUd-„ ZVd.„ ZWd/„ ZXd0„ ZYd1„ ZZd2„ Z[d3„ Z\d4„ Z]d5„ Z^d6„ Z_d7„ Z`d8„ Zad9„ Zbd:„ Zcd;„ Zdd<„ Zed=„ Zfd>„ Zgd?„ Zhd@„ ZidA„ ZjdB„ ZkdC„ ZldD„ ZmdE„ ZndF„ ZodG„ ZpdH„ ZqdI„ ZrdJ„ ZsdK„ ZtdL„ ZudM„ ZvdN„ ZwdS )Pé    )Úannotations)ÚAny)ÚGROUND_TYPES)ÚraisesÚwarns_deprecated_sympy)ÚQ)ÚFunctionÚWildFunction)ÚAlgebraicNumberÚFloatÚIntegerÚRational)ÚS)ÚDummyÚSymbolÚWildÚsymbols)Úsympify)ÚAbs)ÚrootÚsqrt)Úsin)Ú	Heaviside)ÚfalseÚtrue)ÚMatrixÚones)ÚMatrixSymbol)ÚImmutableDenseMatrix)ÚCycleÚPermutation)ÚStr)ÚPointÚEllipse)Úsrepr)ÚringÚfieldÚZZÚQQÚlexÚgrlexÚPoly)ÚDMP)ÚFiniteExtensionúx,yr"   zdict[str, Any]ÚENVzfrom sympy import *Nc                ó¾   — |€t           }n)t                                ¦   «         }t          ||¦  «         t          | fi |¤Ž|k    sJ ‚t	          ||¦  «        | k    sJ ‚dS )z†
    sT := sreprTest

    Tests that srepr delivers the expected string and that
    the condition eval(srepr(expr))==expr holds.
    N)r0   ÚcopyÚexecr%   Úeval)ÚexprÚstringÚimport_stmtÚkwargsÚENV2s        ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/printing/tests/test_repr.pyÚsTr;   $   sp   € ð ÐÝˆˆå�xŠx‰zŒzˆÝˆ[˜$ÑÔÐå�Ð Ð ˜Ð Ð  FÒ*Ð*Ð*Ð*Ý�˜ÑÔ Ò%Ð%Ð%Ð%Ð%Ð%ó    c                 ór   —  G d„ dt           ¦  «        } t           | t          ¦  «        ¦  «        dk    sJ ‚d S )Nc                  ó   — e Zd Zd„ ZdS )útest_printmethod.<locals>.Rc                óH   — d|                      | j        d         ¦  «        z  S )Nzfoo(%s)r   )Ú_printÚargs)ÚselfÚprinters     r:   Ú
_sympyreprz&test_printmethod.<locals>.R._sympyrepr7   s   € Ø˜wŸ~š~¨d¬i¸¬lÑ;Ô;Ñ;Ð;r<   N)Ú__name__Ú
__module__Ú__qualname__rE   © r<   r:   ÚRr?   6   s#   € € € € € ð	<ð 	<ð 	<ð 	<ð 	<r<   rJ   zfoo(Symbol('x')))r   r%   Úx)rJ   s    r:   Útest_printmethodrL   5   sT   € ð<ð <ð <ð <ð <�Cñ <ô <ð <õ ��•1‘”‰;Œ;Ð,Ò,Ð,Ð,Ð,Ð,Ð,r<   c                 ó  — t          t          t          z   d¦  «         t          t          dz  dz   d¬¦  «        dk    sJ ‚t          t          dz  dz   d¬¦  «        dk    sJ ‚t          t	          d	d
¬¦  «        d¬¦  «        dk    sJ ‚d S )NzAdd(Symbol('x'), Symbol('y'))é   é   r*   ©Úorderz-Add(Pow(Symbol('x'), Integer(2)), Integer(1))Úoldz-Add(Integer(1), Pow(Symbol('x'), Integer(2)))z	x + 3 - 2F©ÚevaluateÚnonez:Add(Symbol('x'), Integer(3), Mul(Integer(-1), Integer(2)))©r;   rK   Úyr%   r   rI   r<   r:   Útest_AddrX   <   s­   € Ý…q�1�uÐ-Ñ.Ô.Ð.Ý•�A‘˜‘ Ð'Ñ'Ô'Ð+ZÒZÐZÐZÐZÝ•�A‘˜‘ Ð'Ñ'Ô'Ð+ZÒZÐZÐZÐZÝ•˜¨uÐ5Ñ5Ô5¸VÐDÑDÔDð  IEò  Eð  Eð  Eð  Eð  Eð  Er<   c                 ó”   — ddl m}  ddlm} | |fD ]6} |t	          d¦  «        Ž }t          t          |¦  «        ¦  «        |k    sJ ‚Œ7d S )Nr   )ÚAdd)ÚMulzx:256)Úsympy.core.addrZ   Úsympy.core.mulr[   r   r4   r%   )rZ   r[   Úopr5   s       r:   Ú#test_more_than_255_args_issue_10259r_   C   sy   € Ø"Ð"Ð"Ð"Ð"Ð"Ø"Ð"Ð"Ð"Ð"Ð"Ø�Cˆjð )ð )ˆØˆr•7˜7Ñ#Ô#Ð$ˆÝ•E˜$‘K”KÑ Ô  DÒ(Ð(Ð(Ð(Ð(ð)ð )r<   c                 ó  — t           t          d¦  «        t          ¦  «        d¦  «         t          t          d¦  «        d¦  «         t          t          t          ¦  «        d¦  «         t          t          d¦  «         d S )NÚfzFunction('f')(Symbol('x'))zFunction('f')zsin(Symbol('x'))r   )r;   r	   rK   r   rI   r<   r:   Útest_Functionrb   K   sa   € Ý€}…x��}„}•QÑÔÐ5Ñ6Ô6Ð6å…x��}„}�oÑ&Ô&Ð&å…s�1�v„vÐ!Ñ"Ô"Ð"Ý…sˆE�N„N€N€N€Nr<   c                 ó�   — t          t          t          ¦  «        d¦  «         t          t          t          d¦  «        d¦  «         d S )NzHeaviside(Symbol('x'))rO   z"Heaviside(Symbol('x'), Integer(1)))r;   r   rK   rI   r<   r:   Útest_Heavisiderd   T   s8   € Ý…y•�|„|Ð-Ñ.Ô.Ð.Ý…y•�A�„Ð<Ñ=Ô=Ð=Ð=Ð=r<   c                 óœ   — t          t          dd¦  «        d¦  «         t          t          t          dd¦  «        dd¦  «        d¦  «         d S )Nr   zPoint2D(Integer(0), Integer(0))é   rO   z@Ellipse(Point2D(Integer(0), Integer(0)), Integer(5), Integer(1)))r;   r#   r$   rI   r<   r:   Útest_Geometryrg   Y   sU   € Ý…uˆQ��{„{Ð5Ñ6Ô6Ð6Ý…w�u�Q˜‰{Œ{˜A˜qÑ!Ô!ØIñKô Kð Kð Kð Kr<   c                 ó²  — t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j	        d¦  «         t          t          j
        d	¦  «         t          t          j        d
¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         t          t          j        d¦  «         d S )NÚCatalanÚzooÚ
EulerGammaÚEÚGoldenRatioÚTribonacciConstantzRational(1, 2)ÚIÚooÚnanz-oozInteger(-1)z
Integer(1)Úpiz
Integer(0)Ú	ComplexesÚEmptySequenceÚEmptySetÚNaturalsÚ	Naturals0Ú	RationalsÚRealsÚUniversalSet)r;   r   ri   ÚComplexInfinityrk   ÚExp1rm   rn   ÚHalfÚImaginaryUnitÚInfinityÚNaNÚNegativeInfinityÚNegativeOneÚOneÚPiÚZerors   rt   ru   rv   rw   rx   ry   rz   rI   r<   r:   Útest_Singletonsr†   `   s¥  € Ý…q„y�)ÑÔÐÝ…qÔ˜%Ñ Ô Ð Ý…q„|�\Ñ"Ô"Ð"Ý…q„vˆs�O„O€OÝ…q„}�mÑ$Ô$Ð$Ý…qÔÐ1Ñ2Ô2Ð2Ý…q„vÐÑ Ô Ð Ý…q„˜ÑÔÐÝ…q„z�4ÑÔÐÝ…q„uˆeÑÔÐÝ…qÔ˜5Ñ!Ô!Ð!Ý…q„}�mÑ$Ô$Ð$Ý…q„uˆlÑÔÐÝ…q„tˆT�N„N€NÝ…q„vˆ|ÑÔÐÝ…q„{�KÑ Ô Ð Ý…q„˜Ñ(Ô(Ð(Ý…q„z�:ÑÔÐå…q„z�:ÑÔÐÝ…q„{�KÑ Ô Ð Ý…q„{�KÑ Ô Ð Ý…q„w�ÑÔÐÝ…q„~�~Ñ&Ô&Ð&Ð&Ð&r<   c                 ó@   — t          t          d¦  «        d¦  «         d S )Né   z
Integer(4))r;   r   rI   r<   r:   Útest_Integerr‰   {   s   € Ý…wˆq�z„z�<Ñ Ô Ð Ð Ð r<   c                 óN   — t          t          t          d¦  «        gd¦  «         d S )Nrˆ   z[Symbol('x'), Integer(4)])r;   rK   r   rI   r<   r:   Ú	test_listr‹      s#   € Ý��7�1‰:Œ:€Ð3Ñ4Ô4Ð4Ð4Ð4r<   c            	     ó\  — t           dft          dffD ]˜\  } }t           | t          dz  dgt          t          t          z   gg¦  «        d|z  ¦  «         t           | ¦   «         d|z  ¦  «         t           | t          dz  dgt          t          t          z   gg¦  «        d|z  ¦  «         Œ™d S )NÚMutableDenseMatrixr   rO   zM%s([[Symbol('x'), Integer(1)], [Symbol('y'), Add(Symbol('x'), Symbol('y'))]])z%s([]))r   r   r;   rK   rW   )ÚclsÚnames     r:   Útest_Matrixr�   ƒ   sÜ   € ÝÐ3Ð4Õ7KÐMcÐ6dÐeð Bð B‰	ˆˆTÝ
ˆ3ˆ3•�B‘˜�
�Q¥¥A¡˜JÐ'Ñ(Ô(ØZÐ]aÑañ	cô 	cð 	cõ 	ˆ3ˆ3‰5Œ5�(˜T‘/Ñ"Ô"Ð"å
ˆ3ˆ3•�B‘˜�
�Q¥¥A¡˜JÐ'Ñ(Ô(Ð*yð  }Añ  +Añ  	Bô  	Bð  	Bð  	BðBð Br<   c                 óº   — t          t          dd¦  «        d¦  «         t          t          dd¦  «        d¦  «         t          t          dd¦  «        d¦  «         d S )Nr   é   zMutableDenseMatrix(0, 3, [])rˆ   zMutableDenseMatrix(4, 0, [])zMutableDenseMatrix([]))r;   r   rI   r<   r:   Útest_empty_Matrixr“   �   sS   € Ý…tˆAˆq�z„zÐ1Ñ2Ô2Ð2Ý…tˆAˆq�z„zÐ1Ñ2Ô2Ð2Ý…tˆAˆq�z„zÐ+Ñ,Ô,Ð,Ð,Ð,r<   c                 ó~   — t          t          dd¦  «        d¦  «         t          t          dd¦  «        d¦  «         d S )NrO   r’   zRational(1, 3)éÿÿÿÿzRational(-1, 3))r;   r   rI   r<   r:   Útest_Rationalr–   “   s:   € Ý…x��1�~„~Ð'Ñ(Ô(Ð(Ý…x��A�„Ð)Ñ*Ô*Ð*Ð*Ð*r<   c                 ó2  — t          t          dd¬¦  «        d¦  «         t          t          dd¬¦  «        d¦  «         t          t          dd	¬¦  «        d
¦  «         t          t          dd¬¦  «        d¦  «         t          t          dd¬¦  «        d¦  «         t          t          dd¬¦  «        d¦  «         t          t          dd¬¦  «        d
¦  «         t          t          dd¬¦  «        d¦  «         t          t          dd¦  «        d¦  «         d S )Nz1.23r’   )ÚdpszFloat('1.22998', precision=13)z
1.23456789é	   z$Float('1.23456788994', precision=33)z1.234567890123456789é   z.Float('1.234567890123456789013', precision=66)z0.60038617995049726é   z*Float('0.60038617995049726', precision=53)é   )Ú	precisioné!   éB   é5   )r;   r   rI   r<   r:   Ú
test_Floatr¡   ˜   sD  € Ý…uˆV˜ÐÑÔÐ=Ñ>Ô>Ð>Ý…uˆ\˜qÐ!Ñ!Ô!Ð#IÑJÔJÐJÝ…uÐ#¨Ð,Ñ,Ô,Ø7ñ9ô 9ð 9å…uÐ"¨Ð+Ñ+Ô+Ø3ñ5ô 5ð 5õ …uˆV˜rÐ"Ñ"Ô"Ð$DÑEÔEÐEÝ…uˆ\ RÐ(Ñ(Ô(Ø-ñ/ô /ð /å…uÐ#¨rÐ2Ñ2Ô2Ø7ñ9ô 9ð 9å…uÐ"¨bÐ1Ñ1Ô1Ø3ñ5ô 5ð 5õ …uÐ" BÑ'Ô'Ø3ñ5ô 5ð 5ð 5ð 5r<   c                 ó˜   — t          t          d¦  «         t          t          d¦  «         t          t          dd¬¦  «        d¦  «         d S )NúSymbol('x')zSymbol('y')rK   T)ÚnegativezSymbol('x', negative=True))r;   rK   rW   r   rI   r<   r:   Útest_Symbolr¥   ¬   sF   € Ý…qˆ-ÑÔÐÝ…qˆ-ÑÔÐÝ…vˆc˜DÐ!Ñ!Ô!Ð#?Ñ@Ô@Ð@Ð@Ð@r<   c                 ó¬   — t          ddd¬¦  «        } d}d}t          | ¦  «        ||fv sJ ‚t          t          | ¦  «        t          ¦  «        | k    sJ ‚d S )NrK   r   rO   )r¤   Úintegerz)Symbol('x', integer=True, negative=False)z)Symbol('x', negative=False, integer=True))r   r%   r4   r0   )rK   Ús1Ús2s      r:   Útest_Symbol_two_assumptionsrª   ²   sb   € Ýˆs˜Q¨Ð*Ñ*Ô*€Aà	4€BØ	4€BÝ�‰8Œ8˜˜B�xÐÐÐÐÝ•�a‘”�#ÑÔ !Ò#Ð#Ð#Ð#Ð#Ð#r<   c                 ó8  — t          t          d¦  «        d¦  «         t          t          dd¬¦  «        d¦  «         t          t          dd¬¦  «        d¦  «         t          t          dd¬¦  «        d¦  «         t          t          dd	¬¦  «        d¦  «         d S )
NrK   r£   F)ÚcommutativezSymbol('x', commutative=False)r   TzSymbol('x', commutative=True)rO   )r;   r   rI   r<   r:   Ú,test_Symbol_no_special_commutative_treatmentr­   »   s–   € Ý…vˆc�{„{�MÑ"Ô"Ð"Ý…vˆc˜uÐ%Ñ%Ô%Ð'GÑHÔHÐHÝ…vˆc˜qÐ!Ñ!Ô!Ð#CÑDÔDÐDÝ…vˆc˜tÐ$Ñ$Ô$Ð&EÑFÔFÐFÝ…vˆc˜qÐ!Ñ!Ô!Ð#BÑCÔCÐCÐCÐCr<   c                 óD   — t          t          dd¬¦  «        d¦  «         d S )NrK   T)ÚevenzWild('x', even=True))r;   r   rI   r<   r:   Ú	test_Wildr°   Ã   s&   € Ý…tˆC�dÐÑÔÐ3Ñ4Ô4Ð4Ð4Ð4r<   c                 ón   — t          d¦  «        } t          | dt          | j        ¦  «        z  ¦  «         d S )NÚdzDummy('d', dummy_index=%s))r   r;   ÚstrÚdummy_index)r²   s    r:   Ú
test_Dummyrµ   Ç   s3   € Ýˆc‰
Œ
€AÝ€qÐ
&­¨Q¬]Ñ);Ô);Ñ
;Ñ<Ô<Ð<Ð<Ð<r<   c                 óò   — t          dd¬¦  «        } | t          t          | ¦  «        ¦  «        k    sJ ‚dt          | j        ¦  «        z  }dt          | j        ¦  «        z  }t          | ¦  «        ||fv sJ ‚d S )Nr²   T)Únonzeroz(Dummy('d', dummy_index=%s, nonzero=True)z(Dummy('d', nonzero=True, dummy_index=%s))r   r4   r%   r³   r´   )r²   r¨   r©   s      r:   Útest_Dummy_assumptionr¸   Ì   sz   € Ýˆc˜4Ð Ñ Ô €AØ••U˜1‘X”X‘”ÒÐÐÐØ	3µc¸!¼-Ñ6HÔ6HÑ	H€BØ	3µc¸!¼-Ñ6HÔ6HÑ	H€BÝ�‰8Œ8˜˜B�xÐÐÐÐÐÐr<   c                 ó¤   — t          dd¬¦  «        } |                      ¦   «         }t          |¦  «        dt          |j        ¦  «        z  k    sJ ‚d S )NÚnT©r§   zDummy('n', dummy_index=%s))r   Úas_dummyr%   r³   r´   )rº   r²   s     r:   Útest_Dummy_from_Symbolr½   Ô   s`   € åˆs˜DÐ!Ñ!Ô!€AØ	�
Š
‰Œ€AÝ�ñ 
ô 
Ø)­C°´Ñ,>Ô,>Ñ>ò?ð ?ð ?ð ?ð ?ð ?r<   c                 ój   — t          t          fd¦  «         t          t          t          fd¦  «         d S )Nz(Symbol('x'),)z(Symbol('x'), Symbol('y')))r;   rK   rW   rI   r<   r:   Ú
test_tupler¿   Ü   s0   € Ý�€tÐÑÔÐÝ��1€vÐ+Ñ,Ô,Ð,Ð,Ð,r<   c                 ó@   — t          t          d¦  «        d¦  «         d S )NÚwzWildFunction('w'))r;   r
   rI   r<   r:   Útest_WildFunctionrÂ   á   s!   € Ý…|�CÑÔÐ-Ñ.Ô.Ð.Ð.Ð.r<   c                 ó2   — t          t          d„ ¦  «         d S )Nc                 ó.   — t          t          d¬¦  «        S )NÚgarbage)Úmethod)r%   rK   rI   r<   r:   ú<lambda>ztest_settins.<locals>.<lambda>æ   s   € �e¥A¨iÐ8Ñ8Ô8€ r<   )r   Ú	TypeErrorrI   r<   r:   Útest_settinsrÉ   å   s   € Ý
�9Ð8Ð8Ñ9Ô9Ð9Ð9Ð9r<   c                 óì   — t          dt          dz  z  t          z  d¦  «         t          dt          dz  z  t          z  d¬¦  «        dk    sJ ‚t          t	          dd¬¦  «        d	¬¦  «        d
k    sJ ‚d S )Nr’   z:Mul(Integer(3), Pow(Symbol('x'), Integer(3)), Symbol('y'))rR   rP   z:Mul(Integer(3), Symbol('y'), Pow(Symbol('x'), Integer(3)))z(x+4)*2*x*7FrS   rU   zFMul(Add(Symbol('x'), Integer(4)), Integer(2), Symbol('x'), Integer(7))rV   rI   r<   r:   Útest_MulrË   é   s’   € Ý€q�ˆA‰�v�a�xÐMÑNÔNÐNÝ�•1�a‘4‘�‘ Ð'Ñ'Ô'Ð+gÒgÐgÐgÐgÝ•˜°Ð7Ñ7Ô7¸vÐFÑFÔFð  KSò  Sð  Sð  Sð  Sð  Sð  Sr<   c                 ó¸   — t          t          d¦  «        ¦  «        } t          | d¦  «         t          t          dd¦  «        ¦  «        } t          | d¦  «         d S )NrN   zJAlgebraicNumber(Pow(Integer(2), Rational(1, 2)), [Integer(1), Integer(0)])éþÿÿÿr’   zKAlgebraicNumber(Pow(Integer(-2), Rational(1, 3)), [Integer(1), Integer(0)]))r   r   r;   r   )Úas    r:   Útest_AlgebraicNumberrÏ   ï   sR   € Ý�˜Q™œÑ Ô €AÝ€qÐ
VÑWÔWÐWÝ�˜R ™œÑ$Ô$€AÝ€qÐ
WÑXÔXÐXÐXÐXr<   c                 óJ  — 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 ‚d S )	NrK   r   z!PolyRing((Symbol('x'),), ZZ, lex)r/   z/PolyRing((Symbol('x'), Symbol('y')), QQ, grlex)úx,y,zÚtz=PolyRing((Symbol('x'), Symbol('y'), Symbol('z')), ZZ[t], lex))r%   r&   r(   r*   r)   r+   rI   r<   r:   Útest_PolyRingrÓ   ö   s�   € Ý•�c�2�sÑ#Ô# AÔ&Ñ'Ô'Ð+NÒNÐNÐNÐNÝ•�e�R¥Ñ'Ô'¨Ô*Ñ+Ô+Ð/`Ò`Ð`Ð`Ð`Ý•�g�r #œw­Ñ,Ô,¨QÔ/Ñ0Ô0Ð4sÒsÐsÐsÐsÐsÐsr<   c                 óJ  — 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 ‚d S )	NrK   r   z"FracField((Symbol('x'),), ZZ, lex)r/   z0FracField((Symbol('x'), Symbol('y')), QQ, grlex)rÑ   rÒ   z>FracField((Symbol('x'), Symbol('y'), Symbol('z')), ZZ[t], lex))r%   r'   r(   r*   r)   r+   rI   r<   r:   Útest_FracFieldrÕ   ü   s�   € Ý•�s�B¥Ñ$Ô$ QÔ'Ñ(Ô(Ð,PÒPÐPÐPÐPÝ•�u�b¥%Ñ(Ô(¨Ô+Ñ,Ô,Ð0bÒbÐbÐbÐbÝ•�w¥ 3¤­Ñ-Ô-¨aÔ0Ñ1Ô1Ð5uÒuÐuÐuÐuÐuÐur<   c                 óz   — t          dt          ¦  «        \  } }}t          d|dz  z  |z  dz   ¦  «        dk    sJ ‚d S )Nr/   r’   rN   rO   zVPolyElement(PolyRing((Symbol('x'), Symbol('y')), ZZ, lex), [((2, 1), 3), ((0, 0), 1)]))r&   r(   r%   )rJ   rK   rW   s      r:   Útest_PolyElementr×     sE   € Ý�5�"‰oŒo�G€A€qˆ!Ý��1�a‘4‘˜‘˜A‘ÑÔÐ"zÒzÐzÐzÐzÐzÐzr<   c                 óŒ   — t          dt          ¦  «        \  } }}t          d|dz  z  |z  dz   ||dz  z
  z  ¦  «        dk    sJ ‚d S )Nr/   r’   rN   rO   ztFracElement(FracField((Symbol('x'), Symbol('y')), ZZ, lex), [((2, 1), 3), ((0, 0), 1)], [((1, 0), 1), ((0, 2), -1)]))r'   r(   r%   )ÚFrK   rW   s      r:   Útest_FracElementrÚ     si   € Ý�E�2ÑÔ�G€A€qˆ!Ý�!�A�q‘D‘&˜‘(˜Q‘,  Q¨¡T¡Ñ*Ñ+Ô+ð  0fò  fð  fð  fð  fð  fð  fr<   c                 óÐ   — t          t          j        t          ¦  «        ¦  «        dk    sJ ‚t          t          j        t          t          t
          ¬¦  «        ¦  «        dk    sJ ‚d S )Nz1FractionField(FracField((Symbol('x'),), QQ, lex))rP   z?FractionField(FracField((Symbol('x'), Symbol('y')), QQ, grlex)))r%   r)   Ú
frac_fieldrK   rW   r+   rI   r<   r:   Útest_FractionFieldrÝ     sq   € Ý•”�qÑ!Ô!Ñ"Ô"Ø;ò<ð <ð <ð <å•”�q¥!­5Ð1Ñ1Ô1Ñ2Ô2ØIòJð Jð Jð Jð Jð Jr<   c                 ó`  — t          t          j        t          ¦  «        ¦  «        dk    sJ ‚t          t          t                                        t          ¦  «        ¦  «        dk    sJ ‚t          t          j        t          ¦  «                             t          ¦  «        ¦  «        dk    sJ ‚d S )Nz%GlobalPolynomialRing(ZZ, Symbol('x'))z(GlobalPolynomialRing(ZZ[x], Symbol('y'))zTGlobalPolynomialRing(FractionField(FracField((Symbol('x'),), QQ, lex)), Symbol('y')))r%   r(   Úold_poly_ringrK   rW   r)   rÜ   rI   r<   r:   Útest_PolynomialRingBaserà     s­   € Ý•Ô!¥!Ñ$Ô$Ñ%Ô%Ø/ò0ð 0ð 0ð 0å••A”×$Ò$¥QÑ'Ô'Ñ(Ô(Ø2ò3ð 3ð 3ð 3å•”�qÑ!Ô!×/Ò/µÑ2Ô2Ñ3Ô3Ø^ò_ð _ð _ð _ð _ð _r<   c                 ó>  — t          ddgt          ¦  «        }  t          j        t          ¦  «        ddg¦  «        }t          dk    r,t          | ¦  «        dk    sJ ‚t          |¦  «        dk    sJ ‚d S t          | ¦  «        dk    sJ ‚t          |¦  «        dk    sJ ‚d S )NrO   rN   ÚflintzDMP_Python([1, 2], ZZ)zDUP_Flint([1, 2], ZZ))r-   r(   rß   rK   r   r%   )Úp1Úp2s     r:   Útest_DMPrå     s¨   € Ý	ˆa�ˆV•R‰Œ€BØ	�Ô	�!Ñ	Ô	˜a ˜VÑ	$Ô	$€BÝ�wÒÐÝ�R‰yŒyÐ4Ò4Ð4Ð4Ð4Ý�R‰yŒyÐ4Ò4Ð4Ð4Ð4Ð4Ð4å�R‰yŒyÐ3Ò3Ð3Ð3Ð3Ý�R‰yŒyÐ3Ò3Ð3Ð3Ð3Ð3Ð3r<   c                 ó†   — t          t          t          t          dz  dz   t          ¦  «        ¦  «        ¦  «        dk    sJ ‚d S )NrN   rO   z/FiniteExtension(Poly(x**2 + 1, x, domain='ZZ')))r%   r.   r,   rK   rI   r<   r:   Útest_FiniteExtensionrç   '  sH   € Ý•¥¥a¨¡d¨Q¡hµÑ!2Ô!2Ñ3Ô3Ñ4Ô4Ø9ò:ð :ð :ð :ð :ð :r<   c                 ó´   — t          t          t          dz  dz   t          ¦  «        ¦  «        } t          dk    rd}nd}t	          | j        ¦  «        |k    sJ ‚d S )NrN   rO   râ   zPExtElem(DMP_Python([1, 0], ZZ), FiniteExtension(Poly(x**2 + 1, x, domain='ZZ')))zOExtElem(DUP_Flint([1, 0], ZZ), FiniteExtension(Poly(x**2 + 1, x, domain='ZZ'))))r.   r,   rK   r   r%   Ú	generator)ÚAÚanss     r:   Útest_ExtensionElementrì   ,  sY   € Ý��Q ™T A™X¥qÑ)Ô)Ñ*Ô*€AÝ�wÒÐØ`ˆˆà_ˆÝ�”ÑÔ Ò$Ð$Ð$Ð$Ð$Ð$r<   c                 ón   — t          t          ¦  «        dk    sJ ‚t          t          ¦  «        dk    sJ ‚d S )Nr   r   )r%   r   r   rI   r<   r:   Útest_BooleanAtomrî   4  s6   € Ý•‰;Œ;˜&Ò Ð Ð Ð Ý•‰<Œ<˜7Ò"Ð"Ð"Ð"Ð"Ð"r<   c                 ó:   — t          t          j        d¦  «         d S )NÚIntegers)r;   r   rð   rI   r<   r:   Útest_Integersrñ   9  ó   € Ý…q„z�:ÑÔÐÐÐr<   c                 ó:   — t          t          j        d¦  «         d S )Nrv   )r;   r   rv   rI   r<   r:   Útest_Naturalsrô   =  rò   r<   c                 ó:   — t          t          j        d¦  «         d S )Nrw   )r;   r   rw   rI   r<   r:   Útest_Naturals0rö   A  s   € Ý…q„{�KÑ Ô Ð Ð Ð r<   c                 ó:   — t          t          j        d¦  «         d S )Nry   )r;   r   ry   rI   r<   r:   Ú
test_Realsrø   E  s   € Ý…q„w�ÑÔÐÐÐr<   c                 óØ   — t          dd¬¦  «        } t          d| | ¦  «        }t          d| | ¦  «        }t          |d¦  «         t          ||z  d¦  «         t          ||z   d¦  «         d S )	Nrº   Tr»   rê   ÚBzLMatrixSymbol(Str('A'), Symbol('n', integer=True), Symbol('n', integer=True))z¢MatMul(MatrixSymbol(Str('A'), Symbol('n', integer=True), Symbol('n', integer=True)), MatrixSymbol(Str('B'), Symbol('n', integer=True), Symbol('n', integer=True)))z¢MatAdd(MatrixSymbol(Str('A'), Symbol('n', integer=True), Symbol('n', integer=True)), MatrixSymbol(Str('B'), Symbol('n', integer=True), Symbol('n', integer=True))))r   r   r;   )rº   rê   rú   s      r:   Útest_matrix_expressionsrû   I  s•   € Ý�˜TÐ"Ñ"Ô"€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ€qÐ
XÑYÔYÐYÝ€qˆ�sð  qñ  rô  rð  rÝ€qˆ1�uð  sñ  tô  tð  tð  tð  tr<   c                 óL   — t          t          dd¦  «        ¦  «        dk    sJ ‚d S )NrO   rN   zCycle(1, 2))r%   r    rI   r<   r:   Ú
test_Cyclerý   R  s+   € õ
 •�q˜!‘”ÑÔ Ò.Ð.Ð.Ð.Ð.Ð.r<   c                 óž  — d} t           t          dd¦  «        dd¦  «        d| d¬¦  «         t           t          dd¦  «        dd¦  «        d	| d
¬¦  «         t          ¦   «         5  t          j        }dt          _        t           t          dd¦  «        dd¦  «        d| ¦  «         |t          _        d d d ¦  «         d S # 1 swxY w Y   d S )Nz+from sympy.combinatorics import PermutationrO   rN   r’   rˆ   zPermutation([0, 2, 1, 4, 3])F)Úperm_cycliczPermutation(1, 2)(3, 4)T)r;   r!   r   Úprint_cyclic)r7   Úold_print_cyclics     r:   Útest_Permutationr  Z  s  € Ø?€KÝÐ…{�1�aÑÔ˜˜AÑÔÐ >ÀÐY^Ð_Ñ_Ô_Ð_ÝÐ…{�1�aÑÔ˜˜AÑÔÐ 9¸;ÐTXÐYÑYÔYÐYå	Ñ	!Ô	!ð 4ð 4Ý&Ô3ÐØ#(�Ô Ý
Ð�;�q˜!ÑÔ˜Q Ñ"Ô"Ð$BÀKÑPÔPÐPØ#3�Ô ð	4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4s   Á'ACÃCÃ	Cc                 óâ   — ddl m} m}m} i }t	          |¦  «        dk    sJ ‚| |i}t	          |¦  «        dk    sJ ‚| |||i}t	          |¦  «        dv sJ ‚| ||ii}t	          |¦  «        dk    sJ ‚d S )Nr   )rK   rW   Úzz{}z{Symbol('x'): Symbol('y')})z4{Symbol('x'): Symbol('y'), Symbol('y'): Symbol('z')}z4{Symbol('y'): Symbol('z'), Symbol('x'): Symbol('y')}z){Symbol('x'): {Symbol('y'): Symbol('z')}})Ú	sympy.abcrK   rW   r  r%   )rK   rW   r  r²   s       r:   Ú	test_dictr  e  s¹   € Ø!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ø
€AÝ�‰8Œ8�tÒÐÐÐØ	
ˆAˆ€AÝ�‰8Œ8Ð3Ò3Ð3Ð3Ð3Ø	
ˆAˆq�!ˆ€AÝ�‰8Œ8ð ð ð ð ð ð 
ˆQ�ˆFˆ€AÝ�‰8Œ8ÐBÒBÐBÐBÐBÐBÐBr<   c                 óŠ   — ddl m} m} t          ¦   «         }t	          |¦  «        dk    sJ ‚| |h}t	          |¦  «        dv sJ ‚d S )Nr   )rK   rW   zset())z{Symbol('x'), Symbol('y')}z{Symbol('y'), Symbol('x')})r  rK   rW   Úsetr%   )rK   rW   Úss      r:   Útest_setr
  s  sa   € ØÐÐÐÐÐÐÐÝ‰Œ€AÝ�‰8Œ8�wÒÐÐÐØ	
ˆAˆ€AÝ�‰8Œ8ÐSÐSÐSÐSÐSÐSÐSr<   c                 ó:   — t          t          j        d¦  «         d S )NzQ.even)r;   r   r¯   rI   r<   r:   Útest_Predicater  z  s   € Ý…q„vˆxÑÔÐÐÐr<   c                 ód   — t          t          j        t          d¦  «        ¦  «        d¦  «         d S )Nr  z%AppliedPredicate(Q.even, Symbol('z')))r;   r   r¯   r   rI   r<   r:   Útest_AppliedPredicater  }  s)   € Ý…q„v�f�S‰kŒkÑÔÐCÑDÔDÐDÐDÐDr<   )N)xÚ
__future__r   Útypingr   Úsympy.external.gmpyr   Úsympy.testing.pytestr   r   Úsympy.assumptions.askr   Úsympy.core.functionr	   r
   Úsympy.core.numbersr   r   r   r   Úsympy.core.singletonr   Úsympy.core.symbolr   r   r   r   Úsympy.core.sympifyr   Ú$sympy.functions.elementary.complexesr   Ú(sympy.functions.elementary.miscellaneousr   r   Ú(sympy.functions.elementary.trigonometricr   Ú'sympy.functions.special.delta_functionsr   Úsympy.logic.boolalgr   r   Úsympy.matrices.denser   r   Ú"sympy.matrices.expressions.matexprr   Úsympy.matrices.immutabler   Úsympy.combinatoricsr    r!   r"   Úsympy.geometryr#   r$   Úsympy.printingr%   Úsympy.polysr&   r'   r(   r)   r*   r+   r,   Úsympy.polys.polyclassesr-   Úsympy.polys.agca.extensionsr.   rK   rW   r0   Ú__annotations__r3   r;   rL   rX   r_   rb   rd   rg   r†   r‰   r‹   r�   r“   r–   r¡   r¥   rª   r­   r°   rµ   r¸   r½   r¿   rÂ   rÉ   rË   rÏ   rÓ   rÕ   r×   rÚ   rÝ   rà   rå   rç   rì   rî   rñ   rô   rö   rø   rû   rý   r  r  r
  r  r  rI   r<   r:   ú<module>r(     s|  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø #Ð #Ð #Ð #Ð #Ð #Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ "Ð "Ð "Ð "Ð "Ð "Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø &Ð &Ð &Ð &Ð &Ð &Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø =Ð =Ð =Ð =Ð =Ð =Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø !Ð !Ð !Ð !Ð !Ð !Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø  Ð  Ð  Ð  Ð  Ð  Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7à€wˆu�~„~�€€1ð ˜c�l€Ð "Ð "Ð "Ñ "Ø €Ð˜CÑ  Ô  Ð  ð&ð &ð &ð &ð"-ð -ð -ðEð Eð Eð)ð )ð )ðð ð ð>ð >ð >ð
Kð Kð Kð'ð 'ð 'ð6!ð !ð !ð5ð 5ð 5ðBð Bð Bð-ð -ð -ð+ð +ð +ð
5ð 5ð 5ð(Að Að Að$ð $ð $ðDð Dð Dð5ð 5ð 5ð=ð =ð =ð
 ð  ð  ð?ð ?ð ?ð-ð -ð -ð
/ð /ð /ð:ð :ð :ðSð Sð SðYð Yð Yðtð tð tðvð vð vð{ð {ð {ð
fð fð fð
Jð Jð Jð_ð _ð _ð4ð 4ð 4ð:ð :ð :ð
%ð %ð %ð#ð #ð #ð
ð ð ðð ð ð!ð !ð !ðð ð ðtð tð tð/ð /ð /ð	4ð 	4ð 	4ðCð Cð CðTð Tð Tðð ð ðEð Eð Eð Eð Er<   