# Efficient methods for drawing random numbers and Monte Carlo for Tsallis q-Gaussians

I would like to draw random numbers from the q-Gaussian used in "Tsallis statistics." This is specifically the distribution $$f(x) = {\sqrt{\beta} \over C_q} e_q(-\beta x^2)$$ where $$e_q(x) = [1+(1-q)x]^{1 \over 1-q}$$ $\beta$ is a free parameter, and $C_q$ is a normalization constant. (The general form of $C_q$ can be easily found so I'm not reproducing it here.) In the limit that $q \rightarrow 1$ this goes to the "usual" Gaussian with exponential tails. For $q<1$ it has finite support, which is not currently interesting to me. For $q>1$, it has heavy tails, meaning the tails decay algebraically instead of exponentially.

I'm interested in computing integrals using Monte Carlo methods that will give expectation values of various functions under q-Gaussians in cases where $q>1$. Are there any established, efficient methods for drawing random numbers and/or computing Monte Carlo integrals with such "heavy tail" distributions?

The answer is that there's a variant of the Box-Muller transform that does the job. Let $U_1$ and $U_2$ be uniformly drawn numbers. Then

$$Z = \sqrt{-2 \log_{q'}(U_1)} \cos(2 \pi U_2)$$

is a draw from a $q$-Gaussian with parameters $q$ and $\beta=1/(3-q)$. Here $q' = (1+q)/(3-q)$ and

$$\log_q = \frac{x^{1-q} - 1}{1-q}$$

is the inverse of the function $e_q$ in the question. (I've only provided the value for the "fat-tail" values of $q$ relevant to the question.) Unlike the standard Box-Muller which creates two normally drawn numbers for each pair of uniformly drawn numbers, the modified algorithm only provides one independent draw from the $q$-Gaussian for each pair of uniformly drawn numbers. (I suspect that if you get the "second number" by replacing cosine with sine that the numbers are "$q$-independent in some suitable sense, but they are not independent in the normal sense.)

This can be translated to an arbitrary "width" $\beta$ by

$$Z' = \frac{Z}{\sqrt{(3-q)\beta}}$$

(and can also be shifted by adding a new value $\mu$).

Source: Thistleton et al. in IEEE Trans on Info Theory, Vol. 53, No. 12.

It's worth noting that this distribution is actually a re-parameterization of the Student-t, so this method can be used to draw Student-t random numbers as well.