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:)

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}$.

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$$.

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 :)