code: def test_secant_finds_all_roots_from_one_initial_position(self):
      f = lambda x: (63 * x**5 - 70 * x**3 + 15 * x) / 8.0
  
      x0, x1 = -1, 10
      guess = tf.constant([x0, x1], dtype=tf.float64)
  
      tolerance = 1e-8
      roots, value_at_roots, _ = self.evaluate(
          root_search.find_root_secant(
              f, guess, position_tolerance=tolerance
          )
      )
  
      expected_roots = [optimize.newton(f, x0), optimize.newton(f, x1)]
      zeros = [0.0, 0.0]
  
      self.assertAllClose(roots, expected_roots, atol=tolerance)
      self.assertAllClose(value_at_roots, zeros)
  
imports: import numpy
  import scipy.optimize
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import special_math
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import root_search
label_desc: Use image node_id 1 for calling the SecantRootSearchTest obj's underlying member method code with example usage: obj.test_secant_finds_all_roots_from_one_initial_position() without return types