§
    OŠtj¾6  ã                   ó  — d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZ d dl 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mZmZ d dlmZ d dl m!Z! d dl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5 d dlm6Z6 d d	l7m8Z8  ed
¦  «        \  Z9Z:Z;d„ Z<d„ Z=d„ Z>d„ Z?d„ Z@d„ ZAd„ ZBd„ ZCd„ ZDd„ ZEd„ ZFd„ ZGd„ ZHd„ ZId„ ZJd„ ZKe6d„ ¦   «         ZLd„ ZMd„ ZNd„ ZOd„ ZPd „ ZQd!„ ZRd"„ ZSd#„ ZTd$„ ZUd%„ ZVd&„ ZWd'„ ZXd(„ ZYd)„ ZZd*„ Z[d+„ Z\d,„ Z]d-S ).é    )ÚSÚpiÚooÚsymbolsÚFunctionÚRationalÚIntegerÚTupleÚSymbolÚEqÚNeÚLeÚLtÚGtÚGe)Ú
EulerGammaÚGoldenRatioÚCatalanÚLambdaÚMulÚPow)Ú	PiecewiseÚsqrtÚceilingÚexpÚsinÚcosÚsinc)Úraises)Úimplemented_function)ÚeyeÚMatrixÚMatrixSymbolÚIdentityÚHadamardProductÚSparseMatrix)ÚjnÚynÚbesseljÚbesselyÚbesseliÚbesselkÚhankel1Úhankel2ÚairyaiÚairybiÚairyaiprimeÚairybiprime)ÚXFAIL©Ú
julia_codezx,y,zc                  óŽ   — t          t          d¦  «        ¦  «        dk    sJ ‚t          t          d¦  «        ¦  «        dk    sJ ‚d S )NéC   Ú67éÿÿÿÿz-1)r5   r	   © ó    ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/printing/tests/test_julia.pyÚtest_Integerr=      sF   € Ý•g˜b‘k”kÑ"Ô" dÒ*Ð*Ð*Ð*Ý•g˜b‘k”kÑ"Ô" dÒ*Ð*Ð*Ð*Ð*Ð*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          d	d¦  «        ¦  «        dk    sJ ‚t          t          t          dd¦  «        z   ¦  «        d
k    sJ ‚t          t          dd¦  «        t          z  ¦  «        dk    sJ ‚d S )Né   é   z3 // 7é   é	   Ú2iùÿÿÿz-3 // 7éýÿÿÿz
x + 3 // 7z(3 // 7) * x)r5   r   Úxr:   r;   r<   Útest_RationalrF      sÚ   € Ý•h˜q !‘n”nÑ%Ô%¨Ò1Ð1Ð1Ð1Ý•h˜r 1‘o”oÑ&Ô&¨#Ò-Ð-Ð-Ð-Ý•h˜q "‘o”oÑ&Ô&¨)Ò3Ð3Ð3Ð3Ý•h˜r 2Ñ&Ô&Ñ'Ô'¨8Ò3Ð3Ð3Ð3Ý•a�( 1 a™.œ.Ñ(Ñ)Ô)¨\Ò9Ð9Ð9Ð9Ý•h˜q !‘n”n¥QÑ&Ñ'Ô'¨>Ò9Ð9Ð9Ð9Ð9Ð9r;   c                  ó"  — t          t          t          t          ¦  «        ¦  «        dk    sJ ‚t          t	          t          t          ¦  «        ¦  «        dk    sJ ‚t          t          t          t          ¦  «        ¦  «        dk    sJ ‚t          t          t          t          ¦  «        ¦  «        dk    sJ ‚t          t          t          t          ¦  «        ¦  «        dk    sJ ‚t          t          t          t          ¦  «        ¦  «        dk    sJ ‚d S )Nzx == yzx != yzx <= yzx < yzx > yzx >= y)	r5   r   rE   Úyr   r   r   r   r   r:   r;   r<   Útest_RelationalrI   !   sÎ   € Ý•b��A‘h”hÑÔ 8Ò+Ð+Ð+Ð+Ý•b��A‘h”hÑÔ 8Ò+Ð+Ð+Ð+Ý•b��A‘h”hÑÔ 8Ò+Ð+Ð+Ð+Ý•b��A‘h”hÑÔ 7Ò*Ð*Ð*Ð*Ý•b��A‘h”hÑÔ 7Ò*Ð*Ð*Ð*Ý•b��A‘h”hÑÔ 8Ò+Ð+Ð+Ð+Ð+Ð+r;   c                  ó  — t          t          t          ¦  «        t          t          ¦  «        z  ¦  «        dk    sJ ‚t          t	          t          ¦  «        ¦  «        dk    sJ ‚t          t          t          ¦  «        ¦  «        dk    sJ ‚d S )Nzsin(x) .^ cos(x)zabs(x)zceil(x))r5   r   rE   r   Úabsr   r:   r;   r<   Útest_FunctionrL   *   sq   € Ý•c�!‘f”f¥¥A¡¤Ñ&Ñ'Ô'Ð+=Ò=Ð=Ð=Ð=Ý•c�!‘f”fÑÔ Ò)Ð)Ð)Ð)Ý•g�a‘j”jÑ!Ô! YÒ.Ð.Ð.Ð.Ð.Ð.r;   c                  óˆ  — t          t          dz  ¦  «        dk    sJ ‚t          t          t          dz  z  ¦  «        dk    sJ ‚t          t          t          dd¦  «        z  ¦  «        dk    sJ ‚t	          dt          t          dt          z  ¦  «        ¦  «        } t          d | t          ¦  «        dz  t          t          t          z  z
  z  z  t          dz  t          z   z  ¦  «        d	k    sJ ‚t          t          d
