I would like to be able to sample the standard deviation of a multidimensional Gaussian distribution of dimension $n$; that is, given some $\phi$, I would like to sample
$P(\sigma | \phi) \propto \frac{1}{\sigma^n} e^{-\frac{\phi}{2\sigma^2}}$
For high $n$, this distribution is sharply peaked; for my purposes $n$ will be on the order of 1000-3000. What is an ``efficient'' method of obtaining a single sample from this distribution? (A single sample as $\phi$ will change between each sample.)