
    g}H                        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+ Zjd,S )-    )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            
         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            d S )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     Z/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/calculus/tests/test_util.py<lambda>z%test_function_range.<locals>.<lambda>;   s>    AAQ "Q&17*4 *4 rW   c                  v    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
Aqw*  *  rW   c                  f    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                  l    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!QZ*! *! 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%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 5 5 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 d S )NrH   rK   rJ   )r0   r   rC   r
   rU   r9   r   rV   rW   rX   test_function_range1re   E   sR    #a&&!)c!A#hhk1A5q!'BBhqQSnnTTTTTTrW   c                  6   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                  } |                     dt          z  dz            r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                                      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          j%        k    sJ t          tM          t                    t          t          j                  t          j'        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 ]u}t           |t                    t          t          j                  t          t          j	        t           d          t          j	        dt                              k    sJ vt          t]          t                    t          t          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 d S )Nr   rH   FTrK   rJ   rQ   rI   rM   d)evenzeronc                  ^    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                  n    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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<<	> 	>> > > > SVVQAbD(9(9::eahmB"55?7 ?7 7 7 7 7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acBY1733xB7G7GGGGGacRT]Aqw778B;K;KKKKKQT1ag..(1b//AAAAacC1II-q!'::er1x}Q33?5 ?5 5 5 5 5s3q6619q=111ag>>FqtAv&&&&&??1sE***AQ1Xq!'22hq"ooEEEEc

