
    Rie:                        d dl mZmZmZmZ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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 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+ d dl,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2m3Z3 d dl4m5Z5  e	dd          Z6d Z7d Z8d Z9e3d             Z:d Z;d Z<d Z=d Z>d Z?d Z@d ZAd ZBe3d             ZCd S )!    )EIRationaloopi)S)Symbolsymbols)Absre)explog)sqrt)	Piecewise)coscotcscsecsintan)expint)MatrixSymbol)simplify)	function_rangecontinuous_domainnot_empty_inperiodicitylcim	is_convexstationary_pointsminimummaximum)Interval	FiniteSet
ComplementUnion)raises_both_exp_powxaTrealc            
      l
   t          d          \  } }}t          t                    t          t           dz  t          dz                      t          dd          k    sJ t          t                    t          dt                              t          dd          k    sJ t          t                    t          dt                              t          t           t                    k    sJ t          t                    t          t          dz  t                              t          t           d          k    sJ t          dz   dz
  z  t          dd                    t          t          t           t          dd	                    t          t          d
d          t                              k    sJ t          ddz  z  t          dd                    t          dt                    k    sJ t          t                    t          dd                    t          t          d          t          d                    k    sJ t          t                    z
  t          j                  t          t           d          k    sJ t          t          dz  dz
            t          dd                    t          dt          d                    k    sJ t          dz
  z  dz  z
  z
  t          j                  t          d          k    sJ t          dz
  z  dz  z
  z
  | z   t          j                  t          |           k    sJ t          t                    t          t          dd          t          d                              t          t          t          d           d          t          t          d                              k    sJ t          t                    t          t           d                    t          dd          k    sJ t          t                    t          j                  t          j        k    sJ t          t          dz  dz             z  t          j                  t          j        dd          k    sJ t%          t&          fd           t%          t&          fd           t%          t&          fd           t%          t&          fd           d S )Nzx y a b      r                  c                      t          t                     t                     t                     z
  z  dz   z
   t          j                  S Nr/   )r   r   r   r   r   Realsr)   s   >lib/python3.11/site-packages/sympy/calculus/tests/test_util.py<lambda>z%test_function_range.<locals>.<lambda>3   s?    AAQ "Q&17*4 *4     c                  Z    t          t                      z    t          j                  S N)r   r   r   r<   r)   s   r=   r>   z%test_function_range.<locals>.<lambda>5   s$    A
Aqw*  *  r?   c                  T    t          t                      t          j                  S rA   )r   r   r   Integersr)   s   r=   r>   z%test_function_range.<locals>.<lambda>7   s     A1:* * r?   c                  Z    t          t                     dz   t          j                  S r;   )r   r   r   Naturalsr)   s   r=   r>   z%test_function_range.<locals>.<lambda>9   s$    Aq!QZ*! *! r?   )r
   r   r   r#   r   r   r   r&   r   r   r   r   r<   r   r$   r   EmptySetopenr'   NotImplementedError)yr+   br*   s      @r=   test_function_rangerK      s#   ##JAq!Q#a&&!Xrc!eRT%:%: 
 
b!__   #a&&!Xa__ 
 
a^^   #a&&!Xa__ 
 
rc2   #a&&!XbdB%7%7 
 
rc1   1q51q5/1hr1oo 
 
8RC!Q00(8Aq>>22N2NOOP P P P!QT(AxA 
 
a__   #a&&!Xb!__ 
 
c"ggs1vv&&' ' ' '#a&&1*a 
 
rc2   $qsQw--HQNN 
 
aa!!" " " "!QU)q!tax0!QW 
 
q\\   !QU)q!tax014a 
 
q\\   #a&&!U8B+;+;Yq\\%J%J 
 
8SVVGQ''3q66):):;;< < < <#a&&!Xrc2%6%6 
 
