ccSHT: A Fast Parallel Spherical Harmonic Transform


Introduction

ccSHT is a C library which contains routines that compute the spherical harmonic transform (SHT). The SHT is essentially the Fourier transform for the surface of the unit sphere (S2). The basis functions in the SHT are the orthonormal eigenfunctions of the Laplace operator on S2 which span S2. The basis functions for the Fourier transform are the orthonormal eigenfunctions of the Laplace operator on Rn (n dimensional Euclidean space) which span Rn. The Fourier transform is ubiquitous and many libraries exist to do discrete fast Fourier transforms (FFT's) on Rn. There are many applications, however, where spherical coordinates arise naturally, and spectral analysis must be performed. In these cases the natural tool to use is the SHT.

A few other libraries exist which do discrete SHT's but they are lacking in that they apply only to a limited set of pixelizations and do not contain implementations for parallel architectures. ccSHT can be applied to a wide variety of pixelizations and contains both parallel and serial versions of the transform. The parallel code uses the MPI library to perform communications. ccSHT does the computation quickly (in O(N^(3/2)) where N is the number of pixels) due to the fact that it uses FFT's for part of the computation. The FFT's are done with the FFTW library which was chosen for its portability and speed.

HOME