class_docstr: Path described by a (potentially sparse) sequence of points.
  
  Convention of the stored point tuple ``(i, x, v, L)``:
  `i`: index (0 is starting point)
  `x`: point
  `v`: direction
  `L`: loglikelihood value
class_docstr_tok: ["Path","described","by","a","(","potentially","sparse",")","sequence","of","points",".","Convention","of","the","stored","point","tuple","``","(","i",",","x",",","v",",","L",")","``",":","`","i","`",":","index","(","0","is","starting","point",")","`","x","`",":","point","`","v","`",":","direction","`","L","`",":","loglikelihood","value"]
docstr: Advance beyond the current path, extrapolate from the end point.
  
  Parameters
  -----------
  i: int
      index on path.
  
  returns
  --------
  coords: vector
      coordinates of the new point.
docstr_tok: ["Advance","beyond","the","current","path",",","extrapolate","from","the","end","point",".","Parameters","--","--","--","--","--","-","i",":","int","index","on","path",".","returns","--","--","--","--","coords",":","vector","coordinates","of","the","new","point","."]
code: def extrapolate(self, i):
      """Advance beyond the current path, extrapolate from the end point.
  
      Parameters
      -----------
      i: int
          index on path.
  
      returns
      --------
      coords: vector
          coordinates of the new point.
  
      """
      if i >= 0:
          j, xj, vj, Lj = max(self.points)
          deltai = i - j
          assert deltai > 0, ("should be extrapolating", i, j)
      else:
          j, xj, vj, Lj = min(self.points)
          deltai = i - j
          assert deltai < 0, ("should be extrapolating", i, j)
  
      newpoint = extrapolate_ahead(deltai, xj, vj)
      return newpoint
  
imports: import numpy
  from numpy.linalg import norm
  import matplotlib.pyplot
label_desc: Use image node_id 6 for calling the SamplingPath obj's underlying member method code with example usage: obj.extrapolate(i) and returns: newpoint