class_docstr: Class for Riemannian and pseudo-Riemannian metrics.
  
  The associated Levi-Civita connection on the tangent bundle.
class_docstr_tok: ["Class","for","Riemannian","and","pseudo-Riemannian","metrics",".","The","associated","Levi-Civita","connection","on","the","tangent","bundle","."]
docstr: Compute the pairwise distance between points.
  
  Parameters
  ----------
  points : array-like, shape=[n_samples, dim]
      Set of points in the manifold.
  n_jobs : int
      Number of jobs to run in parallel, using joblib. Note that a
      higher number of jobs may not be beneficial when one computation
      of a geodesic distance is cheap.
      Optional. Default: 1.
  **joblib_kwargs : dict
      Keyword arguments to joblib.Parallel
  
  Returns
  -------
  dist : array-like, shape=[n_samples, n_samples]
      Pairwise distance matrix between all the points.
  
  See Also
  --------
  `joblib documentations <https://joblib.readthedocs.io/en/latest/>`_
docstr_tok: ["Compute","the","pairwise","distance","between","points",".","Parameters","--","--","--","--","--","points",":","array-like",",","shape=","[","n_samples",",","dim","]","Set","of","points","in","the","manifold",".","n_jobs",":","int","Number","of","jobs","to","run","in","parallel",",","using","joblib",".","Note","that","a","higher","number","of","jobs","may","not","be","beneficial","when","one","computation","of","a","geodesic","distance","is","cheap",".","Optional",".","Default",":","1",".","*","*","joblib_kwargs",":","dict","Keyword","arguments","to","joblib.Parallel","Returns","--","--","--","-","dist",":","array-like",",","shape=","[","n_samples",",","n_samples","]","Pairwise","distance","matrix","between","all","the","points",".","See","Also","--","--","--","--","`","joblib","documentations","<","https",":","\/\/joblib.readthedocs.io\/en\/latest\/",">","`","_"]
code: def dist_pairwise(self, points, n_jobs=1, **joblib_kwargs):
      """Compute the pairwise distance between points.
  
      Parameters
      ----------
      points : array-like, shape=[n_samples, dim]
          Set of points in the manifold.
      n_jobs : int
          Number of jobs to run in parallel, using joblib. Note that a
          higher number of jobs may not be beneficial when one computation
          of a geodesic distance is cheap.
          Optional. Default: 1.
      **joblib_kwargs : dict
          Keyword arguments to joblib.Parallel
  
      Returns
      -------
      dist : array-like, shape=[n_samples, n_samples]
          Pairwise distance matrix between all the points.
  
      See Also
      --------
      `joblib documentations <https://joblib.readthedocs.io/en/latest/>`_
      """
      n_samples = points.shape[0]
      rows, cols = gs.triu_indices(n_samples)
  
      @joblib.delayed
      @joblib.wrap_non_picklable_objects
      def pickable_dist(x, y):
          """Wrap distance function to make it pickable."""
          return self.dist(x, y)
  
      pool = joblib.Parallel(n_jobs=n_jobs, **joblib_kwargs)
      out = pool(
          pickable_dist(points[i], points[j])
          for i, j in zip(rows, cols)
      )
  
      return geometry.symmetric_matrices.SymmetricMatrices.matrix_representation(
          gs.array(out)
      )
  
imports: from abc import ABC
  import joblib
  import geomstats.backend
  import geomstats.geometry
  from geomstats.geometry.connection import Connection
  from geomstats.vectorization import check_is_batch
label_desc: Use image node_id 18 for calling the RiemannianMetric obj's underlying member method code with example usage: obj.dist_pairwise(points, n_jobs) and returns: geometry, self