
    g*                        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\dS )    )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                      t          t          d                    dk    sJ t          t          d                    dk    sJ d S )NC   67-1)mcoder	        a/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/printing/tests/test_mathematica.pytest_IntegerrO      sF    %%%%%%%%%%rM   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   	   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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 d S )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 d S ))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3q66!""o5555Q$q''!""&88888q!////1.0000Q1c!Qii'((,DDDDD!....!....q??j((((Aq!!""m33331a!!%66666!....Q==H$$$$a>>Y&&&&a>>Y&&&&a++++1"66666 00000....A#55555A<<-----A<<+++++A<<+++++A<<+++++Q==-----Q==-----a,,,,1.0000A?2222a!!%66666!!Q''((,BBBBBA&&''+===== 22222!!44444!Q  $:::::A<<<<<<<!0000!R!!%88888!Q  $6666666rM   c                  l   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 d S )
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   sP   A#33333!Q  $555551a(())-AAAAA1a##$$(=====Aq!$$%%)?????Aq!!""&88888Aq!!""&88888!Q  $555551a(())-AAAAAAArM   c                     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 d S )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((((AaDDHAqD))1a4!8455)* * * *D>>Z''''HQNN"##y000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 d S )	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    66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 d S )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((((99
""""#$$3333"##'88888<<?****==C99=0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 d S )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44!::;;%			"##{222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n J t          |          t          |          cxk    rdk    sn 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 d S )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      s6   4 4 4 4 4 4 4 4 4 4 4 4						 	A 	AAQAa  A88uQxx    	      88uQxx    	      ##Aq"--..$6666$$Q2..//3LLLLL##Aq"--..$6666$$Q2..//3LLLLL##Aq"--...@@@@$$Q2..//3LLLLLLLrM   c                  F   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 d S )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            	      j   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 d S )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      s    #c!ff++q))**.O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 d S )	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FFA&&''+?????Aq!!""o5555CFF1a4KA..//3PPPPPCFF1a4KAq11226TTTTTCFF1a4KAq!44559\\\\\\\rM   c            	      V   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 d S )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      s    SVVaBZ(())-LLLLLS!Q$A&&"b\"b\# # $ $	%% % % % % %rM   c                  X    ddl m}   |                                 d          dk    sJ d S )Nr   MCodePrinterzHello Worldz(* Hello World *))sympy.printing.mathematicar   _get_commentr   s    rN   test_commentr     sL    777777<>>&&}5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 d S )	Nsome_function)clsSomeFunction)user_functionszSomeFunction[z]c                     dS )NTrL   )rW   s    rN   <lambda>z test_userfuncs.<locals>.<lambda>  s    d rM   SomeOtherFunctionzSomeOtherFunction[z])r   r   rK   r]   )r   my_user_functionss     rN   test_userfuncsr     s    O:::M(.9a(* * * 	    a(* * * 	    
NN,?@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 @ @ @ @ @WY
1aHSMM& & &
0 0 0' ' ''7 '7 '7T	B 	B 	B1 1 1> > >) ) )23 3 3M M MB2 2 2j% % %] ] ]% % %      rM   