docstr: The Gaver-Stehfest method is a discrete approximation of the
  Widder-Post inversion algorithm, rather than a direct
  approximation of the Bromwich contour integral.
  
  The method abscissa along the real axis, and therefore has
  issues inverting oscillatory functions (which have poles in
  pairs away from the real axis).
  
  The working precision will be increased according to a rule of
  thumb. If 'degree' is not specified, the working precision and
  degree are chosen to hopefully achieve the dps of the calling
  context. If 'degree' is specified, the working precision is
  chosen to achieve maximum resulting precision for the
  specified degree.
  
  .. math ::
  
      p_k = \frac{k \log 2}{t} \qquad 1 \le k \le M
docstr_tok: ["The","Gaver-Stehfest","method","is","a","discrete","approximation","of","the","Widder-Post","inversion","algorithm",",","rather","than","a","direct","approximation","of","the","Bromwich","contour","integral",".","The","method","abscissa","along","the","real","axis",",","and","therefore","has","issues","inverting","oscillatory","functions","(","which","have","poles","in","pairs","away","from","the","real","axis",")",".","The","working","precision","will","be","increased","according","to","a","rule","of","thumb",".","If","'degree","'","is","not","specified",",","the","working","precision","and","degree","are","chosen","to","hopefully","achieve","the","dps","of","the","calling","context",".","If","'degree","'","is","specified",",","the","working","precision","is","chosen","to","achieve","maximum","resulting","precision","for","the","specified","degree",".","..","math",":",":","p_k","=","\\frac","{","k","\\log","2","}","{","t","}","\\qquad","1","\\le","k","\\le","M"]
code: def calc_laplace_parameter(self, t, **kwargs):
      r"""
      The Gaver-Stehfest method is a discrete approximation of the
      Widder-Post inversion algorithm, rather than a direct
      approximation of the Bromwich contour integral.
  
      The method abscissa along the real axis, and therefore has
      issues inverting oscillatory functions (which have poles in
      pairs away from the real axis).
  
      The working precision will be increased according to a rule of
      thumb. If 'degree' is not specified, the working precision and
      degree are chosen to hopefully achieve the dps of the calling
      context. If 'degree' is specified, the working precision is
      chosen to achieve maximum resulting precision for the
      specified degree.
  
      .. math ::
  
          p_k = \frac{k \log 2}{t} \qquad 1 \le k \le M
      """
  
      # required
      # ------------------------------
      # time of desired approximation
      self.t = self.ctx.convert(t)
  
      # optional
      # ------------------------------
  
      # empirical relationships used here based on a linear fit of
      # requested and delivered dps for exponentially decaying time
      # functions for requested dps up to 512.
  
      if "degree" in kwargs:
          self.degree = kwargs["degree"]
          self.dps_goal = int(1.38 * self.degree)
      else:
          self.dps_goal = int(2.93 * self.ctx.dps)
          self.degree = max(16, self.dps_goal)
  
      # _coeff routine requires even degree
      if self.degree % 2 > 0:
          self.degree += 1
  
      M = self.degree
  
      # this is adjusting the dps of the calling context
      # hopefully the caller doesn't monkey around with it
      # between calling this routine and calc_time_domain_solution()
      self.dps_orig = self.ctx.dps
      self.ctx.dps = self.dps_goal
  
      self.V = self._coeff()
      self.p = (
          self.ctx.matrix(self.ctx.arange(1, M + 1))
          * self.ctx.ln2
          / self.t
      )
  
label_desc: Use image node_id 1 for calling the Stehfest obj's underlying member method code with example usage: obj.calc_laplace_parameter(t) without return types