+
    h-                     2   ^ RI Ht ^ RIHt ^ RIHtHtHtHt ^ RI	H
t
HtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHtHt ^ R
IHtHt ^ RIHt ^ RIHt ^ RIH t H!t!H"t"H#t# ^ RI$H%t% ^ RI&H't' ^ RI(H)t)H*t*H+t+H,t,H-t-H.t. R t/R t0R t1R t2R t3R t4R t5R t6R# )    )Sum)Expr)
DerivativeFunctiondiffSubs)IRationalpi)Eq)S)Symbol)	factorial)imre)explog)Max)	Piecewise)coscotsintan)	NDimArray)raises)abcxyzc                  	   \        ^^4      P                  \        4      \        P                  J g   Q h\
        P                  ! \        4      \        P                  J g   Q h\        P                  ! \        4      \        P                  J g   Q h\        P                  ! \        ^ 4      \        8X  g   Q h\        ^,          P                  \        ^\        4      ^ 8X  g   Q h\        ^,          P                  \        ^3\        4      ^ 8X  g   Q h\        ^,          P                  \        ^3\        4      ^8X  g   Q h\        ^,          P                  \        ^3\        ^34      ^8X  g   Q h\        ^,          P                  \        ^34      ^8X  g   Q h\        ^,          P                  \        \        ^ 4      ^\        ,          8X  g   Q h\        ^,          P                  \        \        ^ 34      ^\        ,          8X  g   Q h\        ^,          P                  \        \        4      ^ 8X  g   Q h\        \        R 4       \        ^4      p \        \        ,          \        V ,          ,           pVP                  \        4      \        8X  g   Q hVP                  \        4      \        ^\        ^,          ,          ,           8X  g   Q hVP                  \        4      P                  \        4      \        ^4      8X  g   Q h\        \        \        ,           ,          pVP                  \        4      \        \        ,           8X  g   Q hVP                  \        4      \        8X  g   Q hVP                  \        4      P                  \        4      \        ^4      8X  g   Q h\        V ,          pVP                  \        ^4      \        ^ 4      8X  g   Q hVP                  \        ^4      \        ^x4      8X  g   Q h\        \        ^4      ,          pVP                  \        4      ^\        ,          8X  g   Q h\        \        ,          \        ,          pVP                  \        4      \        \        ,          8X  g   Q hR# )   c                  8    \         P                  ! ^\         4      # )r#   r   r        </usr/lib/python3/dist-packages/sympy/core/tests/test_diff.py<lambda>test_diff.<locals>.<lambda>   s    qvva|r'   N)r
   r   r   r   Zeror	   r   r    r   
