code: def to_rotation_translation(
      dual_quaternion: type_alias.TensorLike,
      name: str = "dual_quaternion_to_rot_trans",
  ) -> Tuple[tf.Tensor, tf.Tensor]:
      """Converts a dual quaternion into a quaternion for rotation and translation.
  
      Args:
        dual_quaternion: A `[A1, ..., An, 8]`-tensor, where the last dimension
          represents a qual quaternion.
        name: A name for this op that defaults to "dual_quaternion_to_rot_trans".
  
      Returns:
        A tuple with a `[A1, ..., An, 4]`-tensor for rotation in quaternion form,
        and a `[A1, ..., An, 3]`-tensor for translation, in that order.
      """
      with tf.name_scope(name):
          dual_quaternion = tf.convert_to_tensor(value=dual_quaternion)
  
          shape.check_static(
              tensor=dual_quaternion,
              tensor_name="dual_quaternion",
              has_dim_equals=(-1, 8),
          )
  
          rotation = dual_quaternion[..., 0:4]
          translation = 2 * quaternion.multiply(
              dual_quaternion[..., 4:8], quaternion.inverse(rotation)
          )
          translation = translation[..., 0:3]
  
          return rotation, translation
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from typing import Tuple
  import tensorflow
  from tensorflow_graphics.geometry.transformation import quaternion
  from tensorflow_graphics.math import vector
  from tensorflow_graphics.util import export_api
  from tensorflow_graphics.util import safe_ops
  from tensorflow_graphics.util import shape
  from tensorflow_graphics.util import type_alias
label_desc: Use image node_id 7 for calling a global function with example usage: to_rotation_translation(dual_quaternion, name) and returns: rotation,  translation