FFTPACK5
Fast Fourier Transform


FFTPACK5 is a FORTRAN90 library, using single and double precision arithmetic, which computes Fast Fourier Transforms.

Special features include:

Routines in the library come in groups of three:

The following table groups the routines:
InitializationForwardBackwardPurpose
CFFT1ICFFT1FCFFT1BFFT for complex 1D data
CFFT2ICFFT2FCFFT2BFFT for complex 2D data
CFFTMICFFTMFCFFTMBFFT for complex multi-D data
COSQ1ICOSQ1FCOSQ1BEven function 1D quarter-cosine FFT, (single precision)
DCOSQ1IDCOSQ1FDCOSQ1BEven function 1D quarter-cosine FFT, (double precision)
COSQMICOSQMFCOSQMBEven function 1D quarter-cosine FFT
COST1ICOST1FCOST1BEven function 1D cosine FFT (single precision)
DCOST1IDCOST1FDCOST1BEven function 1D cosine FFT (double precision)
COSTMICOSTMFCOSTMBEven function 1D cosine FFT
RFFT1IRFFT1FRFFT1BFFT for real 1D data (single precision)
DFFT1IDFFT1FDFFT1BFFT for real 1D data (double precision)
RFFT2IRFFT2FRFFT2BFFT for real 2D data
RFFTMIRFFTMFRFFTMBFFT for real multi-D data
SINQ1ISINQ1FSINQ1BEven function 1D quarter-sine FFT
SINQMISINQMFSINQMBEven function 1D quarter-sine FFT
SINT1ISINT1FSINT1BEven function 1D sine FFT (single precision)
DSINT1IDSINT1FDSINT1BEven function 1D sine FFT (double precision)
SINTMISINTMFSINTMBEven function 1D sine FFT

Author:

The original Fortran77 version of this code was written by Dick Valent and Paul Swarztrauber.

Some minor adjustments were made by John Burkardt to convert the program to FORTRAN90 format, and to add double precision routines.

Licensing:

The code described and made available on this web page is distributed under the GNU LGPL license.

Related Data and Programs:

FFTPACK is a FORTRAN90 library which implements the Fast Fourier Transform.

FFTPACK5 is also available in its original FORTRAN77 source code.

FFTW3 is a FORTRAN77 interface to a library known as "The Fastest Fourier Transform in the West".

GSL is a C++ library which embodies the "GNU Scientific Library", and includes FFT routines.

NMS is a FORTRAN90 library which includes a number of FFT routines.

POLPAK is a FORTRAN90 library which includes "slow" Fourier Transform routines, which may be useful for understanding the underlying calculation, or estimating the improvement produced by using the "fast" approach.

XERROR is a FORTRAN90 library which is designed to report and handle errors detected during program execution.

Reference:

  1. William Briggs, Van Emden Henson,
    The DFT: An Owner's Manual for the Discrete Fourier Transform,
    SIAM, 1995,
    ISBN13: 978-0-898713-42-8,
    LC: QA403.5.B75.
  2. Elbert Brigham,
    The Fast Fourier Transform and Its Applications,
    Prentice-Hall, 1988,
    ISBN: 0133075052,
    LC: QA403.B74.
  3. Bill Buzbee,
    The SLATEC Common Math Library,
    in Sources and Development of Mathematical Software,
    edited by Wayne Cowell,
    Prentice-Hall, 1984,
    ISBN: 0-13-823501-5,
    LC: QA76.95.S68.
  4. Eleanor Chu, Alan George,
    Inside the FFT Black Box,
    CRC Press,
    ISBN: 0849302706,
    LC: QA403.5C5.
  5. David Kahaner, Cleve Moler, Steven Nash,
    Numerical Methods and Software,
    Prentice Hall, 1989,
    ISBN: 0-13-627258-4,
    LC: TA345.K34.
  6. Paul Swarztrauber,
    Symmetric FFT's,
    Mathematics of Computation,
    Volume 47, 1986, pages 323-346.
  7. Paul Swarztrauber,
    Vectorizing the FFT's,
    in Parallel Computations,
    edited by Garry Rodrigue,
    Academic Press, 1982,
    ISBN: 0125921012,
    LC: QA76.6.P348.
  8. Paul Swarztrauber,
    Fast Fourier Transform Algorithms for Vector Computers,
    Parallel Computing,
    Volume 1, Number 1, August 1984, pages 45-63.
  9. FFTPACK 5.0 Reference manual
  10. http://www.cisl.ucar.edu/css/software/fftpack5 the home page for the original FORTRAN77 version of FFTPACK5.

Source Code:

Examples and Tests:

COST_TEST does a pair of cosine forward and backward transforms.

SINT_TEST does a pair of sine forward and backward transforms.

List of Routines:

You can go up one level to the FORTRAN90 source codes.


Last revised on 17 November 2007.