b!__   #a&&!QZ00AJ>>>>!DAaLL.!QW55r!9L9LLLLL
 !4 !4 !4 !4 5 5 5
 !  !  !  !  ! ! !
 ! ! ! !      
 !! !! !! !! " " " " "r?   c                     t          d          } t          t          |           | t          ddt          z                      t          ddt          z            k    sJ t          t          |           | t          ddt          z                      t          t          dt          dz  dd          t          t          dz  t          t          dd          z  dd          t          t          t          dd          z  dt          z  dd                    k    sJ t          | dz
  | dz
  dz  z  | t          j	                  t          t          t           ddd          t          dt          dd                    k    sJ t          t          |           t          d| z  dz
            z   | t          j	                  t          t          dd          t          dd          k    sJ t          dt          | dz
            z  | t          j	                  t          dt          dd          k    sJ t          d| z  dz
  | t          j	                  t          t          j        t           d          t          j        dt                              k    sJ t          d| dz  dz
  z  dz   | t          j	                  t          t          j        t           d	          t          j        d	d          t          j        dt                              k    sJ t          t          t          |           dz  dz             | t          j	                  }|                    dt          z  dz            rJ |                    d
          sJ t          ddd          }t          | d|z  z  | t          j	                  t          dt                    k    sJ d S )Nr*   r   r/   FTr2   r1   r8   r4   d)evenzero)r	   r   r   r#   r   r   r&   r   r   r<   r   r   r   rG   contains)r*   domainrN   s      r=   test_continuous_domainrS   =   sP   sASVVQAbD(9(9::hq!B$>O>OOOOOSVVQAbD(9(9::hq"Q$t,,hr!tRA=NPTVZ.[.[r(1a..(!B$e<<	> 	>> > > > a!eq1uqj11ag>>hsAtT**HQD$,G,GHHI I I ISVVc!A#'ll2Aqw??!QT4001 1 1 1QtAE{{]Aqw778Ar4QU;V;VVVVVQqS1Wa11hmRC##X]1b%9%9::; ; ; ;Q1q\A-q!'::hmRC$$hmB&:&:HM!R<P<PQQR R R Rs3q6619q=111ag>>FqtAv&&&&&??1sE***AQ1Xq!'22hq"ooEEEEEEr?   c                     t          t          t          dt          z                                t	          dddd                    t                    t	          t
          j        ddd          k    sJ t          t          t          t          dz                                t	          dd                    t                    t          t	          t          d           d          t	          dd                    k    sJ t          t          t          dz  t          z   t                                        t	          dd                    t                    t          t	          t          d           dz  t
          j        z
  d          t	          dt          dd          t          d          dz  z             t	          dd                    k    sJ t          t          t          t          dz
  z                                t
          j
                  t                    t          t
          j
        t          d                    k    sJ t          t          t          t          dz
  z                                t
          j
                  t                    t          t
          j
        t          d                    k    sJ t          t          t          dz  d	t          z  z
  dz   t          dz
  z                                t
          j
                  t                    t          t
          j
        t          d                    k    sJ t          t          d	dt          t          dz
  z                                t	          dd	                    t                    t	          t           t                    k    sJ t          t          dt          t          dz
  z                                t	          dd	                    t                    t	          t          d	          dz  d          k    sJ t          t          t          t          dz  dz
  z                                t
          j
                  t                    t          t
          j
        t          dd                    k    sJ t          t          t          t          dz                                t          t	          dd	dd          t	          dd
                              t                    t          t	          t          d
           d          t	          t          d	           ddd          t	          dd	dd          t	          dd
                    k    sJ t          t          d                              t	          d	d                    t                    t
          j        k    sJ t          t          t          dz  t          dz   z                                t	          dt                              t                    t          t	          dddd          t	          dt                              k    sJ t          t           d            t          t           d            t          t"          d            d S )Nr/   r1   TFr0   r8      rM   r2   r4   c                  *    t          t                    S rA   )r   r*    r?   r=   r>   z#test_not_empty_in.<locals>.<lambda>n   s    |A r?   c                  H    t          t          dd          t                    S )Nr   r1   )r   r#   r*   rW   r?   r=   r>   z#test_not_empty_in.<locals>.<lambda>o   s    |HQNNA>> r?   c                      t          t          t                                        t          j                  t          t                    S rA   )r   r$   r*   	intersectr   r<   r+   rW   r?   r=   r>   z#test_not_empty_in.<locals>.<lambda>q   s(    <	! 6 6qw ? ?AFF r?   )r   r$   r*   rZ   r#   r   Halfr&   r   r   r<   r%   r+   r   rF   r'   