t          t          t          t          t          d¬¦  «        dd¬¦  «        d¬¦  «        ¦  «        dk    sJ ‚d S )Nr?   zx .^ 3zx .^ (y .^ 3)é   zx .^ (2 // 3)Úgé   g      @z.(3.5 * 2 * x) .^ (-x + y .^ x) ./ (x .^ 2 + y)éþÿÿÿF)Úevaluater9   z-2 * x ./ (y .* y))r5   rE   rH   r   r    r   r   r   )rO   s    r<   Útest_PowrS   0   sA  € Ý•a˜‘dÑÔ˜xÒ'Ð'Ð'Ð'Ý•a�!˜Q™$‘iÑ Ô  OÒ3Ð3Ð3Ð3Ý•a� ! Q™œÑ'Ñ(Ô(¨OÒ;Ð;Ð;Ð;Ý˜S¥&­¨A­a©C¡.¤.Ñ1Ô1€AÝ�a˜˜�1™œ˜c™¥Q­­A©¡XÑ.Ñ.µ°1±µq±Ñ9Ñ:Ô:Ø8ò9ð 9ð 9ð 9õ •c˜"�a¥¥S­­1°eÐ%<Ñ%<Ô%<¸bÈ5Ð!QÑ!QÔ!QØ9>ð@ñ @ô @ñ Aô AØDXòYð Yð Yð Yð Yð Yr;   c                  ó  — t          t          t          z  ¦  «        dk    sJ ‚t          t          t          z   ¦  «        dk    sJ ‚t          t          t          z
  ¦  «        dk    sJ ‚t          t           ¦  «        dk    sJ ‚d S )Núx .* yzx + yzx - yz-x)r5   rE   rH   r:   r;   r<   Útest_basic_opsrV   <   sv   € Ý•a�‘c‰?Œ?˜hÒ&Ð&Ð&Ð&Ý•a�!‘eÑÔ Ò'Ð'Ð'Ð'Ý•a�!‘eÑÔ Ò'Ð'Ð'Ð'Ý•q�b‰>Œ>˜TÒ!Ð!Ð!Ð!Ð!Ð!r;   c                  óX  — t          dt          z  ¦  «        dk    sJ ‚t          t          dz  ¦  «        t          t          dz  ¦  «        cxk    rdk    sn J ‚t          dt          t          ¦  «        z  ¦  «        dk    sJ ‚t          t          t          j         z  ¦  «        t          t          dz  ¦  «        cxk    rdk    sn J ‚t          t          t          ¦  «        ¦  «        dk    sJ ‚t          t          t          j        z  ¦  «        t          t          dz  ¦  «        cxk    rdk    sn J ‚t          dt
          z  ¦  «        d	k    sJ ‚t          t
          dz  ¦  «        t          t
          dz  ¦  «        cxk    rd	k    sn J ‚t          t
          dz  ¦  «        d