ValueErrorr   r   r   pes     r(   	test_diffr0      s   Aq>q!QVV+++66!9771:66!Q<1qD;;q!Q1$$$qD;;1vq!Q&&&qD;;1vq!Q&&&qD;;1v1v&!+++qD;;1v!###qD;;q!Q1Q3&&&qD;;q1a&!QqS(((qD;;q!!!!
:+,A	!ad
A66!9>>66!9AadF
"""66!9>>!+++	1q5	A66!9A66!9>>66!9>>!+++	1A66!Q<8A;&&&66!Q<8C=(((	8A;A66!9!	!AA66!9!r'   c                  6   \        ^4      p \        ^4      p\        ^4      pW) \        V,          ,           ,          \        \        4      ,          \        V) \        V,          ,           ,          \        \        4      ,          ,           pV^R\        ^,          ,           ,          \        \        4      ,          \        R\        ^,          ,           ,          \        \        4      ,          ,           8X  g   Q hVP	                  \        4      P                  4       \        ^,          \        \        4      ,          8X  g   Q h\        ^,           ^,          pVP	                  \        4      ^\        ^,           ^,          ,          8X  g   Q h\        \        ^,           ^,          ,          pVP	                  \        4      \        ^,           ^,          ^\        ,          \        ^,           ^,          ,          ,           8X  g   Q h^\        \        \        ,          4      ,          \        ,          pVP	                  \        4      ^\        \        ^,          4      ,          ^\        ^,          ,          \        \        ^,          4      ,          ,           8X  g   Q hR# )   Ni)r
   r   r   r   r   expandr   )n3n2n6r/   s       r(   
test_diff2r8   3   s   	!B	!B	!B
C!R%KQ!bS1b5[/#a&"88A219c!f$q"q!t)}SV';;;;;66!9Ac!f,,,	
Q
A66!91q51*$$$	1q51*A66!9Q
QqS!a%!^3333	#ac(
1A66!9#ad)a1fSAY&66666r'   c                  2   \        ^4      p \        \        ,          \        \        V ,          4      ,           pV\        \        ,          \        \        ^,          4      ,           8X  g   Q hVP	                  \        4      \        8X  g   Q hVP	                  \        4      \        ^\        ^,          ,          \        \        ^,          4      ,          ,           8X  g   Q h\        \        4      pV\        \        4      8X  g   Q hVP	                  \        4      \        \        4      R,          ^\        \        4      ^,          \        \        4      ^,          ,          ,           ^\        \        4      ^,          ,           39   g   Q h\        \        \        4      ,          \        ,
          pV\        ) \        \        \        4      ,          ,           8X  g   Q hVP	                  \        4      \        \        4      8X  g   Q h\        \        \        4      4      pV\        \        \        4      4      8X  g   Q hVP	                  \        4      \        \        4      R,          \        \        4      ,          \        \        4      39   g   Q h\        ^4      \        ,          \        \        ^4      4      ,          pV^\        ,          \        \        ^4      4      R,          ,          8X  g   Q hVP	                  \        4      ^\        ,          8X  g   Q hR# )   Nr3   )
r
   r   r   r   r   r   r   r   r   r   r-   s     r(   
test_diff3r<   D   s   A	!c!Q$iA!c!Q$i66!9>>66!9AadF3q!t9,,,,,AAA;;66!9Q"q3q619SVQY+>'>CFAINNNN	#a&1AQs1vX66!9ACFACF66!9Q"c!f,c!f5555	!aHQK(	(A1S!%+++++66!91r'   c            	          ! R  R\         4      p V ! \        4      P                  \        4      P                  \        J g   Q hV ! \        4      P                  \        ^4      P                  \        J g   Q h\        \        4      P                  \        ^4      \	        \        \        4      \        ^34      8X  g   Q h\        \        \        \        4      \        \        4      .4      \        ^34      \        \	        \        \        4      \        ^34      \	        \        \        4      \        ^34      .4      8X  g   Q hV ! \        4      P                  \        4      ^ 8X  g   Q hR# )c                   &   a  ] tR t^Yt o R tRtV tR# )(test_diff_no_eval_derivative.<locals>.Myc                .    \         P                  ! W4      # )N)r   __new__)clsr   s   &&r(   rA   0test_diff_no_eval_derivative.<locals>.My.__new__Z   s    <<''r'   r&   N)__name__
__module____qualname____firstlineno__rA   __static_attributes____classdictcell__)__classdict__s   @r(   Myr?   Y   s     	( 	(r'   rK   N)	r   r   r   funcr   r   r   r   r    )rK   s    r(   test_diff_no_eval_derivativerM   X   s    (T (
 a5::a=+++a5::a  J...a5::az"Q%!Q8888	2a5"Q%.)Aq62i	BqEAq6	"Jr!uq!f$=>7@ @ @ @ a5::a=Ar'   c                  J    \         P                  ! \         R4      ^ 8X  g   Q hR# )
   Ni r%   r&   r'   r(   
test_speedrP   g   s    66!Uq   r'   c                  b   \        R RR7      p \        R4      pW! \        4      ,          V ,          V! \        4      V ^,          ,          8X  g   Q hW! \        4      P                  \        4      ,          V ,          V! \        4      P                  \        4      V ^,          ,          8X  g   Q hR# )AF)commutativefN)r   r   r   r   )rR   rT   s     r(   test_deriv_noncommutativerU   l   su    s&AAQqT6!8qtAqDy   QqTYYq\>!qtyy|ad2222r'   c                  
   \        R 4      p \        RRR7      p\        \        \        4      \        V34      p\        V ! \        4      \        ^34      p\        V ! \        4      \        V34      pVP                  \        \        4      \        \        ) 4      4      \        \        \        ) 4      \        V34      8X  g   Q hVP                  V^4      P                  4       \        \        4      8X  g   Q hVP                  V^4      P                  4       \        \        4      ) 8X  g   Q hVP                  \        V ! \        4      \        4      \        4      \        \        \        4      8X  g   Q hV\        V ! \        4      \        V34      8X  g   Q h\        \        \        V34      \        \        \        V^ 4      3^\        V^4      3R4      8X  g   Q h\        ^\        ,          \        V34      P                  \        \        ^\        ,          \        V4      ,          \        \        4      \        \        ) V,           4      ,          ,          \        \        ^ 4      \        \        ^ \        ) V,           4      ^ 4      ,          3^\        V4      ,          \        \        4      \        \        ) V,           4      ,          ,          \        \        ^ 4      \        \        ^ \        ) V,           4      ^4      ,          3R4      \        ^ V34      4      '       g   Q h\        \        \        4      ,          p\        V\        V34      p\!        V\        4      '       g   Q h\#        ^4       FL  pVP                  W4      P                  4       VP                  \        V34      P%                  4       8X  d   KL  Q h	  ^\        ,          \        ,          \        \        4      ,          \        \        4      ,          \'        \        4      ,          \)        \        4      ,          pVP                  \        V34      p	\!        V	\        4      '       g   Q h\#        ^4       FZ  pV	P                  W4      P                  4       P%                  4       VP                  \        V34      P%                  4       8X  d   KZ  Q h	  \        \        4      \        \        4      ,          P                  \        \        \*        ..4      \-        \        \        4      ) \        \        4      ,          \        \        4      \        \        4      ,          ^ .4      8X  g   Q hR# )rT   nT)integerN)r   T)r   r   r   r   r   subsr   r   doitr    r   r   dummy_eqr   r   r   
isinstanceranger4   r   r   r!   r   )
rT   rW   exprexpr2expr3exprmmul_diffiexprm2dexs
             r(   test_diff_nth_derivativerf   s   s   	#AsD!AAAD11vE11vE99SVS!W%CGaV)DDDD99Q?!SV+++99Q?!c!fW,,,::j1q)1-Aq1AAAA JqtaV,,,,Aq6?iBq!H2a8}iPPPP!aV%%Iqs9Q<'1iQ6G)GH
1a2c!aR!Vna((*	
9Q<1iQ&77	8"Q(RA	
QIF ; 	! $%a)	-. . . . c!fHEEAq6"Hh$$$$1X}}Q"'')UZZA-?-F-F-HHHH  qSU3q6\#a& Q'A.F
++q!f
Cc31Xxx~""$++-QF""$% 	% %  F3q6M!Q,		QAAs1vq;* 1+ + + +r'   c                     \        \        ^,          \        \        34      P                  \        ^4      \        \        \        ^,          \        ^34      \        ^4      8X  g   Q h\        ^\        ^,          ,           \        \        34      P                  \        ^ 4      \        ^\        ^,          ,           \        ^ 34      P                  \        ^ 4      8X  g   Q hR# )r2   N)r   r   rY   r   r    r&   r'   r(   test_issue_16160rh      s    adQF#((A.$1a4!Q !Q3( ( ( (a!Q$hA',,Q 
AqD1a&)..q!45 5 5r'   N)7sympy.concrete.summationsr   sympy.core.exprr   sympy.core.functionr   r   r   r   sympy.core.numbersr	   r
   r   sympy.core.relationalr   sympy.core.singletonr   sympy.core.symbolr   (sympy.functions.combinatorial.factorialsr   $sympy.functions.elementary.complexesr   r   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   r   r   r   sympy.tensor.array.ndim_arrayr   sympy.testing.pytestr   	sympy.abcr   r   r   r   r    r!   r0   r8   r<   rM   rP   rU   rf   rh   r&   r'   r(   <module>ry      sk    )   B B 0 0 $ " $ > 9 = 8 : I I 3 ' & &B7"(!
3&+R5r'   