code: def rotation_6d_to_matrix(d6: torch.Tensor) -> torch.Tensor:
      """
      Converts 6D rotation representation by Zhou et al. [1] to rotation matrix
      using Gram--Schmidt orthogonalization per Section B of [1].
      Args:
          d6: 6D rotation representation, of size (*, 6)
  
      Returns:
          batch of rotation matrices of size (*, 3, 3)
  
      [1] Zhou, Y., Barnes, C., Lu, J., Yang, J., & Li, H.
      On the Continuity of Rotation Representations in Neural Networks.
      IEEE Conference on Computer Vision and Pattern Recognition, 2019.
      Retrieved from http://arxiv.org/abs/1812.07035
      """
  
      a1, a2 = d6[..., :3], d6[..., 3:]
      b1 = F.normalize(a1, dim=-1)
      b2 = a2 - (b1 * a2).sum(-1, keepdim=True) * b1
      b2 = F.normalize(b2, dim=-1)
      b3 = torch.cross(b1, b2, dim=-1)
      return torch.stack((b1, b2, b3), dim=-2)
  
imports: from typing import Optional
  import torch
  import torch.nn.functional
  from ..common.datatypes import Device
label_desc: Use image node_id 22 for calling a global function with example usage: rotation_6d_to_matrix(d6) and returns: torch