
    Цi/                     6	   S r SSKJrJr  SSKJrJrJrJrJ	r	  SSK
JrJrJr  SSKJrJrJrJrJr  SSKJrJrJrJrJrJrJrJr  SSKJrJr  SSK J!r!  SS	K"J#r#  S
SK$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/  S r0\%Rb                  " \5      S 5       r2\%Rb                  " \5      S 5       r2\%Rb                  " \5      S 5       r2\%Rb                  " \5      S 5       r2\%Rb                  " \	5      S 5       r2\%Rf                  " \\5      S 5       r2\%Rb                  " \5      S 5       r2\&Rb                  " \5      S 5       r2\&Rb                  " \5      S 5       r2\'Rb                  " \5      S 5       r2\'Rb                  " \5      S 5       r2\'Rb                  " \5      S 5       r2\'Rb                  " \5      S 5       r2\'Rb                  " \	5      S 5       r2\'Rb                  " \5      S 5       r2\'Rb                  " \5      S 5       r2\(Rb                  " \5      S 5       r2\(Rb                  " \5      S 5       r2\(Rb                  " \5      S 5       r2\)Rb                  " \5      S  5       r2\)Rb                  " \5      S! 5       r2S" r4\*Rb                  " \5      S# 5       r2\*Rb                  " \5      S$ 5       r2\*Rb                  " \5      S% 5       r2\*Rb                  " \5      S& 5       r2\*Rb                  " \	5      S' 5       r2\*Rb                  " \5      S( 5       r2\*Rb                  " \5      S) 5       r2\*Rb                  " \5      S* 5       r2\*Rb                  " \5      S+ 5       r2\*Rb                  " \5      S, 5       r2\*Rb                  " \5      S- 5       r2\*Rb                  " \5      S. 5       r2\*Rb                  " \!5      S/ 5       r2\*Rb                  " \5      S0 5       r2\*Rb                  " \5      S1 5       r2\*Rb                  " \5      S2 5       r2\*Rb                  " \5      S3 5       r2\*Rb                  " \5      S4 5       r2\+Rb                  " \55      S5 5       r2\/Rb                  " \55      S6 5       r2\.Rb                  " \55      S7 5       r2\-Rb                  " \55      S8 5       r2\,Rb                  " \55      S9 5       r2g:);z?
Handlers related to order relations: positive, negative, etc.
    )Qask)AddBasicExprMulPow)	fuzzy_not	fuzzy_andfuzzy_or)EImaginaryUnitNaNIpi)Absacosacotasinatanexp	factoriallog)DeterminantTrace)MatrixElement)MDNotImplementedError   )NegativePredicateNonNegativePredicateNonZeroPredicateZeroPredicateNonPositivePredicatePositivePredicateExtendedNegativePredicateExtendedNonNegativePredicateExtendedNonPositivePredicateExtendedNonZeroPredicateExtendedPositivePredicatec                 "   U R                  5       u  p#U(       d'  UR                  S5      nUR                  S:w  a  US:  $ g UR                  S5      nUR                  S:w  a.  US:w  a  gUR                  S5      nUR                  S:w  a  US:  $ g g Nr      r   Fas_real_imagevalf_precexprassumptionsris       _/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/sympy/assumptions/handlers/order.py_NegativePredicate_numberr7          DA
 GGAJ77a<q5L  GGAJ77a<Av
