
    \h/                     :	   S r SSKJrJr  SSKJr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/J0r0  S r1\&Rd                  " \5      S 5       r3\&Rd                  " \5      S 5       r3\&Rd                  " \5      S 5       r3\&Rd                  " \5      S 5       r3\&Rd                  " \	5      S 5       r3\&Rh                  " \\5      S 5       r3\&Rd                  " \5      S 5       r3\'Rd                  " \5      S 5       r3\'Rd                  " \5      S 5       r3\(Rd                  " \5      S 5       r3\(Rd                  " \5      S 5       r3\(Rd                  " \5      S 5       r3\(Rd                  " \5      S 5       r3\(Rd                  " \	5      S 5       r3\(Rd                  " \5      S 5       r3\(Rd                  " \5      S 5       r3\)Rd                  " \5      S 5       r3\)Rd                  " \5      S 5       r3\)Rd                  " \5      S 5       r3\*Rd                  " \5      S  5       r3\*Rd                  " \5      S! 5       r3S" r5\+Rd                  " \5      S# 5       r3\+Rd                  " \5      S$ 5       r3\+Rd                  " \5      S% 5       r3\+Rd                  " \5      S& 5       r3\+Rd                  " \	5      S' 5       r3\+Rd                  " \5      S( 5       r3\+Rd                  " \5      S) 5       r3\+Rd                  " \5      S* 5       r3\+Rd                  " \5      S+ 5       r3\+Rd                  " \5      S, 5       r3\+Rd                  " \ 5      S- 5       r3\+Rd                  " \5      S. 5       r3\+Rd                  " \"5      S/ 5       r3\+Rd                  " \5      S0 5       r3\+Rd                  " \5      S1 5       r3\+Rd                  " \5      S2 5       r3\+Rd                  " \5      S3 5       r3\+Rd                  " \5      S4 5       r3\,Rd                  " \65      S5 5       r3\0Rd                  " \65      S6 5       r3\/Rd                  " \65      S7 5       r3\.Rd                  " \65      S8 5       r3\-Rd                  " \65      S9 5       r3g:);z?
Handlers related to order relations: positive, negative, etc.
    )Qask)AddBasicExprMulPowS)	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                 t   U R                  5       u  p#U[        R                  :X  d  U[        R                  :X  a  g 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_imagr
   r   evalf_precexprassumptionsris       X/var/www/auris/envauris/lib/python3.13/site-packages/sympy/assumptions/handlers/order.py_NegativePredicate_numberr7      s    DAAEEzQ!%%Z GGAJ77a<q5L  GGAJ77a<Av
