code: def extrapolation_scheme(value_grid, t1, t2, equation_params_fn):
      """Constructs extrapolation implicit-explicit scheme.
  
      Performs two implicit half-steps, one full implicit step, and combines them
      with such coefficients that ensure second-order errors. More computationally
      expensive than Crank-Nicolson scheme, but provides a better approximation for
      high-wavenumber components, which results in absence of oscillations typical
      for Crank-Nicolson scheme in case of non-smooth initial conditions. See [1]
      for details.
  
      #### References:
      [1]: D. Lawson, J & Ll Morris, J. The Extrapolation of First Order Methods
      for Parabolic Partial Differential Equations. I. 1978
      SIAM Journal on Numerical Analysis. 15. 1212-1224.
      https://epubs.siam.org/doi/abs/10.1137/0715082
  
      Args:
        value_grid: A `Tensor` of real dtype. Grid of solution values at the current
          time.
        t1: Time before the step.
        t2: Time after the step.
        equation_params_fn: A callable that takes a scalar `Tensor` argument
          representing time and constructs the tridiagonal matrix `A`
          (a tuple of three `Tensor`s, main, upper, and lower diagonals)
          and the inhomogeneous term `b`. All of the `Tensor`s are of the same
          `dtype` as `inner_value_grid` and of the shape broadcastable with the
          shape of `inner_value_grid`.
  
      Returns:
        A `Tensor` of the same shape and `dtype` a
        `values_grid` and represents an approximate solution `u(t2)`.
      """
      first_half_step = implicit_scheme(
          value_grid, t1, (t1 + t2) / 2, equation_params_fn
      )
      two_half_steps = implicit_scheme(
          first_half_step, (t1 + t2) / 2, t2, equation_params_fn
      )
  
      full_step = implicit_scheme(
          value_grid, t1, t2, equation_params_fn
      )
      return 2 * two_half_steps - full_step
  
imports: from tf_quant_finance.math.pde.steppers.implicit import implicit_scheme
  from tf_quant_finance.math.pde.steppers.parabolic_equation_stepper import parabolic_equation_step
label_desc: Use image node_id 2 for calling a global function with example usage: extrapolation_scheme(value_grid, t1, t2, equation_params_fn) and returns: unknown