class_docstr: Class for modeling a linear 1D localization problem.
  
  The state is made of a scalar position and scalar speed, thus a 2D vector.
  A sensor provides acceleration inputs, while another one provides sparse
  measurements of the position.
docstr: Discrepancy between the measurement and its expected value.
  
  Parameters
  ----------
  state : array-like, shape=[dim]
      Vector representing the state.
  observation : array-like, shape=[dim_obs]
      Obtained measurement.
  
  Returns
  -------
  innovation : array-like, shape=[dim_obs]
      Error between the measurement and the expected value.
docstr_tok: ["Discrepancy","between","the","measurement","and","its","expected","value",".","Parameters","--","--","--","--","--","state",":","array-like",",","shape=","[","dim","]","Vector","representing","the","state",".","observation",":","array-like",",","shape=","[","dim_obs","]","Obtained","measurement",".","Returns","--","--","--","-","innovation",":","array-like",",","shape=","[","dim_obs","]","Error","between","the","measurement","and","the","expected","value","."]
code: def innovation(self, state, observation):
      """Discrepancy between the measurement and its expected value.
  
      Parameters
      ----------
      state : array-like, shape=[dim]
          Vector representing the state.
      observation : array-like, shape=[dim_obs]
          Obtained measurement.
  
      Returns
      -------
      innovation : array-like, shape=[dim_obs]
          Error between the measurement and the expected value.
      """
      return observation - self.observation_model(state)
  
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 8 for calling the LocalizationLinear obj's underlying member method code with example usage: obj.innovation(state, observation) and returns: unknown