code: def testBesselIvRatioVAndZLarge(self):
      seed_stream = test_util.test_seed_stream()
      # Use 50 as a cap. It's been observed that for v > 50, that
      # the scipy ratio can be quite wrong compared to mpmath.
      z = tf.random.uniform([int(1e3)], 10.0, 50.0, seed=seed_stream())
      v = tf.random.uniform([int(1e3)], 10.0, 50.0, seed=seed_stream())
  
      # For large v, z, scipy can return NaN values. Filter those out.
      bessel_iv_ratio, v, z = self.evaluate(
          [bessel.bessel_iv_ratio(v, z), v, z]
      )
      # Use ive to avoid nans.
      scipy_ratio = scipy_special.ive(v, z) / scipy_special.ive(
          v - 1.0, z
      )
      # Exclude zeros and NaN's from scipy. This can happen because the
      # individual function computations may zero out, and thus cause issues
      # in the ratio.
      safe_scipy_values = np.where(
          ~np.isnan(scipy_ratio) & (scipy_ratio != 0.0)
      )
  
      self.assertAllClose(
          bessel_iv_ratio[safe_scipy_values],
          scipy_ratio[safe_scipy_values],
          # We need to set a high rtol as the scipy computation is numerically
          # unstable.
          rtol=1e-6,
      )
  
imports: import functools
  from absl.testing import parameterized
  import numpy
  from scipy import constants
  from scipy import special
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import bessel
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.math.bessel import _compute_general_continued_fraction
label_desc: Use image node_id 5 for calling the BesselIvRatioTest obj's underlying member method code with example usage: obj.testBesselIvRatioVAndZLarge() without return types