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: Construct the matrix associated to the adjoint representation.
  
  The inner automorphism is given by :math:`Ad_X : g |-> XgX^-1`. For a
  state :math:`X = (\theta, x, y)`, the matrix associated to its tangent
  map, the adjoint representation, is
  :math:`\begin{bmatrix} 1 & \\ -J [x, y] & R(\theta) \end{bmatrix}`,
  where :math:`R(\theta)` is the rotation matrix of angle theta, and
  :math:`J = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix}`
  
  Parameters
  ----------
  state : array-like, shape=[dim]
      Vector representing a state.
  
  Returns
  -------
  adjoint : array-like, shape=[dim, dim]
      Adjoint representation of the state.
docstr_tok: ["Construct","the","matrix","associated","to","the","adjoint","representation",".","The","inner","automorphism","is","given","by",":","math",":","`","Ad_X",":","g","|-",">","XgX^-1","`",".","For","a","state",":","math",":","`","X","=","(","\\theta",",","x",",","y",")","`",",","the","matrix","associated","to","its","tangent","map",",","the","adjoint","representation",",","is",":","math",":","`","\\begin","{","bmatrix","}","1","&","\\\\","-J","[","x",",","y","]","&","R","(","\\theta",")","\\end","{","bmatrix","}","`",",","where",":","math",":","`","R","(","\\theta",")","`","is","the","rotation","matrix","of","angle","theta",",","and",":","math",":","`","J","=","\\begin","{","bmatrix","}","0","&","-1","\\\\","1","&","0","\\end","{","bmatrix","}","`","Parameters","--","--","--","--","--","state",":","array-like",",","shape=","[","dim","]","Vector","representing","a","state",".","Returns","--","--","--","-","adjoint",":","array-like",",","shape=","[","dim",",","dim","]","Adjoint","representation","of","the","state","."]
code: def adjoint_map(self, state):
      r"""Construct the matrix associated to the adjoint representation.
  
      The inner automorphism is given by :math:`Ad_X : g |-> XgX^-1`. For a
      state :math:`X = (\theta, x, y)`, the matrix associated to its tangent
      map, the adjoint representation, is
      :math:`\begin{bmatrix} 1 & \\ -J [x, y] & R(\theta) \end{bmatrix}`,
      where :math:`R(\theta)` is the rotation matrix of angle theta, and
      :math:`J = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix}`
  
      Parameters
      ----------
      state : array-like, shape=[dim]
          Vector representing a state.
  
      Returns
      -------
      adjoint : array-like, shape=[dim, dim]
          Adjoint representation of the state.
      """
      theta, _, _ = state
      tangent_base = gs.array([[0.0, -1.0], [1.0, 0.0]])
      orientation_part = gs.eye(
          self.group.rotations.dim, self.group.dim
      )
      pos_column = gs.reshape(state[1:], (self.group.n, 1))
      position_wrt_orientation = Matrices.mul(-tangent_base, pos_column)
      position_wrt_position = self.rotation_matrix(theta)
      last_lines = gs.hstack(
          (position_wrt_orientation, position_wrt_position)
      )
      ad = gs.vstack((orientation_part, last_lines))
  
      return ad
  
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 5 for calling the Localization obj's underlying member method code with example usage: obj.adjoint_map(state) and returns: ad