Hyperbolic space in the Poincaré upper half space model looks like ordinary $\Bbb R^n$ but with the notion of angle and distance distorted in a relatively simple way. In Euclidean space I can sample a random point uniformly in a ball in several ways, e.g. by generating $n$ independent Gaussian samples to obtain a direction, and separately sample a radial coordinate $r$ by uniformly sampling $s$ from $\left[0, \frac1{n+1}R^{n+1}\right]$, where $R$ is the radius, and setting $r = \left((n+1)s\right)^{\frac1{n+1}}$. In the hyperbolic upper half plane a sphere happens to still be a sphere, only its centre will not be the centre in the Euclidean metric, so we could do the same.
If we want to sample according to a non-uniform distribution, but still in an isotropic way, e.g. a Gaussian distribution, this doesn't seem so easy. In Euclidean space we could just generate a Gaussian sample for each coordinate (this only works for the Gaussian distribution), or equivalently generate a multidimensional Gaussian sample. Is there a direct way to convert this sample to a sample in hyperbolic space?
An alternative approach could be to first generate a direction uniformly distributed direction (e.g. from $n$ Gaussian samples) then a Gaussian sample for the radial component, and finally generate the image under the exponential map in the specified direction for the specified length. A variation would be to just take the Euclidean Gaussian sample and map it under the exponential map.
My questions:
- what would be a good and efficient way to obtain a Gaussian sample with given mean and standard deviation in hyperbolic space?
- do the ways I describe above provide the desired sampling?
- did anyone work out the formula's already?
- how does this generalize to other metrics and other probability distributions?
Thanks in advance.
EDIT
I just realized that even in the case of uniform sampling these questions remain; even though a sphere is a sphere, a uniform distribution would not be described by a constant function on a ball.