Use this if you are using igraph from R
Sample finite-dimensional vectors to use as latent position vectors in random dot product graphs
sample_sphere_volume(dim, n = 1, radius = 1, positive = TRUE)
| dim | Integer scalar, the dimension of the random vectors. | 
| n | Integer scalar, the sample size. | 
| radius | Numeric scalar, the radius of the sphere to sample. | 
| positive | Logical scalar, whether to sample from the positive orthant of the sphere. | 
sample_sphere_volume generates uniform samples from S^{dim-1}
(the (dim-1)-sphere) i.e. the Euclidean norm of the samples is
smaller or equal to radius.
A dim (length of the alpha vector for
sample_dirichlet) times n matrix, whose columns are the sample
vectors.
Other latent position vector samplers: 
sample_dirichlet(),
sample_sphere_surface()
lpvs.sph.vol <- sample_sphere_volume(dim=10, n=20, radius=1)
RDP.graph.4  <- sample_dot_product(lpvs.sph.vol)
vec.norm     <- apply(lpvs.sph.vol, 2, function(x) { sum(x^2) })
vec.norm