I would like to generate an isotropic gaussian random field described by a power spectrum $P(k)$ on a 3D grid which represents spherical polar coordinates (i.e., the angular separation between pixels at each slice in the radial direction is equal and each pixel represents a solid angle).

I am currently generating a random field on a cartesian grid by

  • Filling a 3D grid in Fourier space $(k_x, k_y, k_z)$ with random numbers drawn from a normal distribution with standard deviation $\sigma = \frac{P(k)}{2}$ where $k = \sqrt{k_x^2 + k_y^2 + k_z^2}$
  • Imposing hermitian symmetry to ensure a real field
  • Fourier transforming into real space

My only thought is that I could do this process on a high resolution cartesian grid and average into spherical bins, though this seems convoluted.

Is there a more efficient way that I could generate this directly?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.