code: def point_to_dual_quaternion(
      point: type_alias.TensorLike,
      name: str = "dual_quaternion_conjugate",
  ) -> tf.Tensor:
      """Converts a 3D point to its dual quaternion representation.
  
      Args:
        point: A TensorLike of shape `[A1, ..., An, 3]`, where the last
          dimension represents a point.
        name: A name for this op that defaults to "point_to_dual_quaternion".
  
      Returns:
        The dual quaternion representation of `point`.
      """
      with tf.name_scope(name):
          point = tf.convert_to_tensor(value=point)
  
          shape.check_static(
              tensor=point, tensor_name="point", has_dim_equals=(-1, 3)
          )
  
          ones_vector = tf.ones_like(point)[..., 0:1]
  
          return tf.concat(
              (
                  ones_vector,
                  tf.zeros(
                      tf.concat((tf.shape(point)[0:-1], [4]), -1),
                      dtype=point.dtype,
                  ),
                  point,
              ),
              -1,
          )
  
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 10 for calling a global function with example usage: point_to_dual_quaternion(point, name) and returns: tf