docstr: Tests that multiplying with the inverse gives identity.
docstr_tok: ["Tests","that","multiplying","with","the","inverse","gives","identity","."]
code: def test_inverse_random(self):
      """Tests that multiplying with the inverse gives identity."""
      rand_dual_quaternion = (
          test_helpers.generate_random_test_dual_quaternions()
      )
  
      inverse_dual_quaternion = dual_quaternion.inverse(
          rand_dual_quaternion
      )
      final_dual_quaternion = dual_quaternion.multiply(
          rand_dual_quaternion, inverse_dual_quaternion
      )
      tensor_shape = rand_dual_quaternion.shape[:-1]
      identity_dual_quaternion = np.array(
          (0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0), dtype=np.float32
      )
      identity_dual_quaternion = np.tile(
          identity_dual_quaternion, tensor_shape + (1,)
      )
  
      self.assertAllClose(
          final_dual_quaternion, identity_dual_quaternion, rtol=1e-3
      )
  
imports: from absl.testing import flagsaver
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow_graphics.geometry.transformation import dual_quaternion
  from tensorflow_graphics.geometry.transformation import quaternion
  from tensorflow_graphics.geometry.transformation import rotation_matrix_3d
  from tensorflow_graphics.geometry.transformation.tests import test_helpers
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 14 for calling the DualQuaternionTest obj's underlying member method code with example usage: obj.test_inverse_random() without return types