# Generating random vectors

• Aug 29th 2013, 02:01 PM
fisian
Generating random vectors
Hey folks,

I need an algorithm to generate random vectors. Restriction on vectors $\displaystyle$x=(x_1,\ldots,x_n)$$are as follows: a) \displaystyle x_1 + x_2 + \ldots + x_n = 0 so they lie in an \displaystyle n-1 dimensional hyperplane going through zero. b) \displaystyle x_i \in [-1,1] \forall i$$
c) The density is uniform, e.g. each vector satisfying conditions a) and b) is picked with equal probability.

Example: $\displaystyle$(1,-1/2,-1/2)$$and \displaystyle (0,0,0)$$ are both OK as long as they are generated with the same probability.

Thanks:)
• Aug 29th 2013, 02:51 PM
HallsofIvy
Re: Generating random vectors
Use whatever random number generator you like to get values for $\displaystyle x_1$, $\displaystyle x_2$, ..., $\displaystyle x_{n-1}$ between -1 and 1, then calculate $\displaystyle x_n= -x_1- x_2- x_3- \cdot\cdot\cdot - x_{n-1}$.
• Aug 29th 2013, 05:13 PM
fisian
Re: Generating random vectors
Sorry, but your method does not neccessarily guarantee that $\displaystyle$x_n \in [-1,1]$$is satisfied, for example if all your draws from \displaystyle 1$$ to $\displaystyle$n-1$$are equal to one and \displaystyle n\geq 3$$.
• Aug 31st 2013, 03:28 PM
fisian
Re: Generating random vectors
@HallsofIvy any other ideas? I would be really thankful since I think this one is easy and it's just me who's stupid :)