docstr: Same as previous, but with grid with an extra point.
  
  We add an extra point in a uniform grid so that grid[1]-grid[0] and
  grid[2]-grid[1] are significantly different. This is important for testing
  the discretization of boundary conditions: both deltas participate there.
docstr_tok: ["Same","as","previous",",","but","with","grid","with","an","extra","point",".","We","add","an","extra","point","in","a","uniform","grid","so","that","grid","[","1","]","-grid","[","0","]","and","grid","[","2","]","-grid","[","1","]","are","significantly","different",".","This","is","important","for","testing","the","discretization","of","boundary","conditions",":","both","deltas","participate","there","."]
code: def testHeatEquation_WithRobinBoundaryConditions_AndExtraPointInGrid(
      self,
  ):
      """Same as previous, but with grid with an extra point.
  
      We add an extra point in a uniform grid so that grid[1]-grid[0] and
      grid[2]-grid[1] are significantly different. This is important for testing
      the discretization of boundary conditions: both deltas participate there.
      """
  
      def final_cond_fn(x):
          return math.e * math.sin(x)
  
      def expected_result_fn(x):
          return tf.sin(x)
  
      def lower_boundary_fn(t, x):
          del x
          return 2, -1, tf.math.exp(t)
  
      def upper_boundary_fn(t, x):
          del x
          return 2, 1, 2 * tf.math.exp(t)
  
      x_min = 0
      x_max = 4.5 * math.pi
      num_points = 1001
      locations = np.linspace(x_min, x_max, num=num_points - 1)
      delta = locations[1] - locations[0]
      locations = np.insert(locations, 1, locations[0] + delta / 3)
  
      grid = [tf.constant(locations)]
  
      self._testHeatEquation(
          grid=grid,
          final_t=1,
          time_step=0.01,
          final_cond_fn=final_cond_fn,
          expected_result_fn=expected_result_fn,
          one_step_fn=crank_nicolson_step(),
          lower_boundary_fn=lower_boundary_fn,
          upper_boundary_fn=upper_boundary_fn,
          error_tolerance=1e-2,
      )
  
imports: import math
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  import tf_quant_finance
  from tensorflow.python.framework import test_util
label_desc: Use image node_id 6 for calling the ParabolicEquationStepperTest obj's underlying member method code with example usage: obj.testHeatEquation_WithRobinBoundaryConditions_AndExtraPointInGrid() and returns: unknown, tf, int,  unknown,  tf, int,  int,  unknown