class_docstr: Class for matrix Lie groups.
docstr: Compute the lie bracket of two tangent vectors.
  
  For matrix Lie groups with tangent vectors A,B at the same base point P
  this is given by (translate to identity, compute commutator, go back)
  :math:`[A,B] = A_P^{-1}B - B_P^{-1}A`
  
  Parameters
  ----------
  tangent_vec_a : array-like, shape=[..., n, n]
      Tangent vector at base point.
  tangent_vec_b : array-like, shape=[..., n, n]
      Tangent vector at base point.
  base_point : array-like, shape=[..., n, n]
      Base point.
  
  Returns
  -------
  bracket : array-like, shape=[..., n, n]
      Lie bracket.
docstr_tok: ["Compute","the","lie","bracket","of","two","tangent","vectors",".","For","matrix","Lie","groups","with","tangent","vectors","A",",","B","at","the","same","base","point","P","this","is","given","by","(","translate","to","identity",",","compute","commutator",",","go","back",")",":","math",":","`","[","A",",","B","]","=","A_P^","{","-1","}","B","-","B_P^","{","-1","}","A","`","Parameters","--","--","--","--","--","tangent_vec_a",":","array-like",",","shape=","[","...",",","n",",","n","]","Tangent","vector","at","base","point",".","tangent_vec_b",":","array-like",",","shape=","[","...",",","n",",","n","]","Tangent","vector","at","base","point",".","base_point",":","array-like",",","shape=","[","...",",","n",",","n","]","Base","point",".","Returns","--","--","--","-","bracket",":","array-like",",","shape=","[","...",",","n",",","n","]","Lie","bracket","."]
code: def lie_bracket(self, tangent_vec_a, tangent_vec_b, base_point=None):
      """Compute the lie bracket of two tangent vectors.
  
      For matrix Lie groups with tangent vectors A,B at the same base point P
      this is given by (translate to identity, compute commutator, go back)
      :math:`[A,B] = A_P^{-1}B - B_P^{-1}A`
  
      Parameters
      ----------
      tangent_vec_a : array-like, shape=[..., n, n]
          Tangent vector at base point.
      tangent_vec_b : array-like, shape=[..., n, n]
          Tangent vector at base point.
      base_point : array-like, shape=[..., n, n]
          Base point.
  
      Returns
      -------
      bracket : array-like, shape=[..., n, n]
          Lie bracket.
      """
      if base_point is None:
          base_point = self.identity
      inverse_base_point = self.inverse(base_point)
  
      first_term = Matrices.mul(inverse_base_point, tangent_vec_b)
      first_term = Matrices.mul(tangent_vec_a, first_term)
  
      second_term = Matrices.mul(inverse_base_point, tangent_vec_a)
      second_term = Matrices.mul(tangent_vec_b, second_term)
  
      return first_term - second_term
  
imports: import abc
  import geomstats.backend
  from geomstats.geometry.invariant_metric import InvariantMetric
  from geomstats.geometry.manifold import Manifold
  from geomstats.geometry.matrices import Matrices
label_desc: Use image node_id 6 for calling the MatrixLieGroup obj's underlying member method code with example usage: obj.lie_bracket(tangent_vec_a, tangent_vec_b, base_point) and returns: unknown