
    g}H                     x   d dl mZ d dl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 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 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' d dl(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9m:Z: d dl;m<Z< d dl=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZF d dlGmHZHmIZImJZJmKZK d dlLmMZM d dlNmOZO d dlPmQZQmRZRmSZSmTZT d dlUmVZVmWZW  edd      ZXd ZYeTd        ZZd Z[eQd        Z\eQd        Z]eQd        Z^d  Z_eSd!        Z`d" Zad# Zbd$ Zcd% Zdd& Zed' Zfd( Zgd) ZheSd*        Zid+ Zjy,)-    )Lambda)EIRationaloopi)Eq)S)DummySymbol)Absre)explog)frac)sqrt)	Piecewise)coscotcscsecsintanasinacosatanacotasecacsc)sinhcoshtanhcothsechcschasinhacoshatanhacothasechacsch)gamma)expint)MatrixSymbol)simplify)	function_rangecontinuous_domainnot_empty_inperiodicitylcim	is_convexstationary_pointsminimummaximum)Interval	FiniteSet
ComplementUnion)ImageSet)ConditionSet)XFAILraises_both_exp_powslow)xyaT)realc            
      X	   t        t        t              t        t        t         dz  t        dz              t        dd      k(  sJ t        t        t              t        t        dt                    t        dd      k(  sJ t        t        t              t        t        dt                    t        t         t              k(  sJ t        t        t              t        t        t        dz  t                    t        t         d      k(  sJ t        t        dz   t        dz
  z  t        t        dd            t        t        t         t        dd            t        t        d	d      t                    k(  sJ t        dt        dz  z  t        t        dd            t        dt              k(  sJ t        t        t              t        t        dd            t        t        d      t        d            k(  sJ t        t        t              t        z
  t        t        j                        t        t         d      k(  sJ t        t        dt        z  dz
        t        t        dd            t        dt        d            k(  sJ t        t        t        dz
  z  t        dz  t        z
  z
  t        t        j                        t        d      k(  sJ t        t        t        dz
  z  t        dz  t        z
  z
  t        z   t        t        j                        t        t              k(  sJ t        t        t              t        t        t        dd
      t        d                  t        t        t        d       d      t        t        d                  k(  sJ t        t!        t              t        t        t         d            t        dd      k(  sJ t        t!        t              t        t        j"                        t        j"                  k(  sJ t        t        t        t        dz  dz         z  t        t        j                        t        j$                  dd      k(  sJ t'        t(        d        t'        t(        d        t'        t(        d        t'        t(        d        y )N      r                  c                      t        t        t              t        t              t	        t              z
  z  dz  t        z
  t        t
        j                        S NrH   )r0   r   rC   r   r   r
   Reals     S/var/www/openai/venv/lib/python3.12/site-packages/sympy/calculus/tests/test_util.py<lambda>z%test_function_range.<locals>.<lambda>;   s3    AAQ "Q&177*4rW   c                  h    t        t        t              t        z   t        t        j                        S N)r0   r   rC   r
   rU   rV   rW   rX   rY   z%test_function_range.<locals>.<lambda>=   s    A
Aqww* rW   c                  Z    t        t        t              t        t        j                        S r[   )r0   r   rC   r
   IntegersrV   rW   rX   rY   z%test_function_range.<locals>.<lambda>?   s    A1::*rW   c                  `    t        t        t              dz  t        t        j                        S rT   )r0   r   rC   r
   NaturalsrV   rW   rX   rY   z%test_function_range.<locals>.<lambda>A   s    Aq!QZZ*!rW   )r0   r   rC   r9   r   r   r   r<   r   r   r   r
   rU   r   r:   rD   r   EmptySetopenr@   NotImplementedErrorrV   rW   rX   test_function_rangerc      s   #a&!Xrc!eRT%: 
b!_  #a&!Xa_ 
a^  #a&!Xa_ 
rc2  #a&!XbdB%7 
rc1  1q51q5/1hr1o 
8RC!Q0(8Aq>22NOP P P!QT(AxA 
a_  #a&!Xb!_ 
c"gs1v&' ' '#a&1*a 
rc2  $qsQw-HQN 
aa!" " "!QU)q!tax0!QWW 
q\  !QU)q!tax014a 
q\  #a&!U8B+;Yq\%J 
8SVGQ'3q6):;< < <#a&!Xrc2%6 
b!_  #a&!QZZ0AJJ>>>!DAaL.!QWW5r!9LLLL
 !4 5
 !  !
 !  
 !! "rW   c                      t        t        t              dz  t        dt        z        dz  z   dz   t        t        j                        t        dt              k(  sJ y )NrH   rK   rJ   )r0   r   rC   r
   rU   r9   r   rV   rW   rX   test_function_range1re   E   sB    #a&!)c!A#hk1A5q!''BhqQSnTTTrW   c                  p   t        t        t              t        t        ddt        z              t        ddt        z        k(  sJ t        t        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        t        t              t        t        ddt        z              t        t        j                  dt              t        j                  t        dt        z              k(  sJ t        t        dz
  t        dz
  dz  z  t        t        j                        t        t        t         ddd      t        dt        dd            k(  sJ t        t        t              t        dt        z  dz
        z   t        t        j                        t        t        dd      t        dd      k(  sJ t        dt        t        dz
        z  t        t        j                        t        dt        dd      k(  sJ t        dt        z  dz
  t        t        j                        t        t        j                  t         d      t        j                  dt                    k(  sJ t        dt        dz  dz
  z  dz   t        t        j                        t        t        j                  t         d      t        j                  dd      t        j                  dt                    k(  sJ t        t        dz   t        z  t        t        j                        t        d	t              k(  sJ t        t        dz   t        dz  z  t        t        j                        t        d	t              k(  sJ t        t        t        z  t        t        j                        t        dt              k(  sJ t        t        dz   t        t        dz        z  t        t        j                        t        t        j                  d	d      t        j                  dt                    k(  sJ t        t        t        t              dz  dz         t        t        j                        } | j!                  dt        z  dz        rJ | j!                  d
      sJ t#        ddd      }t        t        d|z  z  t        t        j                        t        dt              k(  sJ t%        d      }t        dt        t              z  t        t        j                        j'                  t)        t        j                  t        t+        t-        |d|z  t        z  t        z         t        j.                        t+        t-        |d|z  t        z        t        j.                                          sJ t        t        t              t1        t              z   t        t        j                        t        j                  k(  sJ t        t3        t              t        t        j                        t        d	d      k(  sJ t        dt5        t        t                    z  t        t        j                        t        j                  t7        d	      t8              k(  sJ t        t;        t              t=        t              z   t        t        j                        t        j                  k(  sJ t        t?        t              tA        t              z   t        t        j                        t        j                  k(  sJ t        tC        t              tE        t              z   t        t        j                        t        j                  k(  sJ t        tG        t              t        t        j                        t        dt              k(  sJ t        tI        t              t        t        j                        t        j                  d	d      k(  sJ t        tI        t              tG        t              z   t        t        j                        t        jJ                  k(  sJ t        tM        t              t        t        j                        t        jN                  dd      k(  sJ t        tQ        t              t        t        j                        t        t        j                  t         d	      t        j                  dt                    k(  sJ t        tS        t              t        t        j                        t        t        t         d	      t        dt                    k(  sJ t        tU        t              t        t        j                        t        t        t         d	      t        dt                    k(  sJ tV        tX        tZ        fD ]k  }t         |t              t        t        j                        t        t        j                  t         d      t        j                  dt                    k(  rkJ  t        t]        t              t        t        j                        j!                  d      dk(  sJ t        dt7        t              t        z
  z  t        t        j                        t)        t        j                  t_        t        ta        t         t7        t              z   d      t        j                              k(  sJ t        tc        t        dz        t        t        dd	            t        t        j                  dt        d             t        j                  t        d       d	      t        j                  t        d       t        d                   k(  sJ t        tc        t              t        t        j                        t)        t        j                  t        j.                        k(  sJ te        tf        d        te        tf        d        t        t        ti        t              z   t        t        j                        t        j                  k(  sJ y )Nr   rH   FTrK   rJ   rQ   rI   rM   d)evenzeronc                  Z    t        dt        dz  dz   z  t        t        j                        S NrJ   rH   )r1   rC   r
   	ComplexesrV   rW   rX   rY   z(test_continuous_domain.<locals>.<lambda>   s!    ):	1a46
Aq{{*$rW   c                  R    t        t        t              t        t        dd            S )NrL   r   )r1   r,   rC   r9   rV   rW   rX   rY   z(test_continuous_domain.<locals>.<lambda>   s    ):a!Xb^*%rW   )5r1   r   rC   r9   r   r   r<   r   r   ra   r
   rU   r   r   r   Ropencontainsr   r   dummy_eqr;   r=   r   r]   r   r   r   r   r   r    r!   r"   r$   r   r&   r'   r(   r`   r*   Lopenr)   r   r   r#   r+   r%   r   r>   r	   r   r@   rb   r,   )domainrh   rk   fs       rX   test_continuous_domainrv   J   s   SVQAbD(9:hq!B$>OOOOSVQAbD(9:hq"Q$t,hr!tRA=NPTVZ.[r(1a.(!B$e<	>> > > SVQAbD(9:eahmmB"5?7 7 7 7a!eq1uqj11agg>hsAtT*HQD$,GHI I ISVc!A#'l2Aqww?!QT401 1 1QtAE{]Aqww78Ar4QU;VVVVQqS1Wa1hmmRC#X]]1b%9:; ; ;Q1q\A-q!'':hmmRC$hmmB&:HMM!R<PQR R RacBY1773xB7GGGGacRT]Aqww78B;KKKKQT1agg.(1b/AAAacC1I-q!'':er1x}}Q3?5 5 5 5s3q619q=11agg>FqtAv&&&??1sE*AQ1Xq!''2hq"oEEEc
AQs1vXq!''2;;J	xq!A#b&2+ 6

Cq!A#b& 11::>@=A B B B SVc!f_a9QWWDDDT!Wa1Xb!_DDDQtCF|^Q8HNN3r7TU<VVVVT!WT!W_a9QWWDDDT!WT!W_a9QWWDDDT!WU1X-q!'':aggEEEU1Xq!''2hq"oEEEU1Xq!''2hmmB6JJJJU1XeAh.177;qzzIIIU1Xq!''2hnnQ6JJJJU1Xq!''2erc2a 476 6 6 6T!Wa1U"b8Ar?6, , , ,T!Wa1U"b8Ar?6, , , ,E4  1q!''2eMM2#q!8==B#779 9 	9 9 ! T!Wa1::1=FFFQA
^Q8J	aQBQK!3QWW==? ? ? ?T!Q$ZHRO<b47(#X]]DG8R%@tAwha)A+ + + + T!Wa1Z	6   
 !$ %
 !% &Qr]Aqww7177BBBrW   c                      t        t        t        t              z   t        dk  ft        t              df      } t	        | t        t
        j                        t
        j                  k(  sJ y )Nr   T)r   r   r   rC   r1   r
   rU   )	acot_conts    rX   test_continuous_domain_acotry      sF    2d1g:qs+d1gt_=IY1773qww>>>rW   c                      t        t        t              t        t        j                        j                  d      dk(  sJ y )NrI   F)r1   r,   rC   r
   rU   rq   rV   rW   rX   test_continuous_domain_gammar{      s,    U1Xq!''2;;B?5HHHrW   c                      t        t        dz
  dt        z
  z  t        t        j                        t	        j
                  dt              k(  sJ y )NrH   rJ   )r1   rC   r
   rU   r9   ra   r   rV   rW   rX    test_continuous_domain_neg_powerr}      s4    acQqS\1agg6(--2:NNNNrW   c                  
   t        t        t        dt        z        j                  t	        dddd            t              t	        t
        j                  ddd      k(  sJ t        t        t        t        dz        j                  t	        dd            t              t        t	        t        d       d      t	        dd            k(  sJ t        t        t        dz  t        z   t              j                  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        j                  t
        j                        t              t        t
        j                  t        d            k(  sJ t        t        t        t        dz
  z        j                  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        j                  t
        j                        t              t        t
        j                  t        d            k(  sJ t        t        d	dt        t        dz
  z        j                  t	        dd	            t              t	        t         t              k(  sJ t        t        dt        t        dz
  z        j                  t	        dd	            t              t	        t        d	      dz  d      k(  sJ t        t        t        t        dz  dz
  z        j                  t
        j                        t              t        t
        j                  t        dd            k(  sJ t        t        t        t        dz        j                  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      j                  t	        d	d            t              t
        j                  k(  sJ t        t        t        dz  t        dz   z        j                  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        y )NrH   rJ   TFrI   rQ      rg   rK   rM   c                       t        t              S r[   )r2   rC   rV   rW   rX   rY   z#test_not_empty_in.<locals>.<lambda>   s    |ArW   c                  6    t        t        dd      t              S )Nr   rJ   )r2   r9   rC   rV   rW   rX   rY   z#test_not_empty_in.<locals>.<lambda>   s    |HQNA>rW   c                      t        t        t              j                  t        j
                        t        t              S r[   )r2   r:   rC   	intersectr
   rU   rE   rV   rW   rX   rY   z#test_not_empty_in.<locals>.<lambda>   s     <	! 6 6qww ?AFrW   )r2   r:   rC   r   r9   r
   Halfr<   r   r   rU   r;   rE   r   r`   r@   
ValueErrorrb   rV   rW   rX   test_not_empty_inr      s.   	!QqS)33HQ44OPRSTD%() ) )	!QT*44Xa^DaHhQx$hq!n56 6 6	!Q$(A.88!QH!LhRy{QVV+R0q(2q/DHQJ67!Q	II I I 	!QU),66qww?C177IaL)* * *	!QU),66qww?C177IaL)* * *	1a4!A#:>AE":;EEaggNPQR177IaL)* * *	!Q1q5	2<<Xa^LaP"b  	!QAY/99(1a.I1M1a  	!QTAX,/99!''BAF177Ib!,-. . .	!QT*44U8Aq$PT;U;CAq>6K LMNPhQx$hQxT4&Hq!T4((1a.	:: : : 	!..x1~>BajjPPP	!Q$A,/99(1b/JANhr2tU+Xa_=> > >
:./
:>?
FHrW   c                     t        t        dt        z        t              t        k(  sJ t        dt	        dt        z        z  t              t        dz  k(  sJ t        t        t              dz  t              dt        z  k(  sJ t        dt	        dt        z        z  t              t        dz  k(  sJ t        t	        t              t        t              z  t              dt        z  k(  sJ t        t        t              t	        t              z  t              dt        z  k(  sJ t        t	        t              t        t              z  t              dt        z  k(  sJ t        t        dt        z        t        dt        z        z  t        z
  t              t        dz  k(  sJ t        t	        t              t        t              z   t              t        k(  sJ t        t        t              t        dt        z        z
  t              dt        z  k(  sJ t        t        t              dz
  t              dt        z  k(  sJ t        t        dt        z        t        t              t        t              z  z   t              t        k(  sJ t        t        t        t                    t              dt        z  k(  sJ t        t        t        dt        z              t        t        dt        z              z
  t              t        k(  sJ t        t        dt        z        t        t	        t              t        dt        z        z
        z  t              t        k(  sJ t        t        t        t              t        dt        z        z
        t              dt        z  k(  sJ t        t	        t        dt        z              t              t        k(  sJ t        dt	        t              dz  z  t              t        k(  sJ t        t        t        dz        t              dk(  sJ t        t        t              dz  t              dt        z  k(  sJ t        t	        dt        z  dz
  dz        t              t        dd      k(  sJ t        t        d      t        dz   z  t        z   dz  t              dt        d      dz   z  k(  sJ t        t        dz  dz   t        z  t              J t        t        t        t                    t              dt        z  k(  sJ t        t        t              dz  t        t              dz  z   t              t        j                   u sJ t        t	        t              t              t        j                   u sJ t        t        t              t"        t        t              z  z   t              dt        z  k(  sJ t        t        t        dt        z        z
  t              t        k(  sJ t        t        t              t              J t        t        t"        t        z        t              dt        z  k(  sJ t        t        t"        t$        z        t$              dt        z  k(  sJ t        t        t$              t$              J t        t        t        t        t$              t"        t        dt$        z        z  z         d      t$              dt        z  k(  sJ t        t        t        t        dt$        z        t"        t        t$              z  z         d      t$              dt        z  k(  sJ t        t        t        t$                    t$              dt        z  k(  sJ t        t        dt"        z  t$        z        t$              t        k(  sJ t        t        t$        t"        t        t$              z  z         t$              J t        t        t        t$        dz        t        t$              z         t$              dt        z  k(  sJ t        t        t              t              J t        t        t              t        t              z  t              J t        t        t              t        z  t              J t        t'        t        t'        t        t                                t              t        k(  sJ t)        d t
        t        t        t        t        t        fD              sJ t        t'        t        t	        t                          t              t        k(  sJ t        t'        t        t        t              t	        t              z               t              dt        z  k(  sJ t        t        t              t        j*                  kD  t              dt        z  k(  sJ t        t        dkD  t              J t        t        dz  t        dz  z
  dz   t              J t        t'        t              t              J t        t'        t        dz  dz
        t              J t        t        dz  dz   dz  t              J t        t,        t        z  dz  t              J t        t        t/        dt                    t/        dt              z  t              J t1        d	t        d
k  ft        dz  t        dk  ft        t              df      } t        | t              J t3        ddd      t5        t6        fd       t5        t6        fd       t5        t6        fd       t5        t6        fd       y )NrH   rg   rQ   rK   rJ   F)evaluatec              3   p   K   | ].  }t        t         |t                    t              t        k(   0 y wr[   )r3   r   rC   r   ).0ru   s     rX   	<genexpr>z#test_periodicity.<locals>.<genexpr>   s-      ' 9&1{3qt9a(B. 9&s   46r   rI   Tmc                  .    t        t                      S r[   r3   r   r   s   rX   rY   z"test_periodicity.<locals>.<lambda>   s    CFA(>rW   c                  4    t        t         d                S N)r   r   r   r   s   rX   rY   z"test_periodicity.<locals>.<lambda>   s    C$L!(DrW   c                  4    t        t                d         S r   r   r   s   rX   rY   z"test_periodicity.<locals>.<lambda>   s    CFAdG(DrW   c                  :    t        t         d          d         S r   r   r   s   rX   rY   z"test_periodicity.<locals>.<lambda>   s    C$L!D'(JrW   )r3   r   rC   r   r   r   r   rD   r   r   r   r   r   r   r   r
   Zeror   rE   r   allr   r   r-   r   r.   r@   rb   )pr   s    @rX   test_periodicityr      s   s1Q3x#r)))C!H}a(BqD000s1vqy!$",,,q#ac({A&"Q$...s1vc!f}a(AbD000s1vA'+qt333s1vc!f}a(AbD000s1Q3xAaC(1,a0BqD888s1vA*b000s1vAaC(!,"444s1vz1%2---s1Q3x#a&Q-/3r999s3q6{A&!B$...s3qs8}s3qs8}4a8B>>>s1Q3xCFS1X$5 66:b@@@s3q6C!H,-q1QrT999s3qs8}a(B...qQ{A&",,,s1Q3x#q(((s1vax#qt+++sAaCE19~q)Xa^;;;Q1a1,a0AaOCCC1Q!|Q'///s2a5z1%2---s1vqy3q619,a0AFF:::s1vq!QVV+++s1v#a&(!,"444q3qs8|Q'2---s1vq!)))s1Q3x#qt+++s1Q3x#qt+++s1vq!)))s3s1v#ac(
23eDaHAbDPPPs3s1Q3x!CF(23eDaHAbDPPPs3q6{A&!B$...s1Q3q5z1%+++s1qQx<(!,444s3qs8c!f,-q1QrT999s1vq!)))s1vs1v~q)111s1vqy!$,,,s3s3q6{+,a0B666 'S#sC9& ' ' ' 's3s1v;'+r111s3s1vA/0!4"<<<s1v*ad222q1ua (((q!tad{Q*222s1vq!)))s1a4!8}a(0001q!|Q'///1ax#+++s6!Q<(15q9AAA1a"f+1a1f~A~>Aq!$$$S!QA
 >?
 DE
 DE
 JKrW   c            	         t        t        t              t        d      t        k(  sJ t        t	        t              t        t              z   t        d      dt        z  k(  sJ t        t        t              t              dt        z  k(  sJ t        t	        t        t        z        t              dt        z  t        t              z  k(  sJ t        t        t        t        t                          t              t        k(  sJ y )NT)checkrH   )
r3   r   rC   r   r   r   r   rD   absr   rV   rW   rX   test_periodicity_checkr     s    s1vq-333s1vA6!B$>>>s1vq!QrT)))s1Q3x#qtCF{222s3s1v;'+r111rW   c                     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 y )NrH   rK      rQ   rJ   )r4   r
   r   r   Oner   r   rV   rW   rX   	test_lcimr   	  s    1qt$%***Ar!tR !R'''2r!t2%%%"&&&1!QqS8Aq>115519=>!A$1*LLLrW   c                  h   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z  t        dz  z   t        t              dk(  sJ t        t        t              t        t              z   t              dk(  sJ t        d	t        dz  z  dt        dz  z  z
  t        t              dk(  sJ y )
NrJ   r   )rt   TFrH   rK   rI   rO   )
r5   rC   r9   ra   r   rs   rp   r   rD   r   rV   rW   rX   test_is_convexr     sK   QqS!HMM!R$89TAAAQqS!HbS!$45>>>QT1Xa_5===Qq!tVQx~~a'<=EEER1WasA(>?4GGGSVQ5(((QT!Q$Y1%---SVc!f_a(E111Qq!tVa1f_a+u444rW   c                     t        t        t              t        t        t         dz  t        dz              t         dz  t        dz  hk(  sJ t        t        t              t        t        j
                  dt        dz              t        j                  u sJ t        t        t              t              t        j                  u sJ t        t        t              t        t              z  t        t        dt                    t        dz  t        t        dd      z  hk(  sJ t        t        t              t        t        dt                    dt        hk(  sJ t        t        dz   t        dz
  z  t              t        t        dd            k(  sJ t        t        dz   t        dz
  z  t        t        dd            t        j                  u sJ t        t        dz  dz   t        dz
  z  t              dt        d      z
  dt        d      z   hk(  sJ t        t        dz  dz   t        dz
  z  t        t        dd            dt        d      z   hk(  sJ t        t        dz  t        dz  z   dt        dz  z  z
  t        t        j                        t        d	dt        dd            k(  sJ t        t        t              t              t        j                  u sJ t        t!        t              t        z
  t        t        j                        d
hk(  sJ t        t        t              t        t#        t        dd      t        dd                  dt         t        hk(  sJ t        t$        t        t        j                        t        j                  k(  sJ t        t$        t        t        j                        t        j                  k(  sJ y )NrH   r   rQ   rK   rI   rL   rM   rN   rg   rJ   rP   )r6   r   rC   r9   r   rp   r
   r`   r   r   r   r   r:   r   rU   r   r   r<   rD   rV   rW   rX   test_stationary_pointsr     s+   SVQ"Q1(= 
c!eRT]  c!fa2a4)@ 
ZZ  SVQ 
ZZ  SVCF]Ax2 
dBx1~%&' ' 'SVQB 
W  acAaC[! 
xA'( ( (a!ea!e_a"a 
ZZ  ad1fqs^Q 
$q'k1tAw;'( ( (ad1fqs^QA 
$q'k]  QTAqD[1QT611agg 
r1hq!n-. . .SVQ 
ZZ  SVaZAGG 
S  SVQhq!nhr2>N(O 
"b\  Q177 
WW  Q1::.!**<<<rW   c                  V
   t        t        t              t              t        j                  u sJ t        t        t              t        t        dd            t        d      k(  sJ t        t        t              t              t        u sJ t        t        t              t        t        t         dz  t        dz              t        j                  u sJ t        t        t              t        t              z  t        t        j                        t        j                  k(  sJ t        t        t        t              t        t              z  t        t        t        t        dd      z  t        t        dd      z                    t        d      dz  k(  sJ t        t        dz   t        dz
  z  t              t        u sJ t        t        dz   t        dz
  z  t        t        dd            t        d	      k(  sJ t        t        dz   t        dz
  z  t        t        dd            t        dd
      k(  sJ t        t        t        dz   t        dz  z
  t        dz  z   dz   t                    dt        d      z  dz  t        dd      z   k(  sJ t        t        t              t        t        t         d            t        d      k(  sJ t        t!        t              t        z
  t        t        j                        t        j"                  u sJ t        t        t              t        t%        t        dd      t        dd                  t        j                  u sJ t        t        t              t        t              z
  t        t        j                        t        d      k(  sJ t        t&        t        t        j                        t&        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        t        t        dz  dz         z  t        t        j                        dk(  sJ t-        t.        d        t-        t.        d        t-        t.        d        t-        t.        d        t-        t.        d        t-        t.        d        y )Nr   rJ   rQ   rK   rO   rM   rH   rL      rN   
   )   i   i+  r   rP   <      i     c                  Z    t        t        t              t        t        j                        S r[   )r8   r   rC   r
   r`   rV   rW   rX   rY   ztest_maximum.<locals>.<lambda>U      A1:: >rW   c                  l    t        t        t        t                    t        t        j
                        S r[   )r8   r   r   rC   r
   r`   rV   rW   rX   rY   ztest_maximum.<locals>.<lambda>V      CFQ

 CrW   c                  n    t        dt        dz  t        dz  z   dz   z  t        t        j                        S rm   )r8   rC   rD   r
   r`   rV   rW   rX   rY   ztest_maximum.<locals>.<lambda>W  &    1a4!Q$;?(;Q

 KrW   c                  N    t        t        t              t        t                    S r[   )r8   r   rC   rV   rW   rX   rY   ztest_maximum.<locals>.<lambda>X      AA 7rW   c                  h    t        t        t              t        t        z  t        j
                        S r[   )r8   r   rC   rD   r
   r`   rV   rW   rX   rY   ztest_maximum.<locals>.<lambda>Y      A!QZZ @rW   c                  P    t        t        t              t        j                        S r[   )r8   r   rC   r
   r   rV   rW   rX   rY   ztest_maximum.<locals>.<lambda>Z      A 6rW   )r8   r   rC   r
   r   r9   r   r   r   r   rU   r   r/   r   r   r   r   NegativeOner<   rD   r   rE   r@   r   rV   rW   rX   test_maximumr   =  s   3q61&&&3q61hq!n-Q7773q61###3q61hs1ubd34===3q6#a&=!QWW-777GCF3q6M1hr(1a.7H"XVWYZ^J[.\] 
!WQY  AaC!A#;"b(((AaC!A#;8B?3qu<<<AaC!A#;8B?3x1~EEEGQTE!Q$Jq!tOB.2 
R[_xc223 3 33q61hsA./3q69993q6A:q!''*amm;;;3q61eHQNHR4DE 
UU  3q6#a&=!QWW-a8881a!Q&&&3q!tax=!Xa^4:::3r!Q$wA~&8Aq>:cAAA3r!tQq!tVaZ()1hq!n=DDD1T!Q$q&\>1agg.!333
:>?
:CD
:KL
:78
:@A
:67rW   c                  8   t        t        t              t              t        j                  u sJ t        t        t              t        t        dd            t        d      k(  sJ t        t        t              t              t         u sJ t        t        t              t        t        t         dz  t        dz              t        j                  u sJ t        t        t              t        t              z  t        t        j                        t        dd      k(  sJ t        t        t        t              t        t              z  t        t        t        t        dd      z  t        t        dd      z                    t        d       dz  k(  sJ t        t        dz   t        dz
  z  t              t        dd      k(  sJ t        t        dz   t        dz
  z  t        t        d	d
            t        dd      k(  sJ t        t        dz  t        dz  z
  t        dz  z   dz   t              t        d      k(  sJ t        t        t              t        t        dt                    t        d      k(  sJ t        t        t              t        z
  t        t        j                        t         u sJ t        t        t              t        t!        t        d
d      t        dd                  t        j                  u sJ t        t        t              t        t              z
  t        t        j                        t        d       k(  sJ t        t"        t        t        j                        t"        k(  sJ t        t        t        t        dz  dz         z  t        t        j                        dk(  sJ t%        t&        d        t%        t&        d        t%        t&        d        t%        t&        d        t%        t&        d        t%        t&        d        y )NrJ   rQ   rI   rH   rK   rO   rM   irL   r   rP   r   rg   r   c                  Z    t        t        t              t        t        j                        S r[   )r7   r   rC   r
   r`   rV   rW   rX   rY   ztest_minimum.<locals>.<lambda>p  r   rW   c                  l    t        t        t        t                    t        t        j
                        S r[   )r7   r   r   rC   r
   r`   rV   rW   rX   rY   ztest_minimum.<locals>.<lambda>q  r   rW   c                  n    t        dt        dz  t        dz  z   dz   z  t        t        j                        S rm   )r7   rC   rD   r
   r`   rV   rW   rX   rY   ztest_minimum.<locals>.<lambda>r  r   rW   c                  N    t        t        t              t        t                    S r[   )r7   r   rC   rV   rW   rX   rY   ztest_minimum.<locals>.<lambda>s  r   rW   c                  h    t        t        t              t        t        z  t        j
                        S r[   )r7   r   rC   rD   r
   r`   rV   rW   rX   rY   ztest_minimum.<locals>.<lambda>t  r   rW   c                  P    t        t        t              t        j                        S r[   )r7   r   rC   r
   r   rV   rW   rX   rY   ztest_minimum.<locals>.<lambda>u  r   rW   )r7   r   rC   r
   r   r9   r   r   r   r   rU   r   r/   r   r   r   r<   rD   r@   r   rV   rW   rX   test_minimumr   ]  s   3q61...3q61hq!n-Q7773q61"$$$3q61hs1ubd34EEE3q6#a&=!QWW-"a@@@GCF3q6M1hr(1a.7H"XVWYZ^J[.\] 
1gXaZ  AaC!A#;"hsA&6666AaC!A#;8B?3xAFFF1a419QT>"$a(AbE1113q61hr2./3r7:::3q6A:q!''*rc1113q61eHQNHR4DE 
]]  3q6#a&=!QWW-$q'9991a!Q&&&1T!Q$q&\>1agg."444
:>?
:CD
:KL
:78
:@A
:67rW   c                      t        t        d      t        dz
  z  dt        t        dz  dz         z  z  t              t        d      dz  k(  sJ y )NrK   rJ   rH   )r8   r   rC   rV   rW   rX   test_issue_19869r   x  sH    DGQUOQtAqD1H~%56:!WQY  rW   c                      t        t              } t        | t        t        j                        t        dt        dd      k(  sJ y )Nr   FT)r   rE   r0   r
   rU   r9   r   )ru   s    rX   test_issue_16469r   }  s1    AA!Q(HQE4,HHHHrW   c                      t        t        t        t        z  t        dz  t
        j                  dz  z   z        t              dk(  sJ y )NrQ   rH   rO   )r3   r   r   r   rC   r
   r   rV   rW   rX   test_issue_18747r     s5    s2a41qvvax0115:::rW   c                      t        t              t        dz  kD  j                         t	        j
                  dt        d      dz        k(  sJ y )NrK   rI   rJ   rH   )r   rC   r   as_setr9   rp   r
   rV   rW   rX   test_issue_25942r     s8    GbdN""$r1Q46(BBBBrW   N)ksympy.core.functionr   sympy.core.numbersr   r   r   r   r   sympy.core.relationalr	   sympy.core.singletonr
   sympy.core.symbolr   r   $sympy.functions.elementary.complexesr   r   &sympy.functions.elementary.exponentialr   r   #sympy.functions.elementary.integersr   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   r   r   r   r   r   r   r   r   r   r   r   %sympy.functions.elementary.hyperbolicr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   'sympy.functions.special.gamma_functionsr,   'sympy.functions.special.error_functionsr-   "sympy.matrices.expressions.matexprr.   sympy.simplify.simplifyr/   sympy.calculus.utilr0   r1   r2   r3   r4   r5   r6   r7   r8   sympy.sets.setsr9   r:   r;   r<   sympy.sets.fancysetsr=   sympy.sets.conditionsetr>   sympy.testing.pytestr?   r@   rA   rB   	sympy.abcrC   rD   rE   rc   re   rv   ry   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   rV   rW   rX   <module>r      s]   & 7 7 $ " - : = 4 9 :F F F F: : : : 9 : ; ,F F F E D ) 0 C C 
3T$"N U U=C@ ? ? I I O OHB DL DLN2M	5=@8@86
I
 ; ;CrW   