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)
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.