AQs1vvXq!'22;;J	xq!A#b&2+ 6 6
CCq!A#b& 1 11:>>@ @=A =A B B B B B SVVc!ff_a99QWDDDDT!WWa11Xb!__DDDDQtCFF||^Q88HN3r77TU<V<VVVVVT!WWT!WW_a99QWDDDDT!WWT!WW_a99QWDDDDT!WWU1XX-q!'::agEEEEU1XXq!'22hq"ooEEEEU1XXq!'22hmB6J6JJJJJU1XXeAhh.17;;qzIIIIU1XXq!'22hnQ6J6JJJJJU1XXq!'22erc2a 4 476 76 6 6 6 6T!WWa11U"b8Ar??6, 6, , , , ,T!WWa11U"b8Ar??6, 6, , , , ,E4  9 9 1q!'22eM2#q!!8=B#7#779 79 9 9 9 9 9T!WWa11::1==FFFFQA
^Q88J	aQBQK!3!3QW===? =? ? ? ? ?T!Q$ZZHROO<<b477(##X]DGG8R%@%@tAwwha))A+ A+ + + + + T!WWa11Z	6 6    
 !$ !$ % % %
 !% !% & & &Qr]Aqw7717BBB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 d S )Nr   T)r   r   r   rC   r1   r
   rU   )	acot_conts    rX   test_continuous_domain_acotry      sU    2d1gg:qs+d1ggt_==IY1733qw>>>>>>rW   c                      t          t          t                    t          t          j                                      d          dk    sJ d S )NrI   F)r1   r,   rC   r
   rU   rq   rV   rW   rX   test_continuous_domain_gammar{      s;    U1XXq!'22;;B??5HHHHHHrW   c                      t          t          dz
  dt          z
  z  t          t          j                  t	          j        dt                    k    sJ d S )NrH   rJ   )r1   rC   r
   rU   r9   ra   r   rV   rW   rX    test_continuous_domain_neg_powerr}      s?    acQqS\1ag66(-2:N:NNNNNNNrW   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 )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                  H    t          t          dd          t                    S )Nr   rJ   )r2   r9   rC   rV   rW   rX   rY   z#test_not_empty_in.<locals>.<lambda>   s    |HQNNA>> rW   c                      t          t          t                                        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 6qw ? ?AFF rW   )r2   r:   rC   r   r9   r
   Halfr<   r   r   rU   r;   rE   r   r`   r@   
ValueErrorrb   rV   rW   rX   test_not_empty_inr      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rW   c                  T   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        k    t                    dt          z  k    sJ t          t          dk    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           d S )NrH   rg   rQ   rK   rJ   F)evaluatec              3      K   | ]=}t          t           |t                              t                    t          k    V  >d S r[   )r3   r   rC   r   ).0ru   s     rX   	<genexpr>z#test_periodicity.<locals>.<genexpr>   sO       ' '1{3qqtt99a((B. ' ' ' ' ' 'rW   r   rI   Tmc                  >    t          t                                S r[   r3   r   r   s   rX   rY   z"test_periodicity.<locals>.<lambda>   s    CFFA(>(> rW   c                  J    t          t           d                              S N)r   r   r   r   s   rX   rY   z"test_periodicity.<locals>.<lambda>   s    C$LL!(D(D rW   c                  J    t          t                      d                   S r   r   r   s   rX   rY   z"test_periodicity.<locals>.<lambda>   s    CFFAdG(D(D rW   c                  V    t          t           d                    d                   S r   r   r   s   rX   rY   z"test_periodicity.<locals>.<lambda>   s    C$LL!D'(J(J rW   )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      sT
   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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 d S )NT)checkrH   )
r3   r   rC   r   r   r   r   rD   absr   rV   rW   rX   test_periodicity_checkr     s    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1rW   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 )NrH   rK      rQ   rJ   )r4   r
   r   r   Oner   r   rV   rW   rX   	test_lcimr   	  s    1qtt$%%****Ar!tR !!R''''2r!t2%%%%"&&&1!QqS8Aq>>11519=>>!A$$1*LLLLLLrW   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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 d S )
NrJ   r   )rt   TFrH   rK   rI   rO   )
r5   rC   r9   ra   r   rs   rp   r   rD   r   rV   rW   rX   test_is_convexr     s   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((((QT!Q$Y1%%----SVVc!ff_a((E1111Qq!tVa1f_a++u444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 d S )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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:..!*<<<<<<rW   c                     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            d S )Nr   rJ   rQ   rK   rO   rM   rH   rL      rN   
   )   i   i+  r   rP   <      i     c                  f    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                      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FFQ
 C C rW   c                  t    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
 K K rW   c                  j    t          t          t                    t          t                              S r[   )r8   r   rC   rV   rW   rX   rY   ztest_maximum.<locals>.<lambda>X      AA 7 7 rW   c                  v    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!QZ @ @ rW   c                  Z    t          t          t                    t          j                  S r[   )r8   r   rC   r
   r   rV   rW   rX   rY   ztest_maximum.<locals>.<lambda>Z      A 6 6 rW   )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   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DDD
:KKLLL
:77888
:@@AAA
:6677777rW   c                  (
   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            d S )NrJ   rQ   rI   rH   rK   rO   rM   irL   r   rP   r   rg   r   c                  f    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                      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                  t    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                  j    t          t          t                    t          t                              S r[   )r7   r   rC   rV   rW   rX   rY   ztest_minimum.<locals>.<lambda>s  r   rW   c                  v    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                  Z    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   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DDD
:KKLLL
:77888
:@@AAA
:667777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 d S )NrK   rJ   rH   )r8   r   rC   rV   rW   rX   test_issue_19869r   x  s`    DGGQUOQtAqD1H~~%56::!WWQY     rW   c                      t          t                    } t          | t          t          j                  t          dt          dd          k    sJ d S )Nr   FT)r   rE   r0   r
   rU   r9   r   )ru   s    rX   test_issue_16469r   }  s@    AA!Q((HQE4,H,HHHHHHHrW   c                      t          t          t          t          z  t          dz  t
          j        dz  z   z            t                    dk    sJ d S )NrQ   rH   rO   )r3   r   r   r   rC   r
   r   rV   rW   rX   test_issue_18747r     sB    s2a41qvax011155::::::rW   c                      t          t                    t          dz  k                                    t	          j        dt          d          dz            k    sJ d S )NrK   rI   rJ   rH   )r   rC   r   as_setr9   rp   r
   rV   rW   rX   test_issue_25942r     sI    GGbdN""$$r1Q446(B(BBB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 7 7 7 7 7 7 7 7 7 7 7 7 $ $ $ $ $ $ " " " " " " - - - - - - - - : : : : : : : : = = = = = = = = 4 4 4 4 4 4 9 9 9 9 9 9 : : : : : :F F F F F F F F F F F F F F F F F F F F F F F F F F F F: : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 9 9 9 9 9 : : : : : : ; ; ; ; ; ; , , , , , ,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 ) ) ) ) ) ) 0 0 0 0 0 0 C C C C C C C C C C C C        
F3T$" $" $"N U U U=C =C =C@ ? ? ? I I I O O OH H HB DL DL DLN2 2 2M M M	5 	5 	5= = =@8 8 8@8 8 86  
I I I
 ; ; ;C C C C CrW   