
    sg*                        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 d dl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 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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZD d dlEmFZG  ed      \  ZHZIZJZK ed      ZLd ZMd	 ZNd
 ZOd ZPd ZQd ZRd ZSd ZTd ZUd ZVd ZWd ZXd ZYd ZZd Z[d Z\y)    )SpioosymbolsFunctionRationalIntegerTuple
DerivativeEqNeLeLtGtGe)Integral)Sum)0expsincosfresnelcfresnels	conjugateMaxMingamma	polygammaloggammaerferfierfcerf2expinterfinverfcinvEiSiCiliShiChi
uppergammabetasubfactorialerf2inv	factorial
factorial2catalanRisingFactorialFallingFactorialharmonicatan2secacschermitelaguerreassoc_laguerrejacobi
gegenbauer
chebyshevt
chebyshevulegendreassoc_legendreLiLambertW)mathematica_codezx,y,z,wfc                  h    t        t        d            dk(  sJ t        t        d            dk(  sJ y )NC   67-1)mcoder	        X/var/www/html/venv/lib/python3.12/site-packages/sympy/printing/tests/test_mathematica.pytest_IntegerrO      s0    %%%%%%rM   c                  X   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 y )N      z3/7   	   2iz-3/7zx + 3/7z(3/7)*x)rK   r   xrL   rM   rN   test_RationalrX      s    !Q E)))"a!S(((!R!V+++"b!"e+++Xa^#$	111!Q!"i///rM   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 y )Nzx == yzx != yzx <= yzx < yzx > yzx >= y)	rK   r   rW   yr   r   r   r   r   rL   rM   rN   test_Relationalr[   #   s    Aq?h&&&Aq?h&&&Aq?h&&&Aq?g%%%Aq?g%%%Aq?h&&&rM   c                  	   t        t        t        t        t                    dk(  sJ t        t        t              t        t              z        dk(  sJ t        t        t              t        t              z        dk(  sJ t        t        t        t                    dk(  sJ t        t        t                    dk(  sJ t        t        t        t        t              t        t        t              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        t                    d
k(  sJ t        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+        t                    dk(  sJ t        t-        t        t                    dk(  sJ t        t/        t        t                    dk(  sJ t        t1        t                    dk(  sJ t        t3        t                    dk(  sJ t        t5        t        t                    dk(  sJ t        t7        t                    dk(  sJ t        t9        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        tA        t                    dk(  sJ t        tC        t        t                    dk(  sJ t        tE        t                    dk(  sJ t        tG        t                    dk(  sJ t        tI        t                    dk(  sJ t        tK        t        t                    dk(  sJ t        tM        t        t                    d k(  sJ t        tO        t                    d!k(  sJ t        tQ        t                    d"k(  sJ t        tQ        t        t                    d#k(  sJ t        tS        t                    d$k(  sJ t        tU        t                    d%k(  sJ t        tU        t        d&            d'k(  sJ t        tU        t        t                    d(k(  sJ y ))Nz
f[x, y, z]zSin[x]^Cos[x]zArcCsc[x]*Sec[x]zArcTan[x, y]zConjugate[x]zMax[x, y, z]*Min[y, z]zFresnelC[x]zFresnelS[x]zGamma[x]zGamma[x, y]zPolyGamma[x, y]zLogGamma[x]zErf[x]zErfc[x]zErfi[x]z	Erf[x, y]zExpIntegralE[x, y]zInverseErfc[x]zInverseErf[x]zInverseErf[x, y]zExpIntegralEi[x]zCosIntegral[x]zLogIntegral[x]zSinIntegral[x]zSinhIntegral[x]zCoshIntegral[x]z
Beta[x, y]zFactorial[x]zFactorial2[x]zSubfactorial[x]zFactorialPower[x, y]zPochhammer[x, y]zCatalanNumber[x]zHarmonicNumber[x]zHarmonicNumber[x, y]zLogIntegral[x] - LogIntegral[2]zProductLog[x]rI   zProductLog[-1, x]zProductLog[y, x])+rK   rE   rW   rZ   zr   r   r7   r8   r6   r   r   r   r   r   r   r,   r   r   r   r!   r    r"   r#   r%   r$   r/   r&   r(   r)   r'   r*   r+   r-   r0   r1   r.   r4   r3   r2   r5   rB   rC   rL   rM   rN   test_Functionr^   ,   s   1a,,,Q3q6!"o555Q$q'!"&8888q!///1.000Q1c!Qi'(,DDDD!...!...q?j(((Aq!"m3331a!%6666!...Q=H$$$a>Y&&&a>Y&&&a+++1"6666 0000...A#5555A<----A<++++A<++++A<++++Q=----Q=----a,,,1.000A?222a!%6666!!Q'(,BBBBA&'+==== 2222!!4444!Q $::::A<<<<<!000!R!%8888!Q $6666rM   c                     t        t        t        t                    dk(  sJ t        t	        t        t                    dk(  sJ t        t        t        t        t                    dk(  sJ t        t        t        t        t        t                    dk(  sJ t        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        t                    d	k(  sJ y )
NzHermiteH[x, y]zLaguerreL[x, y]zLaguerreL[x, y, z]zJacobiP[x, y, z, w]zGegenbauerC[x, y, z]zChebyshevT[x, y]zChebyshevU[x, y]zLegendreP[x, y]zLegendreP[x, y, z])rK   r9   rW   rZ   r:   r;   r]   r<   wr=   r>   r?   r@   rA   rL   rM   rN   test_special_polynomialsra   V   s    A#3333!Q $55551a()-AAAA1a#$(====Aq!$%)????Aq!"&8888Aq!"&8888!Q $55551a()-AAAArM   c                  p   t        t        dz        dk(  sJ t        t        t        dz  z        dk(  sJ t        dt        t              dz  t        t        t        z  z
  z  z  t        dz  t        z   z        dk(  sJ t        t        dz        d	k(  sJ t        t        t	        dd      z        d
k(  sJ y )NrQ   zx^3zx^(y^3)   g      @   z(3.5*f[x])^(-x + y^x)/(x^2 + y)g      zx^(-1.0)zx^(2/3))rK   rW   rZ   rE   r   rL   rM   rN   test_Powre   b   s    A;%QTy(((AaDHAqD))1a4!845)* * *D>Z'''HQN"#y000rM   c                     t        dd      \  } }}}t        t        t        z  t        z        dk(  sJ t        t        t        z  | z        dk(  sJ t        t        t        z  | z  |z        dk(  sJ t        t        t        z  | z  |z  |z        dk(  sJ t        t        | z  |z  ||z   z  | z  t        z        dk(  sJ y )	NzA B C DF)commutativezx*y*zzx*y*Azx*y*A**Bzx*y*A**B**Czx*y*A**B**(C + D)**A)r   rK   rW   rZ   r]   )ABCDs       rN   test_Mulrl   k   s    6JAq!Q1Q<7"""1Q<7"""1Qq>Z'''1Qq},,,1QAq"#'====rM   c                     t        t        j                        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        j                        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        j                        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        dt        j                  z        dk(  sJ t        t        j                        dk(  sJ t        t        j                         dk(  sJ y )N01rJ   z1/2IInfinityz	-InfinityComplexInfinityIndeterminateEPiGoldenRatiozE(1/3 + (1/3)*(19 - 3*33^(1/2))^(1/3) + (1/3)*(3*33^(1/2) + 19)^(1/3))rd   zG2*(1/3 + (1/3)*(19 - 3*33^(1/2))^(1/3) + (1/3)*(3*33^(1/2) + 19)^(1/3))
EulerGammaCatalan)rK   r   ZeroOneNegativeOneHalfImaginaryUnitr   NegativeInfinityrr   NaNExp1r   rv   TribonacciConstantrw   rx   rL   rM   rN   test_constantsr   t   s   =C<34'''=E!!!!S(((9
"""##$333""#'8888<?***=C9=000%%&	)) ) ) 1'''(	)) ) ) ,...y(((rM   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 y )Nrc   rd   rQ            rR      rT   
      z){1, 2, 3, {4, 5, {6, 7}}, 8, {9, 10}, 11})rc   rd   )rQ   r   z{1, 2, {3, 4}}z{1})rc   )rc   rd   rQ   z	{1, 2, 3})rK   r
   rL   rM   rN   test_containersr      s    !QAq1a&>1q"gr:;34 4 4 $4444!:;%	"#{222rM   c                     ddl m} m}m}m}  | g dg dg dg dg      } ||      } ||      } ||      }t        |      t        |      cxk(  rdk(  sJ  J t        |      t        |      cxk(  rdk(  sJ  J t         | ddg             d	k(  sJ t         |ddg             d
k(  sJ t         | ddg             d	k(  sJ t         |ddg             dk(  sJ t         | ddg             dk(  sJ t         |ddg             dk(  sJ y )Nr   )MutableDenseMatrixMutableSparseMatrixImmutableDenseMatrixImmutableSparseMatrix)rc   rI   r   r   )r   rc   rI   r   )r   r   rc   rI   )r   r   r   rc   z;{{1, -1, 0, 0}, {0, 1, -1, 0}, {0, 0, 1, -1}, {0, 0, 0, 1}}zsSparseArray[{{1, 1} -> 1, {1, 2} -> -1, {2, 2} -> 1, {2, 3} -> -1, {3, 3} -> 1, {3, 4} -> -1, {4, 4} -> 1}, {4, 4}]z{}zSparseArray[{}, {0, 0}]rQ   zSparseArray[{}, {0, 3}]z{{}, {}, {}}zSparseArray[{}, {3, 0}])sympy.matricesr   r   r   r   rK   )r   r   r   r   rh   ri   rj   rk   s           rN   test_matricesr      s\   4 4						A 	AAQAa A8uQx 	     8uQx 	     #Aq"-.$666$Q2./3LLLL#Aq"-.$666$Q2./3LLLL#Aq"-..@@@$Q2./3LLLLrM   c                     ddl m} m}m}m}  | g dg dg dgg dg dg dgg      }t        |      d	k(  sJ  ||      }t        |      d	k(  sJ  ||      }t        |      d
k(  sJ  ||      }t        |      d
k(  sJ y )Nr   )MutableDenseNDimArrayImmutableDenseNDimArrayMutableSparseNDimArrayImmutableSparseNDimArray)rc   rd   rQ   r   )r   r   rR   r   )rT   r   r      )            )   rS         )            zg{{{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}, {{13, 14, 15, 16}, {17, 18, 19, 20}, {21, 22, 23, 24}}}a  SparseArray[{{1, 1, 1} -> 1, {1, 1, 2} -> 2, {1, 1, 3} -> 3, {1, 1, 4} -> 4, {1, 2, 1} -> 5, {1, 2, 2} -> 6, {1, 2, 3} -> 7, {1, 2, 4} -> 8, {1, 3, 1} -> 9, {1, 3, 2} -> 10, {1, 3, 3} -> 11, {1, 3, 4} -> 12, {2, 1, 1} -> 13, {2, 1, 2} -> 14, {2, 1, 3} -> 15, {2, 1, 4} -> 16, {2, 2, 1} -> 17, {2, 2, 2} -> 18, {2, 2, 3} -> 19, {2, 2, 4} -> 20, {2, 3, 1} -> 21, {2, 3, 2} -> 22, {2, 3, 3} -> 23, {2, 3, 4} -> 24}, {2, 3, 4}])sympy.tensor.arrayr   r   r   r   rK   )r   r   r   r   examples        rN   test_NDArrayr      s    : : $



 


	G >>> > > &g.G>>> > > %W-G>	
 
 
 'w/G>	
 
 
