class_docstr: Base class to represent the Se3 group.
  
  The SE(3) is the group of rigid body transformations about the origin of three-dimensional Euclidean
  space :math:`R^3` under the operation of composition.
  See more: https://ingmec.ual.es/~jlblanco/papers/jlblanco2010geometry3D_techrep.pdf
  
  Example:
      >>> q = Quaternion.identity()
      >>> s = Se3(q, torch.ones(3))
      >>> s.r
      Parameter containing:
      tensor([1., 0., 0., 0.], requires_grad=True)
      >>> s.t
      Parameter containing:
      tensor([1., 1., 1.], requires_grad=True)
docstr: Create a Se3 group representing a random transformation.
  
  Args:
      batch_size: the batch size of the underlying data.
  
  Example:
      >>> s = Se3.random()
      >>> s = Se3.random(batch_size=3)
code: def random(
      cls,
      batch_size: Optional[int] = None,
      device: Optional[Device] = None,
      dtype: Dtype = None,
  ) -> Se3:
      """Create a Se3 group representing a random transformation.
  
      Args:
          batch_size: the batch size of the underlying data.
  
      Example:
          >>> s = Se3.random()
          >>> s = Se3.random(batch_size=3)
      """
      shape: tuple[int, ...]
      if batch_size is None:
          shape = ()
      else:
          KORNIA_CHECK(
              batch_size >= 1, msg="batch_size must be positive"
          )
          shape = (batch_size,)
      r = So3.random(batch_size, device, dtype)
      t = Vector3.random(shape, device, dtype)
      return cls(r, t)
  
imports: from __future__ import annotations
  from typing import Optional
  from kornia.core import Device, Dtype, Module, Parameter, Tensor, concatenate, eye, pad, stack, tensor, where, zeros_like
  from kornia.core.check import KORNIA_CHECK, KORNIA_CHECK_SAME_DEVICES
  from kornia.geometry.liegroup.so3 import So3
  from kornia.geometry.linalg import batched_dot_product
  from kornia.geometry.quaternion import Quaternion
  from kornia.geometry.vector import Vector3
label_desc: Use image node_id 21 for calling the Se3 obj's underlying member method code with example usage: obj.random(cls, batch_size, device, dtype) and returns: cls