class_docstr: Canonical metric of the Grassmann manifold.
  
  Coincides with the Frobenius metric.
docstr: Exponentiate the invariant vector field v from base point p.
  
  Parameters
  ----------
  tangent_vec : array-like, shape=[..., n, n]
      Tangent vector at base point.
      `tangent_vec` is the bracket of a skew-symmetric matrix with the
      base_point.
  base_point : array-like, shape=[..., n, n]
      Base point.
  
  Returns
  -------
  exp : array-like, shape=[..., n, n]
      Riemannian exponential.
docstr_tok: ["Exponentiate","the","invariant","vector","field","v","from","base","point","p.","Parameters","--","--","--","--","--","tangent_vec",":","array-like",",","shape=","[","...",",","n",",","n","]","Tangent","vector","at","base","point",".","`","tangent_vec","`","is","the","bracket","of","a","skew-symmetric","matrix","with","the","base_point",".","base_point",":","array-like",",","shape=","[","...",",","n",",","n","]","Base","point",".","Returns","--","--","--","-","exp",":","array-like",",","shape=","[","...",",","n",",","n","]","Riemannian","exponential","."]
code: def exp(self, tangent_vec, base_point, **kwargs):
      """Exponentiate the invariant vector field v from base point p.
  
      Parameters
      ----------
      tangent_vec : array-like, shape=[..., n, n]
          Tangent vector at base point.
          `tangent_vec` is the bracket of a skew-symmetric matrix with the
          base_point.
      base_point : array-like, shape=[..., n, n]
          Base point.
  
      Returns
      -------
      exp : array-like, shape=[..., n, n]
          Riemannian exponential.
      """
      expm = gs.linalg.expm
      mul = Matrices.mul
      rot = Matrices.bracket(base_point, -tangent_vec)
      return mul(expm(rot), base_point, expm(-rot))
  
imports: import geomstats.backend
  import geomstats.errors
  from geomstats.geometry.base import LevelSet
  from geomstats.geometry.general_linear import GeneralLinear
  from geomstats.geometry.matrices import Matrices, MatricesMetric
  from geomstats.geometry.symmetric_matrices import SymmetricMatrices
  from geomstats.vectorization import repeat_out
label_desc: Use image node_id 2 for calling the GrassmannianCanonicalMetric obj's underlying member method code with example usage: obj.exp(tangent_vec, base_point) and returns: mul