k    sJ ‚d S )NrP   z1 ./ xr9   g      ð¿z1 ./ sqrt(x)g      à¿zsqrt(x)g      à?z1 / piz1 / sqrt(pi))r5   rE   r   r   ÚHalfr   r:   r;   r<   Útest_1_over_x_and_sqrtrY   C   s›  € õ �a�‘c‰?Œ?˜hÒ&Ð&Ð&Ð&Ý•a˜‘eÑÔ¥
­1¨d©7Ñ 3Ô 3Ð?Ð?Ò?Ð?°xÒ?Ð?Ð?Ð?Ð?Ð?Ý�a��Q™œ‘iÑ Ô  NÒ2Ð2Ð2Ð2Ý•a�!œ&˜‘jÑ!Ô!¥Zµ°4±Ñ%8Ô%8ÐJÐJÒJÐJ¸NÒJÐJÐJÐJÐJÐJÝ•d�1‘g”gÑÔ )Ò+Ð+Ð+Ð+Ý•a�œ‘iÑ Ô ¥J­q°#©vÑ$6Ô$6ÐCÐCÒCÐC¸)ÒCÐCÐCÐCÐCÐCÝ�a�‘dÑÔ˜xÒ'Ð'Ð'Ð'Ý•b˜"‘fÑÔ¥­B°©HÑ!5Ô!5ÐAÐAÒAÐA¸ÒAÐAÐAÐAÐAÐAÝ•b˜$‘hÑÔ >Ò1Ð1Ð1Ð1Ð1Ð1r;   c                  ód  — t          dt          z  ¦  «        dk    sJ ‚t          t          t          z  ¦  «        dk    sJ ‚t          dt          z  ¦  «        dk    sJ ‚t          t          t          z  ¦  «        dk    sJ ‚t          t          dz  ¦  «        dk    sJ ‚t          t          t          z  ¦  «        dk    sJ ‚t          t          t          z  ¦  «        dk    sJ ‚t          dt          z  t          z  ¦  «        d	k    sJ ‚t          dt          z  t          z  t          z  ¦  «        d
k    sJ ‚t          t          t          z  ¦  «        dk    sJ ‚t          dt          z  t          z  ¦  «        dk    sJ ‚t          t          t          z  t          z  ¦  «        dk    sJ ‚t          t          t          z  t          z  ¦  «        dk    sJ ‚t          dt          z  t          z  ¦  «        dk    sJ ‚t          dt          z  t          z  t          z  t          z  ¦  «        dk    sJ ‚t          dt          z  t          z  ¦  «        dk    sJ ‚t          t          d¦  «        dz  ¦  «        dk    sJ ‚t          t          d¦  «        dz  t          z  ¦  «        dk    sJ ‚t          t          t          z  t          z  ¦  «        dk    sJ ‚t          t          t          z   t          z  ¦  «        dk    sJ ‚t          t          t          z   t          t          z   z  ¦  «        dk    sJ ‚t          t          t          z   t          z  ¦  «        dk    sJ ‚t          t          dz  t          z  ¦  «        dk    sJ ‚t          t          d¦  «        dz  t          z  t          z  t          z  ¦  «        dk    sJ ‚d S )Nr?   z3 * xzpi * xz3 ./ xzpi ./ xzx / 3zx / pirU   z
3 * x .* yz3 * pi * x .* yzx ./ yz
3 * x ./ yzx .* y ./ zzx .* z ./ yrP   z1 ./ (x .* y)rN   z2 * pi * x ./ (y .* z)z3 * pi ./ xé   z3 // 5z(3 // 5) * xzx ./ (y .* z)z(x + y) ./ zz(x + y) ./ (x + z)z(x + y) / eulergammazx / (3 * pi)z(3 // 5) * x .* y / pi)r5   rE   r   rH   Úzr   r   r:   r;   r<   Útest_mix_number_mult_symbolsr]   Q   s"  € Ý�a�‘c‰?Œ?˜gÒ%Ð%Ð%Ð%Ý•b�‘dÑÔ˜xÒ'Ð'Ð'Ð'Ý�a�‘c‰?Œ?˜hÒ&Ð&Ð&Ð&Ý•b�‘dÑÔ˜yÒ(Ð(Ð(Ð(Ý•a˜‘c‰?Œ?˜gÒ%Ð%Ð%Ð%Ý•a�‘dÑÔ˜xÒ'Ð'Ð'Ð'Ý•a�‘c‰?Œ?˜hÒ&Ð&Ð&Ð&Ý�a�‘c�!‘eÑÔ Ò,Ð,Ð,Ð,Ý�a�‘d�1‘f�Q‘hÑÔÐ#4Ò4Ð4Ð4Ð4Ý•a�‘c‰?Œ?˜hÒ&Ð&Ð&Ð&Ý�a�‘c�!‘eÑÔ Ò,Ð,Ð,Ð,Ý•a�‘c�!‘eÑÔ Ò-Ð-Ð-Ð-Ý•a�‘c�!‘eÑÔ Ò-Ð-Ð-Ð-Ý�a�‘c�!‘eÑÔ Ò/Ð/Ð/Ð/Ý�a�‘d�1‘f�Q‘h�q‘jÑ!Ô!Ð%=Ò=Ð=Ð=Ð=Ý�a�‘d�1‘fÑÔ Ò.Ð.Ð.Ð.Ý•a˜‘d”d˜1‘fÑÔ Ò)Ð)Ð)Ð)Ý•a˜‘d”d˜1‘f�Q‘hÑÔ >Ò1Ð1Ð1Ð1Ý•a�‘c�!‘eÑÔ Ò/Ð/Ð/Ð/Ý•q�‘s�A‘gÑÔ .Ò0Ð0Ð0Ð0Ý•q�‘s�Q�q™S‘kÑ"Ô"Ð&:Ò:Ð:Ð:Ð:Ý•q�‘s�JÑ&Ñ'Ô'Ð+AÒAÐAÐAÐAÝ•a˜‘c�"‘fÑÔ Ò/Ð/Ð/Ð/Ý•a˜‘d”d˜1‘f�Q‘h�q‘j¥‘mÑ$Ô$Ð(@Ò@Ð@Ð@Ð@Ð@Ð@r;   c                  ó°  — t          t          d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          t          z  ¦  «        dk    sJ ‚t          t          t          t          z  z  ¦  «        dk    sJ ‚t          t          t          z  t          z  ¦  «        dk    sJ ‚d S )	Nr?   zpi ^ 3rN   zx .^ 2zx .^ (pi ^ 3)zx .^ yzx .^ (y .^ z)z(x .^ y) .^ z)r5   r   rE   rH   r\   r:   r;   r<   Útest_mix_number_pow_symbolsr_   l   sÂ   € Ý•b˜!‘eÑÔ Ò(Ð(Ð(Ð(Ý•a˜‘dÑÔ˜xÒ'Ð'Ð'Ð'Ý•a�"˜a™%‘jÑ!Ô! _Ò4Ð4Ð4Ð4Ý•a�‘dÑÔ˜xÒ'Ð'Ð'Ð'Ý•a�!�Q™$‘iÑ Ô  OÒ3Ð3Ð3Ð3Ý•q�!‘t�a‘iÑ Ô  OÒ3Ð3Ð3Ð3Ð3Ð3r;   c                  ó  — t          d¦  «        } t          | ¦  «        dk    sJ ‚t          d| z  ¦  «        dk    sJ ‚t          t          d¦  «        dz  | z  ¦  «        dk    sJ ‚t          dd| z  z   ¦  «        d	k    sJ ‚d S )
NÚIÚimr[   Ú5imr?   rN   z(3 // 2) * imé   z3 + 4im)r   r5   )ra   s    r<   Ú	test_imagre   u   s�   € Ý	ˆ#‰Œ€AÝ�a‰=Œ=˜DÒ Ð Ð Ð Ý�a˜‘c‰?Œ?˜eÒ#Ð#Ð#Ð#Ý•q˜‘t”t˜A‘v˜q‘jÑ!Ô! _Ò4Ð4Ð4Ð4Ý�a˜˜!™‘eÑÔ 	Ò)Ð)Ð)Ð)Ð)Ð)r;   c                  ó¢  — t          t          ¦  «        dk    sJ ‚t          t          ¦  «        dk    sJ ‚t          t           ¦  «        dk    sJ ‚t          t          j        ¦  «        dk    sJ ‚t          t          j        ¦  «        dk    sJ ‚t          t          j        ¦  «        dk    sJ ‚t          t          d¦  «        ¦  «        dk    sJ ‚d S )Nr   ÚInfz-InfÚNaNÚerP   )r5   r   r   r   ÚNegativeInfinityrh   ÚExp1r   r:   r;   r<   Útest_constantsrl   }   sÀ   € Ý•b‰>Œ>˜TÒ!Ð!Ð!Ð!Ý•b‰>Œ>˜UÒ"Ð"Ð"Ð"Ý•r�c‰?Œ?˜fÒ$Ð$Ð$Ð$Ý•aÔ(Ñ)Ô)¨VÒ3Ð3Ð3Ð3Ý•a”eÑÔ Ò%Ð%Ð%Ð%Ý•a”fÑÔ Ò$Ð$Ð$Ð$Ý•c˜!‘f”fÑÔ Ò$Ð$Ð$Ð$Ð$Ð$r;   c                  ó´   — t          dt          z  ¦  «        dk    sJ ‚t          dt          z  ¦  «        dk    sJ ‚t          dt          z  ¦  «        dk    sJ ‚d S )NrN   z
2 * goldenz2 * catalanz2 * eulergamma)r5   r   r   r   r:   r;   r<   Útest_constants_otherrn   ‡   s`   € Ý�a�‘mÑ$Ô$¨Ò4Ð4Ð4Ð4Ý�a�‘iÑ Ô  MÒ1Ð1Ð1Ð1Ý�a�
‘lÑ#Ô#Ð'7Ò7Ð7Ð7Ð7Ð7Ð7r;   c                  ó  — t          t          t          z  ¦  «        dk    sJ ‚t          t          t          z  ¦  «        dk    sJ ‚t          t           ¦  «        dk    sJ ‚t          t          t          z  t          z  ¦  «        dk    sJ ‚t          t          t          z  t          z  ¦  «        dk    sJ ‚t          t          t          z  t          z  ¦  «        dk    sJ ‚t          t          t          z  t          z  ¦  «        dk    sJ ‚d S )Nzx && yzx || yz!xzx && y && zzx || y || zzz || x && yzz && (x || y))r5   rE   rH   r\   r:   r;   r<   Útest_booleanrp   �   sß   € Ý•a�!‘eÑÔ Ò(Ð(Ð(Ð(Ý•a�!‘eÑÔ Ò(Ð(Ð(Ð(Ý•q�b‰>Œ>˜TÒ!Ð!Ð!Ð!Ý•a�!‘e�a‘iÑ Ô  MÒ1Ð1Ð1Ð1Ý•a�!‘e�a‘iÑ Ô  MÒ1Ð1Ð1Ð1Ý•q�1‘u¥‘kÑ"Ô" mÒ3Ð3Ð3Ð3Ý•q�1‘u¥‘kÑ"Ô" oÒ5Ð5Ð5Ð5Ð5Ð5r;   c                  ó  — t          t          t          ¦  «        ¦  «        dk    sJ ‚t          t          t          dz   ¦  «        ¦  «        dk    sJ ‚t          t          t          t          dz   z  ¦  «        ¦  «        dk    sJ ‚d S )Nzsinc(x / pi)r?   zsinc((x + 3) / pi)zsinc(x + 3))r5   r   rE   r   r:   r;   r<   Ú	test_sincrr   –   st   € Ý•d�1‘g”gÑÔ .Ò0Ð0Ð0Ð0Ý•d�1˜q™5‘k”kÑ"Ô"Ð&:Ò:Ð:Ð:Ð:Ý•d�2¥ Q¡™<Ñ(Ô(Ñ)Ô)¨]Ò:Ð:Ð:Ð:Ð:Ð:r;   c            	      óÒ  — t          t          dddg¦  «        ¦  «        dk    sJ ‚t          dt          t          dz  ¦  «        t	          t          ¦  «        gddt
          gdt          d¦  «        t          t          ¦  «        gg¦  «        } d}t          | ¦  «        |k    sJ ‚t          | d d …df         ¦  «        dk    sJ ‚t          | dd d …f         ¦  «        dk    sJ ‚t          t          ddg ¦  «        ¦  «        d	k    sJ ‚t          t          dd
g ¦  «        ¦  «        dk    sJ ‚t          t          t          t          t          z
  t           gg¦  «        ¦  «        dk    sJ ‚d S )NrP   é
   z[10]rN   r   zB[1 sin(x / 2)  abs(x);
0          1      pi;
0          e ceil(x)]z	[1, 0, 0]z[1 sin(x / 2) abs(x)]zzeros(0, 0)r?   zzeros(0, 3)z[x x - y -y])	r5   r"   r   rE   rK   r   r   r   rH   ©ÚAÚexpecteds     r<   Útest_Matricesrx   ›   s`  € Ý•f˜Q  B 4Ñ(Ô(Ñ)Ô)¨VÒ3Ð3Ð3Ð3Ý�•C�˜!™‘H”H�c¥!™fœfÐ%Ø�A•r�
Ø•C˜‘F”F�G¥A™JœJÐ'ð)ñ 	*ô 	*€Að(€Hõ �a‰=Œ=˜HÒ$Ð$Ð$Ð$å�a˜˜˜˜!˜”fÑÔ Ò,Ð,Ð,Ð,Ý�a˜˜!˜!˜!˜”fÑÔÐ!8Ò8Ð8Ð8Ð8å•f˜Q  2Ñ&Ô&Ñ'Ô'¨=Ò8Ð8Ð8Ð8Ý•f˜Q  2Ñ&Ô&Ñ'Ô'¨=Ò8Ð8Ð8Ð8å•f�q¥!¥a¡%­!¨˜nÐ-Ñ.Ô.Ñ/Ô/°>ÒAÐAÐAÐAÐAÐAr;   c                  óÚ   — t          dt          dt          z  ¦  «        dt          z  t          z  dz  gg¦  «        } t	          | ¦  «        dk    sJ ‚t	          | j        ¦  «        dk    sJ ‚d S )NrP   rN   r?   r[   z"[1 sin(2 ./ x) (3 // 5) * pi ./ x]z$[1, sin(2 ./ x), (3 // 5) * pi ./ x])r"   r   rE   r   r5   ÚT©rv   s    r<   Útest_vector_entries_hadamardr|   ®   sg   € å�•C˜�!™‘H”H˜a¥™d¥1™f Q™hÐ'Ð(Ñ)Ô)€AÝ�a‰=Œ=Ð@Ò@Ð@Ð@Ð@Ý�a”c‰?Œ?ÐDÒDÐDÐDÐDÐDÐDr;   c                  óÌ   — t          dt          dt          z  ¦  «        dt          z  t          z  dz  gddt          t          z  gg¦  «        } d}t          | ¦  «        |k    sJ ‚d S )NrP   rN   r?   r[   z.[1 sin(2/x) 3*pi/(5*x);
1        2        x*y])r"   r   rE   r   rH   r5   ru   s     r<   Ú"test_Matrices_entries_not_hadamardr~   µ   sa   € õ
 	�•C˜�!™‘H”H˜a¥™d¥1™f Q™hÐ'¨!¨Qµµ!±¨Ð5Ñ6Ô6€Að)€Hå�a‰=Œ=˜HÒ$Ð$Ð$Ð$Ð$Ð$r;   c                  óB  — t          dd¬¦  «        } t          d| | ¦  «        }t          d| | ¦  «        }t          ||z  ¦  «        dk    sJ ‚t          ||z  ¦  «        dk    sJ ‚t          d|z  |z  ¦  «        d	k    sJ ‚t          |dz  |z  ¦  «        d
