docs: def rotate(self, vecs):
          """Rotate input vector(s) by the rotation matrix.`
  
          Args:
              vecs (np.ndarray): Input vector(s) with dtype=np.float32.
                  The shape can be a single vector (D, ) or several vectors (N, D)
  
          Returns:
              np.ndarray: Rotated vectors with the same shape and dtype to the input vecs.
  
          """
          assert vecs.dtype == np.float32
          assert vecs.ndim in [1, 2]
  
          if vecs.ndim == 2:
              return vecs @ self.R
          elif vecs.ndim == 1:
              return (vecs.reshape(1, -1) @ self.R).reshape(-1)