ValueErrorrH   rW   r?   r=   test_not_empty_inr]   S   se   	!QqS))33HQ44O4OPPRSTTD%(() ) ) )	!QT**44Xa^^DDaHHhQx$$hq!nn556 6 6 6	!Q$(A..88!QHH!LLhRy{QV+R00q(2q//DHHQJ677!Q	I 	II I I I 	!QU),,66qw??CC17IaLL))* * * *	!QU),,66qw??CC17IaLL))* * * *	1a4!A#:>AE":;;EEagNNPQRR17IaLL))* * * *	!Q1q5	22<<Xa^^LLaPP"b   	!QAY//99(1a..II1MM1a   	!QTAX,//99!'BBAFF17Ib!,,--. . . .	!QT**44U8Aq$PT;U;U;CAq>>6K 6K L LMNP PhQx$$hQxT4&H&Hq!T4(((1a..	: 	:: : : : 	!..x1~~>>BBajPPPP	!Q$A,//99(1b//JJANNhr2tU++Xa__==> > > >
:..///
:>>???
FFH H H H Hr?   c                  h   t          d          t          d          } t          dd          }t          t          dz                      t          k    sJ t          dt	          dz            z            t          dz  k    sJ t          t                    dz            dt          z  k    sJ t          d	t	          d	z            z            t          d	z  k    sJ t          t	                    t                    z            dt          z  k    sJ t          t                    t	                    z            dt          z  k    sJ t          t	                    t                    z            dt          z  k    sJ t          t          dz            t          dz            z  | z
            t          dz  k    sJ t          t	                    t                    z             t          k    sJ t          t                    t          dz            z
            dt          z  k    sJ t          t                    d
z
            dt          z  k    sJ t          t          dz            t                    t                    z  z             t          k    sJ t          t          t                                        dt          z  k    sJ t          t          t          dz                      t          t          dz                      z
            t          k    sJ t          t          dz            t          t	                    t          dz            z
            z            t          k    sJ t          t          t                    t          dz            z
                      dt          z  k    sJ t          t	          t          dz                                t          k    sJ t          dt	                    dz  z            t          k    sJ t          t          dz                      dk    sJ t          t                    dz            dt          z  k    sJ t          t	          d	z  dz
  dz                      t          dd	          k    sJ t          t          d          d
z   z  z   d	z            d	t          d          d
z   z  k    sJ t          dz  d
z   z            J t          t          t                                        dt          z  k    sJ t          t                    dz  t                    dz  z             t          j        u sJ t          t	                    |           t          j        u sJ t          t                    t           t                    z  z             dt          z  k    sJ t          t          d| z            z
  |           t          k    sJ t          t                              J t          t          t           z                      dt          z  k    sJ t          t          t           |z            |          dt          z  k    sJ t          t          |          |          J t          t          t          t          |          t           t          d|z            z  z             d          |          dt          z  k    sJ t          t          t          t          d|z            t           t          |          z  z             d          |          dt          z  k    sJ t          t          t          |                    |          dt          z  k    sJ t          t          dt           z  |z            |          t          k    sJ t          t          |t           t          |          z  z             |          J t          t          t          |dz            t          |          z             |          dt          z  k    sJ t          t                              J t          t                    t                    z            J t          t                    | z  |           J t          t#          t          t#          t                                                            t          k    sJ t%          fdt
          t          t          t          t          t          fD                       sJ t          t#          t          t	                                                  t          k    sJ t          t#          t          t                    t	                    z                                 dt          z  k    sJ t          t                    t          j        k              dt          z  k    sJ t          dk              J t          d	z  dz  z
  d
z             J t          t#                              J t          t#          dz  d
z
                      J t          dz  dz   dz            J t          t(          z  d	z            J t          t          t+          d
                    t+          d
          z            J t-          ddk     fdz  d
k    ft                    df          }t          |          J t/          dd	d	          t1          t2          fd           t1          t2          fd           t1          t2          fd           t1          t2          fd           d S )Nr*   rI   zTr,   r/   rM   r8   r2   r1   F)evaluatec              3   v   K   | ]3}t          t           |                              t          k    V  4d S rA   )r   r   r   ).0fr*   s     r=   	<genexpr>z#test_periodicity.<locals>.<genexpr>   sP       ' '1{3qqtt99a((B. ' ' ' ' ' 'r?   r   r0   mc                  >    t          t                                S rA   r   r   re   s   r=   r>   z"test_periodicity.<locals>.<lambda>   s    CFFA(>(> r?   c                  J    t          t           d                              S N)r   r   rg   rh   s   r=   r>   z"test_periodicity.<locals>.<lambda>   s    C$LL!(D(D r?   c                  J    t          t                      d                   S rj   rg   rh   s   r=   r>   z"test_periodicity.<locals>.<lambda>   s    CFFAdG(D(D r?   c                  V    t          t           d                    d                   S rj   rg   rh   s   r=   r>   z"test_periodicity.<locals>.<lambda>   s    C$LL!D'(J(J r?   )r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zeror   r   allr[   r   r   r   r   r'   rH   )rI   r_   pre   r*   s      @@r=   test_periodicityrp   t   s
   sAsAsAs1Q3xx##r))))C!HH}a((BqD0000s1vvqy!$$",,,,q#ac(({A&&"Q$....s1vvc!ff}a((AbD0000s1vvA'++qt3333s1vvc!ff}a((AbD0000s1Q3xxAaC(1,a00BqD8888s1vvA**b0000s1vvAaC(!,,"4444s1vvz1%%2----s1Q3xx#a&&Q-/33r9999s3q66{{A&&!B$....s3qs88}}s3qs88}}4a88B>>>>s1Q3xxCFFS1XX$5 6 66::b@@@@s3q66C!HH,--q11QrT9999s3qs88}}a((B....qQ{A&&",,,,s1Q3xx##q((((s1vvax##qt++++sAaCE19~~q))Xa^^;;;;Q1a1,a00AaOCCCC1Q!|Q''///s2a55zz1%%2----s1vvqy3q6619,a00AF::::s1vvq!!QV++++s1vv#a&&(!,,"4444q3qs88|Q''2----s1vvq!!)))s1Q3xx##qt++++s1Q3xx##qt++++s1vvq!!)))s3s1vv#ac((