Aww!|1u 	     c                 <    U R                   (       a  [        X5      $ g N)	is_numberr7   r2   r3   s     r6   _r=   /       ~~(;; r8   c                 0    U R                   nUc  [        eU$ r:   )is_negativer   r2   r3   rets      r6   r=   r=   4       


C
{##Jr8   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=   ;   s     ~~(;;AFF4L+&A}Fyyqzz#,D81::c?K0E9!  C		N" #r8   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   rF   r   r   rG   rH   r2   r3   resultrK   s       r6   r=   r=   S   so    ~~(;;Fyy>Fqzz#,,ZFC+..  Mr8   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   rE   r   r;   r7   rH   evenoddrG   r<   s     r6   r=   r=   c   s     yyA~qvvdhh--~~(;;
166$))k**qzz$))$k22166$((#[11qvvdhh--quuTXX,,qzz$)),k:: - +r8   c                     grM    r<   s     r6   r=   r=   {       r8   c                 n    [        [        R                  " U R                  5      U5      (       a  g[        erM   )r   r   rE   r   r   r<   s     r6   r=   r=      s%    
166$(([))
r8   c                     U R                   (       a=  [        [        X5      5      nU(       a   [        [        R
                  " U 5      U5      $ U$ g r:   )r;   r   r7   r   r   rE   )r2   r3   notnegatives      r6   r=   r=      <    ~~ 9$ LMqvvd|[11 r8   c                 0    U R                   nUc  [        eU$ r:   )is_nonnegativer   rA   s      r6   r=   r=          


C
{##Jr8   c                 0    U R                   nUc  [        eU$ r:   )
is_nonzeror   rA   s      r6   r=   r=      s    
//C
{##Jr8   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 r8   c              3   4   >#    U  H  nT" U5      v   M     g 7fr:   rU   ).0r5   rb   s     r6   	<genexpr>_.<locals>.<genexpr>   s     :)9AQ)9s   )r   r   rE   r;   r/   r   r.   )r2   r3   r5   rb   s      @r6   r=   r=      sS    
166$<E!~~JJqM	 :)9::: r8   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   rH   re   xr3   s     r6   rf   rg      s#     
>Iq3qzz!}k**I   -0c              3   d   >#    U  H%  n[        [        R                  " U5      T5      v   M'     g 7fr:   )r   r   rG   rj   s     r6   rf   rg      s#     FIq3qzz!}k22Irl   T)allrF   r<   s    `r6   r=   r=      s6    

>DII
>>>FDIIFFF Gr8   c                     U R                    H.  n[        [        R                  " U5      U5      nU(       a  M,  Us  $    gNT)rF   r   r   nonzero)r2   r3   rK   rO   s       r6   r=   r=      s4    yyQYYs^[1	 
 r8   c                 V    [        [        R                  " U R                  5      U5      $ r:   )r   r   rq   rQ   r<   s     r6   r=   r=      s    qyy#[11r8   c                 \    [        [        R                  " U R                  S   5      U5      $ Nr   )r   r   rq   rF   r<   s     r6   r=   r=      s     qyy1&44r8   c                     g r:   rU   r<   s     r6   r=   r=          r8   c                 0    U R                   nUc  [        eU$ r:   )is_zeror   rA   s      r6   r=   r=      s    
,,C
{##Jr8   c           	          [        [        [        [        R                  " U 5      U5      5      [        [        R
                  " U 5      U5      /5      $ r:   )r   r   r   r   rq   rE   r<   s     r6   r=   r=      s<    iAIIdO[ ABAFF4L+&( ) )r8   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)re   rK   r3   s     r6   rf   rg      s#     GYcCs[11Yrl   )r   rF   r<   s    `r6   r=   r=      s     GTYYGGGr8   c                 0    U R                   nUc  [        eU$ r:   )is_nonpositiver   rA   s      r6   r=   r=      r]   r8   c                     U R                   (       a=  [        [        X5      5      nU(       a   [        [        R
                  " U 5      U5      $ U$ g r:   )r;   r   _PositivePredicate_numberr   r   rE   )r2   r3   notpositives      r6   r=   r=      rZ   r8   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.   r/   r0   r1   s       r6   r   r      s    DA
 GGAJ77a<q5L  GGAJ77a<Av
Aww!|1u 	 r8   c                 0    U R                   nUc  [        eU$ r:   )is_positiver   rA   s      r6   r=   r=     rC   r8   c                 <    U R                   (       a  [        X5      $ g r:   )r;   r   r<   s     r6   r=   r=     r>   r8   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$ rp   )r;   r   rF   r   r   rH   rG   rN   s       r6   r=   r=     sg    ~~(;;Fyyqzz#,,C+..d]F  Mr8   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   rE   rF   rH   rG   rI   )r2   r3   r4   nonnegrK   s        r6   r=   r=      s    ~~(;;AFF4L+&A}Fyyqzz#,D81::c?K0E9!  C		N" #r8   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)rQ   r   r   r   rE   r   	imaginaryrR   r   r   r;   r   rH   rG   rS   r<   s     r6   r=   r=   4  s   yyA~qvvdhh--q{{488$k22qvvdhh"o.<<~~(;;
1::dii +..qvvdhh--
1::dii +..qvvdhh--quuTXX,, - /r8   c                 2   [        [        R                  " U R                  5      U5      (       a  g[        [        R                  " U R                  5      U5      (       a8  [        [        R
                  " U R                  [        [        -  -  5      U5      $ g rp   )r   r   rE   r   r   rR   r   r   r<   s     r6   r=   r=   H  s`    
166$(([))
1;;txx +..166$((AbD/*K88 /r8   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   rE   rF   rH   rG   )r2   r3   r4   s      r6   r=   r=   O  s|    AFF499Q< +.A}
1::diilQ&'55
1::diilQ&'55 6r8   c                     U R                   S   n[        [        R                  " U5      [        R                  " U5      -  U5      (       a  gg )Nr   T)rF   r   r   integerrH   r2   r3   rk   s      r6   r=   r=   Y  s9    		!A
199Q<!**Q-'55 6r8   c                     grM   rU   r<   s     r6   r=   r=   _  rV   r8   c                 B    [        [        R                  " U 5      U5      $ r:   )r   r   rq   r<   s     r6   r=   r=   c  s    qyy,,r8   c                 d    [        [        R                  " U R                  5      U5      (       a  gg rp   r   r   positive_definiterK   r<   s     r6   r=   r=   g  &    
1txx(+66 7r8   c                 d    [        [        R                  " U R                  5      U5      (       a  gg rp   r   r<   s     r6   r=   r=   l  r   r8   c                     U R                   U R                  :X  a1  [        [        R                  " U R
                  5      U5      (       a  gg g rp   )r5   jr   r   r   parentr<   s     r6   r=   r=   q  s<    $&&A''4kBB C 	r8   c                 \    [        [        R                  " U R                  S   5      U5      $ rt   )r   r   rH   rF   r<   s     r6   r=   r=   w  s     qzz$))A,'55r8   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)rF   r   r   rH   nonpositiverG   nonnegativer   s      r6   r=   r=   {  sh    		!A
1::a=1==Q//==
1::a=1==Q//== >r8   c                     U R                   S   n[        [        R                  " US-
  5      [        R                  " US-   5      -  U5      (       a  gg )Nr   r-   T)rF   r   r   r   r   r   s      r6   r=   r=     sD    		!A
1==Q!--A"66DD Er8   c                 \    [        [        R                  " U R                  S   5      U5      $ rt   )r   r   rE   rF   r<   s     r6   r=   r=     s     qvvdiil#[11r8   c                     g r:   rU   r<   s     r6   r=   r=     rv   r8   c                 p    [        [        R                  " U 5      [        R                  " U 5      -  U5      $ r:   )r   r   rG   negative_infiniter<   s     r6   r=   r=     (    qzz$!"5"5d";;[IIr8   c                 p    [        [        R                  " U 5      [        R                  " U 5      -  U5      $ r:   )r   r   rH   positive_infiniter<   s     r6   r=   r=     r   r8   c                     [        [        R                  " U 5      [        R                  " U 5      -  [        R                  " U 5      -  [        R
                  " U 5      -  U5      $ r:   )r   r   r   rG   rH   r   r<   s     r6   r=   r=     sM    	D!AJJt$44qzz$7GG!J]J]^bJcc r8   c                     [        [        R                  " U 5      [        R                  " U 5      -  [        R                  " U 5      -  U5      $ r:   )r   r   r   rG   r|   r<   s     r6   r=   r=     s;    	D!AJJt$44qvvd|C r8   c                     [        [        R                  " U 5      [        R                  " U 5      -  [        R                  " U 5      -  U5      $ r:   )r   r   r|   rH   r   r<   s     r6   r=   r=     s;    	tqzz$''!*=*=d*CC r8   N)7__doc__sympy.assumptionsr   r   
sympy.corer   r   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   objectrU   r8   r6   <module>r      s   % 4 4 ; ; ; ; 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. /r8   