
    \h{
                     |    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  S SKJr  S SKJr  S rS rS	 rS
 rS rS rg)    )
DerivativeFunction)Eq)Symbolsymbols)cossin)raises)euler_equationsc                  N  ^ ^^ [        S5      m[        S5      m[        S5      m [        [        S 5        [        [        U UU4S j5        [        [        U UU4S j5        [        [        U U4S j5        [        [        U UU4S j5        [        [        T" T 5      T 5      S	-  S	-  T" T 5      15      [        [        T" T 5      T T 5      * S
5      /:X  d   e[        [        T" T 5      T 5      S	-  S	-  T" T 5      T 15      [        [        T" T 5      T T 5      * S
5      /:X  d   eg )Nxytc                      [        5       $ N)euler     W/var/www/auris/envauris/lib/python3.13/site-packages/sympy/calculus/tests/test_euler.py<lambda>&test_euler_interface.<locals>.<lambda>   s    egr   c                  ^   > [        [        T" T 5      T 5      T" T 5      -  T" T 5      T/5      $ r   r   Dr   r   r   s   r   r   r      s&    eAadAJqtOadAY?r   c                  j   > [        [        T" T 5      T 5      T" T5      -  T" T 5      T" T5      /5      $ r   r   r   s   r   r   r      s*    uQqtQZ!_qtQqTlCr   c                  N   > [        [        T" T 5      T 5      S-  T" S5      5      $ )N   r   r   )r   r   s   r   r   r      s    eAadAJM1Q48r   c                  P   > [        [        T" T 5      T 5      T" T 5      -  T /5      $ r   r   r   s   r   r   r      s     eAadAJqtOaS9r   r   r   )r   r   r
   	TypeError
ValueErrorr   r   r   r   s   @@@r   test_euler_interfacer"   	   s    AsAsA
9o&
9?@
:CD
989
99:1Q4Qq1Q4&)b!AaD!Q-.C-DDDD1Q4Qq!A$,QqtQ]NA1F0GGGGr   c            	         [        S5      n [        S5      n[        U " U5      U5      S-  S-  [        U " U5      5      -   n[	        X " U5      U5      [        [        U " U5      5      * [        U " U5      X5      -
  S5      /:X  d   eg )Nr   r   r   r   r   r   r   r   r   r   r	   )r   r   Ls      r   test_euler_pendulumr&      sv    AsA	!A$
Aa#ad)#AAaD!S1YJ1Q4$>!B CCCCr   c            
        ^ [        S5      n [        S5      n[        S5      m[        U4S jX4 5       5      nX " T5      S-  * U" T5      -  U" T5      S-  S-  -   -  n[        X " T5      U" T5      /T5      [	        SU " T5      -  U" T5      -  U " T5      -
  [        U " T5      TT5      -
  S5      [	        U " T5      S-  * U" T5      S-  -   U" T5      -
  [        U" T5      TT5      -
  S5      /:X  d   eg )	Nr   r   r   c              3   r   >#    U  H,  n[        U" T5      T5      S -  S -  U" T5      S -  S -  -
  v   M.     g7f)r   N)r   ).0zr   s     r   	<genexpr>)test_euler_henonheiles.<locals>.<genexpr>!   s4     8AAadAJM!OadAgai's   47r      r   )r   r   sumr   r   r   )r   r   r%   r   s      @r   test_euler_henonheilesr0      s   AAsA8!88A!A$'!A$1q	""AQqT1Q4L!$BqtGAaDL1Q4,?,-adAqM-:;<*>)+QqT1WHqtQw,>,-aD-134QqT1a=-ABC*E)F F F Fr   c            
         [        S5      n [        S5      n[        S5      n[        U " X5      U5      S-  S-  [        U " X5      U5      S-  S-  -
  [        U " X5      5      -   n[	        X0" X5      X/5      [        [        U " X5      5      * [        U " X5      X5      -
  [        U " X5      X"5      -   S5      /:X  d   eg )Npsir   r   r   r   r$   )r2   r   r   r%   s       r   test_euler_sinegr3   )   s    
5/CsAsA	#a)Q1qQA1!33c#a)nDACIv&2s3q9~o./A	1.@/A./A	1.@/ABC,E +F F F Fr   c                  B   [        S5      n [        S5      n[        S5      n[        S5      n[        S5      nU [        U" U5      U5      S-  -  S-  U [        U" U5      U5      S-  -  S-  -   U[        U" U5      U5      -  [        U" U5      XD5      -  -
  U[        U" U5      U5      -  [        U" U5      XD5      -  -   n[        XR" U5      U" U5      /5      [	        SU-  [        U" U5      XDU5      -  U [        U" U5      XD5      -  -
  S5      [	        SU-  [        U" U5      XDU5      -  U [        U" U5      XD5      -  -
  S5      /:X  d   e[        S	5      n[        U" XF5      XF5      S-  S-  n[        U5      [	        [        U" XF5      XDXf5      S5      /:X  d   eg )
Nmkr   r   r   r   r   r.   w)r   r   r   r   r   )r5   r6   r   r   r   r%   r7   s          r   test_euler_high_orderr8   3   s   sAsAAAsA	
1QqT1:q=	Qq1qz1}_Q.	.	
1QqT1:a!am	#
$&'!A$
l1QqT1=&@
AAQqT1Q4L!b1QqtQ1-=)=)*1QqT1=*9:;'=&(Aa!aA.>)>)*1QqT1=*9:;'=&> > > >
 	sA	!A'1!AA81QqWaA1156666r   c                      [        S5      u  pn[        S[        X4S9u  p4nU" 5       U" 5       U" 5       pTnUR                  U 5      UR                  U5      -  n[        Xc4X45      / :X  d   eg )Nzx y zzf g h)clsargs)r   r   diffr   )r   r   r*   fghexpr2s          r   test_issue_18653rA   E   sh    gGA!g81&9GA!c13!AFF1IaffQiEqf%+++r   N)sympy.core.functionr   r   r   sympy.core.relationalr   sympy.core.symbolr   r   (sympy.functions.elementary.trigonometricr   r	   sympy.testing.pytestr
   sympy.calculus.eulerr   r   r"   r&   r0   r3   r8   rA   r   r   r   <module>rH      s9    ; $ / ? ' 9
HD	FF7$,r   