k    sJ ‚t          ||dt          | ¦  «        z  z   z  ¦  «        dk    sJ ‚t          |t          dz  z  ¦  «        dk    sJ ‚t          |dz  ¦  «        dk    sJ ‚t          |t
          j        z  ¦  «        dk    sJ ‚d S )NÚnT)Úintegerrv   ÚBzA * BzB * ArN   z	2 * A * Bz	2 * B * Ar?   zA * (3 * eye(n) + B)zA ^ (x .^ 2)zA ^ 3zA ^ (1 // 2))r   r#   r5   r$   rE   r   rX   )r€   rv   r‚   s      r<   Útest_MatrixSymbolrƒ   À   s?  € Ýˆs˜DÐ!Ñ!Ô!€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�a˜‘c‰?Œ?˜gÒ%Ð%Ð%Ð%Ý�a˜‘c‰?Œ?˜gÒ%Ð%Ð%Ð%Ý�a˜‘c˜!‘eÑÔ Ò+Ð+Ð+Ð+Ý�a˜‘c˜!‘eÑÔ Ò+Ð+Ð+Ð+Ý�a˜˜Q�x¨™{œ{™]Ñ*Ñ+Ñ,Ô,Ð0FÒFÐFÐFÐFÝ�a�!˜Q™$‘iÑ Ô  NÒ2Ð2Ð2Ð2Ý�a˜‘dÑÔ˜wÒ&Ð&Ð&Ð&Ý�a�œ‘iÑ Ô  NÒ2Ð2Ð2Ð2Ð2Ð2r;   c                  óP   — t          dt          d¦  «        z  ¦  «        dk    sJ ‚d S )Né   r?   z
6 * eye(3))r5   r$   r:   r;   r<   Útest_special_matricesr†   Î   s+   € Ý�a� ™œ‘mÑ$Ô$¨Ò4Ð4Ð4Ð4Ð4Ð4r;   c            	      óÐ  — t          dddddddggdd	d
gdg¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          dg¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          t          g d¢Ž ¦  «        dk    sJ ‚t          dt          t          z  dt          dz  ff¦  «        dk    sJ ‚t          dt	          d¦  «        t          ddg ¦  «        g f¦  «        dk    sJ ‚d S )NrP   rN   r?   rd   r[   r…   r@   é   rB   rt   é   z5Any[1, 2, 3, Any[4, 5, Any[6, 7]], 8, Any[9, 10], 11])rP   rN   )r?   rd   z(1, 2, (3, 4))zAny[1])rP   z(1,)©rP   rN   r?   z	(1, 2, 3)z(1, x .* y, (3, x .^ 2))r   z.(1, [1 0 0;
0 1 0;
0 0 1], zeros(0, 0), Any[]))r5   r
   rE   rH   r!   r"   r:   r;   r<   Útest_containersr‹   Ò   s  € Ý�q˜!˜Q  A¨¨1 v °°A°r°7¸BÐ?Ñ@Ô@Ø?ò@ð @ð @ð @å�nÑ%Ô%Ð)9Ò9Ð9Ð9Ð9Ý�q�c‰?Œ?˜hÒ&Ð&Ð&Ð&Ý�dÑÔ˜vÒ%Ð%Ð%Ð%Ý•e˜Y˜Y˜YÐ'Ñ(Ô(¨KÒ7Ð7Ð7Ð7Ý�q�!�A™# ¥1 a¡4˜yÐ)Ñ*Ô*Ð.HÒHÐHÐHÐHå�q�#˜a™&œ&¥&¨¨A¨rÑ"2Ô"2°BÐ7Ñ8Ô8Ð<nÒnÐnÐnÐnÐnÐnr;   c                  ó’   — t          t          t          z   t          z  dd¬¦  «        } dt          j        d¦  «        z  }| |k    sJ ‚d S )NÚmeF©Ú	assign_toÚinlinez)const Catalan = %s
