docstr: Tests the Jacobian of parameters_from_right_handed.
docstr_tok: ["Tests","the","Jacobian","of","parameters_from_right_handed","."]
code: def test_parameters_from_right_handed_jacobian_random(self):
      """Tests the Jacobian of parameters_from_right_handed."""
      tensor_size = np.random.randint(2, 4)
      tensor_shape = np.random.randint(
          2, 5, size=(tensor_size)
      ).tolist()
      vertical_field_of_view = np.random.uniform(
          sys.float_info.epsilon,
          np.pi - sys.float_info.epsilon,
          tensor_shape + [1],
      )
      aspect_ratio = np.random.uniform(0.1, 10.0, tensor_shape + [1])
      near = np.random.uniform(0.1, 100.0, tensor_shape + [1])
      far = near + np.random.uniform(0.1, 100.0, tensor_shape + [1])
      projection_matrix = perspective.right_handed(
          vertical_field_of_view, aspect_ratio, near, far
      )
  
      with self.subTest(name="vertical_field_of_view"):
          self.assert_jacobian_is_finite_fn(
              lambda x: perspective.parameters_from_right_handed(x)[0],
              [projection_matrix],
          )
  
      with self.subTest(name="aspect_ratio"):
          self.assert_jacobian_is_finite_fn(
              lambda x: perspective.parameters_from_right_handed(x)[1],
              [projection_matrix],
          )
  
      with self.subTest(name="near_plane"):
          self.assert_jacobian_is_finite_fn(
              lambda x: perspective.parameters_from_right_handed(x)[2],
              [projection_matrix],
          )
  
      with self.subTest(name="far_plane"):
          self.assert_jacobian_is_finite_fn(
              lambda x: perspective.parameters_from_right_handed(x)[3],
              [projection_matrix],
          )
  
imports: import math
  import sys
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow_graphics.rendering.camera import perspective
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 4 for calling the PerspectiveTest obj's underlying member method code with example usage: obj.test_parameters_from_right_handed_jacobian_random() without return types