Everything below is written for real vectors. The complex case changes only the transpose to a conjugate transpose, and one dimension count in Section 8, and I flag both places.
1. Setup and the question
Take $N$ unit vectors $x_1,\dots,x_N\in\mathbb{R}^d$. Their pairwise overlaps are the inner products $\langle x_i,x_j\rangle$, and since the vectors have unit length these are cosines of the angles between them. The quantity we care about is the worst overlap,
$$\mu \;=\; \max_{i\ne j}\,|\langle x_i,x_j\rangle|,$$which is called the coherence of the set. Small coherence means every pair is close to orthogonal.
If $N\le d$ you can make $\mu=0$ by picking orthonormal vectors. Once $N \gt d$ that is impossible, because $d$-dimensional space has only $d$ mutually orthogonal directions. The question is quantitative. With $N \gt d$ vectors, how small can $\mu$ be? The Welch bound answers with a floor that depends only on $N$ and $d$.
Plug in two cases to get a feel. With $N=d+1$ the floor is $\mu^2\ge 1/d^2$, so $\mu\ge 1/d$. With $N\to\infty$ the floor tends to $1/d$, so no matter how many vectors you add, you cannot push coherence below roughly $1/\sqrt d$. The whole proof is one identity about a matrix plus one application of the inequality $\|A\|_F^2\ge 0$.
2. The Gram matrix, computed two ways
Stack the vectors as columns of a matrix $X\in\mathbb{R}^{d\times N}$. Two products of $X$ with itself appear throughout.
Four facts about these, each one line.
- $G$ has ones on the diagonal, because $\|x_i\|=1$. Its off-diagonal entries are exactly the overlaps we want to control.
- $\operatorname{rank}(G)\le d$, since $G=X^\top X$ and $X$ has only $d$ rows. This is the only place the dimension $d$ enters.
- $\operatorname{tr}(S)=\sum_i \|x_i\|^2 = N$.
- The squared Frobenius norms agree, $\|G\|_F^2=\|S\|_F^2$. Both equal $\operatorname{tr}(X^\top X X^\top X)$, using $\|A\|_F^2=\operatorname{tr}(A^\top A)$ and the cyclic property $\operatorname{tr}(ABC)=\operatorname{tr}(CAB)$.
The last fact is the hinge of the proof. The same number $\|G\|_F^2$ can be read off $G$, where it is a sum of squared overlaps, or off $S$, where it is constrained by the small dimension $d$. Comparing the two readings gives the bound.
3. The frame potential inequality
Reading $\|G\|_F^2$ off $G$ gives a sum over all $N^2$ pairs,
$$\|G\|_F^2 \;=\; \sum_{i=1}^N\sum_{j=1}^N \langle x_i,x_j\rangle^2 .$$Benedetto and Fickus call this the frame potential of the set. Reading it off $S$ gives the following.
The squared Frobenius norm of any matrix is nonnegative. Apply this to $S$ minus the scalar matrix with the same trace, which is $\frac{N}{d}I_d$ because $\operatorname{tr}(S)=N$ and $\operatorname{tr}(I_d)=d$.
$$0 \;\le\; \Big\|S-\tfrac{N}{d}I\Big\|_F^2 \;=\; \operatorname{tr}(S^2) \;-\; \tfrac{2N}{d}\operatorname{tr}(S) \;+\; \tfrac{N^2}{d^2}\operatorname{tr}(I) \;=\; \|S\|_F^2 - \tfrac{2N^2}{d} + \tfrac{N^2}{d} \;=\; \|G\|_F^2 - \tfrac{N^2}{d}.$$The last step used $\|S\|_F^2=\|G\|_F^2$ from Section 2. Equality holds exactly when the matrix inside the norm is zero. $\blacksquare$
Same proof in eigenvalue language, which some people find more transparent. $S$ is symmetric positive semidefinite with eigenvalues $\lambda_1,\dots,\lambda_d\ge 0$ summing to $\operatorname{tr}(S)=N$. Cauchy–Schwarz on the vector $(\lambda_1,\dots,\lambda_d)$ against the all-ones vector gives $(\sum_k\lambda_k)^2\le d\sum_k\lambda_k^2$, that is $N^2\le d\,\|S\|_F^2$, with equality when all $\lambda_k$ are equal to $N/d$. The vectors $x_i$ must then spread their total "energy" $N$ evenly across all $d$ directions.
Theorem 1 says tight frames are precisely the minimizers of the frame potential. That is the content of Benedetto and Fickus (2003); the proof above follows their Section 2 in compressed form.
4. From the frame potential to the Welch bound
Split the frame potential into its $N$ diagonal terms, each equal to $1$, and its $N(N-1)$ off-diagonal terms.
$$\sum_{i,j}\langle x_i,x_j\rangle^2 \;=\; N \;+\; \sum_{i\ne j}\langle x_i,x_j\rangle^2 .$$Each off-diagonal term is at most $\mu^2$, so the sum is at most $N(N-1)\mu^2$. Combine with Theorem 1.
$$\frac{N^2}{d} \;\le\; N + N(N-1)\,\mu^2 \quad\Longrightarrow\quad \mu^2 \;\ge\; \frac{N^2/d - N}{N(N-1)} \;=\; \frac{N-d}{d\,(N-1)}.$$That is the Welch bound. The derivation used two inequalities, and each has its own equality condition.
| Step | Inequality | Equality when |
|---|---|---|
| Theorem 1 | $\|G\|_F^2\ge N^2/d$ | $XX^\top=\frac{N}{d}I$ (tight frame) |
| Max over pairs | $\sum_{i\ne j}G_{ij}^2\le N(N-1)\mu^2$ | all $|G_{ij}|$, $i\ne j$, equal to $\mu$ (equiangular) |
There is a useful intermediate statement. Skipping the max step and keeping the average gives the mean-square version,
$$\overline{\mu^2} \;:=\; \frac{1}{N(N-1)}\sum_{i\ne j}\langle x_i,x_j\rangle^2 \;\ge\; \frac{N-d}{d\,(N-1)},$$with equality for every tight frame, equiangular or not. Since a maximum is at least the mean, $\mu^2\ge\overline{\mu^2}$, and the Welch bound follows again. The mean-square version is the one that matters for associative memories like the delta rule, and Section 10 returns to it.
5. Three worked examples
$d=2$, $N=3$. Three vectors at 120°
Welch gives $\mu^2\ge\frac{3-2}{2\cdot 2}=\frac14$, so $\mu\ge\frac12$. Take $x_1=(1,0)$, $x_2=(-\tfrac12,\tfrac{\sqrt3}{2})$, $x_3=(-\tfrac12,-\tfrac{\sqrt3}{2})$. Every pair has inner product $\cos 120^\circ=-\tfrac12$, so $\mu=\tfrac12$ and the bound is met. Check tightness directly,
$$XX^\top=\begin{pmatrix}1+\tfrac14+\tfrac14 & 0\\ 0 & \tfrac34+\tfrac34\end{pmatrix}=\tfrac32 I_2=\tfrac{N}{d}I_2 .$$This set is sometimes called the Mercedes-Benz frame.
$d=3$, $N=6$. The six diagonals of an icosahedron
Welch gives $\mu^2\ge\frac{6-3}{3\cdot 5}=\frac15$, so $\mu\ge 1/\sqrt5\approx 0.447$. The icosahedron has twelve vertices in six antipodal pairs. The six lines through opposite vertices pairwise make the same angle, with $|\cos|=1/\sqrt5$. Choosing one unit vector per line gives an ETF. With $\varphi=(1+\sqrt5)/2$, the vectors $(0,\pm 1,\varphi)$, $(\pm 1,\varphi,0)$, $(\varphi,0,\pm 1)$, each divided by $\sqrt{1+\varphi^2}$, do it. The sandbox below has this as a preset so you can see an optimizer find $0.447$ from a random start.
$d=2$, $N=4$. The bound is not met
Welch gives $\mu^2\ge\frac{4-2}{2\cdot 3}=\frac13$, so $\mu\ge 0.577$. The best you can do is four lines in the plane spaced $45^\circ$ apart, which gives $\mu=\cos 45^\circ\approx 0.707$. The gap exists because equality would need four equiangular lines in the plane, and the plane holds at most three. Section 8 proves the general version of that count.
6. Sandbox
Pick $N$ and $d$, sample random unit vectors, then let gradient descent try to push the coherence down. The heatmap shows $|G_{ij}|$. The chart shows the Welch floor as a function of $N$ for the current $d$, the asymptote $1/\sqrt d$, and the Gerzon limit beyond which no ETF exists (Section 8).
"Minimize frame potential" runs gradient descent on $\sum_{i\ne j}G_{ij}^2$ with renormalization after each step. It converges to a tight frame, so the RMS overlap hits the floor while the max usually does not. "Minimize coherence" descends on $\sum_{i\ne j}|G_{ij}|^p$ with $p$ growing from 2 to 12, a smooth stand-in for the max. When an ETF exists the max also reaches the floor. Try 4 in $\mathbb{R}^2$ and watch it stall at $0.707$.
7. Higher-order Welch bounds
Welch's paper proves a family of bounds, one for each integer $k\ge 1$,
$$\mu^{2k} \;\ge\; \frac{1}{N-1}\left(\frac{N}{\binom{d+k-1}{k}} - 1\right),$$and $k=1$ is the bound above. The derivation reuses Theorem 1 on a cleverly chosen set of vectors, so nothing new is needed beyond one construction.
For $x\in\mathbb{R}^d$, the $k$-th tensor power $x^{\otimes k}$ is the vector of length $d^k$ whose entries are all products of $k$ coordinates, indexed by tuples $(i_1,\dots,i_k)$,
$$\big(x^{\otimes k}\big)_{i_1 i_2\cdots i_k} \;=\; x_{i_1}x_{i_2}\cdots x_{i_k}.$$For $d=2$, $k=2$ this is $(x_1x_1,\ x_1x_2,\ x_2x_1,\ x_2x_2)$. Two properties follow by expanding the sum.
$$\langle x^{\otimes k},y^{\otimes k}\rangle=\sum_{i_1,\dots,i_k} x_{i_1}y_{i_1}\cdots x_{i_k}y_{i_k} = \langle x,y\rangle^k, \qquad \|x^{\otimes k}\|=\|x\|^k .$$The entries of $x^{\otimes k}$ do not change when you permute the indices, since $x_{i_1}x_{i_2}=x_{i_2}x_{i_1}$. Vectors with this property are called symmetric tensors, and they form a subspace of $\mathbb{R}^{d^k}$. Its dimension is the number of distinct multisets of size $k$ drawn from $d$ symbols, since a symmetric tensor is determined by one entry per multiset. By the stars-and-bars count that number is $\binom{d+k-1}{k}$. For $d=2$, $k=2$ the multisets are $\{1,1\},\{1,2\},\{2,2\}$, three of them, and indeed $\binom{3}{2}=3$.
To learn more. Any linear algebra text's section on symmetric tensors, or Waldron, An Introduction to Finite Tight Frames (2018), Section 6.7 and Chapter 9, about 20 minutes for the counting argument.
Set $D=\binom{d+k-1}{k}$. The $N$ vectors $x_1^{\otimes k},\dots,x_N^{\otimes k}$ are unit vectors living in a $D$-dimensional space (the symmetric tensors). Apply Theorem 1 inside that space, with $D$ in place of $d$,
$$\sum_{i,j}\langle x_i^{\otimes k},x_j^{\otimes k}\rangle^2 \;=\; \sum_{i,j}\langle x_i,x_j\rangle^{2k} \;\ge\; \frac{N^2}{D}.$$Now repeat Section 4. The diagonal contributes $N$, each off-diagonal term is at most $\mu^{2k}$, so $N+N(N-1)\mu^{2k}\ge N^2/D$, which rearranges to the stated bound. $\blacksquare$
Which $k$ gives the strongest bound depends on $N$ and $d$. For $N$ a little above $d$ the $k=1$ bound wins. For $N$ large relative to $d$ the higher-order ones take over, and as $N\to\infty$ they force $\mu\to 1$, which is correct since you cannot keep adding lines in a fixed dimension without some pair getting arbitrarily close. In the complex case the same argument works with the Hermitian inner product, $|\langle x^{\otimes k},y^{\otimes k}\rangle|=|\langle x,y\rangle|^k$, and the same $D$.
8. When the bound is not tight
Equality in the $k=1$ bound needs an ETF, and ETFs cannot have too many vectors. The following count is due to Gerzon and the proof is a Gram-matrix argument one level up, on matrices instead of vectors.
Consider the rank-one matrices $P_i=x_ix_i^\top$. They are symmetric $d\times d$ matrices, and the symmetric matrices form a vector space of dimension $d(d+1)/2$ (the upper triangle, diagonal included, determines the matrix). Use the trace inner product $\langle A,B\rangle=\operatorname{tr}(A^\top B)$. Then
$$\langle P_i,P_j\rangle=\operatorname{tr}(x_ix_i^\top x_jx_j^\top)=(x_i^\top x_j)^2 = \begin{cases}1 & i=j\\ \mu^2 & i\ne j.\end{cases}$$So the Gram matrix of $P_1,\dots,P_N$ is $H=(1-\mu^2)I_N+\mu^2\mathbf{1}\mathbf{1}^\top$. Its eigenvalues are $1-\mu^2$ (multiplicity $N-1$) and $1-\mu^2+N\mu^2$, all positive when $\mu \lt 1$. A set of vectors with a nonsingular Gram matrix is linearly independent (if $\sum c_iP_i=0$ then $Hc=0$, so $c=0$). Hence $N$ linearly independent elements sit in a space of dimension $d(d+1)/2$, giving the bound. In $\mathbb{C}^d$ the $P_i$ are Hermitian matrices, which form a real vector space of dimension $d^2$. $\blacksquare$
So for $N \gt d(d+1)/2$ real vectors, or $N \gt d^2$ complex ones, the Welch $k=1$ bound is strictly loose. In that range a different bound applies.
This is stated without proof. It is met in some dimensions. In $\mathbb{C}^d$ with $d$ a prime power, $d+1$ mutually unbiased bases (orthonormal bases whose cross inner products all have magnitude $1/\sqrt d$) give $N=d(d+1)$ vectors with $\mu=1/\sqrt d$ exactly. The $d=2$, $N=4$ example from Section 5 is the smallest instance, and $1/\sqrt2\approx 0.707$ is exactly the orthoplex value there.
Even inside the Gerzon range an ETF need not exist for a given $(d,N)$. In $\mathbb{R}^3$ ETFs exist for $N=3,4,6$ but not $N=5$. Deciding existence is a hard combinatorial problem connected to strongly regular graphs and difference sets, and Fickus and Mixon maintain tables of what is known. The practical reading is that the Welch bound is a clean lower bound, tight in a specific list of cases, and the true optimum (the Grassmannian packing problem, after the space of lines through the origin) is only known numerically for most $(d,N)$.
9. Random vectors against the bound
How close do random unit vectors get? Draw $x,y$ independently and uniformly on the unit sphere in $\mathbb{R}^d$. By symmetry $\mathbb{E}\langle x,y\rangle^2 = \mathbb{E}\,x_1^2 = 1/d$ (the expectation of one squared coordinate, since all $d$ coordinates share $\sum_i x_i^2=1$). So the mean-square overlap of $N$ random vectors is about $1/d$, while the Welch floor on the mean square is $\frac{N-d}{d(N-1)} \lt \frac1d$. In the mean-square sense random vectors are nearly optimal, and the gap closes as $N$ grows.
The maximum is a different story. A single overlap $\langle x,y\rangle$ is approximately Gaussian with variance $1/d$ when $d$ is large, and the coherence is the maximum of $\binom N2$ such quantities. The maximum of $M$ roughly independent Gaussians with variance $\sigma^2$ sits near $\sigma\sqrt{2\ln M}$, so
$$\mu_{\text{random}} \;\approx\; \sqrt{\frac{2\ln\binom{N}{2}}{d}} \;\approx\; \sqrt{\frac{4\ln N}{d}},$$compared with the Welch floor of about $1/\sqrt d$. Random packings lose a factor of order $\sqrt{\log N}$ in the worst pair. If your application is governed by the typical pair, randomness is fine. If it is governed by the worst pair, structured constructions earn their place. Run the sandbox with $30$ vectors in $\mathbb{R}^4$ to see both numbers at once, with the RMS near the floor and the max well above it.
One more constraint that Welch does not impose. The frame potential controls squared overlaps, not their signs, so a set can have many negative overlaps. The signed total is still pinned down, since $\sum_{i\ne j}\langle x_i,x_j\rangle = \|\sum_i x_i\|^2 - N \ge -N$. The average signed overlap is therefore at least $-1/(N-1)$, with equality when the vectors sum to zero, as the simplex does.
10. Where it shows up in ML
Superposition in a delta-rule memory
Linear attention variants like DeltaNet store key-value pairs in a matrix memory $S$ and update it with the delta rule (Schlag, Irie and Schmidhuber, 2021). Say there are $V$ keys, each a unit vector $k_a\in\mathbb{R}^{d_k}$. Writing $(k_a,v_b)$ with step size $\beta$ and residual $\delta=v_b-Sk_a$ changes the read for another key $k_c$ by $\beta\,\delta\,(k_a^\top k_c)$. The interference coefficient is a Gram entry. When $V \gt d_k$ the mean-square version of the bound from Section 4 reads
$$\frac{1}{V(V-1)}\sum_{a\ne c}(k_a^\top k_c)^2 \;\ge\; \frac{V-d_k}{d_k\,(V-1)},$$and the proof is the one in Section 3 with $G=K^\top K$. Three consequences. Training can move interference between pairs and flip its sign, but the total squared interference has a floor of $V^2/d_k - V$ that no key geometry escapes. The floor is on the mean square, so a learned key set can still make a few pairs nearly orthogonal at the cost of others, so the interesting question becomes how training chooses to spread interference it can't avoid. And since the sign is free up to the constraint at the end of Section 9, negative overlaps that suppress competing keys are available to the optimizer without violating anything.
Superposition in toy models
Elhage et al. (2022) study networks that represent more features than they have neurons by assigning features to nearly orthogonal directions. The Welch bound is the exact statement of what "nearly" can mean for $N$ features in $d$ dimensions, and the Gerzon bound caps how many features can share one common interference level.
Sparse recovery
For a dictionary $D\in\mathbb{R}^{d\times N}$ with unit columns and coherence $\mu$, Donoho and Elad (2003) show that any signal with a representation using fewer than $\frac12(1+1/\mu)$ atoms has that representation uniquely. Welch bounds $\mu$ below by about $1/\sqrt d$, so coherence-based guarantees can never certify sparsity beyond about $\sqrt d/2$. Stronger guarantees need the restricted isometry property, which is where the field went next.
The original setting
Welch wrote the paper for spread-spectrum communication, where $N$ users each get a signature sequence of length $d$ and cross-correlation between signatures is interference between users. The bound says how many users a code length can support at a given interference level.
11. Exercises
Exercise 1. Prove $\|G\|_F^2=\|S\|_F^2$ for $G=X^\top X$ and $S=XX^\top$.
$\|G\|_F^2=\operatorname{tr}(G^\top G)=\operatorname{tr}(X^\top X X^\top X)$. Group as $\operatorname{tr}\big((X^\top X)(X^\top X)\big)$ and apply $\operatorname{tr}(AB)=\operatorname{tr}(BA)$ with $A=X^\top$, $B=XX^\top X$ to get $\operatorname{tr}(XX^\top XX^\top)=\operatorname{tr}(S^2)=\|S\|_F^2$, the last since $S$ is symmetric.
Exercise 2. Show that the regular simplex meets the bound at $N=d+1$.
Take the $d+1$ standard basis vectors $e_1,\dots,e_{d+1}$ in $\mathbb{R}^{d+1}$, subtract their mean $\bar e=\frac{1}{d+1}\mathbf{1}$, and normalize. The centered vectors $e_i-\bar e$ have squared norm $1-\frac{2}{d+1}+\frac{1}{d+1}=\frac{d}{d+1}$ and pairwise inner product $-\frac{2}{d+1}+\frac{1}{d+1}=-\frac{1}{d+1}$. After normalizing, every pairwise inner product is $-\frac{1}{d+1}\cdot\frac{d+1}{d}=-\frac1d$. These $d+1$ vectors sum to zero, so they live in a $d$-dimensional subspace, and $\mu=1/d$ equals the Welch value $\sqrt{\frac{(d+1)-d}{d\cdot d}}=\frac1d$.
Exercise 3. For $x,y$ independent and uniform on the unit sphere in $\mathbb{R}^d$, show $\mathbb{E}\langle x,y\rangle^2=1/d$.
Condition on $y$. By rotation invariance of the distribution of $x$, $\mathbb{E}[\langle x,y\rangle^2\mid y]$ is the same for every unit $y$, so take $y=e_1$ and get $\mathbb{E}\,x_1^2$. The coordinates are exchangeable and $\sum_{i=1}^d x_i^2=1$, so $d\,\mathbb{E}\,x_1^2=1$.
Exercise 4. Compare the $k=1$ and $k=2$ Welch bounds for $d=3$, $N=6$ and for $d=3$, $N=40$.
For $k=2$, $D=\binom{4}{2}=6$. At $N=6$ the $k=2$ bound reads $\mu^4\ge\frac15(\frac66-1)=0$, useless, while $k=1$ gives $\mu\ge 0.447$. At $N=40$, $k=1$ gives $\mu^2\ge\frac{37}{117}$, so $\mu\ge 0.562$. $k=2$ gives $\mu^4\ge\frac{1}{39}(\frac{40}{6}-1)=\frac{17}{117}$, so $\mu\ge 0.618$. The higher-order bound is stronger once $N$ is well past $d^2$.
Exercise 5. Show that if $X$ is a tight frame then every unit vector $y$ has $\sum_i\langle x_i,y\rangle^2=N/d$.
$\sum_i\langle x_i,y\rangle^2=\sum_i y^\top x_ix_i^\top y=y^\top S y=\frac Nd\,y^\top y=\frac Nd$. This is the sense in which a tight frame treats all directions equally.
Numerical check
import numpy as np
def welch(N, d):
return np.sqrt(max(0.0, (N - d) / (d * (N - 1))))
# Mercedes-Benz frame, d=2, N=3
X = np.array([[1, 0],
[-0.5, np.sqrt(3)/2],
[-0.5, -np.sqrt(3)/2]]).T # shape (d, N)
G = X.T @ X
mu = np.abs(G - np.eye(3)).max()
print(mu, welch(3, 2)) # 0.5 0.5
print(np.allclose(X @ X.T, 1.5 * np.eye(2))) # True, tight
# random vectors: RMS near 1/sqrt(d), max well above the floor
rng = np.random.default_rng(0)
d, N = 64, 4000
R = rng.standard_normal((d, N)); R /= np.linalg.norm(R, axis=0)
G = R.T @ R; off = G[~np.eye(N, dtype=bool)]
print(np.sqrt((off**2).mean()), np.abs(off).max(), welch(N, d), 1/np.sqrt(d))
12. Reading
- L. R. Welch, "Lower bounds on the maximum cross correlation of signals," IEEE Transactions on Information Theory 20(3), 1974. The original. Short, and the higher-order bounds are all there.
- J. J. Benedetto and M. Fickus, "Finite normalized tight frames," Advances in Computational Mathematics 18, 2003. Frame potential, Theorem 1 above, and the fact that its local minimizers are tight frames.
- T. Strohmer and R. W. Heath Jr., "Grassmannian frames with applications to coding and communication," Applied and Computational Harmonic Analysis 14, 2003. The clearest short treatment of Welch, Gerzon and orthoplex together, with the communications motivation. Sections 2 and 3, about 40 minutes.
- S. Waldron, An Introduction to Finite Tight Frames, Birkhäuser, 2018. Textbook. Chapter 2 for tight frames and the frame potential, Chapter 12 for equiangular lines.
- J. H. Conway, R. H. Hardin and N. J. A. Sloane, "Packing lines, planes, etc.: packings in Grassmannian spaces," Experimental Mathematics 5, 1996. The orthoplex bound in the form stated here, plus numerical packings.
- M. Fickus and D. G. Mixon, "Tables of the existence of equiangular tight frames," arXiv:1504.00253, 2015. Which $(d,N)$ admit an ETF.
- N. Elhage et al., "Toy Models of Superposition," Anthropic / Transformer Circuits, 2022. The ML superposition picture.
- I. Schlag, K. Irie and J. Schmidhuber, "Linear Transformers Are Secretly Fast Weight Programmers," ICML 2021. The delta-rule memory used in Section 10.
- D. L. Donoho and M. Elad, "Optimally sparse representation in general (nonorthogonal) dictionaries via $\ell^1$ minimization," PNAS 100(5), 2003. Coherence-based uniqueness of sparse representations.