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: Converts elements from lie algebra to vector space.
  
  Args:
      omega: 4x4-matrix representing lie algebra of shape :math:`(B,4,4)`.
  
  Returns:
      vector of shape :math:`(B,6)`.
  
  Example:
      >>> v = torch.ones((1, 6))
      >>> omega_hat = Se3.hat(v)
      >>> Se3.vee(omega_hat)
      tensor([[1., 1., 1., 1., 1., 1.]])
code: def vee(omega: Tensor) -> Tensor:
      """Converts elements from lie algebra to vector space.
  
      Args:
          omega: 4x4-matrix representing lie algebra of shape :math:`(B,4,4)`.
  
      Returns:
          vector of shape :math:`(B,6)`.
  
      Example:
          >>> v = torch.ones((1, 6))
          >>> omega_hat = Se3.hat(v)
          >>> Se3.vee(omega_hat)
          tensor([[1., 1., 1., 1., 1., 1.]])
      """
      # KORNIA_CHECK_SHAPE(omega, ["B", "4", "4"])  # FIXME: resolve shape bugs. @edgarriba
      head = omega[..., :3, -1]
      tail = So3.vee(omega[..., :3, :3])
      return concatenate((head, tail), -1)
  
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 15 for calling the Se3 obj's underlying member method code with example usage: obj.vee(omega) and returns: concatenate