class_docstr: Elastic metric defined by a family of second order Sobolev metrics.
  
  Each individual discrete surface is represented by a 2D-array of shape
  `[n_vertices, 3]`. See [HSKCB2022]_ for details.
  
  The parameters a0, a1, b1, c1, d1, a2 (detailed below) are non-negative weighting
  coefficients for the different terms in the metric.
  
  Parameters
  ----------
  space : DiscreteSurfaces
      Instantiated DiscreteSurfaces manifold.
  a0 : float
      First order parameter.
      Default: 1.
  a1 : float
      Stretching parameter.
      Default: 1.
  b1 : float
      Shearing parameter.
      Default: 1.
  c1 : float
      Bending parameter.
      Default: 1.
  d1 : float
      Additonal first order parameter.
      Default: 1.
  a2 : float
      Second order parameter.
      Default: 1.
  
  References
  ----------
  .. [HSKCB2022] "Elastic shape analysis of surfaces with second-order
      Sobolev metrics: a comprehensive numerical framework".
      arXiv:2204.04238 [cs.CV], 25 Sep 2022
class_docstr_tok: ["Elastic","metric","defined","by","a","family","of","second","order","Sobolev","metrics",".","Each","individual","discrete","surface","is","represented","by","a","2D-array","of","shape","`","[","n_vertices",",","3","]","`",".","See","[","HSKCB2022","]","_","for","details",".","The","parameters","a0",",","a1",",","b1",",","c1",",","d1",",","a2","(","detailed","below",")","are","non-negative","weighting","coefficients","for","the","different","terms","in","the","metric",".","Parameters","--","--","--","--","--","space",":","DiscreteSurfaces","Instantiated","DiscreteSurfaces","manifold",".","a0",":","float","First","order","parameter",".","Default",":","1.","a1",":","float","Stretching","parameter",".","Default",":","1.","b1",":","float","Shearing","parameter",".","Default",":","1.","c1",":","float","Bending","parameter",".","Default",":","1.","d1",":","float","Additonal","first","order","parameter",".","Default",":","1.","a2",":","float","Second","order","parameter",".","Default",":","1",".","References","--","--","--","--","--","..","[","HSKCB2022","]","``","Elastic","shape","analysis","of","surfaces","with","second-order","Sobolev","metrics",":","a","comprehensive","numerical","framework","''",".","arXiv:2204.04238","[","cs.CV","]",",","25","Sep","2022"]
docstr: Compute path energy of a path in the space of discrete surfaces.
  
  Parameters
  ----------
  path : array-like, shape=[..., n_times, n_vertices, 3]
      Piecewise linear path of discrete surfaces.
  
  Returns
  -------
  energy : array-like, shape=[...,]
      Path energy.
docstr_tok: ["Compute","path","energy","of","a","path","in","the","space","of","discrete","surfaces",".","Parameters","--","--","--","--","--","path",":","array-like",",","shape=","[","...",",","n_times",",","n_vertices",",","3","]","Piecewise","linear","path","of","discrete","surfaces",".","Returns","--","--","--","-","energy",":","array-like",",","shape=","[","...",",","]","Path","energy","."]
code: def path_energy(self, path):
      """Compute path energy of a path in the space of discrete surfaces.
  
      Parameters
      ----------
      path : array-like, shape=[..., n_times, n_vertices, 3]
          Piecewise linear path of discrete surfaces.
  
      Returns
      -------
      energy : array-like, shape=[...,]
          Path energy.
      """
      return 0.5 * gs.sum(
          self.path_energy_per_time(path), axis=(-1, -2)
      )
  
imports: import math
  import geomstats.backend
  from geomstats.geometry.euclidean import Euclidean
  from geomstats.geometry.manifold import Manifold
  from geomstats.geometry.riemannian_metric import RiemannianMetric
  from geomstats.numerics.optimizers import ScipyMinimize
label_desc: Use image node_id 10 for calling the ElasticMetric obj's underlying member method code with example usage: obj.path_energy(path) and returns: unknown