code: def test_Lagrangian():
      M, m, g, h = symbols("M m g h")
      N = ReferenceFrame("N")
      O = Point("O")
      O.set_vel(N, 0 * N.x)
      P = O.locatenew("P", 1 * N.x)
      P.set_vel(N, 10 * N.x)
      Pa = Particle("Pa", P, 1)
      Ac = O.locatenew("Ac", 2 * N.y)
      Ac.set_vel(N, 5 * N.y)
      a = ReferenceFrame("a")
      a.set_ang_vel(N, 10 * N.z)
      I = outer(N.z, N.z)
      A = RigidBody("A", Ac, a, 20, (I, Ac))
      Pa.potential_energy = m * g * h
      A.potential_energy = M * g * h
      raises(TypeError, lambda: Lagrangian(A, A, Pa))
      raises(TypeError, lambda: Lagrangian(N, N, Pa))
  
file_path: sympy/sympy/physics/mechanics/tests/test_functions.py
imports: from sympy import sin, cos, tan, pi, symbols, Matrix, S, Function
  from sympy.physics.mechanics import Particle, Point, ReferenceFrame, RigidBody
  from sympy.physics.mechanics import angular_momentum, dynamicsymbols, kinetic_energy, linear_momentum, outer, potential_energy, msubs, find_dynamicsymbols, Lagrangian
  from sympy.physics.mechanics.functions import center_of_mass, _validate_coordinates, _parse_linear_solver
  from sympy.testing.pytest import raises, warns_deprecated_sympy
label_desc: Use image node_id 5 for calling a global function with example usage: test_Lagrangian() without return types