How to find $n+1$ equidistant vectors on an $n$-sphere?

Following this question, Proving the existence of a set of vectors, I'm looking for a way to find $n+1$ equidistant vectors on a Euclidean $n$-sphere.

For $n=2$, you can pick the vertices of any equilateral triangle.

For $n=3$, pick a tetrahedron.

What about larger dimensions?


Let $A=\frac{n+1}{n}I_{n+1}-\frac{1}{n}\mathbf1\mathbf1^T$. That is, $$ a_{ij}=\begin{cases}1&\text{ if } i=j,\\ \frac{-1}{n}&\text{ if } i\ne j.\end{cases} $$ $A$ has a simple zero eigenvalue and also an eigenvalue $\frac{n+1}{n}$ of multiplicity $n$. Hence it can be orthogonally diagonalised as $Q^T\operatorname{diag}\left(\frac{n+1}{n},\ldots,\frac{n+1}{n},0\right)\,Q$. If we multiply $Q$ by $\sqrt{\frac{n+1}{n}}$ and drop its last row to form an $n\times(n+1)$ matrix $V$, we get $V^TV=A$, i.e. the columns of $V$ are equidistant vectors on the unit sphere.

Edit. $V$ can be constructed recursively as follows (see also the answer by Martin Argerami to the question cited by the OP). Let \begin{align} V_1&=\pmatrix{1&-1}\in\mathbb R^{1\times2},\\ V_k&=\pmatrix{1&-\frac1k\mathbf1^T\\ \mathbf0&\sqrt{1-\frac1{k^2}}\,V_{k-1}}\in\mathbb R^{k\times(k+1)}. \end{align} Then the columns of each $V_k$ are $k+1$ equidistant vectors on the unit sphere in $\mathbb R^k$, and such a set is unique up to orthogonal transformation. It is easy to prove by mathematical induction that $V_n^TV_n=A$.


You can proceed inductively: If you've found $n$ equidistant vectors $\{v_{i}\}$ in $S^{n-1} \subset \mathbf{R}^{n}$, embed $S^{n-1}$ in $S^{n} \subset \mathbf{R}^{n+1}$ by taking the $(n+1)$th component to be $z_{n}$ (to be determined), and taking the $(n+1)$th vector to be $\mathbf{e}_{n+1} = (0, \dots, 0, 1)$.

Your embedded vectors $\tilde{v}_{i} = (\sqrt{1 - z_{n}^{2}}v_{i}, z_{n})$ are of unit length, so your new set is equidistant provided $$ \langle\tilde{v}_{1}, \tilde{v}_{2}\rangle = \langle\tilde{v}_{1}, \mathbf{e}_{n+1}\rangle. $$ Evaluating each side gives $$ (1 - z_{n}^{2})\langle v_{1}, v_{2}\rangle + z_{n}^{2} = z_{n}. $$ Rearranging and factoring, $$ 0 = z_{n}^{2} - \frac{z_{n}}{1 - \langle v_{1}, v_{2}\rangle} + \frac{\langle v_{1}, v_{2}\rangle}{1 - \langle v_{1}, v_{2}\rangle} = (z_{n} - 1)\left[z_{n} + \frac{\langle v_{1}, v_{2}\rangle}{1 - \langle v_{1}, v_{2}\rangle}\right], $$ so $$ z_{n} = -\frac{\langle v_{1}, v_{2}\rangle}{1 - \langle v_{1}, v_{2}\rangle}. $$ The process starts with $v_{1} = 1$ and $v_{2} = -1$ in $S^{0}$, so $z_{1} = -1/2$. An easy induction shows $z_{n} = -1/(n+1)$. (This duplicates user1551's result, but the method is rather different.)


This description is pretty concrete.

In $\mathbb{R}^{n+1}$, consider the standard orthonormal basis $\{e_1, e_2, \ldots, e_{n+1} \}$. Clearly all $n+1$ points have the same distance to all others. Now, they all lie in the $n$-dimensional hyperplane (affine space) given by the equation $x_1+x_2+\dots+x_{n+1}=1$ (where the $x_i$ are the coordinates in $\mathbb{R}^{n+1}$) which is geometrically just a copy of $\mathbb{R}^n$.

The average of those $n+1$ points is of course the point $C=\left( \frac{1}{n+1}, \frac{1}{n+1}, \ldots, \frac{1}{n+1}\right)$. Inside the hyperplane mentioned, with $C$ as center, draw the sphere with radius chosen such that it passes through all the $e_i$.

The radius would be $|C - e_1|=\sqrt{\frac{n+n^2}{(n+1)^2}}=\sqrt{\frac{n}{n+1}}$ it seems, but you can easily scale to whatever radius you desire.

See also Simplex (Wikipedia).


Pick any point $p$ on an $n+1$-sphere, and draw a plane $H$ orthogonal to the line through $p$ and the center of the sphere. Where $H$ meets the sphere, pick $n+1$ equidistant points by the inductive hypothesis. As $H$ varies...