me = (x + y) / Catalané   )r5   rE   rH   r   Úevalf)Úsourcerw   s     r<   Útest_julia_noninliner”   Þ   sP   € Ý��1™�g™°¸eÐDÑDÔD€Fð	!åŒ�bÑÔñ€Hð �XÒÐÐÐÐÐr;   c                  óò  ‡— t          t          t          dk     ft          dz  df¦  «        Št          ‰¦  «        dk    sJ ‚t          ‰d¬¦  «        dk    sJ ‚t          ‰dd¬	¦  «        d
k    sJ ‚t          t          dz  t          dk     ft          dz  t          dk     ft          dz  t          dk     ft          dz  df¦  «        Šd} t          ‰¦  «        | k    sJ ‚t          ‰d¬¦  «        d| z   k    sJ ‚t          ‰dd¬	¦  «        dk    sJ ‚t          t          t          dk     ft          dz  t          dk    ft          t          ¦  «        t          dk    f¦  «        Št	          t
          ˆfd„¦  «         d S )NrP   rN   Tz((x < 1) ? (x) : (x .^ 2))Úr©r�   zr = ((x < 1) ? (x) : (x .^ 2))FrŽ   z,if (x < 1)
    r = x
else
    r = x .^ 2
endr?   rd   r[   zI((x < 1) ? (x .^ 2) :
(x < 2) ? (x .^ 3) :
(x < 3) ? (x .^ 4) : (x .^ 5))zr = zmif (x < 1)
    r = x .^ 2
elseif (x < 2)
    r = x .^ 3
elseif (x < 3)
    r = x .^ 4
else
    r = x .^ 5
endr   c                  ó"   •— t          ‰ ¦  «        S )Nr4   )Úexprs   €r<   ú<lambda>z&test_julia_piecewise.<locals>.<lambda>  s   ø€ �z¨$Ñ/Ô/€ r;   )r   rE   r5   r   r   Ú
ValueError)rw   r™   s    @r<   Útest_julia_piecewiserœ   ç   s”  ø€ Ý•a�˜Qš�Z¥! Q¡$¨ Ñ.Ô.€DÝ�dÑÔÐ;Ò;Ð;Ð;Ð;Ý�d cÐ*Ñ*Ô*Ø(ò*ð *ð *ð *å�d c°%Ð8Ñ8Ô8ð	òð ð ð õ •a˜‘d�A šE�]¥Q¨¡T­1¨qª5 MµA°q±D½!¸aº%°=Å1ÀaÁ4ÈÀ,ÑOÔO€Dð1€Hõ �dÑÔ˜xÒ'Ð'Ð'Ð'Ý�d cÐ*Ñ*Ô*¨f°xÑ.?Ò?Ð?Ð?Ð?Ý�d c°%Ð8Ñ8Ô8ð	ò	ð 	ð 	ð 	õ •a�˜Qš�Z¥! Q¡$­¨Aª µµQ±´½¸Qº°Ñ@Ô@€DÝ
�:Ð/Ð/Ð/Ð/Ñ0Ô0Ð0Ð0Ð0r;   c                  ó>  — t          t          t          dk     ft          dz  df¦  «        } t          d| z  ¦  «        dk    sJ ‚t          | t          z  ¦  «        dk    sJ ‚t          | t          t          z  z  ¦  «        dk    sJ ‚t          | dz  ¦  «        dk    sJ ‚d S )	NrP   rN   Tz2 * ((x < 1) ? (x) : (x .^ 2))z((x < 1) ? (x) : (x .^ 2)) ./ xz&((x < 1) ? (x) : (x .^ 2)) ./ (x .* y)r?   z((x < 1) ? (x) : (x .^ 2)) / 3)r   rE   r5   rH   )Úpws    r<   Ú test_julia_piecewise_times_constrŸ     s£   € Ý	•A•q˜1’u�:¥ 1¡ d˜|Ñ	,Ô	,€BÝ�a˜‘dÑÔÐ?Ò?Ð?Ð?Ð?Ý�b�‘dÑÔÐ@Ò@Ð@Ð@Ð@Ý�b�!�A™#‘hÑÔÐ#KÒKÐKÐKÐKÝ�b˜‘dÑÔÐ?Ò?Ð?Ð?Ð?Ð?Ð?r;   c                  ó°   — t          g d¢g¦  «        } t          | d¬¦  «        dk    sJ ‚t          ddgddgg¦  «        } t          | d	¬¦  «        d
k    sJ ‚d S )NrŠ   Úar—   za = [1 2 3]rP   rN   r?   rd   rv   zA = [1 2;
3 4])r"   r5   r{   s    r<   Útest_julia_matrix_assign_tor¢     sr   € Ý�	�	�	ˆ{ÑÔ€AÝ�a 3Ð'Ñ'Ô'¨=Ò8Ð8Ð8Ð8Ý��A�˜˜A˜ÐÑ Ô €AÝ�a 3Ð'Ñ'Ô'Ð+<Ò<Ð<Ð<Ð<Ð<Ð<r;   c                  ó  ‡‡— t          g d¢g¦  «        Št          ddd¦  «        } t          ddd¦  «        Št          ‰| ¬¦  «        dk    sJ ‚t          t          ˆfd	„¦  «         t          t          ˆˆfd
„¦  «         d S )NrŠ   r‚   rP   r?   ÚCrN   r—   zB = [1 2 3]c                  ó0   •— t          ‰ t          ¬¦  «        S ©Nr—   )r5   rE   r{   s   €r<   rš   z2test_julia_matrix_assign_to_more.<locals>.<lambda>  s   ø€ �z¨!µqÐ9Ñ9Ô9€ r;   c                  ó&   •— t          ‰ ‰¬¦  «        S r¦   r4   ©rv   r¤   s   €€r<   rš   z2test_julia_matrix_assign_to_more.<locals>.<lambda>  ó   ø€ �z¨!°qÐ9Ñ9Ô9€ r;   ©r"   r#   r5   r   r›   ©r‚   rv   r¤   s    @@r<   Ú test_julia_matrix_assign_to_morer¬     s”   øø€ å�	�	�	ˆ{ÑÔ€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�a 1Ð%Ñ%Ô%¨Ò6Ð6Ð6Ð6Ý
�:Ð9Ð9Ð9Ð9Ñ:Ô:Ð:Ý
�:Ð9Ð9Ð9Ð9Ð9Ñ:Ô:Ð:Ð:Ð:r;   c                  óÐ   ‡‡— t          dgg¦  «        Št          ddd¦  «        } t          ddd¦  «        Št          ‰| ¬¦  «        dk    sJ ‚t          t          ˆˆfd„¦  «         d S )	Nr?   r‚   rP   r¤   rN   r—   zB = [3]c                  ó&   •— t          ‰ ‰¬¦  «        S r¦   r4   r¨   s   €€r<   rš   z'test_julia_matrix_1x1.<locals>.<lambda>'  r©   r;   rª   r«   s    @@r<   Útest_julia_matrix_1x1r¯      sx   øø€ Ý��ˆu‰Œ€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�a 1Ð%Ñ%Ô%¨Ò2Ð2Ð2Ð2õ �:Ð9Ð9Ð9Ð9Ð9Ñ:Ô:Ð:Ð:Ð:r;   c                  óº  — t          t          dt          t          z  gg¦  «        } t          | d         dz  | d         z   | d         z   ¦  «        dk    sJ ‚t	          ddd¦  «        } t          | ¦  «        dk    sJ ‚t          | d         dz  t          | d         ¦  «        z   | d         z   ¦  «        d	k    sJ ‚t          t          | ¦  «        ¦  «        d
k    sJ ‚d S )NrN   ©r   r   )r   rP   )r   rN   zx .^ 2 + x .* y + 2ÚAArP   r?   z%sin(AA[1,2]) + AA[1,1] .^ 2 + AA[1,3]zAA[1,1] + AA[1,2] + AA[1,3])r"   rE   rH   r5   r#   r   Úsumr{   s    r<   Útest_julia_matrix_elementsr´   *  sß   € Ý•�A•q�‘s�ˆ}ÑÔ€AÝ�a˜”g˜q‘j 1 T¤7Ñ*¨Q¨t¬WÑ4Ñ5Ô5Ð9NÒNÐNÐNÐNÝ�T˜1˜aÑ Ô €AÝ�a‰=Œ=˜DÒ Ð Ð Ð Ý�a˜”g˜q‘j¥3 q¨¤v¡;¤;Ñ.°°3´Ñ7Ñ8Ô8Ø2ò3ð 3ð 3ð 3å•c˜!‘f”fÑÔÐ!>Ò>Ð>Ð>Ð>Ð>Ð>r;   c                  óÖ   — t          d¦  «        dk    sJ ‚t          t          j        ¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚t          t          j        ¦  «        dk    sJ ‚d S )NTÚtrueFÚfalse)r5   r   r¶   r·   r:   r;   r<   Útest_julia_booleanr¸   4  sp   € Ý�dÑÔ˜vÒ%Ð%Ð%Ð%Ý•a”fÑÔ Ò'Ð'Ð'Ð'Ý�eÑÔ Ò'Ð'Ð'Ð'Ý•a”gÑÔ 'Ò)Ð)Ð)Ð)Ð)Ð)r;   c                  ó(  — t          t          ¦  «        5  t          t          j        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          d¦  «        } t           | t          ¦  «                             t          ¦  «        d¬¦  «        dk    sJ ‚d S )NÚfF)Ústrictz:# Not supported in Julia:
# Derivative
Derivative(f(x), x))r   ÚNotImplementedErrorr5   r   ÚComplexInfinityr   rE   Údiff)rº   s    r<   Útest_julia_not_supportedr¿   ;  sÉ   € Ý	Õ#Ñ	$Ô	$ð &ð &Ý•1Ô$Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &õ 	�‰Œ€AÝ�a�a�‘d”d—i’i¥‘l”l¨5Ð1Ñ1Ô1ð	òð ð ð ð ð s   •;»?Á?c                  ó¾   — t          d¦  «        } t          d¦  «        }t          | t          dk     f|t          dk    fd¦  «        }t          |d¬¦  «        dk    sJ ‚d S )	NÚendlessÚ	elsewherer   rP   )rP   TF)r�   zCif (x < 0)
    endless
