
    g{
                     |    d dl mZ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 d dlmZ d Zd Zd	 Zd
 Zd Zd Zy)    )
DerivativeFunction)Eq)Symbolsymbols)cossin)raises)euler_equationsc                  B    t        d      t        d      t        d       t        t        d        t        t         fd       t        t         fd       t        t         fd       t        t         fd       t        t                       d	z  d	z          h      t        t                         d
      gk(  sJ t        t                       d	z  d	z           h      t        t                         d
      gk(  sJ y )Nxytc                      t               S N)euler     T/var/www/openai/venv/lib/python3.12/site-packages/sympy/calculus/tests/test_euler.py<lambda>z&test_euler_interface.<locals>.<lambda>   s    egr   c                  ^    t        t                               z          g      S r   r   Dr   r   r   s   r   r   z&test_euler_interface.<locals>.<lambda>   s&    eAadAJqtOadAY?r   c                  j    t        t                              z                 g      S r   r   r   s   r   r   z&test_euler_interface.<locals>.<lambda>   s*    uQqtQZ!_qtQqTlCr   c                  N    t        t                       dz   d            S )N   r   r   )r   r   s   r   r   z&test_euler_interface.<locals>.<lambda>   s    eAadAJM1Q48r   c                  P    t        t                               z   g      S r   r   r   s   r   r   z&test_euler_interface.<locals>.<lambda>   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            	         t        d      } t        d      }t         | |      |      dz  dz  t         | |            z   }t	        | | |      |      t        t         | |             t         | |      ||      z
  d      gk(  sJ y )Nr   r   r   r   r   r   r   r   r   r   r	   )r   r   Ls      r   test_euler_pendulumr%      sx    AsA	!A$
Aa#ad)#AAaD!S1YJ1Q4A$>!B CCCCr   c            
         t        d      } t        d      }t        d      t        fd| |fD              }| |       dz    |      z   |      dz  dz  z   z  }t        | |        |      g      t	        d |       z   |      z   |       z
  t         |             z
  d      t	         |       dz    |      dz  z    |      z
  t         |            z
  d      gk(  sJ y )	Nr   r   r   c              3   l   K   | ]+  }t         |            d z  d z   |      d z  d z  z
   - yw)r   N)r   ).0zr   s     r   	<genexpr>z)test_euler_henonheiles.<locals>.<genexpr>!   s5     8AAadAJM!OadAgai's   14r      r   )r   r   sumr   r   r   )r   r   r$   r   s      @r   test_euler_henonheilesr.      s   AAsA8!Q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            
         t        d      } t        d      }t        d      }t         | ||      |      dz  dz  t         | ||      |      dz  dz  z
  t         | ||            z   }t	        | | ||      ||g      t        t         | ||             t         | ||      ||      z
  t         | ||      ||      z   d      gk(  sJ y )Npsir   r   r   r   r#   )r0   r   r   r$   s       r   test_euler_sinegr1   )   s    
5/CsAsA	#a)Q1qQA1!33c#a)nDAC1I1v&2s3q!9~o./Aq	1a.@/A./Aq	1a.@/ABC,E +F F F Fr   c                  V   t        d      } t        d      }t        d      }t        d      }t        d      }| t         ||      |      dz  z  dz  | t         ||      |      dz  z  dz  z   |t         ||      |      z  t         ||      ||      z  z
  |t         ||      |      z  t         ||      ||      z  z   }t        | ||       ||      g      t	        d|z  t         ||      |||      z  | t         ||      ||      z  z
  d      t	        d|z  t         ||      |||      z  | t         ||      ||      z  z
  d      gk(  sJ t        d	      }t         |||      ||      dz  dz  }t        |      t	        t         |||      ||||      d      gk(  sJ y )
Nmkr   r   r   r   r   r,   w)r   r   r   r   r   )r3   r4   r   r   r   r$   r5   s          r   test_euler_high_orderr6   3   s   sAsAAAsA	
1QqT1:q=	Qq1qz1}_Q.	.	
1QqT1:a!am	#
$&'!A$
l1QqT1a=&@
AAQqT1Q4L!b1QqtQ1-=)=)*1QqT1a=*9:;'=&(Aa!aA.>)>)*1QqT1a=*9:;'=&> > > >
 	sA	!Aq'1a!AA81Qq!WaAq1156666r   c                      t        d      \  } }}t        dt        | |f      \  }}} |        |        |       }}}|j                  |       |j                  |      z  }t        ||f| |f      g k(  sJ y )Nzx y zzf g h)clsargs)r   r   diffr   )r   r   r)   fghexpr2s          r   test_issue_18653r?   E   st    gGAq!g81a&9GAq!c13!qAFF1IaffQiEq!f%+++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%   r.   r1   r6   r?   r   r   r   <module>rF      s9    ; $ / ? ' 9
HD	FF7$,r   