Jump to main content
Nonequispaced fast Fourier transform
NFFT on the sphere
Nonequispaced fast Fourier transform  

NFSFT - NFFT on the sphere

This library of C functions computes evaluates a function fL2(S2) with finite orthogonal expansion f(ϑ,φ)=k=0Mn=kkaknYkn(ϑ,φ) in terms of spherical harmonics Ykn on a set of arbitary nodes (ϑd,φd), d=1,,D, DN, in spherical coordinates. Furthermore, the fast evaluation of sums a~kn:=d=1Df(ϑd,φd)Ykn(ϑd,φd) for given function values f(ϑd,φd)C and all indices k=0,,M, n=k,,k is possible. The algorithm is also kwnon as fast spherical harmonic transform for nonequispaced data.

Detailed Description

Fourier analysis on the sphere has practical relevance in tomography, geophysics, seismology, meteorology and crystallography. In analogy to the complex exponentials eikx on the torus, the spherical harmonics form the orthogonal Fourier basis with respect to the usual inner product on the sphere.

Spherical coordinates

Every point in R3 can be described in spherical coordinates by a vector (r,ϑ,φ) with the radius r0 and two angles ϑ[0,π], φ[0,2π). We denote by S2 the two-dimensional unit sphere embedded into R3, i.e. S2:={x\R3:x2=1} and identify a point from S2 with the corresponding vector (ϑ,φ).

Illustration spherical coordinates

Legendre polynomials and associated Legendre functions

The Legendre polynomials Pk:[1,1]\R,k0, as classical orthogonal polynomials are given by their corresponding Rodrigues formula Pk(x):=12kk!dkdxk(x21)k. The associated Legendre functions Pkn:[1,1]\R,kn0 are defined by Pkn(x):=((kn)!(k+n)!)1/2(1x2)n/2dndxnPk(x). For n=0, they coincide with the Legendre polynomials Pk=Pk0. The associated Legendre functions Pkn obey the three-term recurrence relation Pk+1n(x)=2k+1((kn+1)(k+n+1))1/2xPkn(x)((kn)(k+n))1/2((kn+1)(k+n+1))1/2Pk1n(x) for kn0,Pn1n(x)=0,Pnn(x)=(2n)!2nn!(1x2)n/2. For fixed n, the set {Pkn:kn} forms a set of orthogonal functions, i.e., Pkn,Pln=11Pkn(x)Pln(x)dx=22k+1δk,l. Again, we denote by P¯kn=2k+12Pkn the orthonormal associated Legendre functions. In the following, we allow also for n<0 and set Pkn:=Pkn in this case.

Spherical harmonics

The spherical harmonics Ykn:S2C,k|n|,nZ, are given by Ykn(ϑ,φ):=Pkn(cosϑ)einφ. They form an orthogonal basis for the space of square integrable functions on the sphere, i.e., Ykn,Ylm=02π0πYkn(ϑ,φ)Ylm(ϑ,φ)sinϑdϑdφ=4π2k+1δk,lδn,m. The orthonormal spherical harmonics are denoted by Y¯kn=2k+14πYkn. Hence, any square integrable function f:S2C has the expansion f=k=0n=kkf^(k,n)Y¯kn, with the spherical Fourier coefficients f^(k,n)=f,Y¯kn. The function f is called bandlimited, if f^(k,n)=0 for k>N and some N\N. In analogy to the NFFT on the Torus T, we define the sampling set X:={(ϑj,φj)S2:j=0,,M1} of nodes on the sphere S2 and the set of possible ''frequencies'' IN:={(k,n):k=0,1,,N;n=k,,k}. The nonequispaced discrete spherical Fourier transform (NDSFT) is defined as the evaluation of the finite spherical Fourier sum fj=f(ϑj,φj)=(k,n)INf^knYkn(ϑj,φj)=k=0Nn=kkf^knYkn(ϑj,φj) for j=0,,M1. In matrix vector notation, this reads f=Yf^ with f:=(fj)j=0M1CM, fj:=f(ϑj,φj), Y:=(Ykn(ϑj,φj))j=0,,M1;(k,n)INCM×(N+1)2,f^:=(f^kn)(k,n)INC(N+1)2. The corresponding adjoint nonequispaced discrete fast spherical Fourier transform (adjoint NDSFT) is defined as the evaluation of h^kn=j=0M1f(ϑj,φj)Ykn(ϑj,φj) for all (k,n)IN. Again, in matrix vector notation, this reads h^=YHf. The coefficients h^kn are, in general, not identical to the Fourier coefficients f^(k,n) of the function f. However, provided that for the sampling set X a quadrature rule with weights wj, j=0,,M1, and sufficient degree of exactness is available, one might recover the Fourier coefficients f^(k,n) by evaluating f^kn=02π0πf(ϑ,φ)Ykn(ϑ,φ)sinϑdϑdφ=j=0M1wjf(ϑj,φj)Ykn(ϑj,φj) for all (k,n)IN. Direct algorithms for computing the NDSFT and adjoint NDSFT transformations need O(MN2) arithmetic operations. A combination of the fast polynomial transform and the NFFT leads to approximate algorithms with O(N2log2N+M) arithmetic operations. These are denoted NFSFT and adjoint NFSFT, respectively.
 


Algorithm

The algorithms are implemented by Jens Keiner in ./kernel/nfsft. The OpenMP parallelization was implemented by Toni Volkmer. The Matlab interface was implemented by Stefan Kunis in ./matlab/nfsft. Related paper are
 

  • Gr�f, M., Kunis, S., Potts, D.
    On the computation of nonnegative quadrature weights on the sphere.
    Appl. Comput. Harm. Anal. 27(1),   (full paper ps, pdf),   2009
     
  • Keiner, J., Potts, D.
    Fast evaluation of quadrature formulae on the sphere
    Math. Comput. 77, 397 - 419,   (full paper ps, pdf),   2008
     
  • Kunis, S. and Potts, D.
    Fast spherical Fourier algorithms.
    J. Comput. Appl. Math. 161, 75-98. (full paper ps, pdf),   2003
     
  • Potts, D., Steidl G., and Tasche M.
    Fast and stable algorithms for discrete spherical Fourier transforms.
    Linear Algebra Appl. 275, 433-450. (full paper ps.Z, pdf),   1998