class_docstr: Class for the 3D Heisenberg group in the vector representation.
  
  The 3D Heisenberg group represented as R^3. It is a step-2 Carnot Lie
  group. It can be equipped with a natural sub-Riemannian structure, and it
  is a fundamental example in sub-Riemannian geometry.
  
  Parameters
  ----------
  No parameters
  
  References
  ----------
  https://en.wikipedia.org/wiki/Heisenberg_group
class_docstr_tok: ["Class","for","the","3D","Heisenberg","group","in","the","vector","representation",".","The","3D","Heisenberg","group","represented","as","R^3",".","It","is","a","step-2","Carnot","Lie","group",".","It","can","be","equipped","with","a","natural","sub-Riemannian","structure",",","and","it","is","a","fundamental","example","in","sub-Riemannian","geometry",".","Parameters","--","--","--","--","--","No","parameters","References","--","--","--","--","--","https",":","\/\/en.wikipedia.org\/wiki\/Heisenberg_group"]
docstr: Compute the Jacobian matrix of left/right translation by a point.
  
  This calculates the differential of the left translation L_(point)
  evaluated at `point`. Note that it only depends on the point we are
  left-translating by, not on the point where the differential is
  evaluated.
  
  Parameters
  ----------
  point : array-like, shape=[..., 3]
      Point.
  left : bool
      Indicate whether to calculate the differential of left or right
      translations.
      Optional, default: True.
  
  Returns
  -------
  _ : array-like, shape=[..., 3, 3]
      Jacobian of the left/right translation by point.
docstr_tok: ["Compute","the","Jacobian","matrix","of","left\/right","translation","by","a","point",".","This","calculates","the","differential","of","the","left","translation","L_","(","point",")","evaluated","at","`","point","`",".","Note","that","it","only","depends","on","the","point","we","are","left-translating","by",",","not","on","the","point","where","the","differential","is","evaluated",".","Parameters","--","--","--","--","--","point",":","array-like",",","shape=","[","...",",","3","]","Point",".","left",":","bool","Indicate","whether","to","calculate","the","differential","of","left","or","right","translations",".","Optional",",","default",":","True",".","Returns","--","--","--","-","_",":","array-like",",","shape=","[","...",",","3",",","3","]","Jacobian","of","the","left\/right","translation","by","point","."]
code: def jacobian_translation(self, point, left=True):
      """Compute the Jacobian matrix of left/right translation by a point.
  
      This calculates the differential of the left translation L_(point)
      evaluated at `point`. Note that it only depends on the point we are
      left-translating by, not on the point where the differential is
      evaluated.
  
      Parameters
      ----------
      point : array-like, shape=[..., 3]
          Point.
      left : bool
          Indicate whether to calculate the differential of left or right
          translations.
          Optional, default: True.
  
      Returns
      -------
      _ : array-like, shape=[..., 3, 3]
          Jacobian of the left/right translation by point.
      """
      e31 = gs.array_from_sparse([(2, 0)], [1.0], (3, 3))
      e32 = gs.array_from_sparse([(2, 1)], [1.0], (3, 3))
  
      if left:
          return (
              gs.eye(3)
              + gs.einsum("...,ij->...ij", -point[..., 1] / 2, e31)
              + gs.einsum("...,ij->...ij", point[..., 0] / 2, e32)
          )
  
      return (
          gs.eye(3)
          + gs.einsum("...,ij->...ij", point[..., 1] / 2, e31)
          + gs.einsum("...,ij->...ij", -point[..., 0] / 2, e32)
      )
  
file_path: geomstats/geomstats/geometry/heisenberg.py
imports: import geomstats.backend
  from geomstats.geometry.base import VectorSpace
  from geomstats.geometry.euclidean import Euclidean
  from geomstats.geometry.lie_group import LieGroup
  from geomstats.geometry.symmetric_matrices import SymmetricMatrices
label_desc: Use image node_id 6 for calling the HeisenbergVectors obj's underlying member method code with example usage: obj.jacobian_translation(point, left) and returns: unknown, unknown