class_docstr: Class for modeling a non-linear 2D localization problem.
  
  The state is composed of a planar orientation and position, and is thus a
  member of SE(2).
  A sensor provides the linear and angular speed, while another one provides
  sparse position observations.
docstr: Compute the Jacobian associated to the input.
  
  Since the propagation writes f(x) = x*u, and the error is modeled on
  the Lie algebra, the Jacobian is Ad_{u^{-1}} [BB2017].
  
  Parameters
  ----------
  state : unused
  sensor_input : array-like, shape=[4]
      Vector representing the information from the sensor.
  
  Returns
  -------
  jacobian : array-like, shape=[dim, dim]
      Jacobian of the propagation.
docstr_tok: ["Compute","the","Jacobian","associated","to","the","input",".","Since","the","propagation","writes","f","(","x",")","=","x","*","u",",","and","the","error","is","modeled","on","the","Lie","algebra",",","the","Jacobian","is","Ad_","{","u^","{","-1","}","}","[","BB2017","]",".","Parameters","--","--","--","--","--","state",":","unused","sensor_input",":","array-like",",","shape=","[","4","]","Vector","representing","the","information","from","the","sensor",".","Returns","--","--","--","-","jacobian",":","array-like",",","shape=","[","dim",",","dim","]","Jacobian","of","the","propagation","."]
code: def propagation_jacobian(self, state, sensor_input):
      r"""Compute the Jacobian associated to the input.
  
      Since the propagation writes f(x) = x*u, and the error is modeled on
      the Lie algebra, the Jacobian is Ad_{u^{-1}} [BB2017].
  
      Parameters
      ----------
      state : unused
      sensor_input : array-like, shape=[4]
          Vector representing the information from the sensor.
  
      Returns
      -------
      jacobian : array-like, shape=[dim, dim]
          Jacobian of the propagation.
      """
      dt, linear_vel, angular_vel = self.preprocess_input(sensor_input)
      input_vector_form = dt * gs.concatenate(
          (angular_vel, linear_vel), axis=0
      )
      input_inv = self.group.inverse(input_vector_form)
  
      return self.adjoint_map(input_inv)
  
imports: import geomstats.backend
  from geomstats.geometry.euclidean import Euclidean
  from geomstats.geometry.matrices import Matrices
  from geomstats.geometry.special_euclidean import SpecialEuclidean
label_desc: Use image node_id 7 for calling the Localization obj's underlying member method code with example usage: obj.propagation_jacobian(state, sensor_input) and returns: self