Ball point picking is the selection of points randomly placed inside a ball. random points can be picked in a unit ball in the Wolfram Language using the function RandomPoint[Ball[], n].
Pick variates , ..., independently from a standard normal distribution and variate independently from an exponential distribution with parameter . Then the distribution of points
(1)
|
is uniform over the unit -ball. Note however that in practice, computation of points inside a unit -ball may still be slower using this technique than computing additional points (e.g., by a factor of for and for ) inside an -cube of edge length 2 and discarding the ones with norm greater than 1.
This result is a special case of a beautiful general result described by Barthe (et al. 2005) which may be stated as follows. For and a sequence of real numbers , define the -norm as
(2)
|
The space of all infinite sequences with is then denoted , and the space equipped with quasi-norm is denoted . Finally, the unit ball of is defined as .
Now, pick , ..., independently with probability density given by
(3)
|
where is the gamma function, and an independent random variate from an exponential distribution with mean 1. Then the random vector
(4)
|
is uniformly distributed over the unit ball of (Barthe et al. 2005).