rM   c            	         t        t        t        t        t                    t                    dk(  sJ t        t        t	        t        dz   t
        dz  z
        t        t         t        ft
        t         t        f            dk(  sJ y )NzHold[Integrate[Sin[Sin[x]], x]]rd   zTHold[Integrate[Exp[-x^2 - y^2], {x, -Infinity, Infinity}, {y, -Infinity, Infinity}]])rK   r   r   rW   r   rZ   r   rL   rM   rN   test_Integralr      ss    #c!f+q)*.OOOO#q!teadl+rc2,rc2,( )	%% % %rM   c            	         t        t        t        t              t                    dk(  sJ t        t        t        t                    dk(  sJ t        t        t        t              t        dz  z  t        d            dk(  sJ t        t        t        t              t        dz  z  t        t        t                    dk(  sJ t        t        t        t              t        dz  z  t        t        dt                    dk(  sJ y )	NzHold[D[Sin[x], x]]zHold[D[x, x]]r   rd   zHold[D[y^4*Sin[x], {x, 2}]]zHold[D[y^4*Sin[x], x, y, x]]rQ   z!Hold[D[y^4*Sin[x], x, {y, 3}, x]])rK   r   r   rW   rZ   rL   rM   rN   test_Derivativer      s    CFA&'+????Aq!"o555CF1a4KA./3PPPPCF1a4KAq126TTTTCF1a4KAq!459\\\\rM   c            	         t        t        t        t              t        ddf            dk(  sJ t        t        t	        t        dz   t
        dz  z
        t        t         t        ft
        t         t        f            dk(  sJ y )Nr   r   zHold[Sum[Sin[x], {x, 0, 10}]]rd   zNHold[Sum[Exp[-x^2 - y^2], {x, -Infinity, Infinity}, {y, -Infinity, Infinity}]])rK   r   r   rW   r   rZ   r   rL   rM   rN   test_Sumr      su    SVaBZ()-LLLLS!Q$A&"b\"b\# $	%% % %rM   c                  F    ddl m}   |        j                  d      dk(  sJ y )Nr   MCodePrinterzHello Worldz(* Hello World *))sympy.printing.mathematicar   _get_commentr   s    rN   test_commentr     s'    7>&&}5  rM   c                      t        dt              } ddi}t         | t              |      dk(  sJ t         | t              |      dk(  sJ dd dfgi}t         | t              |      dk(  sJ y )	Nsome_function)clsSomeFunction)user_functionszSomeFunction[z]c                      y)NTrL   )rW   s    rN   <lambda>z test_userfuncs.<locals>.<lambda>  s    rM   SomeOtherFunctionzSomeOtherFunction[z])r   r   rK   r]   )r   my_user_functionss     rN   test_userfuncsr     s    O:M(.9a(* 	   a(* 	   
N,?@AB a(* 	  rM   N)]
sympy.corer   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   sympy.integralsr   sympy.concreter   sympy.functionsr   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   r   rD   rK   rW   rZ   r]   r`   rE   rO   rX   r[   r^   ra   re   rl   r   r   r   r   r   r   r   r   r   rL   rM   rN   <module>r      s   < < < < < $ ; ; ; ; ; ; ; ; ; ; ; ; ; AY
1aSM&
0''7T	B1>)23MB2j%]%rM   