Library fourpack provides a convenient and uniform interface to Fast Fourier Transform implemented in Intel Mathematical Kernel Library and FFTW and for computing fast spherical harmonics transform.

Library FOURPACK was developed for

- Implementing fast spherical harmonics transform, direct and inverse, as well
as computation of a function with a given set of spherical harmonics
at a point with a given longitude and latitude. Fast computation of the
derivatives over longitudinal and latitudinal directions is also
supported. For dimensions less than 2700 algorithm of Holmes and
Featherstone (2002) is used. For dimensions higher than 2700 the
algebra of X-number introduced by Fukushima (2012) is used on order
to avoid numerical catastrophe at the polar regions related to the
insufficient range of double precision numbers. Spherical harmonics
transform of degree/order as high as 65536 is supported, although
in practice it is limited by the amount of available RAM. The algorithm
complexity is O
^{3}.The following spherical harmonics transform routines are implemented

- direct spherical harmonics transform of a function defined on a regular longitude/latitude grid according to Driscoll and Healy (1994) sampling theorem.
- inverse spherical harmonics transform that generates result on a regular longitude/latitude grid.
- inverse vector spherical harmonics transform that generates result on a regular longitude/latitude grid. It generates the function and its partial derivatives over longitude and latitude.
- value of the inverse spherical harmonics transform at a given longitude and latitude.
- value of the vector inverse spherical harmonics transform at a given longitude and latitude that includes the function and its partial derivatives over longitude and latitude.

- Providing a convenient interface to fast Fourier transform (FFT).
Although the FFT algorithm can be implemented in less than 50 lines,
the highly optimized version of FFT may have more than 100 000 lines
of code and a rather complicated interface. The optimized routines
usually runs one order of magnitude faster, so using them brings
tangible benefits.
The following FFT routines are implemented:

- complex forward and backward FFT, 1D and 2D;
- real to complex forward 1D FFT;
- complex to real backward 1D FFT.

Program for automatic generation so-called plan for FFT optimization is implemented.

- Implementing a digital linear filter in frequency domain. A filter of this kind involves three operations: forward FFT, multiplication the spectrum by a bandpass function, backward FFT.

- Library petools (gfortran,gcc,atlas,readline);
- Library FFTW;
- (Optionally) Intel Math Kernel Library (not free).

- Fourpack library Installation instruction
- Fourpack library User guide.
- Fourpack library Timing test.

Leonid Petrov

Back to Astrogeo Center main page.

*
This web page was prepared by Leonid Petrov
()
Last update: 2019.05.15_23:20:12
*