233eDDDaHHAbDPPPPs3s1Q3xx!CFF(233eDDDaHHAbDPPPPs3q66{{A&&!B$....s1Q3q5zz1%%++++s1qQx<((!,,444s3qs88c!ff,--q11QrT9999s1vvq!!)))s1vvs1vv~q))111s1vvqy!$$,,,s3s3q66{{++,,a00B6666 ' ' ' 'S#sC9& ' ' ' ' ' ' ' 's3s1vv;;''++r1111s3s1vvA//00!44"<<<<s1vv**ad2222q1ua  (((q!tad{Q**222s1vvq!!)))s1a4!8}}a((0001q!|Q''///1ax##+++s6!Q<<((15q99AAA1a"f+1a1f~A~>>Aq!$$$S!QA
 > > > >???
 D D D DEEE
 D D D DEEE
 J J J JKKKKKr?   c            	      f   t          d          } t          d          }t          t          |           | d          t          k    sJ t          t	          |           t          |           z   | d          dt          z  k    sJ t          t          |           |           dt          z  k    sJ t          t	          | |z            |           dt          z  t          |          z  k    sJ t          t          t          t          |                               |           t          k    sJ d S )Nr*   rI   T)checkr/   )	r	   r   r   r   r   r   r   absr   r*   rI   s     r=   test_periodicity_checkru      s    sAsAs1vvq---3333s1vvA666!B$>>>>s1vvq!!QrT))))s1Q3xx##qtCFF{2222s3s1vv;;''++r111111r?   c                  p   t          t          j        t          d          t          d          g          dk    sJ t          t          dz  t          dz  t          g          t          k    sJ t          dt          z  t          dz  g          dt          z  k    sJ t          t          j        dt          z  g          J t          t          d          dt
          z  z   t
          dz  t          dd          z   t          j        t
          z   g          t          d          dt
          z  z   k    sJ d S )Nr/   r2      r8   r1   )r   r   r[   r   Oner   r   rW   r?   r=   	test_lcimry      s    1qtt$%%****Ar!tR !!R''''2r!t2%%%%"&&&1!QqS8Aq>>11519=>>!A$$1*LLLLLLr?   c                     t          dt          z  t          t          j        dt                              dk    sJ t          dt          z  t          t          t           d                    dk    sJ t          t          dz  t          t          dt                              dk    sJ t          dt          dz  z  t          t          j        dt                              dk    sJ t          dt          dz  z  t          t          j        t           d                    dk    sJ t          t          t                    t                    dk    sJ t          t          d	            d S )
Nr1   r   )rR   TFr/   r2   r0   c                  \    t          t          t                    t          t                    S rA   )r   r   r*   r+   rW   r?   r=   r>   z test_is_convex.<locals>.<lambda>   s    	#a&&!Q(?(? r?   )
r   r*   r#   rG   r   LopenRopenr   r'   rH   rW   r?   r=   test_is_convexr~      s4   QqS!HM!R$8$8999TAAAAQqS!HbS!$4$4555>>>>QT1Xa__555====Qq!tVQx~a'<'<===EEEER1WasA(>(>???4GGGGSVVQ5((((
 ? ?@@@@@r?   c                     t          d          \  } }t          t          |           | t          t           dz  t          dz                      t           dz  t          dz  hk    sJ t          t          |           | t          j        dt          dz                      t          j        u sJ t          t          |           |           t          j        u sJ t          t          |           t          |           z  | t          dt                              t          dz  t          t          dd          z  hk    sJ t          t          |           | t          dt                              dt          hk    sJ t          | dz   | dz
  z  |           t          t          dd                    k    sJ t          | dz   | dz
  z  | t          dd                    t          j        u sJ t          | dz  dz   | dz
  z  |           dt          d	          z
  dt          d	          z   hk    sJ t          | dz  dz   | dz
  z  | t          dd                    dt          d	          z   hk    sJ t          | dz  | dz  z   d| dz  z  z
  | t          j                  t          d
dt          dd                    k    sJ t          t          |           |           t          j        u sJ t          t!          |           | z
  | t          j                  dhk    sJ t          t          |           | t#          t          dd          t          dd                              dt           t          hk    sJ t          || t          j                  t          j        k    sJ t          || t          j                  t          j        k    sJ d S )Nx yr/   r   r8   r2   r0   r3   r4   r5   rM   r1   r7   )r
   r    r   r#   r   r}   r   rF   r   r   r   r   r$   r   r<   r   r   r&   rt   s     r=   test_stationary_pointsr      s   5>>DAqSVVQ"Q1(=(= 
 
c!eRT]   c!ffa2a4)@)@ 
 
Z   SVVQ 
 
Z   SVVCFF]Ax2 
 
dBx1~~%&' ' ' 'SVVQB 
 
W   acAaC[! 
 
xA''( ( ( (a!ea!e_a"a 
 
Z   ad1fqs^Q 
 
$q''k1tAww;'( ( ( (ad1fqs^QA 
 
$q''k]   QTAqD[1QT611ag 
 
r1hq!nn--. . . .SVVQ 
 
Z   SVVaZAG 
 
S   SVVQhq!nnhr2>N>N(O(O 
 
"b\   Q17 
 
W   Q1:..!*<<<<<<r?   c                  J    t          d          \   t          t                                t          j        u sJ t          t                      t          dd                    t          d          k    sJ t          t                                t          u sJ t          t                      t          t           dz  t          dz                      t          j        u sJ t          t                     t                     z   t          j
                  t          j        k    sJ t          t          t                     t                     z   t          t          t          dd          z  t          t          dd          z                                t          d          dz  k    sJ t           dz    dz
  z             t          u sJ t           dz    dz
  z   t          d	d                    t          d
          k    sJ t           dz    dz
  z   t          d	d                    t          dd          k    sJ t          t           dz    dz  z
   dz  z   dz                        dt          d          z  dz  t          dd          z   k    sJ t          t                      t          t           d                    t          d          k    sJ t          t!                      z
   t          j
                  t          j        u sJ t          t                      t%          t          dd          t          dd                              t          j        u sJ t          t                     t                     z
   t          j
                  t          d          k    sJ t           t          j
                  k    sJ t          t'          t(          dz  t(          z             t(          t          dd                    dk    sJ t          t'          dt(          dz  z  dt(          z  z             t(          t          dd                    dk    sJ t          t'          dt(          z  dt(          dz  z  dz   z            t(          t          dd                    dk    sJ t           t           dz  dz             z   t          j
                  dk    sJ t+          t,           fd           t+          t,           fd           t+          t,           fd           t+          t,           fd           t+          t,           fd           t+          t,           fd           d S )Nr   r   r1   r8   r2   r6   r4   r/   r3      r5   
   )   i   i+  r   r7   <      i     c                  T    t          t                      t          j                  S rA   r"   r   r   rF   r)   s   r=   r>   ztest_maximum.<locals>.<lambda>      A1: > > r?   c                  n    t          t          t                                t          j                  S rA   )r"   r   r   r   rF   r)   s   r=   r>   ztest_maximum.<locals>.<lambda>  !    CFFQ
 C C r?   c                  X    t          d dz  dz  z   dz   z   t          j                  S Nr1   r/   )r"   r   rF   rt   s   r=   r>   ztest_maximum.<locals>.<lambda>  *    1a4!Q$;?(;Q
 K K r?   c                  X    t          t                     t                               S rA   )r"   r   r)   s   r=   r>   ztest_maximum.<locals>.<lambda>      AA 7 7 r?   c                  Z    t          t                      z  t          j                  S rA   r   rt   s   r=   r>   ztest_maximum.<locals>.<lambda>      A!QZ @ @ r?   c                  R    t          t                     t          j                  S rA   )r"   r   r   rx   r)   s   r=   r>   ztest_maximum.<locals>.<lambda>      A 6 6 r?   )r
   r"   r   r   rx   r#   r   r   r   r   r<   r[   r   r   r   r   r   NegativeOner&   rs   r+   r'   r\   rt   s   @@r=   test_maximumr      s   5>>DAq3q661&&&&3q661hq!nn--Q77773q661####3q661hs1ubd3344====3q66#a&&=!QW--7777GCFF3q66M1hr(1a..7H"XVWYZ^^J[.\.\]] 
 
!WWQY   AaC!A#;""b((((AaC!A#;8B??33quu<<<<AaC!A#;8B??33x1~~EEEEGQTE!Q$Jq!tOB.22 
 
R[_xc2223 3 3 33q661hsA..//3q6699993q66A:q!'**am;;;;3q661eHQNNHR4D4DEE 
 
U   3q66#a&&=!QW--a88881a!!Q&&&&3q!tax==!Xa^^44::::3r!Q$wA~&&8Aq>>::cAAAA3r!tQq!tVaZ())1hq!nn==DDDD1T!Q$q&\\>1ag..!3333
:>>>>???
:CCCCDDD
:KKKKKLLL
:7777888
:@@@@@AAA
:666677777r?   c                      t          d          \   t          t                                t          j        u sJ t          t                      t          dd                    t          d          k    sJ t          t                                t           u sJ t          t                      t          t           dz  t          dz                      t          j        u sJ t          t                     t                     z   t          j
                  t          dd          k    sJ t          t          t                     t                     z   t          t          t          dd          z  t          t          dd          z                                t          d           dz  k    sJ t           dz    dz
  z             t          d	d          k    sJ t           dz    dz
  z   t          d
d                    t          dd          k    sJ t           dz   dz  z
   dz  z   dz              t          d          k    sJ t          t                      t          dt                              t          d          k    sJ t          t                      z
   t          j
                  t           u sJ t          t                      t!          t          dd          t          dd                              t          j        u sJ t          t                     t                     z
   t          j
                  t          d           k    sJ t           t          j
                  k    sJ t           t           dz  dz             z   t          j
                  dk    sJ t#          t$           fd           t#          t$           fd           t#          t$           fd           t#          t$           fd           t#          t$           fd           t#          t$           fd           d S )Nr   r1   r8   r0   r/   r2   r6   r4   ir3   r   r7   r   rM   r   c                  T    t          t                      t          j                  S rA   r!   r   r   rF   r)   s   r=   r>   ztest_minimum.<locals>.<lambda>5  r   r?   c                  n    t          t          t                                t          j                  S rA   )r!   r   r   r   rF   r)   s   r=   r>   ztest_minimum.<locals>.<lambda>6  r   r?   c                  X    t          d dz  dz  z   dz   z   t          j                  S r   )r!   r   rF   rt   s   r=   r>   ztest_minimum.<locals>.<lambda>7  r   r?   c                  X    t          t                     t                               S rA   )r!   r   r)   s   r=   r>   ztest_minimum.<locals>.<lambda>8  r   r?   c                  Z    t          t                      z  t          j                  S rA   r   rt   s   r=   r>   ztest_minimum.<locals>.<lambda>9  r   r?   c                  R    t          t                     t          j                  S rA   )r!   r   r   rx   r)   s   r=   r>   ztest_minimum.<locals>.<lambda>:  r   r?   )r
   r!   r   r   r   r#   r   r   r   r   r<   r   r   r   r   r   r&   r'   r\   rt   s   @@r=   test_minimumr      s   5>>DAq3q661....3q661hq!nn--Q77773q661"$$$$3q661hs1ubd3344EEEE3q66#a&&=!QW--"a@@@@GCFF3q66M1hr(1a..7H"XVWYZ^^J[.\.\]] 
 
1ggXaZ   AaC!A#;""hsA&6&66666AaC!A#;8B??33xAFFFF1a419QT>"$a((AbEE11113q661hr2..//3r77::::3q66A:q!'**rc11113q661eHQNNHR4D4DEE 
 
]   3q66#a&&=!QW--$q''99991a!!Q&&&&1T!Q$q&\\>1ag.."4444
:>>>>???
:CCCCDDD
:KKKKKLLL
:7777888
:@@@@@AAA
:666677777r?   c                      t          d          } t          t          d          | dz
  z  dt          | dz  dz             z  z  |           t          d          dz  k    sJ d S )Ntr2   r1   r/   )r
   r"   r   )r   s    r=   test_issue_19869r   =  sk    ADGGQUOQtAqD1H~~%56::!WWQY     r?   c                      t          dd          } t          |           }t          || t          j                  t          dt          dd          k    sJ d S )Nr*   Tr,   r   F)r	   rs   r   r   r<   r#   r   )r*   rc   s     r=   test_issue_16469r   C  sR    sAAA!Q((HQE4,H,HHHHHHHr?   c                      t          t          t          t          z  t          dz  t
          j        dz  z   z            t                    dk    sJ d S )Nr8   r/   r6   )r   r   r   r   r*   r   r[   rW   r?   r=   test_issue_18747r   I  sB    s2a41QVAX.//33q888888r?   N)Dsympy.core.numbersr   r   r   r   r   sympy.core.singletonr   sympy.core.symbolr	   r
   $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   r   r   'sympy.functions.special.error_functionsr   "sympy.matrices.expressions.matexprr   sympy.simplify.simplifyr   sympy.calculus.utilr   r   r   r   r   r   r    r!   r"   sympy.sets.setsr#   r$   r%   r&   sympy.testing.pytestr'   r(   	sympy.abcr*   r+   rK   rS   r]   rp   ru   ry   r~   r   r   r   r   r   r   rW   r?   r=   <module>r      s   7 7 7 7 7 7 7 7 7 7 7 7 7 7 " " " " " " / / / / / / / / : : : : : : : : = = = = = = = = 9 9 9 9 9 9 : : : : : : S S S S S S S S S S S S S S S S : : : : : : ; ; ; ; ; ; , , , , , ,F F F F F F F F F F F F F F F F F F F F F F E D D D D D D D D D D D 6 6 6 6 6 6 6 6      
F3T%" %" %"PF F F,H H HB HL HL HLV2 2 2M M MA A A= = =D8 8 8B8 8 8:  I I I 9 9 9 9 9r?   