Constructing an arbitrary set of real vectors whose pairwise dot products are bounded

48 Views Asked by At

I am trying to write a code that generates an arbitrary set of real $n$-dimensional vectors, whose all pairwise dot products are greater than some lower bound $l$ and less than some upper bound $u$. What is the best way to generate this randomly? I assume the size of the set is less than or equal to $n$. I will also assume that bounds are positive values.

I want some sort of randomness. For example, a set of vectors whose pairwise dot products are all the same wouldn't count.

1

There are 1 best solutions below

0
On

Partial answer/strategy:

Start with any orthonormal basis, perturb the entries randomly by at most some $\epsilon$. That will yeild inner products in a range $1 \pm f(\epsilon)$ for some function $f$ you can bound.

Then scaling might get you what you need for some choices of bounds.

There is no way to specify a "best" algorithm without more information about why you need these vectors and how you judge the results.