
    h                        S SK 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Jr  S SKJrJrJrJr  S SKJr  S SKJr  S SKJrJr  S S	KJr  S S
KJr  S SKJr  S SKJ r   S SK!J"r"  \" S5      u  r#r$\" SSS9r%\" SSS9r&\" SSS9r'S r(S r)S r*g)    )Inanoopi)EqNe)S)Symbolsymbols)adjoint	conjugatesign	transpose)sqrt)	Piecewise)
DiracDelta	Heaviside)SingularityFunction)signsimp)raises)	unchanged)ArgumentIndexErrorzx ytT)nonzeroj)positivek)negativec                     [        S5      S:X  d   e[        S5      S:X  d   e[        [        * 5      S:X  d   e[        SS5      S:X  d   e[        [        S5      [        [        5      :X  d   e[        [        5      S:X  d   e[        [        5      S:X  d   e[        [
        5      S:X  d   e[        [        5      [        L d   e[        S5      R                  [         L d   e[        [        5      R                  [         L d   e[        [        [        5      5      [        [        5      :X  d   e[        [        [        [        -
  5      5      [        [        [        -
  5      :X  d   e[        [        [        5      5      [        [        5      :X  d   e[        [        [        [        -
  5      5      [        [        [        -
  5      :X  d   e[        [        [        5      5      [        [        5      :X  d   e[        [        [        [        -
  5      5      [        [        [        -
  5      :X  d   e[        [        5      R                  [        5      [        [        S5      :X  d   e[        [        S5      R                  [        5      [        [        S5      :X  d   e[        [        5      R                  [        5      SL d   e[        S[        -  5      R                  [        5      SL d   e[        [        S-  5      R                  [        5      S	L d   e[        [        [        5      5      R                  [        5      S	L d   e[        [        5      R                  [        5      S	L d   e[        [        [        -  5      R                  S[        S
9[        [        5      [!        [        5      -  :X  d   e[        [        [        -  5      R                  S[        S
9[        [        5      [!        [        5      -  :X  d   e[        [        S-  [        -  5      R                  S[        S
9[        [        S-  [        -  5      :X  d   e[        [        5      R                  S[        S
9[        [        5      :X  d   e[        [        S-
  [        S-
  -  [        S-
  -  5      R                  S[        S
9[        [        S-
  5      S-  [        [        S-
  5      -   [        [        S-
  5      S-  -   :X  d   e[        S[        -  5      [        [        5      :w  d   e[        [        5      [        [        * 5      :X  d   e[        [        * S5      [        [        S5      :X  d   e[        [        * S5      [        [        S5      * :X  d   e[        ["        * [        -  5      [        ["        [        -  5      :X  d   e[        [        [        -
  5      [        [        [        -
  5      :w  d   e[%        [        [        [        -
  5      [        [        [        -
  5      -
  5      S:X  d   e[        [        [        -  5      R                  S[        S
9[        [        5      [!        [        5      -  :X  d   e[        [        [        -  5      R                  S[        S
9[        [        5      [!        [        5      -  :X  d   e[        [        S-  [        -  5      R                  S[        S
9[        [        S-  [        -  5      :X  d   e[        [        5      R                  S[        S
9[        [        5      :X  d   e[        [        S-
  [        S-
  -  [        S-
  -  5      R                  SS9[        [        S-
  5      S-  [        [        S-
  5      -   [        [        S-
  5      S-  -   :X  d   e['        [(        S 5        ['        [*        S 5        ['        [*        S 5        ['        [*        S 5        g )N   r   gffffff@         T   F)
diracdeltawrt)r%   c                  >    [        [        5      R                  S5      $ Nr#   )r   xfdiff     l/var/www/fran/franai/venv/lib/python3.13/site-packages/sympy/functions/special/tests/test_delta_functions.py<lambda>!test_DiracDelta.<locals>.<lambda>P   s    z!}':':1'=r,   c                  "    [        [        S5      $ )N)r   r)   r+   r,   r-   r.   r/   Q   s    z!R0r,   c                       [        [        5      $ Nr   r   r+   r,   r-   r.   r/   R   s    z!}r,   c                  ,    [        SS[        -  -   5      $ Nr#   r$   r4   r+   r,   r-   r.   r/   S   s    z!ac'2r,   )r   r   r)   ir   r   r   funcr   yr   r   diff	is_simpler   expandabsr   r   r   r   
ValueErrorr+   r,   r-   test_DiracDeltar?      s   a=Ac?arc?aaq   az!},,,a=Aa=Aa=Ac?c!!!a=+++a=+++ :a=!Z]222:a!e$%AE)::::Z]#z!}444ZA&':a!e+<<<<Z]#z!}444ZA&':a!e+<<<<a=a Jq!$4444a  #z!Q'7777a=""1%---ac?$$Q'4///ad%%a(E111d1g((+u444a=""1%...ac?!!Tq!9Z]3q6=QQQQac?!!Tq!9Z]3q6=QQQQad1f$$!$<
1a4PQ6@RRRRa=4Q7:a=HHHq1uq1uoq1u-.5515M1q5!jQ//*QU2CA2EEG G G ac?jm+++a=JrN***qb!
1a 0000qb!Aq!1 1111rc!e
2a4 0000a!e
1q5 1111Jq1u%
1q5(99:a???ac?!!Tq!9Z]3q6=QQQQac?!!Tq!9Z]3q6=QQQQad1f$$!$<
1a4PQ6@RRRRa=4Q7:a=HHHq1uq1uoq1u-.555Fq1ua*QU"33jQ6G6IIK K K =>
:01
:,-
:23r,   c                     [        S5      S:X  d   e[        S5      S:X  d   e[        S5      [        R                  :X  d   e[        S[        5      [        :X  d   e[	        [         [        [
        5      (       d   e[        S[
        5      [
        :X  d   e[        [        S5      n [        [        [        R                  5      n[        [        S5      nU R                  U R                  s=:X  a  [        S4:X  d   e   eUR                  UR                  s=:X  a  [        S4:X  d   e   eUR                  [        [        R                  4:X  d   eUR                  [        4:X  d   e[        [        [        5      5      [        [        5      :X  d   e[        [        [        [        -
  5      5      [        [        [        -
  5      :X  d   e[        [        [        5      5      [        [        5      :X  d   e[        [        [        [        -
  5      5      [        [        [        -
  5      :X  d   e[        [        [        5      5      [        [        5      :X  d   e[        [        [        [        -
  5      5      [        [        [        -
  5      :X  d   e[        [        5      R                  [        5      [        [        5      :X  d   e[        [        [        -   5      R                  SL d   e[        [        [        -  5      R                  SL d   e[!        ["        S 5        [!        [$        S 5        [!        [$        S 5        g )Nr   r    Tc                  >    [        [        5      R                  S5      $ r(   )r   r)   r*   r+   r,   r-   r.    test_heaviside.<locals>.<lambda>s   s    y|'9'9!'<r,   c                       [        [        5      $ r3   r   r   r+   r,   r-   r.   rC   t   s    y|r,   c                  ,    [        SS[        -  -   5      $ r6   rE   r+   r,   r-   r.   rC   u   s    yQqS1r,   )r   r	   Halfr)   r   r   argspargsr   r9   r   r   r:   r   r   is_Functionr   r   r>   )h0h12h1s      r-   test_heavisiderN   V   sT   R=AQ<1Q<166!!!Q?aYq#&&&&Q###
Aq/B
Aqvv
C
Aq/B77bhh(1a&(((((77bhh(1a&(((((88166{"""999Q< IaL0009QU#$	!a%(8888Yq\"il222Yq1u%&)AE*::::Yq\"il222Yq1u%&)AE*::::Q<Q:a=000QU''4///QqS>%%---
<=
:+,
:12r,   c                     [        SSS9[        S5      p[        U 5      R                  [        5      [        SU S:  4[        S5      [	        U S5      4S5      :X  d   e[        U5      R                  [        5      [        SUS:  4[        S5      [	        US5      4S5      :X  d   e[        X5      R                  [        5      [        SU S:  4U[	        U S5      4S5      :X  d   e[        U S5      R                  [        5      [        SU S:*  4S5      :X  d   e[        U S5      R                  [        5      [        SU S:  4S5      :X  d   e[        U [
        5      R                  [        5      [        SU S:  4[
        [	        U S5      4S5      :X  d   e[        U 5      R                  [        5      [        U [        S5      S9R                  [        5      s=:X  a  [        [        U 5      S	-  [        S5      S	-  -   [	        [        S5      [        S5      S	-  5      4[        [        U 5      S	-  [        S5      S	-  -   [        U S5      4[        S5      S45      S45      :X  d   e   e[        U5      R                  [        5      [        U5      :X  d   e[        U [        R                  5      R                  [        5      [        U 5      S-   S	-  :X  d   e[        X5      R                  [        5      [        [        U 5      S	-  [        S5      S	-  -   [	        U[        S5      S	-  5      4[        [        U 5      S	-  [        S5      S	-  -   [        U S5      4US45      S45      :X  d   e[        U5      R                  [        5      [        [        S5      [	        US5      4S
5      :X  d   e[        US5      R                  [        5      [        US5      :X  d   e[        U S-
  5      R                  [        5      [        [        S5      [	        U S-
  S5      4S
5      :X  d   eU [        U S-
  5      -  R                  [        5      U [        U SS5      -  :X  d   eSU -  U-  [        US5      R                  [        5      -  SU -  U-  [        USS5      -  :X  d   e[        S5      R                  [        5      [        SSS5      :X  d   e[        SS5      R                  [        5      [        SSS5      :X  d   e[        U 5      R                  [        5      [        U SS5      :X  d   eSU -  U-  [        US-   5      R                  [        5      -  SU -  U-  [        USS5      -  :X  d   eU S-
  S-  [        U S-
  5      -  R                  [        5      U S-
  S-  [        U SS5      -  :X  d   e[        S5      R                  [        5      [        R                  :X  d   eg )Nr)   T)realr9   r   )r    Tr    )H0r#   )r   Tr!   
   r1   r$   )r
   r   rewriter   r   r   r   r	   r   rG   r   r   )r)   r9   s     r-   test_rewriterU   x   s   #D!6#;qQ<	*1a!e*y|R1X6	BD D DQ<	*1a!e*y|R1X6	BD D DQ?""9-1a!e*q"Q(mY79 9 9Q?""9-1a1f+y)+ + +Q?""9-1a!e*i(* * *Q$$Y/1a!e*sBq!Hoy9; ; ; Q<%!	!%--d3
!WQY1aIaL!A$q&!9:aQqT!V#R1X.1t0DFGKM	

 
 
 
 
 Q<%1555Q''-$q'!)Q>>>Q?""4(!WQY1aAqtAv/aQqT!V#R1X.D	;<@B	

 
 
 a=  +y*Q-Aq9RT]/^^^^a##I.*Q2BBBBa!e$$Y/:a="QUA,/;= = = jR  ))*=>!DWXY[]_aDbBbbbbQ3q5Aq!))*=>>!A#a%H[\]_`bdHeBeeeea=  !459LQPQSU9VVVVa##$78<OPQSTVX<YYYYQ< 348KAqRS8TTTTQ3q51q5!))*=>>!A#a%H[\]_acdHeBeeeeUQJyQ''001DE!a%RSTghiklnoTpIppppQ< 34>>>r,   N)+sympy.core.numbersr   r   r   r   sympy.core.relationalr   r   sympy.core.singletonr	   sympy.core.symbolr
   r   $sympy.functions.elementary.complexesr   r   r   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   'sympy.functions.special.delta_functionsr   r   -sympy.functions.special.singularity_functionsr   sympy.simplify.simplifyr   sympy.testing.pytestr   sympy.core.exprr   sympy.core.functionr   r)   r9   r7   r   r   r?   rN   rU   r+   r,   r-   <module>rc      sx    / / * " / V V 9 : K M , ( % 2 u~1CC$C$:4z3D-?r,   