code: def test_riccati(self, solver, solution_times_fn):
      ode_fn = lambda time, state: (state - time) ** 2 + 1.0
      initial_time = 0.0
      initial_state = np.float64(0.5)
      jacobian_fn = lambda time, state: 2.0 * (state - time)
      solver_instance = solver(rtol=_RTOL, atol=_ATOL)
      results = solver_instance.solve(
          ode_fn,
          initial_time,
          initial_state,
          solution_times=solution_times_fn(1.0),
          jacobian_fn=jacobian_fn,
      )
      times, states = self.evaluate([results.times, results.states])
      states_exact = 1.0 / (1.0 / initial_state - times) + times
      self.assertAllClose(states, states_exact)
  
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.math.ode import base
  from tensorflow_probability.python.math.ode import bdf
  from tensorflow_probability.python.math.ode import dormand_prince
label_desc: Use image node_id 8 for calling the NonStiffTest obj's underlying member method code with example usage: obj.test_riccati(solver, solution_times_fn) without return types