elseif (x <= 1)
    elsewhere
else
    1
end)r   r   rE   r5   )Út1Út2rž   s      r<   Ú%test_trick_indent_with_end_else_wordsrÅ   G  sl   € å	
ˆ9‰Œ€BÝ	
ˆ;‰Œ€BÝ	�B�˜Aš�; ¥Q¨!¢V ¨iÑ	8Ô	8€BÝ�b Ð'Ñ'Ô'ð	òð ð ð ð ð r;   c                  ó¸  — t          ddd¦  «        } t          ddd¦  «        }t          ddd¦  «        }t          ddd¦  «        }t          | |¦  «        }t          |¦  «        dk    sJ ‚t          ||z  ¦  «        dk    sJ ‚t          ||z  |z  ¦  «        d	k    sJ ‚t          || z  ¦  «        d
k    sJ ‚t          |t          z  t          z  ¦  «        dk    sJ ‚d S )Nrv   r?   r‚   ÚvrP   ÚhzA .* Bz(A .* B) * vzh * (A .* B) * vz(A .* B) * Az(x .* y) * (A .* B))r#   r%   r5   rE   rH   )rv   r‚   rÇ   rÈ   r¤   s        r<   Útest_haramardrÉ   V  sì   € Ý�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ˜˜1ÑÔ€AÝ�a‰=Œ=˜HÒ$Ð$Ð$Ð$Ý�a˜‘c‰?Œ?˜nÒ,Ð,Ð,Ð,Ý�a˜‘c˜!‘eÑÔÐ 2Ò2Ð2Ð2Ð2Ý�a˜‘c‰?Œ?˜nÒ,Ð,Ð,Ð,å�a�‘c�!‘eÑÔÐ 5Ò5Ð5Ð5Ð5Ð5Ð5r;   c                  óž   — t          ddi ¦  «        } d| d<   d| d<   d| d<   d	| d
<   t          t          z  | d<   t          | ¦  «        dk    sJ ‚d S )Nr[   r…   rt   )rN   rN   é   )rP   rN   é   )rP   r?   é   )r   r?   )r?   r   zHsparse([4, 2, 3, 1, 2], [1, 3, 3, 4, 4], [x .* y, 20, 10, 30, 22], 5, 6))r&   rE   rH   r5   )ÚMs    r<   Útest_sparserÏ   d  sn   € Ý�Q˜˜2ÑÔ€AØ€A€d�GØ€A€d�GØ€A€d�GØ€A€d�GÝ•‰c€A€d�GÝ�a‰=Œ=ØRòð ð ð ð ð r;   c                  ó†  — t          d¦  «        } t          t          t          t          fD ].}t           || t          ¦  «        ¦  «        |j        dz   k    sJ ‚Œ/t          t          t          t          fD ]-}t           |t          ¦  «        ¦  «        |j        dz   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 ‚d S )Nr€   z(n, x)z(x)zhankelh1(n, x)zhankelh2(n, x)z?sqrt(2) * sqrt(pi) * sqrt(1 ./ x) .* besselj(n + 1 // 2, x) / 2z?sqrt(2) * sqrt(pi) * sqrt(1 ./ x) .* bessely(n + 1 // 2, x) / 2)r   r)   r*   r+   r,   r5   rE   Ú__name__r/   r1   r0   r2   r-   r.   r'   r(   )r€   rº   s     r<   Útest_specfunrÒ   p  s#  € Ýˆs‰Œ€AÝ•w¥­Ð1ð <ð <ˆÝ˜!˜!˜A�q™'œ'Ñ"Ô" a¤j°8Ñ&;Ò;Ð;Ð;Ð;Ð;Ý•k¥6­;Ð7ð 6ð 6ˆÝ˜!˜!�A™$œ$ÑÔ 1¤:°Ñ#5Ò5Ð5Ð5Ð5Ð5Ý•g˜a¥‘m”mÑ$Ô$Ð(8Ò8Ð8Ð8Ð8Ý•g˜a¥‘m”mÑ$Ô$Ð(8Ò8Ð8Ð8Ð8Ý•b˜�A‘h”hÑÔÐ#dÒdÐdÐdÐdÝ•b˜�A‘h”hÑÔÐ#dÒdÐdÐdÐdÐdÐdr;   c                  óF  — 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                              || |z
  ¦  «        }t          |¦  «        d	k    sJ ‚d S )
