class_docstr: Class for simulating hamiltonian dynamics using leapfrog method
  
  Parameters
  ----------
  model : An instance of pgmpy.models
      Model for which DiscretizeTime object is initialized
  
  position : A 1d array like object (numpy.ndarray or list)
      Vector representing values of parameter position( or X)
  
  momentum: A 1d array like object (numpy.ndarray or list)
      Vector representing the proposed value for momentum (velocity)
  
  stepsize: Float
      stepsize for the simulating dynamics
code: def __init__(self, model, position, momentum, stepsize):
      BaseSimulateHamiltonianDynamics.__init__(
          self, model, position, momentum, stepsize
      )
  
      (
          self.new_position,
          self.new_momentum,
          self.new_grad_logp,
      ) = self._get_proposed_values()
  
file_path: dragonfly/dragonfly/sampling/base.py
imports: from .check_functions import _check_1d_array_object, _check_length_equal
label_desc: Use image node_id 1 to create a new LeapFrog object from inherited base classes: BaseSimulateHamiltonianDynamics with example: obj = LeapFrog(model, position, momentum, stepsize)