+
    il                     p    R t ^ RIHt ^ RIHtHtHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt R
R ltR	# )zX
This module implements a method to find
Euler-Lagrange Equations for given Lagrangian.
)combinations_with_replacement)
DerivativeFunctiondiff)Eq)S)Symbolsympify)iterablec                   \        V4      '       d   \        V4      MV3pV'       g    \        V P                  \        4      4      pM1V F+  p\	        V\        4      '       d   K  \        RV,          4      h	  \        V4      '       d   \        V4      MV3pV'       g   V^ ,          P                  pM,\        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      p\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        RV,          4      hV F&  pW#P                  8X  d   K  \        RV: RV: 24      h	  \        V P                  \        4       Uu. uF+  pVP                  V9   g   K  \        VP                  4      NK-  	  up^ .,           4      p. pV F  p\        W4      p\        ^V^,           4       FQ  p\!        W(4       F?  p	V\"        P$                  V,          \        V \        V.V	O5!  .V	O5!  ,          ,           pKA  	  KS  	  \'        V^ 4      p
\	        V
\&        4      '       g   K  VP)                  V
4       K  	  V# u upi )	a  
Find the Euler-Lagrange equations [1]_ for a given Lagrangian.

Parameters
==========

L : Expr
    The Lagrangian that should be a function of the functions listed
    in the second argument and their derivatives.

    For example, in the case of two functions $f(x,y)$, $g(x,y)$ and
    two independent variables $x$, $y$ the Lagrangian has the form:

        .. math:: L\left(f(x,y),g(x,y),\frac{\partial f(x,y)}{\partial x},
                  \frac{\partial f(x,y)}{\partial y},
                  \frac{\partial g(x,y)}{\partial x},
                  \frac{\partial g(x,y)}{\partial y},x,y\right)

    In many cases it is not necessary to provide anything, except the
    Lagrangian, it will be auto-detected (and an error raised if this
    cannot be done).

funcs : Function or an iterable of Functions
    The functions that the Lagrangian depends on. The Euler equations
    are differential equations for each of these functions.

vars : Symbol or an iterable of Symbols
    The Symbols that are the independent variables of the functions.

Returns
=======

eqns : list of Eq
    The list of differential equations, one for each function.

Examples
========

>>> from sympy import euler_equations, Symbol, Function
>>> x = Function('x')
>>> t = Symbol('t')
>>> L = (x(t).diff(t))**2/2 - x(t)**2/2
>>> euler_equations(L, x(t), t)
[Eq(-x(t) - Derivative(x(t), (t, 2)), 0)]
>>> u = Function('u')
>>> x = Symbol('x')
>>> L = (u(t, x).diff(t))**2/2 - (u(t, x).diff(x))**2/2
>>> euler_equations(L, u(t, x), [t, x])
[Eq(-Derivative(u(t, x), (t, 2)) + Derivative(u(t, x), (x, 2)), 0)]

References
==========

.. [1] https://en.wikipedia.org/wiki/Euler%E2%80%93Lagrange_equation

zFunction expected, got: %sc              3   8   "   T F  p\        V4      x  K  	  R # 5iNr	   ).0vars   & t/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/calculus/euler.py	<genexpr>"euler_equations.<locals>.<genexpr>V   s     2TcWS\\Ts   c              3   B   "   T F  p\        V\        4      x  K  	  R # 5ir   )
isinstancer   )r   vs   & r   r   r   X   s     3dz!V$$ds   FTz!Variables are not symbols, got %sz
Variables z do not match args: )r   tupleatomsr   r   	TypeErrorargsall
ValueErrormaxr   exprlen	variablesr   ranger   r   NegativeOner   append)Lfuncsvarsfdordereqnseqipnew_eqs   &&&        r   euler_equationsr/      s   t %UOOE%L%Eaggh'(Aa** <q @AA  #4..5;tgDQx}}u2T2uu2T2233d33333d333;dBCCvv~T1MNN  177:+> ,+>a66U? "Q[[!+> ,/0c2 3E D!Zq%!)$A24;!--*44;A;+C+CCC < % Bfb!!KK  K,s   3I(I(N) r0   )__doc__	itertoolsr   sympy.core.functionr   r   r   sympy.core.relationalr   sympy.core.singletonr   sympy.core.symbolr   sympy.core.sympifyr
   sympy.utilities.iterablesr   r/   r0       r   <module>r:      s*    4 < < $ " $ & .^r9   