Aww!|1u 	     c                 <    U R                   (       a  [        X5      $ g N)	is_numberr7   r2   r3   s     r6   _r>   +       ~~(;; r9   c                 0    U R                   nUc  [        eU$ r;   )is_negativer   r2   r3   rets      r6   r>   r>   0       


C
{##Jr9   c                    U R                   (       a  [        X5      $ [        [        R                  " U 5      U5      nUSLa  U$ SnU R
                   HR  n[        [        R                  " U5      U5      SLd  M(  [        [        R                  " U5      U5      SL a  US-  nMR    g   U[        U R
                  5      :  a  gg)zB
Positive + Positive -> Positive,
Negative + Negative -> Negative
Tr   Fr,   N)	r<   r7   r   r   realargsnegativepositivelen)r2   r3   r4   nonposargs        r6   r>   r>   7   s     ~~(;;AFF4L+&A}Fyyqzz#,D81::c?K0E9!  C		N" #r9   c                    U R                   (       a  [        X5      $ S nU R                   H]  nUc  Sn[        [        R
                  " U5      U5      (       a	  U(       + nM6  [        [        R                  " U5      U5      (       a  M]    g    U$ NF)r<   r7   rG   r   r   rH   rI   r2   r3   resultrL   s       r6   r>   r>   O   so    ~~(;;Fyy>Fqzz#,,ZFC+..  Mr9   c                    U R                   [        :X  a1  [        [        R                  " U R
                  5      U5      (       a  ggU R                  (       a  [        X5      $ [        [        R                  " U R                   5      U5      (       a  [        [        R                  " U R                   5      U5      (       a0  [        [        R                  " U R
                  5      U5      (       a  g[        [        R                  " U R
                  5      U5      (       a  g[        [        R                  " U R
                  5      U5      (       a*  [        [        R                  " U R                   5      U5      $ gg)za
Real ** Even -> NonNegative
Real ** Odd  -> same_as_base
NonNegative ** Positive -> NonNegative
FN)baser   r   r   rF   r   r<   r7   rI   evenoddrH   r=   s     r6   r>   r>   _   s     yyA~qvvdhh--~~(;;
166$))k**qzz$))$k22166$((#[11qvvdhh--quuTXX,,qzz$)),k:: - +r9   c                     grN    r=   s     r6   r>   r>   w       r9   c                 n    [        [        R                  " U R                  5      U5      (       a  g[        erN   )r   r   rF   r   r   r=   s     r6   r>   r>   {   s%    
166$(([))
r9   c                     U R                   (       a=  [        [        X5      5      nU(       a   [        [        R
                  " U 5      U5      $ U$ g r;   )r<   r
   r7   r   r   rF   )r2   r3   notnegatives      r6   r>   r>      <    ~~ 9$ LMqvvd|[11 r9   c                 0    U R                   nUc  [        eU$ r;   )is_nonnegativer   rB   s      r6   r>   r>          


C
{##Jr9   c                 0    U R                   nUc  [        eU$ r;   )
is_nonzeror   rB   s      r6   r>   r>      s    
//C
{##Jr9   c                    ^ [        [        R                  " U 5      5      SL a  gU R                  (       a7  U R	                  S5      nS m[        U4S jUR                  5        5       5      $ g )NFr   c                 .    U R                   S:w  a  U S:g  $ g )Nr,   r   )r0   )r5   s    r6   nonz_.<locals>.nonz   s    ww!|Av r9   c              3   4   >#    U  H  nT" U5      v   M     g 7fr;   rV   ).0r5   rc   s     r6   	<genexpr>_.<locals>.<genexpr>   s     :)9AQ)9s   )r   r   rF   r<   r/   r   r.   )r2   r3   r5   rc   s      @r6   r>   r>      sS    
166$<E!~~JJqM	 :)9::: r9   c                    ^ [        U4S jU R                   5       5      (       d$  [        U4S jU R                   5       5      (       a  gg )Nc              3   d   >#    U  H%  n[        [        R                  " U5      T5      v   M'     g 7fr;   )r   r   rI   rf   xr3   s     r6   rg   rh      s#     
>Iq3qzz!}k**I   -0c              3   d   >#    U  H%  n[        [        R                  " U5      T5      v   M'     g 7fr;   )r   r   rH   rk   s     r6   rg   rh      s#     FIq3qzz!}k22Irm   T)allrG   r=   s    `r6   r>   r>      s6    

>DII
>>>FDIIFFF Gr9   c                     U R                    H.  n[        [        R                  " U5      U5      nU(       a  M,  Us  $    gNT)rG   r   r   nonzero)r2   r3   rL   rP   s       r6   r>   r>      s4    yyQYYs^[1	 
 r9   c                 V    [        [        R                  " U R                  5      U5      $ r;   )r   r   rr   rR   r=   s     r6   r>   r>      s    qyy#[11r9   c                 \    [        [        R                  " U R                  S   5      U5      $ Nr   )r   r   rr   rG   r=   s     r6   r>   r>      s     qyy1&44r9   c                     g r;   rV   r=   s     r6   r>   r>          r9   c                 0    U R                   nUc  [        eU$ r;   )is_zeror   rB   s      r6   r>   r>      s    
,,C
{##Jr9   c           	          [        [        [        [        R                  " U 5      U5      5      [        [        R
                  " U 5      U5      /5      $ r;   )r   r
   r   r   rr   rF   r=   s     r6   r>   r>      s<    iAIIdO[ ABAFF4L+&( ) )r9   c                 B   ^ [        U4S jU R                   5       5      $ )Nc              3   d   >#    U  H%  n[        [        R                  " U5      T5      v   M'     g 7fr;   )r   r   zero)rf   rL   r3   s     r6   rg   rh      s#     GYcCs[11Yrm   )r   rG   r=   s    `r6   r>   r>      s     GTYYGGGr9   c                 0    U R                   nUc  [        eU$ r;   )is_nonpositiver   rB   s      r6   r>   r>      r^   r9   c                     U R                   (       a=  [        [        X5      5      nU(       a   [        [        R
                  " U 5      U5      $ U$ g r;   )r<   r
   _PositivePredicate_numberr   r   rF   )r2   r3   notpositives      r6   r>   r>      r[   r9   c                 "   U R                  5       u  p#U(       d'  UR                  S5      nUR                  S:w  a  US:  $ g UR                  S5      nUR                  S:w  a.  US:w  a  gUR                  S5      nUR                  S:w  a  US:  $ g g r+   r-   r1   s       r6   r   r      r8   r9   c                 0    U R                   nUc  [        eU$ r;   )is_positiver   rB   s      r6   r>   r>     rD   r9   c                 <    U R                   (       a  [        X5      $ g r;   )r<   r   r=   s     r6   r>   r>   	  r?   r9   c                    U R                   (       a  [        X5      $ SnU R                   HV  n[        [        R
                  " U5      U5      (       a  M*  [        [        R                  " U5      U5      (       a  US-  nMV    g    U$ rq   )r<   r   rG   r   r   rI   rH   rO   s       r6   r>   r>     sg    ~~(;;Fyyqzz#,,C+..d]F  Mr9   c                    U R                   (       a  [        X5      $ [        [        R                  " U 5      U5      nUSLa  U$ SnU R
                   HR  n[        [        R                  " U5      U5      SLd  M(  [        [        R                  " U5      U5      SL a  US-  nMR    g    U[        U R
                  5      :  a  gg )NTr   Fr,   )	r<   r   r   r   rF   rG   rI   rH   rJ   )r2   r3   r4   nonnegrL   s        r6   r>   r>     s    ~~(;;AFF4L+&A}Fyyqzz#,D81::c?K0E9!  C		N" #r9   c                 r   U R                   [        :X  a  [        [        R                  " U R
                  5      U5      (       a  g[        [        R                  " U R
                  5      U5      (       a8  [        [        R                  " U R
                  [        [        -  -  5      U5      $ g U R                  (       a  [        X5      $ [        [        R                  " U R                   5      U5      (       a0  [        [        R                  " U R
                  5      U5      (       a  g[        [        R                  " U R                   5      U5      (       aa  [        [        R                  " U R
                  5      U5      (       a  g[        [        R                  " U R
                  5      U5      (       a  gg g )NTF)rR   r   r   r   rF   r   	imaginaryrS   r   r   r<   r   rI   rH   rT   r=   s     r6   r>   r>   0  s   yyA~qvvdhh--q{{488$k22qvvdhh"o.<<~~(;;
1::dii +..qvvdhh--
1::dii +..qvvdhh--quuTXX,, - /r9   c                 2   [        [        R                  " U R                  5      U5      (       a  g[        [        R                  " U R                  5      U5      (       a8  [        [        R
                  " U R                  [        [        -  -  5      U5      $ g rq   )r   r   rF   r   r   rS   r   r   r=   s     r6   r>   r>   D  s`    
166$(([))
1;;txx +..166$((AbD/*K88 /r9   c                 D   [        [        R                  " U R                  S   5      U5      nUSLa  U$ [        [        R                  " U R                  S   S-
  5      U5      (       a  g[        [        R
                  " U R                  S   S-
  5      U5      (       a  gg )Nr   Tr,   F)r   r   rF   rG   rI   rH   )r2   r3   r4   s      r6   r>   r>   K  s|    AFF499Q< +.A}
1::diilQ&'55
1::diilQ&'55 6r9   c                     U R                   S   n[        [        R                  " U5      [        R                  " U5      -  U5      (       a  gg )Nr   T)rG   r   r   integerrI   r2   r3   rl   s      r6   r>   r>   U  s9    		!A
199Q<!**Q-'55 6r9   c                     grN   rV   r=   s     r6   r>   r>   [  rW   r9   c                 B    [        [        R                  " U 5      U5      $ r;   )r   r   rr   r=   s     r6   r>   r>   _  s    qyy,,r9   c                 d    [        [        R                  " U R                  5      U5      (       a  gg rq   r   r   positive_definiterL   r=   s     r6   r>   r>   c  &    
1txx(+66 7r9   c                 d    [        [        R                  " U R                  5      U5      (       a  gg rq   r   r=   s     r6   r>   r>   h  r   r9   c                     U R                   U R                  :X  a1  [        [        R                  " U R
                  5      U5      (       a  gg g rq   )r5   jr   r   r   parentr=   s     r6   r>   r>   m  s<    $&&A''4kBB C 	r9   c                 \    [        [        R                  " U R                  S   5      U5      $ ru   )r   r   rI   rG   r=   s     r6   r>   r>   s  s     qzz$))A,'55r9   c                 "   U R                   S   n[        [        R                  " U5      [        R                  " US-
  5      -  U5      (       a  g[        [        R
                  " U5      [        R                  " US-   5      -  U5      (       a  gg )Nr   r,   TF)rG   r   r   rI   nonpositiverH   nonnegativer   s      r6   r>   r>   w  sh    		!A
1::a=1==Q//==
1::a=1==Q//== >r9   c                     U R                   S   n[        [        R                  " US-
  5      [        R                  " US-   5      -  U5      (       a  gg )Nr   r,   T)rG   r   r   r   r   r   s      r6   r>   r>     sD    		!A
1==Q!--A"66DD Er9   c                 \    [        [        R                  " U R                  S   5      U5      $ ru   )r   r   rF   rG   r=   s     r6   r>   r>     s     qvvdiil#[11r9   c                     g r;   rV   r=   s     r6   r>   r>     rw   r9   c                 p    [        [        R                  " U 5      [        R                  " U 5      -  U5      $ r;   )r   r   rH   negative_infiniter=   s     r6   r>   r>     (    qzz$!"5"5d";;[IIr9   c                 p    [        [        R                  " U 5      [        R                  " U 5      -  U5      $ r;   )r   r   rI   positive_infiniter=   s     r6   r>   r>     r   r9   c                     [        [        R                  " U 5      [        R                  " U 5      -  [        R                  " U 5      -  [        R
                  " U 5      -  U5      $ r;   )r   r   r   rH   rI   r   r=   s     r6   r>   r>     sM    	D!AJJt$44qzz$7GG!J]J]^bJcc r9   c                     [        [        R                  " U 5      [        R                  " U 5      -  [        R                  " U 5      -  U5      $ r;   )r   r   r   rH   r}   r=   s     r6   r>   r>     s;    	D!AJJt$44qvvd|C r9   c                     [        [        R                  " U 5      [        R                  " U 5      -  [        R                  " U 5      -  U5      $ r;   )r   r   r}   rI   r   r=   s     r6   r>   r>     s;    	tqzz$''!*=*=d*CC r9   N)6__doc__sympy.assumptionsr   r   
sympy.corer   r   r   r   r	   sympy.core.logicr
   r   r   sympy.core.numbersr   r   r   r   r   sympy.functionsr   r   r   r   r   r   r   r   sympy.matricesr   r   "sympy.matrices.expressions.matexprr   sympy.multipledispatchr   predicates.orderr   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r7   registerr>   register_manyr   objectrV   r9   r6   <module>r      s   % 1 1 ; ; ; ; L L L - < 8       & E"< #< D! " C  !. C  ! C ; !;.   m4 5 C   !  u% & t$ % 4  ! 5!	; "	; 3  
 3   32  2 35  5 3     ) ) H H t$ % u% && D! " E"< #< C  ! C  !& C  !& C 9 !9 C  ! I& '
 M* + C - !- E" # K( ) M* +
 D!6 "6 D! " D! "
 D!2 "2 C  ! ##F+J ,J ##F+J ,J ""6* + &&v. / &&v. /r9   