Nrv   rP   r?   r‚   r¤   r±   zA[1,1]z
3 * A[1,1]z(A - B)[1,1])r#   r5   Úsubs)rv   r‚   r¤   ÚFs       r<   Útest_MatrixElement_printingrÖ   |  s«   € å�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€Aå�a˜”gÑÔ (Ò*Ð*Ð*Ð*Ý�a˜!˜Dœ'‘kÑ"Ô" lÒ2Ð2Ð2Ð2à	ˆ$Œ�Š�Q˜˜A™ÑÔ€AÝ�a‰=Œ=˜NÒ*Ð*Ð*Ð*Ð*Ð*r;   N)^Ú
sympy.corer   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   Úsympy.functionsr   r   r   r   r   r   r   Úsympy.testing.pytestr   Úsympy.utilities.lambdifyr    Úsympy.matricesr!   r"   r#   r$   r%   r&   Úsympy.functions.special.besselr'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   Úsympy.printing.juliar5   rE   rH   r\   r=   rF   rI   rL   rS   rV   rY   r]   r_   re   rl   rn   rp   rr   rx   r|   r~   rƒ   r†   r‹   r”   rœ   rŸ   r¢   r¬   r¯   r´   r¸   r¿   rÅ   rÉ   rÏ   rÒ   rÖ   r:   r;   r<   ú<module>rÞ      s–  ðð?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?à IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9ð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ðNð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð 'Ð &Ð &Ð &Ð &Ð &à +Ð +Ð +Ð +Ð +Ð +à
ˆ'�'Ñ
Ô
�€€1€að+ð +ð +ð
:ð :ð :ð,ð ,ð ,ð/ð /ð /ð	Yð 	Yð 	Yð"ð "ð "ð2ð 2ð 2ðAð Að Að64ð 4ð 4ð*ð *ð *ð%ð %ð %ð8ð 8ð 8ð6ð 6ð 6ð;ð ;ð ;ð
Bð Bð Bð&Eð Eð Eð ð%ð %ñ „ð%ð3ð 3ð 3ð5ð 5ð 5ð	oð 	oð 	oðð ð ð1ð 1ð 1ð@@ð @ð @ð=ð =ð =ð;ð ;ð ;ð;ð ;ð ;ð?ð ?ð ?ð*ð *ð *ð	ð 	ð 	ðð ð ð6ð 6ð 6ð	ð 	ð 	ð	eð 	eð 	eð
,ð 
,ð 
,ð 
,ð 
,r;   