Suppose I have two finite sets $X, Y$ each consisting of $n$ points lying on the $d$-dimensional unit sphere $S^d \subseteq \mathbb{R}^{d+1}$. What is an efficient algorithm to determine if $X$ is a rotation of $Y$, i.e., if there exists $R \in \mathrm{SO}_{d+1}(\mathbb{R})$ such that $X = RY$?
The relation "$X$ is a rotation of $Y$" is an equivalence relation, so one obvious approach is to devise an efficiently-computable function taking each $n$-point subset of $S^d$ to a fixed representative of its equivalence class. Then, one can simply check if $X$ and $Y$ map to the same representative. However, the point sets that arise in my application tend to be highly symmetric (think of the vertices of a cube or icosahedron), so ideas along the lines of "send the nearest pair of points to the equator..." tend to be ineffective.
You can compute inertia matrices $M_X$ and $M_Y$ with respect to coordinate origin in $\mathbb{R}^{d+1}$, whose components are: $$ M_{X(ij)}=\sum_{x\in X}\big(|x|^2\delta_{ij}-x_ix_j\big), \quad M_{Y(ij)}=\sum_{y\in Y}\big(|y|^2\delta_{ij}-y_iy_j\big), $$ and diagonalise them, to find two sets of orthogonal eigenvectors with their eigenvalues. If $X$ and $Y$ are isometric, then $M_X$ and $M_Y$ should have the same eigenvalues.
If that is the case, the rotation carrying each eigenvector of $M_X$ to the corresponding eigenvector of $M_Y$ should also carry each point of $X$ to a point of $Y$.